TC57H1000AD TC57H1000 57H1000AD TC57H1000AD TOS 17 Datasheet Cross Part Alternate Parts (cross reference Parts) 27C010 | 27C040 | 27C100 | 27C210 | 27C240 | 27C256 | 27C400 | 27C512 | 27C800 | AM27C010 |
00000400 eb 3c 90 4d 53 44 4f 53 35 2e 30 00 02 01 01 00 |ë<.MSDOS5.0.....| 00000410 02 80 00 fe 01 f0 02 00 08 00 02 00 01 00 00 00 |...þ.ð..........| 00000420 5a 58 06 00 80 00 29 41 5e 38 21 00 53 2d 44 4f |ZX....)A^8!.S-DO| 00000430 53 5f 36 20 20 20 46 41 54 31 32 00 20 20 fa 33 |S_6 FAT12. ú3| 00000440 c0 8e d0 bc 00 7c 16 07 bb 78 00 36 c5 37 1e 56 |À.м.|..»x.6Å7.V| 00000450 16 53 bf 3e 7c b9 0b 00 fc f3 a4 06 1f c6 45 fe |.S¿>|¹..üó¤..ÆEþ| 00000460 0f 8b 0e 18 7c 88 4d f9 89 47 02 c7 07 3e 7c fb |....|.Mù.G.Ç.>|û| 00000470 cd 13 72 79 33 c0 39 06 13 7c 74 08 8b 0e 13 7c |Í.ry3À9..|t....|| 00000480 89 0e 20 7c a0 10 7c f7 26 16 7c 03 06 1c 7c 13 |.. | .|÷&.|...|.| 00000490 16 1e 7c 03 06 0e 7c 83 d2 00 a3 50 7c 89 16 52 |..|...|.Ò.£P|..R| 000004a0 7c a3 49 7c 89 16 4b 7c b8 20 00 f7 26 11 7c 8b ||£I|..K|¸ .÷&.|.| 000004b0 1e 0b 7c 03 c3 48 f7 f3 01 06 49 7c 83 16 4b 7c |..|.ÃH÷ó..I|..K|| 000004c0 00 bb 00 05 8b 16 52 7c a1 50 7c e8 92 00 72 1d |.»....R|¡P|è..r.| 000004d0 b0 01 e8 ac 00 72 16 8b fb b9 0b 00 be e6 7d f3 |°.è¬.r..û¹..¾æ}ó| 000004e0 a6 75 0a 8d 7f 20 b9 0b 00 f3 a6 74 18 be 9e 7d |¦u... ¹..ó¦t.¾.}| 000004f0 e8 5f 00 33 c0 cd 16 5e 1f 8f 04 8f 44 02 cd 19 |è_.3ÀÍ.^....D.Í.| 00000500 58 58 58 eb e8 8b 47 1a 48 48 8a 1e 0d 7c 32 ff |XXXëè.G.HH...|2ÿ| 00000510 f7 e3 03 06 49 7c 13 16 4b 7c bb 00 07 b9 03 00 |÷ã..I|..K|»..¹..| 00000520 50 52 51 e8 3a 00 72 d8 b0 01 e8 54 00 59 5a 58 |PRQè:.rØ°.èT.YZX| 00000530 72 bb 05 01 00 83 d2 00 03 1e 0b 7c e2 e2 8a 2e |r»....Ò....|ââ..| 00000540 15 7c 8a 16 24 7c 8b 1e 49 7c a1 4b 7c ea 00 00 |.|..$|..I|¡K|ê..| 00000550 70 00 ac 0a c0 74 29 b4 0e bb 07 00 cd 10 eb f2 |p.¬.Àt)´.»..Í.ëò| 00000560 3b 16 18 7c 73 19 f7 36 18 7c fe c2 88 16 4f 7c |;..|s.÷6.|þÂ..O|| 00000570 33 d2 f7 36 1a 7c 88 16 25 7c a3 4d 7c f8 c3 f9 |3Ò÷6.|..%|£M|øÃù| 00000580 c3 b4 02 8b 16 4d 7c b1 06 d2 e6 0a 36 4f 7c 8b |ô...M|±.Òæ.6O|.| 00000590 ca 86 e9 8a 16 24 7c 8a 36 25 7c cd 13 c3 0d 0a |Ê.é..$|.6%|Í.Ã..| 000005a0 4e 6f 6e 2d 53 79 73 74 65 6d 20 64 69 73 6b 20 |Non-System disk | 000005b0 6f 72 20 64 69 73 6b 20 65 72 72 6f 72 0d 0a 52 |or disk error..R| 000005c0 65 70 6c 61 63 65 20 61 6e 64 20 70 72 65 73 73 |eplace and press| 000005d0 20 61 6e 79 20 6b 65 79 20 77 68 65 6e 20 72 65 | any key when re| 000005e0 61 64 79 0d 0a 00 49 4f 20 20 20 20 20 20 53 59 |ady...IO SY| 000005f0 53 4d 53 44 4f 53 20 20 20 53 59 53 00 00 55 aa |SMSDOS SYS..Uª|Breaking down the table on Wikipedia for the PromDisk dump above [italics in description is the translated value from the prom]:
Byte Offset | Length (bytes) | PromDisk Values (in hex) |
Description |
---|---|---|---|
0x00 | 3 | eb 3c 90 | Jump instruction. [JMP 053e] This instruction will be executed and will skip past the rest of the (non-executable) header if the partition is booted from. |
0x03 | 8 | 4d 53 44 4f 53 35 2e 30 | OEM Name (padded with spaces) [MSDOS5.0]. MS-DOS checks this field to determine which other parts of the boot record can be relied on. |
0x0b | 2 | 00 02 | Bytes per sector [0x200 or 512]. A common value is 512, especially for file systems on IDE (or compatible) disks. The BIOS Parameter Block starts here. |
0x0d | 1 | 01 | Sectors per cluster [1]. Allowed values are powers of two from 1 to 128. However, the value must not be such that the number of bytes per cluster becomes greater than 32(KB). |
0x0e | 2 | 01 00 | Reserved sector count [0x0001 or 1]. The number of sectors before the first FAT in the file system image. Should be 1 for FAT12/FAT16. Usually 32 for FAT32. According to A Description of the DOS File System These bits include The total number of reserved sectors, including the bootstrap sector. |
0x10 | 1 | 02 | Number of file allocation tables [2]. Almost always 2. |
0x11 | 2 | 80 00 | Maximum number of root directory entries [0x0080 or 128]. Only used on FAT12 and FAT16, where the root directory is handled specially. Should be 0 for FAT32. This value should always be such that the root directory ends on a sector boundary (i.e. such that its size becomes a multiple of the sector size). 224 is typical for floppy disks. |
0x13 | 2 | fe 01 | Total sectors [0x01fe or 510] |
0x15 | 1 | f0 |
Media descriptor [0xf0] 3.5" Double Sided, 80 tracks per side, 18 or 36 sectors per track (1.44MB or 2.88MB). 5.25" Double Sided, 15 sectors per track (1.2MB). Used also for other media types.
Same value of media descriptor should be repeated as first byte of each copy of FAT. Certain operating systems (MSX-DOS version 1.0) ignore boot sector parameters altogether and use media descriptor value from the first byte of FAT to determine file system parameters. |
0x16 | 2 | 02 00 | Sectors per File Allocation Table for FAT12/FAT16 [0x0002 or 2] |
0x18 | 2 | 08 00 | Sectors per track [0x0008] |
0x1a | 2 | 02 00 | Number of heads [0x0002] |
0x1c | 4 | 01 00 00 00 | Hidden sectors [0x00000001] |
0x20 | 4 | 5a 58 06 00 | Total sectors (if greater than 65535; otherwise, see offset 0x13) |
Further structure used by FAT12 and FAT16, also known as Extended BIOS Parameter Block:
Byte Offset | Length (bytes) | PromDisk Values (in hex) |
Description |
---|---|---|---|
0x24 | 1 | 80 | Physical drive number [0x80 or 128] |
0x25 | 1 | 00 | Reserved ("current head") |
0x26 | 1 | 29 | Extended boot signature. Value is 0x29. |
0x27 | 4 | 41 5e 38 21 | ID (serial number) |
0x2b | 11 | 00 53 2d 44 4f 53 5f 36 20 20 20 | Volume Label |
0x36 | 8 | 46 41 54 31 32 00 20 20 | FAT file system type, padded with blanks (0x20), [FAT12]. This is not meant to be used to determine drive type, however, some utilities use it in this way. |
0x3e | 448 | see dump | Operating system boot code |
0x1FE | 2 | 55 aa | Boot sector signature [0x55 0xAA] |
00000e00 49 4f 20 20 20 20 20 20 53 59 53 07 00 00 00 00 |IO SYS.....| 00000e10 00 00 00 00 00 00 00 30 6a 1a 02 00 16 9e 00 00 |.......0j.......| 00000e20 4d 53 44 4f 53 20 20 20 53 59 53 07 00 00 00 00 |MSDOS SYS.....| 00000e30 00 00 00 00 00 00 00 30 6a 1a 52 00 fa 94 00 00 |.......0j.R.ú...| 00000e40 43 4f 4d 4d 41 4e 44 20 43 4f 4d 01 00 00 00 00 |COMMAND COM.....| 00000e50 00 00 00 00 00 00 00 30 6a 1a 9d 00 bd ce 00 00 |.......0j...½Î..| 00000e60 41 55 54 4f 45 58 45 43 42 41 54 00 00 00 00 00 |AUTOEXECBAT.....| 00000e70 00 00 00 00 00 00 61 79 16 23 05 01 6a 00 00 00 |......ay.#..j...| 00000e80 43 4f 4e 46 49 47 20 20 53 59 53 20 00 00 00 00 |CONFIG SYS ....| 00000e90 00 00 00 00 00 00 9d 86 1b 23 06 01 15 00 00 00 |.........#......| 00000ea0 41 39 50 45 53 4d 41 58 45 58 45 00 00 00 00 00 |A9PESMAXEXE.....| 00000eb0 00 00 00 00 00 00 41 4d 94 1e 07 01 70 af 00 00 |......AM....p¯..| 00000ec0 4d 41 58 20 20 20 20 20 43 46 47 00 00 00 00 00 |MAX CFG.....| 00000ed0 00 00 00 00 00 00 e7 51 42 1e 5f 01 de 01 00 00 |......çQB._.Þ...| 00000ee0 50 52 4f 4d 44 49 53 4b 28 52 29 08 00 00 00 00 |PROMDISK(R).....| 00000ef0 00 00 00 00 00 00 ab 86 1b 23 00 00 00 00 00 00 |......«..#......| 00000f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|It will be easiest to figure out were the autoexec.bat file is, since it will be stored in ASCII. So now to figure out how to use the Directory and FAT to find the file on the PROMS.
Byte Offset | Length | PromDisk Values (in hex) |
Description | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | 8 | 41 55 54 4f 45 58 45 43 | DOS file name [AUTOEXEC]
The first byte can have the following special values:
|
|||||||||||||||||||||||||||
0x08 | 3 | 42 41 54 | DOS file extension [BAT] | |||||||||||||||||||||||||||
0x0b | 1 | 00 | File Attributes
The first byte can have the following special values:
An attribute value of 0x0F is used to designate a long file name entry. |
|||||||||||||||||||||||||||
0x0c | 1 | 00 | Reserved; two bits are used by NT and later versions to encode case information (see below); otherwise 0 | |||||||||||||||||||||||||||
0x0d | 1 | 00 | Create time, fine resolution: 10ms units, values from 0 to 199. | |||||||||||||||||||||||||||
0x0e | 2 | 00 00 | Create time. The hour, minute and second are encoded according to the following bitmap:
Note that the seconds is recorded only to a 2 second resolution. Finer resolution for file creation is found at offset 0x0d. |
|||||||||||||||||||||||||||
0x10 | 2 | 00 00 | Create date. The year, month and day are encoded according to the following bitmap:
|
|||||||||||||||||||||||||||
0x12 | 2 | 00 00 | Last access date; see offset 0x10 for description. | |||||||||||||||||||||||||||
0x14 | 2 | 00 00 | EA-Index (used by OS2 and NT) in FAT12 and FAT16, High 2 bytes of first cluster number in FAT32 | |||||||||||||||||||||||||||
0x16 | 61 79 | 00 00 | Last modified time; see offset 0x0e for description. | |||||||||||||||||||||||||||
0x18 | 2 | 16 23 | Last modified date; see offset 0x10 for description. | |||||||||||||||||||||||||||
0x1a | 2 | 05 01 | First cluster in FAT12 [0x0105 or 261]. Low 2 bytes of first cluster in FAT32. Entries with the Volume Label flag, subdirectory ".." pointing to root, and empty files with size 0 should have first cluster 0. | |||||||||||||||||||||||||||
0x1c | 4 | 6a 00 00 00 | File size [0x0000006a or 106 bytes] . Entries with the Volume Label or Subdirectory flag set should have a size of 0. |
Boot sector 0x0400 -> 0x05FF |
File Allocation Table #1 0x0600 -> 0x09FF |
File Allocation Table #2 0x0A00 -> 0x0DFF |
Root Directory 0x0E00 -> 0x1DFF |
Data Region (for files and directories) ... (To end of partition or disk) 0x01E00 -> 0x3FFFF |
Loc UVWXYZ Cluster XUV YZW 0000600 f0ffff --- ff0 fff 0000603 034000 002 003 004 0000606 056000 004 005 006 0000609 078000 006 007 008 000060c 09a000 008 009 00a 000060f 0bc000 00A 00b 00c 0000612 0de000 00C 00d 00e 0000615 0f0001 00E 00f 010 0000618 112001 010 011 012 000061b 134001 012 013 014 000061e 156001 014 015 016 0000621 178001 016 017 018 0000624 19a001 018 019 01a 0000627 1bc001 01A 01b 01c 000062a 1de001 01C 01d 01e 000062d 1f0002 01E 01f 020 0000630 212002 020 021 022 0000633 234002 022 023 024 0000636 256002 024 025 026 0000639 278002 026 027 028 000063c 29a002 028 029 02a 000063f 2bc002 02A 02b 02c 0000642 2de002 02C 02d 02e 0000645 2f0003 02E 02f 030 0000648 312003 030 031 032 000064b 334003 032 033 034 000064e 356003 034 035 036 0000651 378003 036 037 038 0000654 39a003 038 039 03a 0000657 3bc003 03A 03b 03c 000065a 3de003 03C 03d 03e 000065d 3f0004 03E 03f 040 0000660 412004 040 041 042 0000663 434004 042 043 044 0000666 456004 044 045 046 0000669 478004 046 047 048 000066c 49a004 048 049 04a 000066f 4bc004 04A 04b 04c 0000672 4de004 04C 04d 04e 0000675 4f0005 04E 04f 050 0000678 51f0ff 050 051 fff 000067b 534005 052 053 054 000067e 556005 054 055 056 0000681 578005 056 057 058 0000684 59a005 058 059 05a 0000687 5bc005 05A 05b 05c 000068a 5de005 05C 05d 05e 000068d 5f0006 05E 05f 060 0000690 612006 060 061 062 0000693 634006 062 063 064 0000696 656006 064 065 066 0000699 678006 066 067 068 000069c 69a006 068 069 06a 000069f 6bc006 06A 06b 06c 00006a2 6de006 06C 06d 06e 00006a5 6f0007 06E 06f 070 00006a8 712007 070 071 072 00006ab 734007 072 073 074 00006ae 756007 074 075 076 00006b1 778007 076 077 078 00006b4 79a007 078 079 07a 00006b7 7bc007 07A 07b 07c 00006ba 7de007 07C 07d 07e 00006bd 7f0008 07E 07f 080 00006c0 812008 080 081 082 00006c3 834008 082 083 084 00006c6 856008 084 085 086 00006c9 878008 086 087 088 00006cc 89a008 088 089 08a 00006cf 8bc008 08A 08b 08c 00006d2 8de008 08C 08d 08e 00006d5 8f0009 08E 08f 090 00006d8 912009 090 091 092 00006db 934009 092 093 094 00006de 956009 094 095 096 00006e1 978009 096 097 098 00006e4 99a009 098 099 09a 00006e7 9bc009 09A 09b 09c 00006ea ffef09 09C fff 09e 00006ed 9f000a 09E 09f 0a0 00006f0 a1200a 0A0 0a1 0a2 00006f3 a3400a 0A2 0a3 0a4 00006f6 a5600a 0A4 0a5 0a6 00006f9 a7800a 0A6 0a7 0a8 00006fc a9a00a 0A8 0a9 0aa 00006ff abc00a 0AA 0ab 0ac 0000702 ade00a 0AC 0ad 0ae 0000705 af000b 0AE 0af 0b0 0000708 b1200b 0B0 0b1 0b2 000070b b3400b 0B2 0b3 0b4 000070e b5600b 0B4 0b5 0b6 0000711 b7800b 0B6 0b7 0b8 0000714 b9a00b 0B8 0b9 0ba 0000717 bbc00b 0BA 0bb 0bc 000071a bde00b 0BC 0bd 0be 000071d bf000c 0BE 0bf 0c0 0000720 c1200c 0C0 0c1 0c2 0000723 c3400c 0C2 0c3 0c4 0000726 c5600c 0C4 0c5 0c6 0000729 c7800c 0C6 0c7 0c8 000072c c9a00c 0C8 0c9 0ca 000072f cbc00c 0CA 0cb 0cc 0000732 cde00c 0CC 0cd 0ce 0000735 cf000d 0CE 0cf 0d0 0000738 d1200d 0D0 0d1 0d2 000073b d3400d 0D2 0d3 0d4 000073e d5600d 0D4 0d5 0d6 0000741 d7800d 0D6 0d7 0d8 0000744 d9a00d 0D8 0d9 0da 0000747 dbc00d 0DA 0db 0dc 000074a dde00d 0DC 0dd 0de 000074d df000e 0DE 0df 0e0 0000750 e1200e 0E0 0e1 0e2 0000753 e3400e 0E2 0e3 0e4 0000756 e5600e 0E4 0e5 0e6 0000759 e7800e 0E6 0e7 0e8 000075c e9a00e 0E8 0e9 0ea 000075f ebc00e 0EA 0eb 0ec 0000762 ede00e 0EC 0ed 0ee 0000765 ef000f 0EE 0ef 0f0 0000768 f1200f 0F0 0f1 0f2 000076b f3400f 0F2 0f3 0f4 000076e f5600f 0F4 0f5 0f6 0000771 f7800f 0F6 0f7 0f8 0000774 f9a00f 0F8 0f9 0fa 0000777 fbc00f 0FA 0fb 0fc 000077a fde00f 0FC 0fd 0fe 000077d ff0010 0FE 0ff 100 0000780 012110 100 101 102 0000783 034110 102 103 104 0000786 ffffff 104 fff fff 0000789 ff8f10 106 fff 108 000078c 09a110 108 109 10a 000078f 0bc110 10A 10b 10c 0000792 0de110 10C 10d 10e 0000795 0f0111 10E 10f 110 0000798 112111 110 111 112 000079b 134111 112 113 114 000079e 156111 114 115 116 00007a1 178111 116 117 118 00007a4 19a111 118 119 11a 00007a7 1bc111 11A 11b 11c 00007aa 1de111 11C 11d 11e 00007ad 1f0112 11E 11f 120 00007b0 212112 120 121 122 00007b3 234112 122 123 124 00007b6 256112 124 125 126 00007b9 278112 126 127 128 00007bc 29a112 128 129 12a 00007bf 2bc112 12A 12b 12c 00007c2 2de112 12C 12d 12e 00007c5 2f0113 12E 12f 130 00007c8 312113 130 131 132 00007cb 334113 132 133 134 00007ce 356113 134 135 136 00007d1 378113 136 137 138 00007d4 39a113 138 139 13a 00007d7 3bc113 13A 13b 13c 00007da 3de113 13C 13d 13e 00007dd 3f0114 13E 13f 140 00007e0 412114 140 141 142 00007e3 434114 142 143 144 00007e6 456114 144 145 146 00007e9 478114 146 147 148 00007ec 49a114 148 149 14a 00007ef 4bc114 14A 14b 14c 00007f2 4de114 14C 14d 14e 00007f5 4f0115 14E 14f 150 00007f8 512115 150 151 152 00007fb 534115 152 153 154 00007fe 556115 154 155 156 0000801 578115 156 157 158 0000804 59a115 158 159 15a 0000807 5bc115 15A 15b 15c 000080a 5de115 15C 15d 15e 000080d ffffff 15E fff fff 0000810 000000 160 000 000 0000813 000000 162 000 000 0000816 000000 164 000 000 0000819 000000 166 000 000 000081c 000000 168 000 000 000081f 000000 16A 000 000 0000822 000000 16C 000 000 0000825 000000 16E 000 000 0000828 000000 170 000 000 000082b 000000 172 000 000 000082e 000000 174 000 000 0000831 000000 176 000 000 0000834 000000 178 000 000 0000837 000000 17A 000 000 000083a 000000 17C 000 000 000083d 000000 17E 000 000 0000840 000000 180 000 000 0000843 000000 182 000 000 0000846 000000 184 000 000 0000849 000000 186 000 000 000084c 000000 188 000 000 000084f 000000 18A 000 000 0000852 000000 18C 000 000 0000855 000000 18E 000 000 0000858 000000 190 000 000 000085b 000000 192 000 000 000085e 000000 194 000 000 0000861 000000 196 000 000If a cluster has FFF in it, that means the file ends in that cluster. For files under 512 bytes, the cluster number in the Directory table will hold a FFF in the File Allocation Table for that cluster. So, for the example of the AUTOEXEC.BAT file that is only 106 bytes and starts at cluster 0x0105, cluster 0x0105 in the FAT has FFF (end of file).
00000f00 48 48 47 54 54 47 20 20 54 58 54 00 00 00 00 00 |HHGTTG TXT.....| 00000f10 00 00 00 00 00 00 00 00 00 00 60 01 fc 06 00 00 |..........'.ü...|The FC 06 00 00 is the hex 06FC or 1788 bytes (the size of the file). This ends up being ~3.5 clusters.
Loc UVWXYZ Cluster XUV YZW 0000810 612116 160 161 162 0000813 63f1ff 162 163 fff 0000816 000000 164 000 000And those were placed in memory (only showing one here). It should be noted that when I checked the file sizes, I noticed that PROM1's new file lost 2 bytes, thinking caution is the better part of valor, I re-entered the changes using the original PROM1 file, and this time the file was the correct size.