rendered paste bodydiff -u8r 144feat2.org/144BLDR2.ASM 144feat2/144BLDR2.ASM--- 144feat2.org/144BLDR2.ASM 2000-10-28 22:18:08.000000000 +0800+++ 144feat2/144BLDR2.ASM 2010-02-22 20:06:40.233375000 +0800@@ -2258,36 +2258,36 @@ cmp byte ptr [511][si],1 ;media byte = 1? je ar190 ;yes, it's 320 kb mov [bx][10],offset rdpb72p ;dpb 720 KB PCPM cmp byte ptr [511][si],17 ;media byte = 17? je ar190 ;yes, it's 720 KB PCPM mov [bx][10],offset rdpb144 ;dpb 1.44 mb- cmp byte ptr [511][si],144 ;media byte = 144?+ cmp byte ptr [509][si],144 ;media byte = 144? jne ar110 ;no, not a 1.44 mb - cmp byte ptr [510][si],1 ;media version = 1?+ cmp byte ptr [508][si],1 ;media version = 1? je ar190 ;yes, 1.44 MB version 1 ar110: mov [bx][10],offset rdpb720 ;dpb 720 kb- cmp byte ptr [511][si],72 ;media byte = 72?+ cmp byte ptr [509][si],72 ;media byte = 72? jne ar120 ;no, not a 720 kb - cmp byte ptr [510][si],1 ;media version = 1?+ cmp byte ptr [508][si],1 ;media version = 1? je ar190 ;yes, 720 kb version 1 ar120: mov [bx][10],offset rdpb12m ;dpb 1.2 mb- cmp byte ptr [511][si],12 ;media byte = 12?+ cmp byte ptr [509][si],12 ;media byte = 12? jne ar180 ;no, not a 1.2 mb - cmp byte ptr [510][si],1 ;media version = 1?+ cmp byte ptr [508][si],1 ;media version = 1? je ar190 ;yes, 1.2 mb version 1 ar180: mov [bx][10],offset dpb160 ;otherwise: dpb 160 kb ;------ we're done; the DPH now has a pointer to the correct DPB diff -u8r 144feat2.org/144BOOT2.ASM 144feat2/144BOOT2.ASM--- 144feat2.org/144BOOT2.ASM 2000-10-28 21:34:24.000000000 +0800+++ 144feat2/144BOOT2.ASM 2010-02-22 18:52:15.278750000 +0800@@ -507,17 +507,17 @@ m101 db 0dh,0ah db 'M10' m101a db '1' ;m101 = error when reading directory ;m102 = error when reading boot loader db ' - Error reading diskette$' m103 db 0dh,0ah- db 'M103 - Cannot find 144BLDR2.CMD$'+ db 'M103 - 144BLDR2.CMD not found$' dsn1 db 0 ;user number = 0 db '144BLDR2' ;file name db 'CMD' ;file type db 0 ;directory extent sequence# = 0 ;------ DPT's for 3.5 inch diskettes (values taken from MS-DOS 6.2) ; and for 1.2 MB capacity on 5.25 inch diskette (values taken from @@ -530,29 +530,31 @@ ;------ check & adjust current location counter hier equ $ IF (hier - r0000) gt 01f0h .err 144BOOT2.ASM: Bootcode is longer than 01F0h bytes. ENDIF - org 02f0h+ org 02eeh ;------ fields reserved by the 1.44 MB Feature for CP/M-86 dd 0,0 ;tgb volid dd 0 ;maybe we'll use this in the 1.44 MB Feature db 0 db 0 ;boot drive: 00=diskette 80h...81h=harddisk db 1 ;version of program that prepared this diskette cpmedia db 144 ;CP/M-86 "media byte" at offset 01ffh ;72 for 720 KB, 144 for 1.44 MB, 12 for 1.2 MB + db 055h,0aah ;boot signature+ ;============== standard MASM 5.1 epilog for a COM file =============== x144boot ends end r0000diff -u8r 144feat2.org/144PREP2.ASM 144feat2/144PREP2.ASM--- 144feat2.org/144PREP2.ASM 2000-10-28 21:50:48.000000000 +0800+++ 144feat2/144PREP2.ASM 2010-02-22 19:09:34.466250000 +0800@@ -2336,18 +2336,18 @@ db '<<<<144PREP2<<<<' align 128 ;============== 512 bytes boot sector code will be appended here ====== bootstart equ $ pvbackup equ bootstart + 3 ;text: "PVBACKUP"-volid equ bootstart + 504 ;dword: volume ID-cpmedia equ bootstart + 511 ;CP/M-86 media byte+volid equ bootstart + 502 ;dword: volume ID+cpmedia equ bootstart + 509 ;CP/M-86 media byte ;============== secondary boot loader program will be appended here === x44bldr2 equ bootstart + 512 x44code2 equ x44bldr2 + 384 ;128 bytes CMD header, ; and 256 bytes "PSP" x44tag equ x44code2 + 2 ;text: "BLDR"