See our Tech Notes on the difficulty of working with versions 1.10 and 1.00 of IBM®'s Personal Computer DOS.
Unlike later versions of DOS, 1.10 (and 1.00) never contained a BPB (though it appears to have a pre-cursor for one) nor what has become the standard Boot Signature (AA55h) at the end of almost every other Boot sector. The differences mean that most utility programs and all the other versions of DOS and any Windows® Operating Systems will consider these diskettes to be incorrectly formatted!
Absolute Sector 0 (Track 0, Side 0, Sector 1) 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 EB 27 90 08 00 14 00 00 00 00 00 00 00 00 00 00 .'.............. 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0020 00 00 00 00 00 00 00 CD 19 FA 8C C8 8E D8 33 D2 ..............3. 0030 8E D2 BC 00 7C FB B8 60 00 8E D8 8E C0 33 D2 8B ....|..`.....3.. 0040 C2 CD 13 72 69 E8 85 00 72 DD 2E 83 3E 03 7C 08 ...ri...r...>.|. 0050 74 06 2E C6 06 64 7D 02 BB 00 00 2E 8B 0E 03 7C t....d}........| 0060 51 B0 09 2A C1 B4 00 8B F0 56 33 D2 33 C0 8A C5 Q..*.....V3.3... 0070 2E F6 36 64 7D 8A E8 8A F4 8B C6 B4 02 CD 13 72 ..6d}..........r 0080 2D 5E 59 2E 29 36 05 7C 74 1F 8B C6 2E F7 26 65 -^Y.)6.|t.....&e 0090 7D 03 D8 FE C5 B1 01 51 BE 08 00 2E 3B 36 05 7C }......Q....;6.| 00A0 7C 05 2E 8B 36 05 7C EB C0 EA 00 00 60 00 BE 67 |...6.|.....`..g 00B0 7D E8 02 00 EB FE 32 FF 2E AC 24 7F 74 0B 56 B4 }.....2...$.t.V. 00C0 0E BB 07 00 CD 10 5E EB EF C3 E9 33 FF BB 00 00 ......^....3.... 00D0 B9 04 00 B8 01 02 CD 13 1E 72 33 8C C8 8E D8 BF .........r3..... 00E0 00 00 B9 0B 00 26 80 0D 20 26 80 4D 20 20 47 E2 .....&.. &.M G. 00F0 F4 BF 00 00 BE 8B 7D B9 0B 00 FC F3 A6 75 0F BF ......}......u.. 0100 20 00 BE 97 7D B9 0B 00 F3 A6 75 02 1F C3 BE 1B ...}.....u..... 0110 7D E8 A2 FF B4 00 CD 16 1F F9 C3 0D 0A 4E 6F 6E }............Non 0120 2D 53 79 73 74 65 6D 20 64 69 73 6B 20 6F 72 20 -System disk or 0130 64 69 73 6B 20 65 72 72 6F 72 0D 0A 52 65 70 6C disk error..Repl 0140 61 63 65 20 61 6E 64 20 73 74 72 69 6B 65 20 61 ace and strike a 0150 6E 79 20 6B 65 79 20 77 68 65 6E 20 72 65 61 64 ny key when read 0160 79 0D 0A 00 01 00 02 0D 0A 44 69 73 6B 20 42 6F y........Disk Bo 0170 6F 74 20 66 61 69 6C 75 72 65 0D 0A 00 4D 69 63 ot failure...Mic 0180 72 6F 73 6F 66 74 2C 49 6E 63 20 69 62 6D 62 69 rosoft,Inc ibmbi 0190 6F 20 20 63 6F 6D 30 69 62 6D 64 6F 73 20 20 63 o com0ibmdos c 01A0 6F 6D 30 05 C6 06 77 2F FF 83 7E FC 00 75 0B 80 om0...w/..~..u.. 01B0 7E F7 3B 75 05 C6 06 76 2F FF 89 EC 5D CA 04 00 ~.;u...v/...]... 01C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 01D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 01E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 01F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0 1 2 3 4 5 6 7 8 9 A B C D E F |
The phrase you see from offset 017Dh through 018Ah ("Microsoft, Inc ") replaced the name of the Boot Sector's author in the previous version (cf. version 1.00).
The hex bytes shown above in italics DARK RED, appear to never be accessed in any way by the code. After examining and discussing the Boot Record's code with others, it's our opinion that these bytes (offsets 01A3h and 01BEh) are simply junk (or garbage) bytes that should have been zeroed-out before mass producing the distribution diskette! Note: We recently searched the image file for these bytes, and discovered that the same exact bytes were included in the FORMAT.COM file and were being written to every newly formatted diskette! You can view the same bytes in the same exact position (relative to the system file names in the Boot Sector) in this file:
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 0D60 72 65 0D 0A 00 4D 69 63 72 6F 73 6F 66 74 2C 49 re...Microsoft,I 0D70 6E 63 20 69 62 6D 62 69 6F 20 20 63 6F 6D 30 69 nc ibmbio com0i 0D80 62 6D 64 6F 73 20 20 63 6F 6D 30 05 C6 06 77 2F bmdos com0...w/ 0D90 FF 83 7E FC 00 75 0B 80 7E F7 3B 75 05 C6 06 76 ..~..u..~.;u...v 0DA0 2F FF 89 EC 5D CA 04 00 00 00 00 00 00 00 00 00 /...]........... 0DB0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0DC0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0DD0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0DE0 00 00 00 00 00 00 00 00 88 ........ˆ
Offsets in the Hex Editor display above show where you'll find these bytes inside the FORMAT.COM file: At offsets 0xD8B through 0xDA6. The 0x88 byte was used by the code to mark where it should stop copying bytes.
Here's a disassembly of the code (; with comments) after being loaded into memory at location 0000:7C00 by the PC's BIOS:
NOTE: The following is still a work in progress!
7C00 EB27 JMP 7C29 ; Jump over reserved data area 7C02 90 NOP ; Do nothing. ======================================================================= Data Locations which Code Execution Jumps Over: 0 1 2 3 4 5 6 7 8 9 A B C D E F 7C03 08 00 14 00 00 00 00 00 00 00 00 00 00 ............. 7C10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 7C20 00 00 00 00 00 00 00 CD 19 ......... ======================================================================= 7C29 FA CLI ; Disable maskable Interrupts 7C2A 8CC8 MOV AX,CS 7C2C 8ED8 MOV DS,AX 7C2E 33D2 XOR DX,DX 7C30 8ED2 MOV SS,DX ; SS -> 0000 7C32 BC007C MOV SP,7C00 ; Stack Pointer at 0000:7C00 7C35 FB STI ; Enable Interrupts 7C36 B86000 MOV AX,0060 ; 0060h -> AX 7C39 8ED8 MOV DS,AX ; 0060h -> DS 7C3B 8EC0 MOV ES,AX ; 0060h -> ES 7C3D 33D2 XOR DX,DX 7C3F 8BC2 MOV AX,DX ; Function 00 of INT 13 7C41 CD13 INT 13 ; Reset Floppy Disk drives; if ; CF=1(set) there's an error. 7C43 7269 JB 7CAE ; JB -> Drive response failure. 7C45 E88500 CALL 7CCD 7C48 72DD JB 7C27 7C4A 2E CS: 7C4B 833E037C08 CMP WORD PTR [7C03],+08 ; 7C50 7406 JZ 7C58 7C52 2E CS: 7C53 C606647D02 MOV BYTE PTR [7D64],02 7C58 BB0000 MOV BX,0000 7C5B 2E CS: 7C5C 8B0E037C MOV CX,[7C03] 7C60 51 PUSH CX 7C61 B009 MOV AL,09 7C63 2AC1 SUB AL,CL 7C65 B400 MOV AH,00 7C67 8BF0 MOV SI,AX 7C69 56 PUSH SI 7C6A 33D2 XOR DX,DX 7C6C 33C0 XOR AX,AX 7C6E 8AC5 MOV AL,CH 7C70 2E CS: 7C71 F636647D DIV BYTE PTR [7D64] 7C75 8AE8 MOV CH,AL 7C77 8AF4 MOV DH,AH 7C79 8BC6 MOV AX,SI 7C7B B402 MOV AH,02 7C7D CD13 INT 13 7C7F 722D JB 7CAE 7C81 5E POP SI 7C82 59 POP CX 7C83 2E CS: 7C84 2936057C SUB [7C05],SI 7C88 741F JZ 7CA9 7C8A 8BC6 MOV AX,SI 7C8C 2E CS: 7C8D F726657D MUL WORD PTR [7D65] 7C91 03D8 ADD BX,AX 7C93 FEC5 INC CH 7C95 B101 MOV CL,01 7C97 51 PUSH CX 7C98 BE0800 MOV SI,0008 7C9B 2E CS: 7C9C 3B36057C CMP SI,[7C05] 7CA0 7C05 JL 7CA7 7CA2 2E CS: 7CA3 8B36057C MOV SI,[7C05] 7CA7 EBC0 JMP 7C69 7CA9 EA00006000 JMP 0060:0000 7CAE BE677D MOV SI,7D67 ; -> 0D,0A,"Disk Boot failure" 7CB1 E80200 CALL 7CB6 7CB4 EBFE JMP 7CB4 ; Endless Loop! 7CB6 32FF XOR BH,BH 7CB8 2E CS: 7CB9 AC LODSB 7CBA 247F AND AL,7F 7CBC 740B JZ 7CC9 ; Return 7CBE 56 PUSH SI 7CBF B40E MOV AH,0E 7CC1 BB0700 MOV BX,0007 7CC4 CD10 INT 10 7CC6 5E POP SI 7CC7 EBEF JMP 7CB8 7CC9 C3 RET 7CCA E933FF JMP 7C00 ; ================================================================= ; Disk Read Subroutine: ; ================================================================= 7CCD BB0000 MOV BX,0000 7CD0 B90400 MOV CX,0004 7CD3 B80102 MOV AX,0201 7CD6 CD13 INT 13 7CD8 1E PUSH DS 7CD9 7233 JB 7D0E 7CDB 8CC8 MOV AX,CS 7CDD 8ED8 MOV DS,AX 7CDF BF0000 MOV DI,0000 7CE2 B90B00 MOV CX,000B 7CE5 26 ES: 7CE6 800D20 OR BYTE PTR [DI],20 7CE9 26 ES: 7CEA 804D2020 OR BYTE PTR [DI+20],20 7CEE 47 INC DI 7CEF E2F4 LOOP 7CE5 7CF1 BF0000 MOV DI,0000 7CF4 BE8B7D MOV SI,7D8B ; -> "ibmbio com", 30h 7CF7 B90B00 MOV CX,000B 7CFA FC CLD 7CFB F3 REPZ 7CFC A6 CMPSB 7CFD 750F JNZ 7D0E 7CFF BF2000 MOV DI,0020 7D02 BE977D MOV SI,7D97 ; -> "ibmdos com", 30h 7D05 B90B00 MOV CX,000B 7D08 F3 REPZ 7D09 A6 CMPSB 7D0A 7502 JNZ 7D0E 7D0C 1F POP DS 7D0D C3 RET 7D0E BE1B7D MOV SI,7D1B ; -> 0D,0A,"Non-System disk" etc. 7D11 E8A2FF CALL 7CB6 7D14 B400 MOV AH,00 7D16 CD16 INT 16 7D18 1F POP DS 7D19 F9 STC 7D1A C3 RET
7D10 0D 0A 4E 6F 6E ..Non 7D20 2D 53 79 73 74 65 6D 20 64 69 73 6B 20 6F 72 20 -System disk or 7D30 64 69 73 6B 20 65 72 72 6F 72 0D 0A 52 65 70 6C disk error..Repl 7D40 61 63 65 20 61 6E 64 20 73 74 72 69 6B 65 20 61 ace and strike a 7D50 6E 79 20 6B 65 79 20 77 68 65 6E 20 72 65 61 64 ny key when read 7D60 79 0D 0A 00 01 00 02 0D 0A 44 69 73 6B 20 42 6F y........Disk Bo 7D70 6F 74 20 66 61 69 6C 75 72 65 0D 0A 00 ot failure... 0 1 2 3 4 5 6 7 8 9 A B C D E F |
7D7D 4D 69 63 Mic 7D80 72 6F 73 6F 66 74 2C 49 6E 63 20 69 62 6D 62 69 rosoft,Inc ibmbi 7D90 6F 20 20 63 6F 6D 30 69 62 6D 64 6F 73 20 20 63 o com0ibmdos c 7DA0 6F 6D 30 om0 0 1 2 3 4 5 6 7 8 9 A B C D E F |
You can write to me using this: email address (opens in a new window).
IBM PC DOS 1.10 Index
MBR and Boot Records Index
The Starman's Realm Index