|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ 5 B C D F H I L M P S T ┃
Length: 634880 (0x9b000) Description: Bits:30004389 CP/M Plus Source files Types: 5¼" Floppy Disk, CP/M Filesystem - CR7/8, CpmFileSystem_CR8, ImdContainer
bytes | name | artifact |
---|---|---|
17024 | BIOSKRNL.ASM | ⟦141664f7e⟧ TextFile |
256 | BNKBIOS3.SUB | ⟦e0f6e4c2b⟧ TextFile |
7552 | BOOT.ASM | ⟦4dbd98c39⟧ TextFile |
6912 | CHARIO.ASM | ⟦aa3ebe476⟧ TextFile |
13184 | COPYSYS.ASM | ⟦360e2feeb⟧ TextFile |
13440 | CPM3DOC | ⟦203b062e1⟧ |
128 | CPM3LDR.SUB | ⟦4fba6f1f3⟧ TextFile |
18944 | CR16MFD.ASM | ⟦f66f0fa9c⟧ TextFile |
4736 | DRVTBL.ASM | ⟦734020269⟧ TextFile |
7808 | FCOPY16.ASM | ⟦d52391f6e⟧ TextFile |
7808 | FCOPY3.ASM | ⟦91d7e65e6⟧ TextFile |
12416 | FORMAT16.ASM | ⟦f978f9536⟧ TextFile |
12416 | FORMAT3.ASM | ⟦96d9d65dd⟧ TextFile |
28288 | HDIO.ASM | ⟦4dcb1f824⟧ TextFile |
11648 | LDRBIOS.ASM | ⟦4c516c2a3⟧ TextFile |
19072 | MFDIO.ASM | ⟦77b68c74c⟧ TextFile |
5632 | MOVE.ASM | ⟦795cde124⟧ TextFile |
10496 | PORTS.LIB | ⟦0ad2706d0⟧ TextFile |
2432 | SCB.ASM | ⟦42cbbb5cd⟧ TextFile |
0x00000…00020 (0, 0, 1) e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 ┆ ┆ […0xff…] 0x02000…02020 (1, 0, 1) DirEnt {status=0x00, name=»FCOPY16 ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x3d, al=[0x0002, 0x0003, 0x0004, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02020…02040 DirEnt {status=0x20, name=»LABEL «, xl=0x31, bc=0x00, xh=0x00, rc=0x00, al=[0x0000, 0x0000, 0x0000, 0x0000, 0x08df, 0x4702, 0x08df, 0x4702], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02040…02060 DirEnt {status=0x00, name=»HDIO ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x80, al=[0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, 0x0010], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02060…02080 UnusedDirEnt {status=0xe5} 0x02080…020a0 DirEnt {status=0x00, name=»HDIO ASM«, xl=0x01, bc=0x00, xh=0x00, rc=0x5d, al=[0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x020a0…020c0 DirEnt {status=0x00, name=»FCOPY3 ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x3d, al=[0x0017, 0x0018, 0x0019, 0x001a, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x020c0…020e0 DirEnt {status=0x00, name=»CR16MFD ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x80, al=[0x001b, 0x001c, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x003a], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x020e0…02100 UnusedDirEnt {status=0xe5} 0x02100…02120 (1, 0, 2) DirEnt {status=0x00, name=»CPM3DOC «, xl=0x00, bc=0x00, xh=0x00, rc=0x69, al=[0x001d, 0x001e, 0x001f, 0x0020, 0x0021, 0x0022, 0x004d, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02120…02140 DirEnt {status=0x00, name=»COPYSYS ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x67, al=[0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02140…02160 DirEnt {status=0x00, name=»FORMAT16ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x61, al=[0x0006, 0x0007, 0x0008, 0x0023, 0x0024, 0x0025, 0x0026, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02160…02180 UnusedDirEnt {status=0xe5} 0x02180…021a0 DirEnt {status=0x00, name=»DRVTBL ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x25, al=[0x0027, 0x002f, 0x0030, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x021a0…021c0 DirEnt {status=0x00, name=»CHARIO ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x36, al=[0x0036, 0x0037, 0x0038, 0x0039, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x021c0…021e0 DirEnt {status=0x00, name=»CR16MFD ASM«, xl=0x01, bc=0x00, xh=0x00, rc=0x14, al=[0x003b, 0x003c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x021e0…02200 UnusedDirEnt {status=0xe5} […0x10…] 0x02400…02420 (1, 0, 5) DirEnt {status=0x00, name=»BIOSKRNLASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x80, al=[0x003e, 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02420…02440 DirEnt {status=0x00, name=»BIOSKRNLASM«, xl=0x01, bc=0x00, xh=0x00, rc=0x05, al=[0x0046, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02440…02460 UnusedDirEnt {status=0xe5} […0xa…] 0x025a0…025c0 DirEnt {status=0x00, name=»BOOT ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x3b, al=[0x0055, 0x0056, 0x0057, 0x0058, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x025c0…025e0 UnusedDirEnt {status=0xe5} […0x11…] 0x02800…02820 (1, 0, 9) DirEnt {status=0x00, name=»MOVE ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x2c, al=[0x005d, 0x005e, 0x005f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02820…02840 DirEnt {status=0x00, name=»SCB ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x13, al=[0x0060, 0x0061, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02840…02860 UnusedDirEnt {status=0xe5} […0x1…] 0x02880…028a0 DirEnt {status=0x00, name=»LDRBIOS ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x5b, al=[0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x028a0…028c0 UnusedDirEnt {status=0xe5} 0x028c0…028e0 DirEnt {status=0x00, name=»BNKBIOS3SUB«, xl=0x00, bc=0x00, xh=0x00, rc=0x02, al=[0x0070, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x028e0…02900 UnusedDirEnt {status=0xe5} 0x02900…02920 (1, 0, 10) DirEnt {status=0x00, name=»CPM3LDR SUB«, xl=0x00, bc=0x00, xh=0x00, rc=0x01, al=[0x0071, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02920…02940 DirEnt {status=0x00, name=»MFDIO ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x80, al=[0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02940…02960 DirEnt {status=0x00, name=»MFDIO ASM«, xl=0x01, bc=0x00, xh=0x00, rc=0x15, al=[0x007a, 0x007b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02960…02980 UnusedDirEnt {status=0xe5} 0x02980…029a0 DirEnt {status=0x00, name=»FORMAT3 ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x61, al=[0x007c, 0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x029a0…029c0 DirEnt {status=0x00, name=»PORTS LIB«, xl=0x00, bc=0x00, xh=0x00, rc=0x52, al=[0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x029c0…029e0 UnusedDirEnt {status=0xe5} […0x31…] 0x03000…03100 (1, 1, 1) DataBlock {»FCOPY16.ASM«} […0x1f…] 0x05000…05100 (2, 1, 1) DataBlock {»FORMAT16.ASM«} […0x11…] 0x06200…06300 (3, 0, 3) DataBlock {»HDIO.ASM«} […0x1…] 0x06400…06500 (3, 0, 5) DataBlock {»FORMAT16.ASM«} […0x1…] 0x06600…06700 (3, 0, 7) DataBlock {»HDIO.ASM«} […0x1…] 0x06800…06900 (3, 0, 9) DataBlock {»FORMAT16.ASM«} […0x1…] 0x06a00…06b00 (3, 0, 11) DataBlock {»HDIO.ASM«} […0x1…] 0x06c00…06d00 (3, 0, 13) DataBlock {»FORMAT16.ASM«} […0x1…] 0x06e00…06f00 (3, 0, 15) DataBlock {»HDIO.ASM«} […0x63…] 0x0d200…0d300 (6, 1, 3) DataBlock {»FCOPY3.ASM«} […0x1…] 0x0d400…0d500 (6, 1, 5) DataBlock {»HDIO.ASM«} […0x1…] 0x0d600…0d700 (6, 1, 7) DataBlock {»FCOPY3.ASM«} […0x1…] 0x0d800…0d900 (6, 1, 9) DataBlock {»HDIO.ASM«} […0x1…] 0x0da00…0db00 (6, 1, 11) DataBlock {»FCOPY3.ASM«} […0x1…] 0x0dc00…0dd00 (6, 1, 13) DataBlock {»HDIO.ASM«} […0x1…] 0x0de00…0df00 (6, 1, 15) DataBlock {»FCOPY3.ASM«} […0x13…] 0x0f200…0f300 (7, 1, 3) DataBlock {»CR16MFD.ASM«} […0x1…] 0x0f400…0f500 (7, 1, 5) DataBlock {»FCOPY3.ASM«} […0x1…] 0x0f600…0f700 (7, 1, 7) DataBlock {»CR16MFD.ASM«} […0x1…] 0x0f800…0f900 (7, 1, 9) DataBlock {»FCOPY3.ASM«} […0x1…] 0x0fa00…0fb00 (7, 1, 11) DataBlock {»CR16MFD.ASM«} […0x1…] 0x0fc00…0fd00 (7, 1, 13) DataBlock {»FCOPY3.ASM«} […0x1…] 0x0fe00…0ff00 (7, 1, 15) DataBlock {»CR16MFD.ASM«} […0x3…] 0x10200…10300 (8, 0, 3) DataBlock {»CPM3DOC«} […0x1…] 0x10400…10500 (8, 0, 5) DataBlock {»CR16MFD.ASM«} […0x1…] 0x10600…10700 (8, 0, 7) DataBlock {»CPM3DOC«} […0x1…] 0x10800…10900 (8, 0, 9) DataBlock {»CR16MFD.ASM«} […0x1…] 0x10a00…10b00 (8, 0, 11) DataBlock {»CPM3DOC«} […0x1…] 0x10c00…10d00 (8, 0, 13) DataBlock {»CR16MFD.ASM«} […0x1…] 0x10e00…10f00 (8, 0, 15) DataBlock {»CPM3DOC«} […0x23…] 0x13200…13300 (9, 1, 3) DataBlock {»FORMAT16.ASM«} […0x1…] 0x13400…13500 (9, 1, 5) DataBlock {»CPM3DOC«} […0x1…] 0x13600…13700 (9, 1, 7) DataBlock {»FORMAT16.ASM«} […0x1…] 0x13800…13900 (9, 1, 9) DataBlock {»CPM3DOC«} […0x1…] 0x13a00…13b00 (9, 1, 11) DataBlock {»FORMAT16.ASM«} […0x1…] 0x13c00…13d00 (9, 1, 13) DataBlock {»CPM3DOC«} […0x1…] 0x13e00…13f00 (9, 1, 15) DataBlock {»FORMAT16.ASM«} […0x13…] 0x15200…15300 (10, 1, 3) DataBlock {»DRVTBL.ASM«} […0x1…] 0x15400…15500 (10, 1, 5) DataBlock {»FORMAT16.ASM«} […0x1…] 0x15600…15700 (10, 1, 7) DataBlock {»DRVTBL.ASM«} […0x1…] 0x15800…15900 (10, 1, 9) DataBlock {»FORMAT16.ASM«} […0x1…] 0x15a00…15b00 (10, 1, 11) DataBlock {»DRVTBL.ASM«} […0x1…] 0x15c00…15d00 (10, 1, 13) DataBlock {»FORMAT16.ASM«} […0x1…] 0x15e00…15f00 (10, 1, 15) DataBlock {»DRVTBL.ASM«} […0x1…] 0x16000…16100 (11, 0, 1) DataBlock {»COPYSYS.ASM«} […0x31…] 0x19200…19300 (12, 1, 3) DataBlock {»DRVTBL.ASM«} […0x1…] 0x19400…19500 (12, 1, 5) DataBlock {»COPYSYS.ASM«} […0x1…] 0x19600…19700 (12, 1, 7) DataBlock {»DRVTBL.ASM«} […0x1…] 0x19800…19900 (12, 1, 9) DataBlock {»COPYSYS.ASM«} […0x1…] 0x19a00…19b00 (12, 1, 11) DataBlock {»DRVTBL.ASM«} […0x1…] 0x19c00…19d00 (12, 1, 13) DataBlock {»COPYSYS.ASM«} […0x1…] 0x19e00…19f00 (12, 1, 15) DataBlock {»DRVTBL.ASM«} […0x3…] 0x1a200…1a300 (13, 0, 3) DataBlock {»CR16MFD.ASM«} […0x1…] 0x1a400…1a500 (13, 0, 5) DataBlock {»DRVTBL.ASM«} […0x1…] 0x1a600…1a700 (13, 0, 7) DataBlock {»CR16MFD.ASM«} […0x1…] 0x1a800…1a900 (13, 0, 9) DataBlock {»DRVTBL.ASM«} […0x1…] 0x1aa00…1ab00 (13, 0, 11) DataBlock {»CR16MFD.ASM«} […0x1…] 0x1ac00…1ad00 (13, 0, 13) DataBlock {»DRVTBL.ASM«} […0x1…] 0x1ae00…1af00 (13, 0, 15) DataBlock {»CR16MFD.ASM«} […0x21…] 0x1d000…1d100 (14, 1, 1) DataBlock {»CHARIO.ASM«} […0x1f…] 0x1f000…1f100 (15, 1, 1) DataBlock {»CR16MFD.ASM«} […0x11…] 0x20200…20220 (16, 0, 3) 2e 50 4c 37 32 0d 0a 0d 0a a0 a0 a0 a0 a0 20 43 50 2f 4d 20 50 4c 55 53 20 20 20 20 20 20 52 45 ┆.PL72 CP/M PLUS RE┆ 0x20220…20240 4c 45 41 53 45 20 4e 4f 54 45 20 20 20 56 45 52 53 49 4f 4e 20 31 2e 30 20 20 20 20 44 41 54 45 ┆LEASE NOTE VERSION 1.0 DATE┆ 0x20240…20260 3a 38 34 30 34 30 36 0d 0a a0 a0 a0 a0 a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆:840406 ==================┆ 0x20260…20280 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆================================┆ 0x20280…202a0 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a 0d 0a a0 a0 a0 a0 a0 20 53 59 53 54 45 4d 20 49 4e 53 54 41 ┆======== SYSTEM INSTA┆ 0x202a0…202c0 4c 4c 41 54 49 4f 4e 0d 0a a0 a0 a0 a0 a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆LLATION ==================┆ 0x202c0…202e0 3d 3d 3d 0d 0a 0d 0a a0 a0 a0 a0 a0 55 73 e5 a0 20 74 68 e5 a0 20 66 6f 6c 6c 6f 77 69 6e e7 20 ┆=== Us th followin ┆ 0x202e0…20300 63 6f 6d 6d 61 6e 64 f3 20 74 ef 20 69 6e 73 74 61 6c ec 20 43 50 2f cd 20 50 4c 55 d3 20 6f ee ┆command t instal CP/ PLU o ┆ 0x20300…20320 (16, 0, 4) 20 e1 a0 20 68 61 72 e4 20 8d 0a a0 a0 a0 a0 a0 64 69 73 6b 2e 0d 0a 0d 0a 0d 0a a0 a0 a0 a0 a0 ┆ har disk. ┆ 0x20320…20340 31 29 20 46 69 72 73 74 20 63 6f 70 79 20 73 79 73 74 65 6d 20 66 72 6f 6d 20 66 6c 6f 70 70 79 ┆1) First copy system from floppy┆ 0x20340…20360 20 74 6f 20 68 61 72 64 20 64 69 73 6b 0d 0a 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 50 ┆ to hard disk P┆ 0x20360…20380 49 50 20 41 3a 3d 45 3a 2a 2e 2a 5b 56 4f 5d 0d 0a 0d 0a a0 a0 a0 a0 a0 32 29 20 54 68 65 6e 20 ┆IP A:=E:*.*ÆVOÅ 2) Then ┆ 0x20380…203a0 73 74 61 72 74 20 43 50 2f 4d 20 50 4c 55 53 0d 0a 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 ┆start CP/M PLUS ┆ 0x203a0…203c0 41 3a 43 50 4d 4c 44 52 0d 0a 0d 0a a0 a0 a0 a0 a0 33 29 20 50 75 74 20 6c 6f 61 64 65 72 20 69 ┆A:CPMLDR 3) Put loader i┆ 0x203c0…203e0 6e 74 6f 20 68 61 72 64 20 64 69 73 6b 20 73 79 73 74 65 6d 20 74 72 61 63 6b 0d 0a 0d 0a a0 a0 ┆nto hard disk system track ┆ 0x203e0…20400 a0 a0 a0 20 20 20 20 20 20 20 20 43 4f 50 59 53 59 53 20 43 50 4d 4c 44 52 2e 42 49 4e 0d 0a 0d ┆ COPYSYS CPMLDR.BIN ┆ 0x20400…20500 (16, 0, 5) DataBlock {»CR16MFD.ASM«} […0x1…] 0x20600…20620 (16, 0, 7) 0a 0d 0a a0 a0 a0 a0 a0 49 e6 a0 20 62 6f 6f 74 65 e4 a0 20 64 69 72 65 63 74 6c f9 a0 20 66 72 ┆ I boote directl fr┆ 0x20620…20640 6f ed a0 20 74 68 e5 a0 20 73 79 73 74 65 ed a0 20 66 6c 6f 70 70 f9 a0 20 2c 43 50 2f cd a0 20 ┆o th syste flopp ,CP/ ┆ 0x20640…20660 50 4c 55 d3 20 8d 0a a0 a0 a0 a0 a0 61 75 74 6f 6d 61 74 69 63 6c 79 20 69 73 20 69 6e 73 74 61 ┆PLU automaticly is insta┆ 0x20660…20680 6c 6c 65 64 20 6f 6e 20 68 61 72 64 20 64 69 73 6b 20 64 72 69 76 65 20 41 3a 0d 0a 0d 0a 2e 50 ┆lled on hard disk drive A: .P┆ 0x20680…206a0 41 0d 8a 0d 0a a0 a0 a0 a0 a0 a0 53 59 53 54 45 4d 20 46 49 4c 45 53 0d 0a a0 a0 a0 a0 a0 3d 3d ┆A SYSTEM FILES ==┆ 0x206a0…206c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a a0 a0 a0 a0 a0 44 52 49 20 20 20 20 20 20 20 20 ┆============ DRI ┆ 0x206c0…206e0 20 20 20 20 20 20 20 20 20 44 52 49 2f 43 52 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 52 0d ┆ DRI/CR CR ┆ 0x206e0…20700 0a a0 a0 a0 a0 a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆ --------------------------┆ 0x20700…20720 (16, 0, 8) 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a ┆------------------------------ ┆ 0x20720…20740 a0 a0 a0 a0 a0 52 45 53 42 44 4f 53 33 2e 53 50 52 20 20 20 20 20 20 20 20 43 4f 50 59 53 59 53 ┆ RESBDOS3.SPR COPYSYS┆ 0x20740…20760 2e 43 4f 4d 20 20 20 20 20 20 20 20 20 42 4e 4b 42 49 4f 53 33 2e 53 50 52 0d 0a a0 a0 a0 a0 a0 ┆.COM BNKBIOS3.SPR ┆ 0x20760…20780 42 4e 4b 42 44 4f 53 33 2e 53 50 52 20 20 20 20 20 20 20 20 47 45 4e 43 50 4d 2e 44 41 54 20 20 ┆BNKBDOS3.SPR GENCPM.DAT ┆ 0x20780…207a0 20 20 20 20 20 20 20 20 4c 44 52 42 49 4f 53 2e 52 45 4c 0d 0a a0 a0 a0 a0 a0 43 50 4d 4c 44 52 ┆ LDRBIOS.REL CPMLDR┆ 0x207a0…207c0 2e 52 45 4c 20 20 20 20 20 20 20 20 20 20 43 50 4d 4c 44 52 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 20 ┆.REL CPMLDR.COM ┆ 0x207c0…207e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 50 4d 33 2e 53 59 53 20 20 20 20 20 ┆ CPM3.SYS ┆ 0x207e0…20800 20 20 20 20 20 20 20 46 43 4f 50 59 33 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 48 45 58 43 4f 4d 2e 43 ┆ FCOPY3.COM HEXCOM.C┆ 0x20800…20900 (16, 0, 9) DataBlock {»CR16MFD.ASM«} […0x1…] 0x20a00…20a20 (16, 0, 11) 4f 4d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆OM ┆ 0x20a20…20a40 46 43 4f 50 59 31 36 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 53 45 54 44 45 46 2e 43 4f 4d 20 20 20 20 ┆FCOPY16.COM SETDEF.COM ┆ 0x20a40…20a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 4f 52 4d 41 54 ┆ FORMAT┆ 0x20a60…20a80 33 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 53 48 4f 57 2e 43 4f 4d 20 20 20 20 20 20 20 20 20 20 20 20 ┆3.COM SHOW.COM ┆ 0x20a80…20aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 4f 52 4d 41 54 31 36 2e 43 4f 4d ┆ FORMAT16.COM┆ 0x20aa0…20ac0 0d 0a a0 a0 a0 a0 a0 53 49 44 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 43 43 50 2e 43 4f 4d 28 43 43 50 ┆ SID.COM CCP.COM(CCP┆ 0x20ac0…20ae0 2e 53 59 53 29 0d 0a a0 a0 a0 a0 a0 53 55 42 4d 49 54 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 54 59 50 ┆.SYS) SUBMIT.COM TYP┆ 0x20ae0…20b00 45 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 58 52 45 46 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 47 45 4e 43 50 ┆E.COM XREF.COM GENCP┆ 0x20b00…20b20 (16, 0, 12) 4d 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 44 41 54 45 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 44 45 56 49 43 ┆M.COM DATE.COM DEVIC┆ 0x20b20…20b40 45 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 44 49 52 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 44 55 4d 50 2e 43 ┆E.COM DIR.COM DUMP.C┆ 0x20b40…20b60 4f 4d 0d 0a a0 a0 a0 a0 a0 45 44 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 45 52 41 53 45 2e 43 4f 4d 0d ┆OM ED.COM ERASE.COM ┆ 0x20b60…20b80 0a a0 a0 a0 a0 a0 47 45 4e 43 4f 4d 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 49 4e 49 54 44 49 52 2e 43 ┆ GENCOM.COM INITDIR.C┆ 0x20b80…20ba0 4f 4d 0d 0a a0 a0 a0 a0 a0 4c 49 42 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 4c 49 4e 4b 2e 43 4f 4d 0d ┆OM LIB.COM LINK.COM ┆ 0x20ba0…20bc0 0a a0 a0 a0 a0 a0 4d 41 43 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 50 41 54 43 48 2e 43 4f 4d 0d 0a a0 ┆ MAC.COM PATCH.COM ┆ 0x20bc0…20be0 a0 a0 a0 a0 50 49 50 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 50 55 54 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 ┆ PIP.COM PUT.COM ┆ 0x20be0…20c00 52 45 4e 41 4d 45 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 52 4d 41 43 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 ┆RENAME.COM RMAC.COM ┆ 0x20c00…20d00 (16, 0, 13) DataBlock {»CR16MFD.ASM«} […0x1…] 0x20e00…20e20 (16, 0, 15) 53 41 56 45 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 53 45 54 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 48 45 4c ┆SAVE.COM SET.COM HEL┆ 0x20e20…20e40 50 2e 43 4f 4d 0d 0a a0 a0 a0 a0 a0 48 45 4c 50 2e 48 4c 50 0d 0a a0 a0 a0 a0 a0 44 49 52 4c 42 ┆P.COM HELP.HLP DIRLB┆ 0x20e40…20e60 4c 2e 52 53 58 0d 0a a0 a0 a0 a0 a0 48 49 53 54 2e 55 54 4c 0d 0a a0 a0 a0 a0 a0 54 52 41 43 45 ┆L.RSX HIST.UTL TRACE┆ 0x20e60…20e80 2e 55 54 4c 0d 0a a0 a0 a0 a0 a0 43 50 4d 33 2e 4c 49 42 0d 0a a0 a0 a0 a0 a0 5a 38 30 2e 4c 49 ┆.UTL CPM3.LIB Z80.LI┆ 0x20e80…20ea0 42 0d 0a 2e 50 41 0d 8a 0d 0a 0d 0a a0 a0 a0 a0 a0 a0 49 2f 4f 20 43 4f 4e 46 49 47 55 52 41 54 ┆B .PA I/O CONFIGURAT┆ 0x20ea0…20ec0 49 4f 4e 0d 0a a0 a0 a0 a0 a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d ┆ION =================== ┆ 0x20ec0…20ee0 0a 20 20 20 20 20 50 68 79 73 69 63 61 6c 20 64 65 76 69 63 65 73 3a 0d 0a 0d 0a 20 20 20 20 20 ┆ Physical devices: ┆ 0x20ee0…20f00 43 52 54 20 39 36 30 30 20 49 4f 53 20 20 20 20 20 20 4c 50 54 20 39 36 30 30 20 4f 53 58 20 20 ┆CRT 9600 IOS LPT 9600 OSX ┆ 0x20f00…20f20 (16, 0, 16) 20 20 20 20 4d 4f 44 45 4d 20 39 36 30 30 20 49 4f 53 0d 0a 0d 0a 20 20 20 20 20 44 65 66 61 75 ┆ MODEM 9600 IOS Defau┆ 0x20f20…20f40 6c 74 20 6c 6f 67 69 63 61 6c 20 61 73 73 69 67 6e 6d 65 6e 74 3a 0d 0a 0d 0a 20 20 20 20 20 43 ┆lt logical assignment: C┆ 0x20f40…20f60 4f 4e 49 4e 3a 20 20 20 20 3d 20 20 20 20 43 52 54 0d 0a 20 20 20 20 20 43 4f 4e 4f 55 54 3a 20 ┆ONIN: = CRT CONOUT: ┆ 0x20f60…20f80 20 20 3d 20 20 20 20 43 52 54 0d 0a 20 20 20 20 20 41 55 58 49 4e 3a 20 20 20 20 3d 20 20 20 20 ┆ = CRT AUXIN: = ┆ 0x20f80…20fa0 4d 4f 44 45 4d 0d 0a 20 20 20 20 20 41 55 58 4f 55 54 3a 20 20 20 3d 20 20 20 20 4d 4f 44 45 4d ┆MODEM AUXOUT: = MODEM┆ 0x20fa0…20fc0 0d 0a 20 20 20 20 20 4c 53 54 3a 20 20 20 20 20 20 3d 20 20 20 20 4c 50 54 0d 0a 0d 0a 0d 0a a0 ┆ LST: = LPT ┆ 0x20fc0…20fe0 a0 a0 a0 a0 20 4c 4f 47 49 43 41 4c 20 44 49 53 4b 20 44 52 49 56 45 53 20 20 20 20 7c 20 20 41 ┆ LOGICAL DISK DRIVES ø A┆ 0x20fe0…21000 20 20 20 42 20 20 20 43 20 20 20 44 20 20 20 45 20 20 20 46 20 20 20 47 20 20 20 48 20 0d 0a a0 ┆ B C D E F G H ┆ 0x21000…21100 (16, 1, 1) DataBlock {»BIOSKRNL.ASM«} […0x41…] 0x25200…25220 (18, 1, 3) a0 a0 a0 a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆ ============================┆ 0x25220…25240 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a a0 ┆============================= ┆ 0x25240…25260 a0 a0 a0 a0 48 61 72 64 20 64 69 73 6b 20 53 54 34 30 36 20 64 72 69 76 65 20 20 20 7c 20 20 78 ┆ Hard disk ST406 drive ø x┆ 0x25260…25280 20 20 20 78 0d 0a a0 a0 a0 a0 a0 61 6e 64 20 6f 6e 65 20 6d 69 6e 69 20 66 6c 6f 70 70 79 20 20 ┆ x and one mini floppy ┆ 0x25280…252a0 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 0d 0a 20 20 20 20 20 2d 2d ┆ ø x --┆ 0x252a0…252c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x252c0…252e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a a0 a0 a0 a0 a0 48 61 ┆----------------------- Ha┆ 0x252e0…25300 72 e4 a0 64 69 73 eb a0 53 54 34 31 b2 20 64 72 69 76 e5 20 20 a0 7c 20 20 f8 20 20 20 f8 a0 20 ┆r dis ST41 driv ø ┆ 0x25300…25320 (18, 1, 4) 20 f8 20 20 20 78 0d 0a a0 a0 a0 a0 a0 61 6e 64 20 6f 6e 65 20 6d 69 6e 69 20 66 6c 6f 70 70 79 ┆ x and one mini floppy┆ 0x25320…25340 20 20 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 0d 0a a0 a0 a0 a0 a0 ┆ ø x ┆ 0x25340…25360 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x25360…25380 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a a0 a0 a0 a0 a0 ┆------------------------- ┆ 0x25380…253a0 54 77 6f 20 6d 69 6e 69 20 66 6c 6f 70 70 79 20 64 72 69 76 65 73 20 20 7c 20 20 20 78 20 20 20 ┆Two mini floppy drives ø x ┆ 0x253a0…253c0 20 78 0d 0a a0 a0 a0 a0 a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆ x -----------------------┆ 0x253c0…253e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x253e0…25400 2d 2d 0d 0a 0d 0a 20 20 20 20 20 53 79 73 74 65 6d 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20 ┆-- System generated for ┆ 0x25400…25500 (18, 1, 5) DataBlock {»BIOSKRNL.ASM«} […0x1…] 0x25600…25620 (18, 1, 7) 62 6f 74 68 20 43 52 37 2d 20 61 6e 64 20 43 52 31 36 2d 66 6f 72 6d 61 74 20 66 6c 6f 70 70 79 ┆both CR7- and CR16-format floppy┆ 0x25620…25640 0d 0a 20 20 20 20 20 64 69 73 6b 73 2e 0d 0a 0d 0a 20 20 20 20 20 47 3a 20 3c 3d 3e 20 70 68 79 ┆ disks. G: <=> phy┆ 0x25640…25660 73 69 63 61 6c 20 75 6e 69 74 20 30 0d 0a 20 20 20 20 20 48 3a 20 3c 3d 3e 20 70 68 79 73 69 63 ┆sical unit 0 H: <=> physic┆ 0x25660…25680 61 6c 20 75 6e 69 74 20 31 0d 0a 0d 0a a0 a0 a0 a0 a0 20 4c 4f 47 49 43 41 4c 20 44 49 53 4b 20 ┆al unit 1 LOGICAL DISK ┆ 0x25680…256a0 44 52 49 56 45 53 20 20 20 20 7c 20 20 41 20 20 20 42 20 20 20 43 20 20 20 44 20 20 20 45 20 20 ┆DRIVES ø A B C D E ┆ 0x256a0…256c0 20 46 20 20 20 47 20 20 20 48 20 0d 0a a0 a0 a0 a0 a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆ F G H ==============┆ 0x256c0…256e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆================================┆ 0x256e0…25700 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a a0 a0 a0 a0 a0 48 61 72 64 20 64 69 73 6b 20 53 54 34 30 ┆=========== Hard disk ST40┆ 0x25700…25720 (18, 1, 8) 36 20 64 72 69 76 65 20 20 20 7c 20 20 78 20 20 20 78 0d 0a a0 a0 a0 a0 a0 61 6e 64 20 6f 6e 65 ┆6 drive ø x x and one┆ 0x25720…25740 20 6d 69 6e 69 20 66 6c 6f 70 70 79 20 20 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ mini floppy ø ┆ 0x25740…25760 20 20 20 20 78 20 20 20 20 20 20 20 78 0d 0a 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆ x x ------------┆ 0x25760…25780 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x25780…257a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a a0 a0 a0 a0 a0 48 61 72 e4 a0 64 69 73 eb a0 53 54 ┆------------- Har dis ST┆ 0x257a0…257c0 34 31 b2 20 64 72 69 76 e5 20 20 a0 7c 20 20 f8 20 20 20 f8 a0 20 20 f8 20 20 20 78 0d 0a a0 a0 ┆41 driv ø x ┆ 0x257c0…257e0 a0 a0 a0 61 6e 64 20 6f 6e 65 20 6d 69 6e 69 20 66 6c 6f 70 70 79 20 20 20 20 20 7c 20 20 20 20 ┆ and one mini floppy ø ┆ 0x257e0…25800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 20 20 20 20 20 20 20 78 0d 0a a0 a0 a0 a0 a0 2d 2d ┆ x x --┆ 0x25800…25900 (18, 1, 9) DataBlock {»BIOSKRNL.ASM«} […0x1…] 0x25a00…25a20 (18, 1, 11) 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x25a20…25a40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a a0 a0 a0 a0 a0 54 77 ┆----------------------- Tw┆ 0x25a40…25a60 6f 20 6d 69 6e 69 20 66 6c 6f 70 70 79 20 64 72 69 76 65 73 20 20 7c 20 20 78 20 20 20 78 20 20 ┆o mini floppy drives ø x x ┆ 0x25a60…25a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 20 20 20 78 0d 0a a0 a0 a0 a0 a0 2d 2d 2d ┆ x x ---┆ 0x25a80…25aa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x25aa0…25ac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 2e 50 41 0d 8a 0d ┆---------------------- .PA ┆ 0x25ac0…25ae0 0a 0d 0a a0 a0 a0 a0 a0 20 4d 45 4d 4f 52 59 20 41 4c 4c 4f 43 41 54 49 4f 4e 20 4d 41 50 20 46 ┆ MEMORY ALLOCATION MAP F┆ 0x25ae0…25b00 4f 52 20 41 20 42 41 4e 4b 45 44 20 53 59 53 54 45 4d 0d 0a a0 a0 a0 a0 a0 3d 3d 3d 3d 3d 3d 3d ┆OR A BANKED SYSTEM =======┆ 0x25b00…25b20 (18, 1, 12) 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆================================┆ 0x25b20…25b40 3d 3d 3d 3d 0d 0a 0d 0a a0 a0 a0 a0 a0 54 6f 70 20 6f 66 20 6d 65 6d 6f 72 79 20 20 30 46 46 46 ┆==== Top of memory 0FFF┆ 0x25b40…25b60 46 48 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a a0 ┆FH --------------- ┆ 0x25b60…25b80 a0 a0 a0 a0 20 20 20 20 20 a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ ┆ 0x25b80…25ba0 20 20 20 20 7c 20 52 45 53 49 44 45 4e 54 20 42 49 4f 53 20 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 ┆ ø RESIDENT BIOS ø ┆ 0x25ba0…25bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 2d 2d 2d ┆ ø---┆ 0x25bc0…25be0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 20 20 20 ┆------------ø ┆ 0x25be0…25c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 52 45 53 49 44 45 4e 54 20 42 ┆ ø RESIDENT B┆ 0x25c00…25d00 (18, 1, 13) DataBlock {»BIOSKRNL.ASM«} […0x1…] 0x25e00…25e20 (18, 1, 15) 44 4f 53 20 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆DOS ø ┆ 0x25e20…25e40 20 20 20 20 20 20 20 20 20 20 20 20 7c 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7c 0d 0a a0 ┆ ø---------------ø ┆ 0x25e40…25e60 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ ┆ 0x25e60…25e80 20 20 20 20 7c 20 20 20 20 20 20 54 50 41 20 20 20 20 20 20 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 ┆ ø TPA ø ┆ 0x25e80…25ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 5f 5f 5f ┆ ø___┆ 0x25ea0…25ec0 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 7c 0d 0a a0 a0 a0 a0 a0 43 6f 6d 6d 6f 6e 20 6d 65 6d 6f 72 ┆____________ø Common memor┆ 0x25ec0…25ee0 79 20 20 30 43 30 30 30 48 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 20 20 20 20 2d ┆y 0C000H --------------- -┆ 0x25ee0…25f00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 20 20 ┆-------------- ┆ 0x25f00…25f20 (18, 1, 16) 20 20 20 20 20 20 20 20 20 20 20 7c 20 42 41 4e 4b 45 44 20 20 20 42 49 4f 53 20 7c 20 20 20 7c ┆ ø BANKED BIOS ø ø┆ 0x25f20…25f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 ┆ ø ┆ 0x25f40…25f60 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7c 20 20 ┆ ø---------------ø ┆ 0x25f60…25f80 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 ┆ ø ø ┆ 0x25f80…25fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 42 41 4e 4b 45 44 20 20 20 42 44 4f 53 20 7c ┆ ø BANKED BDOS ø┆ 0x25fa0…25fc0 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 ┆ ø ø ┆ 0x25fc0…25fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆ ø--------------┆ 0x25fe0…26000 2d 7c 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 ┆-ø ø ø ┆ 0x26000…26020 (19, 0, 1) 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 20 20 41 4c 4c 4f 43 41 54 49 4f ┆ ø ALLOCATIO┆ 0x26020…26040 4e 20 20 7c 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0d 0a a0 a0 a0 a0 a0 20 ┆N ø ø ø ┆ 0x26040…26060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 41 4e 44 20 ┆ ø AND ┆ 0x26060…26080 20 20 20 20 20 7c 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0d 0a a0 a0 a0 a0 ┆ ø ø ø ┆ 0x26080…260a0 a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 20 20 43 48 45 43 4b ┆ ø CHECK┆ 0x260a0…260c0 53 55 4d 20 20 20 20 7c 20 20 20 7c 20 20 20 20 20 20 54 50 41 20 20 20 20 20 20 7c 0d 0a a0 a0 ┆SUM ø ø TPA ø ┆ 0x260c0…260e0 a0 a0 a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 20 20 20 56 45 ┆ ø VE┆ 0x260e0…26100 43 54 4f 52 53 20 20 20 20 7c 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0d 0a ┆CTORS ø ø ø ┆ 0x26100…26120 (19, 0, 2) a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 2d 2d 2d 2d ┆ ø----┆ 0x26120…26140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7c 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ┆-----------ø ø ø┆ 0x26140…26160 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 20 ┆ ø ┆ 0x26160…26180 4c 52 55 20 20 20 53 45 43 54 4f 52 20 7c 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆LRU SECTOR ø ø ┆ 0x26180…261a0 20 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ┆ ø ø┆ 0x261a0…261c0 20 20 20 20 42 55 46 46 45 52 53 20 20 20 20 7c 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 ┆ BUFFERS ø ø ┆ 0x261c0…261e0 20 20 20 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ ø ┆ 0x261e0…26200 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 ┆ ø ø ø ┆ 0x26200…26220 (19, 0, 3) 61 72 61 63 74 65 72 69 73 74 69 63 f3 20 74 61 62 6c 65 2e 0d 0a 0d 0a a0 a0 a0 a0 a0 20 20 20 ┆aracteristic table. ┆ 0x26220…26240 20 20 44 52 56 54 42 4c 2e 41 53 4d a0 20 20 20 20 50 6f 69 6e 74 f3 a0 20 74 ef 20 74 68 e5 20 ┆ DRVTBL.ASM Point t th ┆ 0x26240…26260 64 61 74 e1 20 73 74 72 75 63 74 75 72 65 f3 20 66 6f f2 a0 20 65 61 63 e8 20 8d 0a a0 a0 a0 a0 ┆dat structure fo eac ┆ 0x26260…26280 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 63 6f 6e 66 69 67 75 72 65 e4 a0 ┆ configure ┆ 0x26280…262a0 20 64 69 73 eb 20 64 72 69 76 e5 20 2e 54 68 e5 20 64 72 69 76 e5 a0 20 74 61 62 6c e5 20 8d 0a ┆ dis driv .Th driv tabl ┆ 0x262a0…262c0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 64 65 74 65 72 6d 69 ┆ determi┆ 0x262c0…262e0 6e 65 f3 a0 20 77 68 69 63 e8 20 70 68 79 73 69 63 61 ec 20 64 69 73 eb 20 75 6e 69 f4 a0 20 69 ┆ne whic physica dis uni i┆ 0x262e0…26300 f3 20 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 61 73 73 ┆ ass┆ 0x26300…26320 (19, 0, 4) 6f 63 69 61 74 65 e4 20 77 69 74 e8 20 77 68 69 63 e8 20 6c 6f 67 69 63 61 ec 20 64 72 69 76 e5 ┆ociate wit whic logica driv ┆ 0x26320…26340 20 2e 54 68 e5 20 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 ┆ .Th ┆ 0x26340…26360 a0 64 61 74 e1 a0 20 73 74 72 75 63 74 75 72 e5 20 66 6f f2 20 65 61 63 e8 20 64 69 73 eb a0 20 ┆ dat structur fo eac dis ┆ 0x26360…26380 64 72 69 76 e5 a0 20 69 f3 20 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 ┆driv i ┆ 0x26380…263a0 a0 a0 a0 a0 a0 63 61 6c 6c 65 e4 20 61 ee 20 45 78 74 65 6e 64 65 e4 20 44 69 73 eb 20 50 61 72 ┆ calle a Extende Dis Par┆ 0x263a0…263c0 61 6d 65 74 65 f2 20 48 65 61 64 65 f2 20 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 ┆amete Heade ┆ 0x263c0…263e0 a0 a0 a0 a0 a0 a0 a0 a0 a0 28 58 44 50 48 29 2e 0d 0a 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 48 44 ┆ (XDPH). HD┆ 0x263e0…26400 49 4f 2e 41 53 4d a0 20 20 20 20 20 20 45 78 65 63 75 74 e5 20 52 45 41 c4 20 61 6e e4 20 57 52 ┆IO.ASM Execut REA an WR┆ 0x26400…26420 (19, 0, 5) 20 20 20 20 20 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 30 45 30 ┆ ø 00E0┆ 0x26420…26440 30 48 20 7c 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7c 20 20 20 7c 2d 2d 2d 2d 2d 2d 2d 2d ┆0H ø---------------ø ø--------┆ 0x26440…26460 2d 2d 2d 2d 2d 2d 2d 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆-------ø ┆ 0x26460…26480 20 20 20 20 20 7c 20 20 20 43 43 50 20 20 43 4f 50 59 20 20 20 7c 20 20 20 7c 20 20 20 20 20 20 ┆ ø CCP COPY ø ø ┆ 0x26480…264a0 43 43 50 20 20 20 20 20 20 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆CCP ø ┆ 0x264a0…264c0 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 20 20 7c 20 20 20 20 ┆ ø ø ø ┆ 0x264c0…264e0 20 20 20 20 20 20 20 20 20 20 20 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ ø ┆ 0x264e0…26500 20 20 30 30 31 30 30 48 20 7c 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7c 20 20 20 7c 2d 2d ┆ 00100H ø---------------ø ø--┆ 0x26500…26520 (19, 0, 6) 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 20 20 ┆-------------ø ┆ 0x26520…26540 20 20 20 20 20 20 20 20 20 20 20 7c 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 7c 20 20 20 7c ┆ ø_______________ø ø┆ 0x26540…26560 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 7c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 ┆_______________ø ┆ 0x26560…26580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 41 4e 4b 20 30 20 20 20 20 20 20 20 ┆ BANK 0 ┆ 0x26580…265a0 20 20 20 20 20 20 20 20 42 41 4e 4b 20 31 0d 0a 0d 0a 2e 50 41 0d 8a 0d 0a 0d 0a a0 a0 a0 a0 a0 ┆ BANK 1 .PA ┆ 0x265a0…265c0 20 47 45 4e 45 52 41 54 49 4e 47 20 54 48 45 20 42 4e 4b 42 49 4f 53 33 2e 53 50 52 20 2f 20 42 ┆ GENERATING THE BNKBIOS3.SPR / B┆ 0x265c0…265e0 49 4f 53 33 2e 53 50 52 20 46 49 4c 45 0d 0a a0 a0 a0 a0 a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆IOS3.SPR FILE ============┆ 0x265e0…26600 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆================================┆ 0x26600…26620 (19, 0, 7) 49 54 c5 20 63 6f 64 e5 20 66 6f f2 20 74 68 e5 20 68 61 72 e4 20 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 ┆IT cod fo th har ┆ 0x26620…26640 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 64 69 73 eb 20 63 6f 6e 74 72 6f 6c 6c 65 72 ┆ dis controller┆ 0x26640…26660 2e 0d 0a 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 4d 46 44 49 4f 2e 41 53 4d a0 20 20 20 20 20 45 78 ┆. MFDIO.ASM Ex┆ 0x26660…26680 65 63 75 74 e5 a0 20 52 45 41 c4 20 2c 57 52 49 54 c5 20 61 6e e4 20 46 4f 52 4d 41 d4 20 66 6f ┆ecut REA ,WRIT an FORMA fo┆ 0x26680…266a0 f2 a0 20 74 68 e5 20 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 ┆ th ┆ 0x266a0…266c0 a0 a0 6d 69 6e e9 20 66 6c 6f 70 70 f9 20 64 69 73 eb 20 63 6f 6e 74 72 6f 6c 6c 65 72 2e 28 43 ┆ min flopp dis controller.(C┆ 0x266c0…266e0 52 37 2d 66 6f 72 6d 61 74 29 0d 0a 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 43 52 31 36 4d 46 44 2e ┆R7-format) CR16MFD.┆ 0x266e0…26700 41 53 4d a0 20 20 20 45 78 65 63 75 74 e5 a0 20 52 45 41 c4 20 2c 57 52 49 54 c5 20 61 6e e4 20 ┆ASM Execut REA ,WRIT an ┆ 0x26700…26720 (19, 0, 8) 46 4f 52 4d 41 d4 20 66 6f f2 a0 20 74 68 e5 20 8d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆FORMA fo th ┆ 0x26720…26740 20 20 20 20 20 20 20 20 20 20 20 6d 69 6e e9 20 66 6c 6f 70 70 f9 20 64 69 73 eb 20 63 6f 6e 74 ┆ min flopp dis cont┆ 0x26740…26760 72 6f 6c 6c 65 72 2e 28 43 52 31 36 2d 66 6f 72 6d 61 74 29 0d 0a 0d 0a a0 a0 a0 a0 a0 20 20 20 ┆roller.(CR16-format) ┆ 0x26760…26780 20 20 43 50 4d 33 2e 4c 49 42 20 20 20 20 20 20 20 4d 61 63 72 ef a0 20 64 65 66 69 6e 69 74 69 ┆ CPM3.LIB Macr definiti┆ 0x26780…267a0 6f 6e f3 20 2c 75 73 65 e4 20 74 ef 20 73 69 6d 70 6c 69 66 f9 20 74 68 e5 20 8d 0a a0 a0 a0 a0 ┆on ,use t simplif th ┆ 0x267a0…267c0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 63 72 65 61 74 69 6f ee 20 6f e6 ┆ creatio o ┆ 0x267c0…267e0 20 73 6f 6d e5 20 6f e6 20 74 68 e5 20 64 61 74 e1 a0 20 73 74 72 75 63 74 75 72 65 f3 20 8d 0a ┆ som o th dat structure ┆ 0x267e0…26800 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 69 ee 20 74 68 e5 20 ┆ i th ┆ 0x26800…26820 (19, 0, 9) 3d 3d 0d 0a a0 0d 0a a0 a0 a0 a0 a0 54 68 65 20 6d 6f 64 75 6c 65 73 20 6f 66 20 74 68 65 20 42 ┆== The modules of the B┆ 0x26820…26840 49 4f 53 20 61 72 65 3a 0d 0a 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 42 49 4f 53 4b 52 4e 4c 2e 41 ┆IOS are: BIOSKRNL.A┆ 0x26840…26860 53 4d 20 20 20 50 65 72 66 6f 72 6d f3 20 62 61 73 69 e3 20 73 79 73 74 65 ed 20 69 6e 69 74 69 ┆SM Perform basi syste initi┆ 0x26860…26880 61 6c 69 7a 61 74 69 6f 6e 2c 61 6e e4 20 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 ┆alization,an ┆ 0x26880…268a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 64 69 73 70 61 74 63 68 65 f3 20 63 68 61 72 61 63 74 65 f2 20 61 6e ┆ dispatche characte an┆ 0x268a0…268c0 e4 20 64 69 73 eb 20 49 2f cf 20 2e 0d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 0d 0a 20 20 20 20 20 20 ┆ dis I/ . ┆ 0x268c0…268e0 20 20 20 20 53 43 42 2e 41 53 4d a0 20 20 20 20 20 20 20 43 6f 6e 74 61 69 6e f3 a0 20 74 68 e5 ┆ SCB.ASM Contain th ┆ 0x268e0…26900 20 70 75 62 6c 69 e3 20 64 65 66 69 6e 69 74 69 6f 6e f3 20 6f e6 a0 20 74 68 e5 20 8d 0a a0 a0 ┆ publi definition o th ┆ 0x26900…26920 (19, 0, 10) a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 76 61 72 69 6f 75 f3 a0 20 ┆ variou ┆ 0x26920…26940 66 69 65 6c 64 f3 a0 20 69 ee 20 74 68 e5 a0 20 53 79 73 74 65 ed a0 20 43 6f 6e 74 72 6f ec 20 ┆field i th Syste Contro ┆ 0x26940…26960 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 42 6c 6f 63 6b ┆ Block┆ 0x26960…26980 2e 54 68 e5 20 42 49 4f d3 20 20 63 61 ee 20 72 65 66 65 72 65 6e 63 e5 20 74 68 e5 20 70 75 62 ┆.Th BIO ca referenc th pub┆ 0x26980…269a0 6c 69 e3 20 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 76 ┆li v┆ 0x269a0…269c0 61 72 69 61 62 6c 65 f3 20 2e 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 0d 0a a0 a0 a0 a0 a0 20 20 20 ┆ariable . ┆ 0x269c0…269e0 20 20 42 4f 4f 54 2e 41 53 4d 20 20 20 20 20 20 20 50 65 72 66 6f 72 6d f3 a0 a0 20 73 79 73 74 ┆ BOOT.ASM Perform syst┆ 0x269e0…26a00 65 ed a0 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f ee a0 20 6f 74 68 65 f2 20 8d 0a a0 a0 a0 a0 ┆e initializatio othe ┆ 0x26a00…26a20 (19, 0, 11) 42 49 4f 53 20 2e 0d 0a 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 5a 38 30 2e 4c 49 42 20 20 20 20 20 ┆BIOS . Z80.LIB ┆ 0x26a20…26a40 20 20 20 55 73 65 e4 a0 20 74 ef 20 65 6e 61 62 6c e5 20 74 68 e5 20 61 73 73 65 6d 62 6c f9 20 ┆ Use t enabl th assembl ┆ 0x26a40…26a60 6f e6 20 74 68 e5 a0 20 5a 38 b0 20 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 ┆o th Z8 ┆ 0x26a60…26a80 a0 a0 a0 a0 a0 a0 a0 69 6e 73 74 72 75 63 74 69 6f ee a0 20 73 65 f4 20 6f ee 20 e1 20 43 50 2f ┆ instructio se o CP/┆ 0x26a80…26aa0 cd 20 73 79 73 74 65 ed a0 20 75 73 69 6e e7 20 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 ┆ syste usin ┆ 0x26aa0…26ac0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 74 68 e5 20 52 4d 41 c3 20 6d 61 63 72 ef 20 61 73 73 65 6d 62 ┆ th RMA macr assemb┆ 0x26ac0…26ae0 6c 65 72 2e 0d 0a 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 50 4f 52 54 53 2e 4c 49 42 a0 20 20 20 20 ┆ler. PORTS.LIB ┆ 0x26ae0…26b00 20 4c 69 62 72 61 72 f9 20 66 69 6c e5 20 63 6f 6e 74 61 69 6e 69 6e e7 20 67 65 6e 65 72 61 ec ┆ Librar fil containin genera ┆ 0x26b00…26b20 (19, 0, 12) a0 20 64 65 66 69 6e 69 1f 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 ┆ defini ┆ 0x26b20…26b40 a0 a0 a0 a0 74 69 6f 6e f3 a0 20 6f e6 a0 20 63 6f 6e 73 74 61 6e 74 f3 20 61 6e e4 20 70 61 72 ┆ tion o constant an par┆ 0x26b40…26b60 61 6d 65 74 65 72 f3 a0 20 61 6e e4 20 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 ┆ameter an ┆ 0x26b60…26b80 a0 a0 a0 a0 a0 a0 a0 a0 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c f9 20 61 73 73 65 6d 62 6c f9 20 70 ┆ conditionall assembl p┆ 0x26b80…26ba0 61 72 61 6d 65 74 65 72 2e 0d 0a 0d 0a 2e 50 41 0d 8a 0d 0a a0 a0 a0 a0 a0 52 65 6d 65 6d 62 65 ┆arameter. .PA Remembe┆ 0x26ba0…26bc0 f2 20 74 68 e5 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c f9 20 61 73 73 65 6d 62 6c f9 20 70 61 72 ┆ th conditionall assembl par┆ 0x26bc0…26be0 61 6d 65 74 65 72 73 ba a0 20 42 41 4e 4b 45 c4 20 6d 75 73 f4 20 8d 0a a0 a0 a0 a0 a0 62 e5 a0 ┆ameters BANKE mus b ┆ 0x26be0…26c00 20 65 71 75 61 ec a0 20 74 72 75 65 a0 20 2c 61 6e e4 20 74 68 e5 20 68 61 72 64 77 61 72 e5 a0 ┆ equa true ,an th hardwar ┆ 0x26c00…26c20 (19, 0, 13) a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 74 68 61 ee 20 63 68 61 72 61 63 ┆ tha charac┆ 0x26c20…26c40 74 65 f2 20 61 6e e4 20 64 69 73 eb 20 49 2f cf 20 2e 42 4f 4f d4 a0 20 6c 6f 61 64 f3 20 8d 0a ┆te an dis I/ .BOO load ┆ 0x26c40…26c60 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 74 68 e5 a0 20 43 43 ┆ th CC┆ 0x26c60…26c80 d0 20 66 6f f2 20 63 6f 6c e4 20 73 74 61 72 74 f3 20 61 6e e4 20 72 65 6c 6f 61 64 f3 a0 20 69 ┆ fo col start an reload i┆ 0x26c80…26ca0 f4 20 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 66 6f f2 ┆ fo ┆ 0x26ca0…26cc0 20 77 61 72 ed 20 73 74 61 72 74 73 2e 0d 0a 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 4d 4f 56 45 2e ┆ war starts. MOVE.┆ 0x26cc0…26ce0 41 53 4d 20 20 20 20 20 20 20 50 65 72 66 6f 72 6d f3 20 6d 65 6d 6f 72 f9 20 74 ef 20 6d 65 6d ┆ASM Perform memor t mem┆ 0x26ce0…26d00 6f 72 f9 20 6d 6f 76 65 f3 20 61 6e e4 20 62 61 6e eb 20 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 ┆or move an ban ┆ 0x26d00…26d20 (19, 0, 14) a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 73 65 6c 65 63 74 73 2e 0d 0a 0d 0a 20 20 20 20 20 20 ┆ selects. ┆ 0x26d20…26d40 20 20 20 20 43 48 41 52 49 4f 2e 41 53 4d a0 a0 a0 a0 20 50 65 72 66 6f 72 6d f3 a0 20 61 6c ec ┆ CHARIO.ASM Perform al ┆ 0x26d40…26d60 20 63 68 61 72 61 63 74 65 f2 20 64 65 76 69 63 e5 20 69 6e 69 74 69 61 6c 69 1f 8d 0a a0 a0 a0 ┆ characte devic initiali ┆ 0x26d60…26d80 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 7a 61 74 69 6f ee 20 2c 69 6e ┆ zatio ,in┆ 0x26d80…26da0 70 75 f4 20 6f 75 74 70 75 f4 20 61 6e e4 20 73 74 61 74 75 f3 20 70 6f 6c 6c 69 6e 67 ae 20 8d ┆pu outpu an statu polling ┆ 0x26da0…26dc0 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 43 48 41 52 49 cf ┆ CHARI ┆ 0x26dc0…26de0 a0 20 63 6f 6e 74 61 69 6e f3 a0 20 74 68 e5 a0 20 63 68 61 72 61 63 74 65 f2 a0 20 64 65 76 69 ┆ contain th characte devi┆ 0x26de0…26e00 63 e5 20 8d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 63 68 ┆c ch┆ 0x26e00…26e20 (19, 0, 15) 20 63 6f 6e 66 69 67 75 72 61 74 69 6f ee a0 20 6d 75 73 f4 a0 20 62 e5 20 8d 0a a0 a0 a0 a0 a0 ┆ configuratio mus b ┆ 0x26e20…26e40 73 70 65 63 69 66 69 65 64 2e 0d 0a 0d 0a a0 a0 a0 a0 a0 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 ┆specified. The following┆ 0x26e40…26e60 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c 20 67 65 6e 65 72 61 74 65 20 61 20 42 4e 4b 42 49 4f 53 ┆ command will generate a BNKBIOS┆ 0x26e60…26e80 33 2e 53 50 52 20 66 69 6c 65 3a 0d 0a 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 53 55 42 4d 49 54 20 ┆3.SPR file: SUBMIT ┆ 0x26e80…26ea0 42 4e 4b 42 49 4f 53 33 0d 0a 0d 0a a0 a0 a0 a0 a0 54 68 e5 a0 20 53 55 42 4d 49 d4 a0 20 66 69 ┆BNKBIOS3 Th SUBMI fi┆ 0x26ea0…26ec0 6c e5 20 42 4e 4b 42 49 4f 53 33 2e 53 55 c2 20 77 69 6c ec 20 70 65 72 66 6f 72 ed a0 20 61 6c ┆l BNKBIOS3.SU wil perfor al┆ 0x26ec0…26ee0 ec a0 20 74 68 e5 a0 20 62 65 6c 6f f7 20 8d 0a a0 a0 a0 a0 a0 6d 65 6e 74 69 6f 6e 65 e4 20 63 ┆ th belo mentione c┆ 0x26ee0…26f00 6f 6d 6d 61 6e 64 73 2e 0d 0a 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 52 4d 41 43 20 42 49 4f 53 4b ┆ommands. RMAC BIOSK┆ 0x26f00…26f20 (19, 0, 16) 52 4e 4c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 52 4d 41 43 20 53 43 42 0d 0a a0 a0 a0 a0 a0 20 20 ┆RNL RMAC SCB ┆ 0x26f20…26f40 20 20 20 52 4d 41 43 20 42 4f 4f 54 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 52 4d 41 43 20 43 48 41 ┆ RMAC BOOT RMAC CHA┆ 0x26f40…26f60 52 49 4f 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 52 4d 41 43 20 4d 4f 56 45 0d 0a a0 a0 a0 a0 a0 20 ┆RIO RMAC MOVE ┆ 0x26f60…26f80 20 20 20 20 52 4d 41 43 20 44 52 56 54 42 4c 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 52 4d 41 43 20 ┆ RMAC DRVTBL RMAC ┆ 0x26f80…26fa0 48 44 49 4f 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 52 4d 41 43 20 4d 46 44 49 4f 0d 0a 20 20 20 20 ┆HDIO RMAC MFDIO ┆ 0x26fa0…26fc0 20 20 20 20 20 20 52 4d 41 43 20 43 52 31 36 4d 46 44 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 4c 49 ┆ RMAC CR16MFD LI┆ 0x26fc0…26fe0 4e 4b 20 42 4e 4b 42 49 4f 53 33 5b 42 2c 51 5d 3d 42 49 4f 53 4b 52 4e 4c 2c 53 43 42 2c 42 4f ┆NK BNKBIOS3ÆB,QÅ=BIOSKRNL,SCB,BO┆ 0x26fe0…27000 4f 54 2c 43 48 41 52 49 4f 2c 0d 0a a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 a0 ┆OT,CHARIO, ┆ 0x27000…27020 (19, 1, 1) a0 a0 a0 a0 a0 20 20 20 20 20 20 20 20 20 4d 4f 56 45 2c 44 52 56 54 42 4c 2c 48 44 49 4f 2c 4d ┆ MOVE,DRVTBL,HDIO,M┆ 0x27020…27040 46 44 49 30 2c 43 52 31 36 4d 46 44 0d 0a 0d 0a 2e 50 41 0d 8a 0d 0a 0d 0a a0 a0 a0 a0 a0 20 47 ┆FDI0,CR16MFD .PA G┆ 0x27040…27060 45 4e 45 52 41 54 49 4e 47 20 54 48 45 20 43 50 4d 4c 44 52 2e 43 4f 4d 20 46 49 4c 45 0d 0a a0 ┆ENERATING THE CPMLDR.COM FILE ┆ 0x27060…27080 a0 a0 a0 a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆ ============================┆ 0x27080…270a0 3d 3d 3d 3d 0d 0a a0 a0 a0 a0 a0 54 68 e5 20 43 50 4d 4c 44 d2 20 6c 6f 61 64 f3 20 74 68 e5 20 ┆==== Th CPMLD load th ┆ 0x270a0…270c0 43 50 4d 33 2e 53 59 d3 20 66 69 6c e5 20 69 6e 74 ef 20 62 61 6e eb 20 b0 20 61 6e e4 20 74 72 ┆CPM3.SY fil int ban an tr┆ 0x270c0…270e0 61 6e 73 66 65 72 f3 20 8d 0a a0 a0 a0 a0 a0 63 6f 6e 74 72 6f 6c 20 74 6f 20 74 68 65 20 42 4f ┆ansfer control to the BO┆ 0x270e0…27100 4f 54 20 72 6f 75 74 69 6e 65 20 69 6e 20 74 68 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 42 49 4f ┆OT routine in the customized BIO┆ 0x27100…27120 (19, 1, 2) 53 2e 0d 0a a0 a0 a0 a0 a0 54 68 e5 a0 20 43 50 4d 4c 44 d2 a0 20 72 65 71 75 69 72 65 f3 20 e1 ┆S. Th CPMLD require ┆ 0x27120…27140 20 63 75 73 74 6f 6d 69 7a 65 e4 20 4c 44 52 42 49 4f d3 20 74 ef a0 20 70 65 72 66 6f 72 ed a0 ┆ customize LDRBIO t perfor ┆ 0x27140…27160 20 64 69 73 eb 20 8d 0a a0 a0 a0 a0 a0 69 6e 70 75 f4 a0 20 61 6e e4 a0 20 63 6f 6e 73 6f 6c e5 ┆ dis inpu an consol ┆ 0x27160…27180 a0 20 6f 75 74 70 75 74 2e 54 68 e5 a0 20 4c 44 52 42 49 4f d3 a0 20 69 f3 a0 20 65 73 73 65 6e ┆ output.Th LDRBIO i essen┆ 0x27180…271a0 74 69 61 6c 6c f9 a0 20 e1 20 8d 0a a0 a0 a0 a0 a0 6e 6f 6e 62 61 6e 6b 65 e4 a0 20 42 49 4f d3 ┆tiall nonbanke BIO ┆ 0x271a0…271c0 a0 20 77 68 69 74 e8 20 61 6c ec 20 75 6e 6e 65 63 65 73 73 61 72 f9 20 66 75 6e 63 74 69 6f 6e ┆ whit al unnecessar function┆ 0x271c0…271e0 f3 20 64 65 6c 65 74 65 e4 a0 20 74 ef 20 8d 0a a0 a0 a0 a0 a0 63 6f 6e 73 65 72 76 65 20 73 70 ┆ delete t conserve sp┆ 0x271e0…27200 61 63 65 2e 0d 0a a0 a0 a0 a0 a0 52 65 6d 65 6d 62 65 f2 20 74 68 e5 20 63 6f 6e 64 69 74 69 6f ┆ace. Remembe th conditio┆ 0x27200…27220 (19, 1, 3) 73 61 67 65 73 20 28 59 29 20 3f 20 0d 0a 0d 0a 20 20 20 20 20 41 63 63 65 70 74 20 6e 65 77 20 ┆sages (Y) ? Accept new ┆ 0x27220…27240 73 79 73 74 65 6d 20 64 65 66 69 6e 69 74 69 6f 6e 20 28 59 29 20 3f 20 0d 0a 0d 0a 20 20 20 20 ┆system definition (Y) ? ┆ 0x27240…27260 20 53 65 74 74 69 6e 67 20 75 70 20 41 6c 6c 6f 63 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 66 6f ┆ Setting up Allocation vector fo┆ 0x27260…27280 72 20 64 72 69 76 65 20 41 3a 0d 0a 20 20 20 20 20 53 65 74 74 69 6e 67 20 75 70 20 41 6c 6c 6f ┆r drive A: Setting up Allo┆ 0x27280…272a0 63 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 66 6f 72 20 64 72 69 76 65 20 42 3a 0d 0a 20 20 20 20 ┆cation vector for drive B: ┆ 0x272a0…272c0 20 53 65 74 74 69 6e 67 20 75 70 20 41 6c 6c 6f 63 61 74 69 6f 6e 20 76 65 63 74 6f 72 20 66 6f ┆ Setting up Allocation vector fo┆ 0x272c0…272e0 72 20 64 72 69 76 65 20 45 3a 0d 0a 20 20 20 20 20 53 65 74 74 69 6e 67 20 75 70 20 43 68 65 63 ┆r drive E: Setting up Chec┆ 0x272e0…27300 6b 73 75 6d 20 76 65 63 74 6f 72 20 66 6f 72 20 64 72 69 76 65 20 45 3a 0d 0a 0d 0a 2e 70 61 0d ┆ksum vector for drive E: .pa ┆ 0x27300…27320 (19, 1, 4) 8a 0d 0a 0d 0a 20 20 20 20 20 2a 2a 2a 20 42 61 6e 6b 20 31 20 61 6e 64 20 43 6f 6d 6d 6f 6e 20 ┆ *** Bank 1 and Common ┆ 0x27320…27340 61 72 65 20 6e 6f 74 20 69 6e 63 6c 75 64 65 64 20 2a 2a 2a 0d 0a 0d 0a 20 20 20 20 20 2a 2a 2a ┆are not included *** ***┆ 0x27340…27360 20 69 6e 20 74 68 65 20 6d 65 6d 6f 72 79 20 73 65 67 6d 65 6e 74 20 74 61 62 6c 65 2e 20 20 20 ┆ in the memory segment table. ┆ 0x27360…27380 20 20 20 20 2a 2a 2a 0d 0a 0d 0a 20 20 20 20 20 4e 75 6d 62 65 72 20 6f 66 20 6d 65 6d 6f 72 79 ┆ *** Number of memory┆ 0x27380…273a0 20 73 65 67 6d 65 6e 74 73 20 28 23 31 29 20 3f 20 0d 0a 0d 0a 20 20 20 20 20 43 50 2f 4d 20 33 ┆ segments (#1) ? CP/M 3┆ 0x273a0…273c0 20 42 61 73 65 2c 73 69 7a 65 2c 62 61 6e 6b 20 28 38 35 2c 33 42 2c 30 30 29 0d 0a 0d 0a 20 20 ┆ Base,size,bank (85,3B,00) ┆ 0x273c0…273e0 20 20 20 45 6e 74 65 72 20 6d 65 6d 6f 72 79 20 73 65 67 6d 65 6e 74 20 74 61 62 6c 65 3a 0d 0a ┆ Enter memory segment table: ┆ 0x273e0…27400 0d 0a 20 20 20 20 20 42 61 73 65 2c 73 69 7a 65 2c 62 61 6e 6b 20 28 30 45 2c 37 37 2c 30 30 29 ┆ Base,size,bank (0E,77,00)┆ 0x27400…27420 (19, 1, 5) 6e 61 6c 6c f9 20 61 73 73 65 6d 62 6c f9 20 70 61 72 61 6d 65 74 65 72 73 ba a0 20 42 41 4e 4b ┆nall assembl parameters BANK┆ 0x27420…27440 45 c4 20 6d 75 73 f4 20 8d 0a a0 a0 a0 a0 a0 62 e5 a0 20 65 71 75 61 ec a0 20 66 61 6c 73 e5 a0 ┆E mus b equa fals ┆ 0x27440…27460 20 2c 61 6e e4 20 74 68 e5 20 68 61 72 64 77 61 72 e5 a0 20 63 6f 6e 66 69 67 75 72 61 74 69 6f ┆ ,an th hardwar configuratio┆ 0x27460…27480 ee a0 20 6d 75 73 f4 a0 20 62 e5 20 8d 0a a0 a0 a0 a0 a0 73 70 65 63 69 66 69 65 64 2e 0d 0a 0d ┆ mus b specified. ┆ 0x27480…274a0 0a a0 a0 a0 a0 a0 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c ┆ The following command will┆ 0x274a0…274c0 20 67 65 6e 65 72 61 74 65 20 61 20 43 50 4d 4c 44 52 2e 43 4f 4d 20 66 69 6c 65 3a 0d 0a 0d 0a ┆ generate a CPMLDR.COM file: ┆ 0x274c0…274e0 a0 a0 a0 a0 a0 20 20 20 20 20 53 55 42 4d 49 54 20 43 50 4d 33 4c 44 52 0d 0a 0d 0a a0 a0 a0 a0 ┆ SUBMIT CPM3LDR ┆ 0x274e0…27500 a0 54 68 e5 a0 20 53 55 42 4d 49 d4 a0 20 66 69 6c e5 a0 20 43 50 4d 33 4c 44 52 2e 53 55 c2 20 ┆ Th SUBMI fil CPM3LDR.SU ┆ 0x27500…27520 (19, 1, 6) 77 69 6c ec 20 70 65 72 66 6f 72 ed a0 20 61 6c ec a0 20 74 68 e5 a0 20 62 65 6c 6f f7 20 8d 0a ┆wil perfor al th belo ┆ 0x27520…27540 a0 a0 a0 a0 a0 6d 65 6e 74 69 6f 6e 65 e4 20 63 6f 6d 6d 61 6e 64 73 0d 0a 0d 0a a0 a0 a0 a0 a0 ┆ mentione commands ┆ 0x27540…27560 20 20 20 20 20 52 4d 41 43 20 4c 44 52 42 49 4f 53 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 52 4d 41 ┆ RMAC LDRBIOS RMA┆ 0x27560…27580 43 20 4d 4f 56 45 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 52 4d 41 43 20 48 44 49 4f 0d 0a a0 a0 a0 ┆C MOVE RMAC HDIO ┆ 0x27580…275a0 a0 a0 20 20 20 20 20 52 4d 41 43 20 4d 46 44 49 4f 0d 0a a0 a0 a0 a0 a0 20 20 20 20 20 4c 49 4e ┆ RMAC MFDIO LIN┆ 0x275a0…275c0 4b 20 43 50 4d 4c 44 52 5b 4c 31 30 30 5d 3d 43 50 4d 4c 44 52 2c 4c 44 52 42 49 4f 53 2c 4d 4f ┆K CPMLDRÆL100Å=CPMLDR,LDRBIOS,MO┆ 0x275c0…275e0 56 45 2c 44 52 56 54 42 4c 2c 48 44 49 4f 2c 4d 46 44 49 4f 0d 0a 0d 0a 0d 0a 2e 50 41 0d 8a 0d ┆VE,DRVTBL,HDIO,MFDIO .PA ┆ 0x275e0…27600 0a 0d 0a a0 a0 a0 a0 a0 20 53 59 53 54 45 4d 20 47 45 4e 45 52 41 54 49 4f 4e 0d 0a a0 a0 a0 a0 ┆ SYSTEM GENERATION ┆ 0x27600…27620 (19, 1, 7) 20 3f 20 0d 0a 0d 0a 20 20 20 20 20 43 50 2f 4d 20 33 20 53 79 73 20 20 20 20 38 35 30 30 48 20 ┆ ? CP/M 3 Sys 8500H ┆ 0x27620…27640 33 42 30 30 48 20 20 42 61 6e 6b 20 30 30 0d 0a 20 20 20 20 20 4d 65 6d 73 65 67 20 4e 6f 2e 20 ┆3B00H Bank 00 Memseg No. ┆ 0x27640…27660 30 30 20 30 45 30 30 48 20 37 37 30 30 48 20 20 42 61 6e 6b 20 30 30 0d 0a 0d 0a 20 20 20 20 20 ┆00 0E00H 7700H Bank 00 ┆ 0x27660…27680 41 63 63 65 70 74 20 6e 65 77 20 6d 65 6d 6f 72 79 20 73 65 67 6d 65 6e 74 20 74 61 62 6c 65 20 ┆Accept new memory segment table ┆ 0x27680…276a0 65 6e 74 72 69 65 73 20 28 59 29 20 3f 20 0d 0a 0d 0a 20 20 20 20 20 53 65 74 74 69 6e 67 20 75 ┆entries (Y) ? Setting u┆ 0x276a0…276c0 70 20 64 69 72 65 63 74 6f 72 79 20 68 61 73 68 20 74 61 62 6c 65 73 3a 0d 0a 0d 0a 20 20 20 20 ┆p directory hash tables: ┆ 0x276c0…276e0 20 45 6e 61 62 6c 65 20 68 61 73 68 69 6e 67 20 66 6f 72 20 64 72 69 76 65 20 41 3a 20 28 59 29 ┆ Enable hashing for drive A: (Y)┆ 0x276e0…27700 20 3f 20 0d 0a 20 20 20 20 20 45 6e 61 62 6c 65 20 68 61 73 68 69 6e 67 20 66 6f 72 20 64 72 69 ┆ ? Enable hashing for dri┆ 0x27700…27720 (19, 1, 8) 76 65 20 42 3a 20 28 59 29 20 3f 20 0d 0a 20 20 20 20 20 45 6e 61 62 6c 65 20 68 61 73 68 69 6e ┆ve B: (Y) ? Enable hashin┆ 0x27720…27740 67 20 66 6f 72 20 64 72 69 76 65 20 45 3a 20 28 59 29 20 3f 20 0d 0a 0d 0a 20 20 20 20 20 53 65 ┆g for drive E: (Y) ? Se┆ 0x27740…27760 74 74 69 6e 67 20 75 70 20 42 6c 6f 63 6b 69 6e 67 2f 44 65 62 6c 6f 63 6b 69 6e 67 20 62 75 66 ┆tting up Blocking/Deblocking buf┆ 0x27760…27780 66 65 72 73 3a 0d 0a 0d 0a 20 20 20 20 20 54 68 65 20 70 68 79 73 69 63 61 6c 20 72 65 63 6f 72 ┆fers: The physical recor┆ 0x27780…277a0 64 20 73 69 7a 65 20 69 73 20 30 32 30 30 48 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 41 76 ┆d size is 0200H: Av┆ 0x277a0…277c0 61 69 6c 61 62 6c 65 20 73 70 61 63 65 20 69 6e 20 32 35 36 20 62 79 74 65 20 70 61 67 65 73 3a ┆ailable space in 256 byte pages:┆ 0x277c0…277e0 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 54 50 41 20 3d 20 30 30 46 31 48 2c 20 42 61 6e 6b 20 ┆ TPA = 00F1H, Bank ┆ 0x277e0…27800 30 20 3d 20 30 30 35 35 48 2c 20 4f 74 68 65 72 20 62 61 6e 6b 73 20 3d 20 30 30 30 30 48 0d 0a ┆0 = 0055H, Other banks = 0000H ┆ 0x27800…27820 (19, 1, 9) a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a a0 a0 a0 a0 a0 54 68 e5 20 ┆ ================== Th ┆ 0x27820…27840 47 45 4e 43 50 cd 20 75 74 69 6c 69 74 f9 20 63 72 65 61 74 65 f3 20 74 68 e5 20 43 50 4d 33 2e ┆GENCP utilit create th CPM3.┆ 0x27840…27860 53 59 d3 20 66 69 6c 65 2c 63 6f 6e 74 61 69 6e 69 6e e7 a0 20 74 68 e5 20 8d 0a a0 a0 a0 a0 a0 ┆SY file,containin th ┆ 0x27860…27880 43 50 2f cd 20 b3 20 42 44 4f d3 20 61 6e e4 20 74 68 e5 20 63 75 73 74 6f 6d 69 7a 65 e4 20 42 ┆CP/ BDO an th customize B┆ 0x27880…278a0 49 4f d3 20 2c 66 72 6f ed 20 74 68 65 20 42 4e 4b 42 44 4f 53 33 2e 53 50 52 20 2c 8d 0a a0 a0 ┆IO ,fro the BNKBDOS3.SPR , ┆ 0x278a0…278c0 a0 a0 a0 74 68 65 20 52 45 53 42 44 4f 53 2e 53 50 52 20 61 6e 64 20 42 4e 4b 42 49 4f 53 33 2e ┆ the RESBDOS.SPR and BNKBIOS3.┆ 0x278c0…278e0 53 50 52 2e 0d 0a a0 a0 a0 a0 a0 47 45 4e 43 50 cd a0 20 63 61 ee a0 20 61 63 63 65 70 f4 20 69 ┆SPR. GENCP ca accep i┆ 0x278e0…27900 74 27 f3 20 63 6f 6d 6d 61 6e e4 20 69 6e 70 75 f4 20 66 72 6f ed 20 74 68 e5 a0 20 63 6f 6e 73 ┆t' comman inpu fro th cons┆ 0x27900…27920 (19, 1, 10) 6f 6c e5 a0 20 6f f2 20 8d 0a a0 a0 a0 a0 a0 66 72 6f 6d 20 61 20 66 69 6c 65 20 47 45 4e 43 50 ┆ol o from a file GENCP┆ 0x27920…27940 4d 2e 44 41 54 2e 0d 0a a0 a0 a0 a0 a0 54 68 65 20 73 65 63 74 69 6f 6e 20 62 65 6c 6f 77 20 63 ┆M.DAT. The section below c┆ 0x27940…27960 6f 6e 74 61 69 6e 73 20 61 20 73 79 73 74 65 6d 20 67 65 6e 65 72 61 74 69 6f 6e 20 73 65 73 73 ┆ontains a system generation sess┆ 0x27960…27980 69 6f 6e 2e 0d 0a 0d 0a 0d 0a 20 20 20 20 20 43 50 2f 4d 20 33 2e 30 20 53 79 73 74 65 6d 20 47 ┆ion. CP/M 3.0 System G┆ 0x27980…279a0 65 6e 65 72 61 74 69 6f 6e 0d 0a 20 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 ┆eneration Copyright (C) 19┆ 0x279a0…279c0 38 32 2c 20 44 69 67 69 74 61 6c 20 52 65 73 65 61 72 63 68 0d 0a 0d 0a 20 20 20 20 20 44 65 66 ┆82, Digital Research Def┆ 0x279c0…279e0 61 75 6c 74 20 65 6e 74 72 69 65 73 20 61 72 65 20 73 68 6f 77 6e 20 69 6e 20 28 70 61 72 65 6e ┆ault entries are shown in (paren┆ 0x279e0…27a00 73 29 2e 0d 0a 20 20 20 20 20 44 65 66 61 75 6c 74 20 62 61 73 65 20 69 73 20 48 65 78 2c 20 70 ┆s). Default base is Hex, p┆ 0x27a00…27a20 (19, 1, 11) 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 75 6d 62 65 72 20 6f 66 20 64 69 72 65 63 ┆ Number of direc┆ 0x27a20…27a40 74 6f 72 79 20 62 75 66 66 65 72 73 20 66 6f 72 20 64 72 69 76 65 20 41 3a 20 28 23 34 29 20 3f ┆tory buffers for drive A: (#4) ?┆ 0x27a40…27a60 20 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 41 76 61 69 6c 61 62 6c 65 20 73 70 61 63 65 20 69 ┆ Available space i┆ 0x27a60…27a80 6e 20 32 35 36 20 62 79 74 65 20 70 61 67 65 73 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 54 ┆n 256 byte pages: T┆ 0x27a80…27aa0 50 41 20 3d 20 30 30 46 31 48 2c 20 42 61 6e 6b 20 30 20 3d 20 30 30 34 43 48 2c 20 4f 74 68 65 ┆PA = 00F1H, Bank 0 = 004CH, Othe┆ 0x27aa0…27ac0 72 20 62 61 6e 6b 73 20 3d 20 30 30 30 30 48 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆r banks = 0000H ┆ 0x27ac0…27ae0 20 20 4e 75 6d 62 65 72 20 6f 66 20 64 61 74 61 20 62 75 66 66 65 72 73 20 66 6f 72 20 64 72 69 ┆ Number of data buffers for dri┆ 0x27ae0…27b00 76 65 20 41 3a 20 28 23 38 29 20 3f 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 6c ┆ve A: (#8) ? Al┆ 0x27b00…27b20 (19, 1, 12) 6c 6f 63 61 74 65 20 62 75 66 66 65 72 73 20 6f 75 74 73 69 64 65 20 6f 66 20 43 6f 6d 6d 6f 6e ┆locate buffers outside of Common┆ 0x27b20…27b40 20 28 59 29 20 3f 20 0d 0a 2e 70 61 0d 8a 0d 0a 20 20 20 20 20 20 20 20 20 20 41 76 61 69 6c 61 ┆ (Y) ? .pa Availa┆ 0x27b40…27b60 62 6c 65 20 73 70 61 63 65 20 69 6e 20 32 35 36 20 62 79 74 65 20 70 61 67 65 73 3a 0d 0a 0d 0a ┆ble space in 256 byte pages: ┆ 0x27b60…27b80 20 20 20 20 20 20 20 20 20 20 54 50 41 20 3d 20 30 30 46 31 48 2c 20 42 61 6e 6b 20 30 20 3d 20 ┆ TPA = 00F1H, Bank 0 = ┆ 0x27b80…27ba0 30 30 33 43 48 2c 20 4f 74 68 65 72 20 62 61 6e 6b 73 20 3d 20 30 30 30 30 48 0d 0a 0d 0a 20 20 ┆003CH, Other banks = 0000H ┆ 0x27ba0…27bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 75 6d 62 65 72 20 6f 66 20 64 69 72 65 63 74 6f 72 79 ┆ Number of directory┆ 0x27bc0…27be0 20 62 75 66 66 65 72 73 20 66 6f 72 20 64 72 69 76 65 20 43 3a 20 28 23 34 29 20 3f 20 0d 0a 0d ┆ buffers for drive C: (#4) ? ┆ 0x27be0…27c00 0a 20 20 20 20 20 20 20 20 20 20 41 76 61 69 6c 61 62 6c 65 20 73 70 61 63 65 20 69 6e 20 32 35 ┆ Available space in 25┆ 0x27c00…27c20 (19, 1, 13) 72 65 63 65 64 65 20 65 6e 74 72 79 20 77 69 74 68 20 23 20 66 6f 72 20 64 65 63 69 6d 61 6c 0d ┆recede entry with # for decimal ┆ 0x27c20…27c40 0a 0d 0a 20 20 20 20 20 55 73 65 20 47 45 4e 43 50 4d 2e 44 41 54 20 66 6f 72 20 64 65 66 61 75 ┆ Use GENCPM.DAT for defau┆ 0x27c40…27c60 6c 74 73 20 28 59 29 20 3f 20 0d 0a 0d 0a 20 20 20 20 20 43 72 65 61 74 65 20 61 20 6e 65 77 20 ┆lts (Y) ? Create a new ┆ 0x27c60…27c80 47 45 4e 43 50 4d 2e 44 41 54 20 66 69 6c 65 20 28 4e 29 20 3f 20 0d 0a 0d 0a 20 20 20 20 20 44 ┆GENCPM.DAT file (N) ? D┆ 0x27c80…27ca0 69 73 70 6c 61 79 20 4c 6f 61 64 20 4d 61 70 20 61 74 20 43 6f 6c 64 20 42 6f 6f 74 20 28 59 29 ┆isplay Load Map at Cold Boot (Y)┆ 0x27ca0…27cc0 20 3f 20 0d 0a 0d 0a 20 20 20 20 20 4e 75 6d 62 65 72 20 6f 66 20 63 6f 6e 73 6f 6c 65 20 63 6f ┆ ? Number of console co┆ 0x27cc0…27ce0 6c 75 6d 6e 73 20 28 23 38 30 29 20 3f 20 0d 0a 20 20 20 20 20 4e 75 6d 62 65 72 20 6f 66 20 6c ┆lumns (#80) ? Number of l┆ 0x27ce0…27d00 69 6e 65 73 20 69 6e 20 63 6f 6e 73 6f 6c 65 20 70 61 67 65 20 28 23 32 34 29 20 3f 20 0d 0a 20 ┆ines in console page (#24) ? ┆ 0x27d00…27d20 (19, 1, 14) 20 20 20 20 42 61 63 6b 73 70 61 63 65 20 65 63 68 6f 65 73 20 65 72 61 73 65 64 20 63 68 61 72 ┆ Backspace echoes erased char┆ 0x27d20…27d40 61 63 74 65 72 20 28 4e 29 20 3f 20 0d 0a 20 20 20 20 20 52 75 62 6f 75 74 20 65 63 68 6f 65 73 ┆acter (N) ? Rubout echoes┆ 0x27d40…27d60 20 65 72 61 73 65 64 20 63 68 61 72 61 63 74 65 72 20 28 59 29 20 3f 20 0d 0a 0d 0a 20 20 20 20 ┆ erased character (Y) ? ┆ 0x27d60…27d80 20 49 6e 69 74 69 61 6c 20 64 65 66 61 75 6c 74 20 64 72 69 76 65 20 28 41 3a 29 20 3f 20 0d 0a ┆ Initial default drive (A:) ? ┆ 0x27d80…27da0 0d 0a 20 20 20 20 20 54 6f 70 20 70 61 67 65 20 6f 66 20 6d 65 6d 6f 72 79 20 28 46 46 29 20 3f ┆ Top page of memory (FF) ?┆ 0x27da0…27dc0 20 0d 0a 20 20 20 20 20 42 61 6e 6b 20 73 77 69 74 63 68 65 64 20 6d 65 6d 6f 72 79 20 28 59 29 ┆ Bank switched memory (Y)┆ 0x27dc0…27de0 20 3f 20 0d 0a 20 20 20 20 20 43 6f 6d 6d 6f 6e 20 6d 65 6d 6f 72 79 20 62 61 73 65 20 70 61 67 ┆ ? Common memory base pag┆ 0x27de0…27e00 65 20 28 43 30 29 20 3f 20 0d 0a 0d 0a 20 20 20 20 20 4c 6f 6e 67 20 65 72 72 6f 72 20 6d 65 73 ┆e (C0) ? Long error mes┆ 0x27e00…27e20 (19, 1, 15) 36 20 62 79 74 65 20 70 61 67 65 73 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 54 50 41 20 3d ┆6 byte pages: TPA =┆ 0x27e20…27e40 20 30 30 46 31 48 2c 20 42 61 6e 6b 20 30 20 3d 20 30 30 33 34 48 2c 20 4f 74 68 65 72 20 62 61 ┆ 00F1H, Bank 0 = 0034H, Other ba┆ 0x27e40…27e60 6e 6b 73 20 3d 20 30 30 30 30 48 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 75 ┆nks = 0000H Nu┆ 0x27e60…27e80 6d 62 65 72 20 6f 66 20 64 61 74 61 20 62 75 66 66 65 72 73 20 66 6f 72 20 64 72 69 76 65 20 43 ┆mber of data buffers for drive C┆ 0x27e80…27ea0 3a 20 28 23 38 29 20 3f 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 6c 6f 63 61 ┆: (#8) ? Alloca┆ 0x27ea0…27ec0 74 65 20 62 75 66 66 65 72 73 20 6f 75 74 73 69 64 65 20 6f 66 20 43 6f 6d 6d 6f 6e 20 28 59 29 ┆te buffers outside of Common (Y)┆ 0x27ec0…27ee0 20 3f 20 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 41 76 61 69 6c 61 62 6c 65 20 73 70 61 63 65 ┆ ? Available space┆ 0x27ee0…27f00 20 69 6e 20 32 35 36 20 62 79 74 65 20 70 61 67 65 73 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 ┆ in 256 byte pages: ┆ 0x27f00…27f20 (19, 1, 16) 20 54 50 41 20 3d 20 30 30 46 31 48 2c 20 42 61 6e 6b 20 30 20 3d 20 30 30 32 33 48 2c 20 4f 74 ┆ TPA = 00F1H, Bank 0 = 0023H, Ot┆ 0x27f20…27f40 68 65 72 20 62 61 6e 6b 73 20 3d 20 30 30 30 30 48 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ┆her banks = 0000H ┆ 0x27f40…27f60 20 20 20 20 4e 75 6d 62 65 72 20 6f 66 20 64 69 72 65 63 74 6f 72 79 20 62 75 66 66 65 72 73 20 ┆ Number of directory buffers ┆ 0x27f60…27f80 66 6f 72 20 64 72 69 76 65 20 44 3a 20 28 23 34 29 20 3f 20 0d 0a 0d 0a 20 20 20 20 20 20 20 20 ┆for drive D: (#4) ? ┆ 0x27f80…27fa0 20 20 41 76 61 69 6c 61 62 6c 65 20 73 70 61 63 65 20 69 6e 20 32 35 36 20 62 79 74 65 20 70 61 ┆ Available space in 256 byte pa┆ 0x27fa0…27fc0 67 65 73 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 54 50 41 20 3d 20 30 30 46 31 48 2c 20 42 ┆ges: TPA = 00F1H, B┆ 0x27fc0…27fe0 61 6e 6b 20 30 20 3d 20 30 30 31 42 48 2c 20 4f 74 68 65 72 20 62 61 6e 6b 73 20 3d 20 30 30 30 ┆ank 0 = 001BH, Other banks = 000┆ 0x27fe0…28000 30 48 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 75 6d 62 65 72 20 6f 66 20 64 ┆0H Number of d┆ 0x28000…28020 (20, 0, 1) 61 74 61 20 62 75 66 66 65 72 73 20 66 6f 72 20 64 72 69 76 65 20 44 3a 20 28 23 38 29 20 3f 20 ┆ata buffers for drive D: (#8) ? ┆ 0x28020…28040 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 6c 6f 63 61 74 65 20 62 75 66 66 65 72 ┆ Allocate buffer┆ 0x28040…28060 73 20 6f 75 74 73 69 64 65 20 6f 66 20 43 6f 6d 6d 6f 6e 20 28 59 29 20 3f 20 0d 0a 0d 0a 20 20 ┆s outside of Common (Y) ? ┆ 0x28060…28080 20 20 20 20 20 20 20 20 41 76 61 69 6c 61 62 6c 65 20 73 70 61 63 65 20 69 6e 20 32 35 36 20 62 ┆ Available space in 256 b┆ 0x28080…280a0 79 74 65 20 70 61 67 65 73 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 54 50 41 20 3d 20 30 30 ┆yte pages: TPA = 00┆ 0x280a0…280c0 46 31 48 2c 20 42 61 6e 6b 20 30 20 3d 20 30 30 30 41 48 2c 20 4f 74 68 65 72 20 62 61 6e 6b 73 ┆F1H, Bank 0 = 000AH, Other banks┆ 0x280c0…280e0 20 3d 20 30 30 30 30 48 0d 0a 0d 0a 20 20 20 20 20 41 63 63 65 70 74 20 6e 65 77 20 62 75 66 66 ┆ = 0000H Accept new buff┆ 0x280e0…28100 65 72 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 28 59 29 20 3f 20 0d 0a 0d 0a 20 20 20 20 20 20 20 ┆er definitions (Y) ? ┆ 0x28100…28120 (20, 0, 2) 20 20 20 42 4e 4b 42 49 4f 53 33 20 53 50 52 20 20 46 37 30 30 48 20 20 30 39 30 30 48 0d 0a 20 ┆ BNKBIOS3 SPR F700H 0900H ┆ 0x28120…28140 20 20 20 20 20 20 20 20 20 42 4e 4b 42 49 4f 53 33 20 53 50 52 20 20 42 31 30 30 48 20 20 30 46 ┆ BNKBIOS3 SPR B100H 0F┆ 0x28140…28160 30 30 48 0d 0a 20 20 20 20 20 20 20 20 20 20 52 45 53 42 44 4f 53 33 20 53 50 52 20 20 46 31 30 ┆00H RESBDOS3 SPR F10┆ 0x28160…28180 30 48 20 20 30 36 30 30 48 0d 0a 20 20 20 20 20 20 20 20 20 20 42 4e 4b 42 44 4f 53 33 20 53 50 ┆0H 0600H BNKBDOS3 SP┆ 0x28180…281a0 52 20 20 38 33 30 30 48 20 20 32 45 30 30 48 0d 0a 0d 0a 20 20 20 20 20 2a 2a 2a 20 43 50 2f 4d ┆R 8300H 2E00H *** CP/M┆ 0x281a0…281c0 20 33 2e 30 20 53 59 53 54 45 4d 20 47 45 4e 45 52 41 54 49 4f 4e 20 44 4f 4e 45 20 2a 2a 2a 0d ┆ 3.0 SYSTEM GENERATION DONE *** ┆ 0x281c0…281e0 0a 0d 0a 2e 50 41 0d 8a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ .PA ┆ 0x281e0…28200 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ ┆ 0x28200…28300 (20, 0, 3) DataBlock {»CPM3DOC«} […0x1…] 0x28400…28420 (20, 0, 5) 79 73 74 65 6d 0d 0a 43 4f 4e 49 09 65 71 75 09 31 68 09 09 3b 63 6f 6e 73 6f 6c 65 20 69 6e 70 ┆ystem CONI equ 1h ;console inp┆ 0x28420…28440 75 74 20 66 75 6e 63 74 69 6f 6e 0d 0a 43 4f 4e 4f 09 65 71 75 09 32 68 09 09 3b 63 6f 6e 73 6f ┆ut function CONO equ 2h ;conso┆ 0x28440…28460 6c 65 20 6f 75 74 70 75 74 20 66 75 6e 63 74 69 6f 6e 0d 0a 53 45 4c 44 09 65 71 75 09 31 34 09 ┆le output function SELD equ 14 ┆ 0x28460…28480 09 3b 73 65 6c 65 63 74 20 61 20 64 69 73 6b 0d 0a 52 45 54 44 53 4b 09 65 71 75 09 32 35 09 09 ┆ ;select a disk RETDSK equ 25 ┆ 0x28480…284a0 3b 72 65 74 75 72 6e 20 63 75 72 72 65 6e 74 20 64 69 73 6b 0d 0a 44 52 42 49 4f 53 09 65 71 75 ┆;return current disk DRBIOS equ┆ 0x284a0…284c0 09 35 30 09 09 3b 44 69 72 65 63 74 20 42 49 4f 53 20 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 0d ┆ 50 ;Direct BIOS call function ┆ 0x284c0…284e0 0a 45 49 47 48 54 59 09 65 71 75 09 30 38 30 68 09 09 3b 76 61 6c 75 65 20 6f 66 20 38 30 0d 0a ┆ EIGHTY equ 080h ;value of 80 ┆ 0x284e0…28500 43 54 4c 43 09 65 71 75 09 27 43 27 2d 27 40 27 09 09 3b 43 6f 6e 54 72 6f 4c 20 43 0d 0a 59 09 ┆CTLC equ 'C'-'@' ;ConTroL C Y ┆ 0x28500…28520 (20, 0, 6) 65 71 75 09 38 39 09 09 3b 41 53 43 49 49 20 76 61 6c 75 65 20 6f 66 20 59 0d 0a 3b 0d 0a 4d 41 ┆equ 89 ;ASCII value of Y ; MA┆ 0x28520…28540 58 54 52 59 09 65 71 75 09 30 31 09 09 3b 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 ┆XTRY equ 01 ;maximum number of ┆ 0x28540…28560 74 72 69 65 73 0d 0a 53 54 41 43 4b 53 49 5a 45 20 65 71 75 09 30 31 36 68 09 09 3b 73 69 7a 65 ┆tries STACKSIZE equ 016h ;size┆ 0x28560…28580 20 6f 66 20 6c 6f 63 61 6c 20 73 74 61 63 6b 0d 0a 3b 0d 0a 57 42 4f 4f 54 09 65 71 75 09 30 09 ┆ of local stack ; WBOOT equ 0 ┆ 0x28580…285a0 09 3b 61 64 64 72 65 73 73 20 6f 66 20 77 61 72 6d 20 62 6f 6f 74 0d 0a 3b 0d 0a 53 45 4c 44 53 ┆ ;address of warm boot ; SELDS┆ 0x285a0…285c0 4b 09 65 71 75 09 39 09 09 3b 42 49 4f 53 20 66 75 6e 63 20 23 39 20 53 45 4c 65 63 74 20 44 69 ┆K equ 9 ;BIOS func #9 SELect Di┆ 0x285c0…285e0 53 4b 0d 0a 53 45 54 54 52 4b 09 65 71 75 09 31 30 09 09 3b 42 49 4f 53 20 66 75 6e 63 20 23 31 ┆SK SETTRK equ 10 ;BIOS func #1┆ 0x285e0…28600 30 20 53 45 54 20 54 52 61 63 4b 0d 0a 53 45 54 53 45 43 09 65 71 75 09 31 31 09 09 3b 42 49 4f ┆0 SET TRacK SETSEC equ 11 ;BIO┆ 0x28600…28700 (20, 0, 7) DataBlock {»CPM3DOC«} […0x1…] 0x28800…28820 (20, 0, 9) 53 20 66 75 6e 63 20 23 31 31 20 53 45 54 20 53 45 43 74 6f 72 0d 0a 53 45 54 44 4d 41 09 65 71 ┆S func #11 SET SECtor SETDMA eq┆ 0x28820…28840 75 09 31 32 09 09 3b 42 49 4f 53 20 66 75 6e 63 20 23 31 32 20 53 45 54 20 44 4d 41 20 61 64 64 ┆u 12 ;BIOS func #12 SET DMA add┆ 0x28840…28860 72 65 73 73 0d 0a 52 45 41 44 46 09 65 71 75 09 31 33 09 09 3b 42 49 4f 53 20 66 75 6e 63 20 23 ┆ress READF equ 13 ;BIOS func #┆ 0x28860…28880 31 33 20 52 45 41 44 20 73 65 6c 65 63 74 65 64 20 73 65 63 74 6f 72 0d 0a 57 52 49 54 46 09 65 ┆13 READ selected sector WRITF e┆ 0x28880…288a0 71 75 09 31 34 09 09 3b 42 49 4f 53 20 66 75 6e 63 20 23 31 34 20 57 52 49 54 65 20 73 65 6c 65 ┆qu 14 ;BIOS func #14 WRITe sele┆ 0x288a0…288c0 63 74 65 64 20 73 65 63 74 6f 72 0d 0a 75 74 69 6c 69 74 79 09 65 71 75 09 33 30 09 09 3b 42 49 ┆cted sector utility equ 30 ;BI┆ 0x288c0…288e0 4f 53 20 66 75 6e 63 20 23 33 30 20 66 6f 72 6d 61 74 20 2f 20 72 64 5f 74 72 6b 20 2f 20 77 72 ┆OS func #30 format / rd_trk / wr┆ 0x288e0…28900 5f 74 72 6b 0d 0a 0d 0a 72 64 24 74 72 61 63 6b 09 65 71 75 09 32 0d 0a 77 72 24 74 72 61 63 6b ┆_trk rd$track equ 2 wr$track┆ 0x28900…28920 (20, 0, 10) 09 65 71 75 09 33 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 2a ┆ equ 3 ;******************* ;*┆ 0x28920…28940 0d 0a 3b 2a 09 4d 41 49 4e 20 52 4f 55 54 49 4e 45 0d 0a 3b 2a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a ┆ ;* MAIN ROUTINE ;* ;********┆ 0x28940…28960 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 0d 0a 53 54 41 52 54 3a 0d 0a 0d 0a 09 6c 78 69 09 73 ┆*********** ; START: lxi s┆ 0x28960…28980 70 2c 53 54 41 43 4b 0d 0a 09 6c 78 69 09 64 2c 53 49 47 4e 4f 4e 0d 0a 09 63 61 6c 6c 09 4f 55 ┆p,STACK lxi d,SIGNON call OU┆ 0x28980…289a0 54 4d 53 47 0d 0a 3b 0d 0a 3b 67 65 74 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 74 6f 20 ┆TMSG ; ;get version number to ┆ 0x289a0…289c0 63 68 65 63 6b 20 63 6f 6d 70 61 74 61 62 69 6c 69 74 79 0d 0a 09 6d 76 69 09 63 2c 31 32 09 09 ┆check compatability mvi c,12 ┆ 0x289c0…289e0 3b 76 65 72 73 69 6f 6e 20 63 68 65 63 6b 0d 0a 09 63 61 6c 6c 09 42 44 4f 53 0d 0a 09 6d 6f 76 ┆;version check call BDOS mov┆ 0x289e0…28a00 09 61 2c 6c 09 09 3b 76 65 72 73 69 6f 6e 20 69 6e 20 41 63 63 0d 0a 09 63 70 69 09 33 30 68 09 ┆ a,l ;version in Acc cpi 30h ┆ 0x28a00…28b00 (20, 0, 11) DataBlock {»CPM3DOC«} […0x1…] 0x28c00…28c20 (20, 0, 13) 09 3b 76 65 72 73 69 6f 6e 20 33 20 6f 72 20 6e 65 77 65 72 3f 0d 0a 09 6a 63 09 4e 4f 45 58 45 ┆ ;version 3 or newer? jc NOEXE┆ 0x28c20…28c40 43 09 09 3b 0d 0a 0d 0a 09 63 61 6c 6c 09 53 4f 55 52 43 45 09 09 3b 66 69 6e 64 20 6f 75 74 20 ┆C ; call SOURCE ;find out ┆ 0x28c40…28c60 73 6f 75 72 63 65 20 64 72 69 76 65 0d 0a 09 63 61 6c 6c 09 44 45 53 54 49 4e 09 09 3b 67 65 74 ┆source drive call DESTIN ;get┆ 0x28c60…28c80 20 64 65 73 74 20 64 72 69 76 65 0d 0a 09 6a 6d 70 09 67 65 74 73 79 73 0d 0a 0d 0a 4e 4f 45 58 ┆ dest drive jmp getsys NOEX┆ 0x28c80…28ca0 45 43 3a 09 0d 0a 09 4c 58 49 09 44 2c 52 45 51 43 50 4d 33 09 3b 50 52 49 4e 54 20 22 52 45 51 ┆EC: LXI D,REQCPM3 ;PRINT "REQ┆ 0x28ca0…28cc0 55 49 52 45 53 20 43 50 2f 4d 20 50 4c 55 53 22 0d 0a 09 43 41 4c 4c 09 4f 55 54 4d 53 47 09 09 ┆UIRES CP/M PLUS" CALL OUTMSG ┆ 0x28cc0…28ce0 3b 0d 0a 09 4d 56 49 09 43 2c 57 42 4f 4f 54 09 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b ┆; MVI C,WBOOT ; JMP BDOS ;┆ 0x28ce0…28d00 0d 0a 0d 0a 0d 0a 47 45 54 53 59 53 3a 0d 0a 3b 2d 2d 2d 2d 2d 2d 0d 0a 74 72 6b 24 6c 6f 6f 70 ┆ GETSYS: ;------ trk$loop┆ 0x28d00…28d20 (20, 0, 14) 3a 0d 0a 09 78 72 61 09 61 09 09 3b 7a 65 72 6f 20 6f 75 74 20 61 0d 0a 09 73 74 61 09 52 57 09 ┆: xra a ;zero out a sta RW ┆ 0x28d20…28d40 09 3b 52 57 20 3d 20 30 20 74 6f 20 73 69 67 6e 69 66 79 20 72 65 61 64 0d 0a 09 6c 68 6c 64 09 ┆ ;RW = 0 to signify read lhld ┆ 0x28d40…28d60 73 24 74 72 61 63 6b 0d 0a 09 73 68 6c 64 09 74 72 61 63 6b 0d 0a 09 4c 44 41 09 47 44 49 53 4b ┆s$track shld track LDA GDISK┆ 0x28d60…28d80 0d 0a 09 63 61 6c 6c 09 47 45 54 50 55 54 09 09 3b 67 65 74 20 6f 72 20 72 65 61 64 20 73 79 73 ┆ call GETPUT ;get or read sys┆ 0x28d80…28da0 74 65 6d 0d 0a 0d 0a 09 6c 78 69 09 68 2c 52 57 09 09 3b 6c 6f 61 64 20 61 64 64 72 65 73 73 0d ┆tem lxi h,RW ;load address ┆ 0x28da0…28dc0 0a 09 6d 76 69 09 6d 2c 31 0d 0a 09 6c 68 6c 64 09 64 24 74 72 61 63 6b 0d 0a 09 73 68 6c 64 09 ┆ mvi m,1 lhld d$track shld ┆ 0x28dc0…28de0 74 72 61 63 6b 0d 0a 09 4c 44 41 09 50 44 49 53 4b 0d 0a 09 63 61 6c 6c 09 47 45 54 50 55 54 09 ┆track LDA PDISK call GETPUT ┆ 0x28de0…28e00 09 3b 74 6f 20 70 75 74 20 73 79 73 74 65 6d 20 62 61 63 6b 20 6f 6e 20 64 69 73 6b 0d 0a 0d 0a ┆ ;to put system back on disk ┆ 0x28e00…28f00 (20, 0, 15) DataBlock {»CPM3DOC«} […0x1…] 0x29000…29020 (20, 1, 1) 6c 20 75 73 65 72 20 62 61 64 20 64 72 69 76 65 0d 0a 09 6a 6d 70 09 53 4f 55 52 43 45 09 09 3b ┆l user bad drive jmp SOURCE ;┆ 0x29020…29040 74 72 79 20 61 67 61 69 6e 0d 0a 3b 0d 0a 47 45 54 43 3a 0d 0a 3b 20 53 65 6c 65 63 74 20 64 69 ┆try again ; GETC: ; Select di┆ 0x29040…29060 73 6b 20 67 69 76 65 6e 20 62 79 20 41 63 63 2e 0d 0a 09 73 74 61 09 47 44 49 53 4b 09 09 3b 73 ┆sk given by Acc. sta GDISK ;s┆ 0x29060…29080 74 6f 72 65 20 73 6f 75 72 63 65 20 64 69 73 6b 0d 0a 09 6a 6d 70 09 47 45 54 56 45 52 0d 0a 3b ┆tore source disk jmp GETVER ;┆ 0x29080…290a0 0d 0a 44 46 4c 54 44 52 3a 0d 0a 09 6d 76 69 09 63 2c 32 35 09 09 3b 66 75 6e 63 20 32 35 20 66 ┆ DFLTDR: mvi c,25 ;func 25 f┆ 0x290a0…290c0 6f 72 20 63 75 72 72 65 6e 74 20 64 69 73 6b 0d 0a 09 63 61 6c 6c 09 42 44 4f 53 09 09 3b 67 65 ┆or current disk call BDOS ;ge┆ 0x290c0…290e0 74 20 63 75 72 64 73 6b 0d 0a 09 61 64 69 09 27 41 27 0d 0a 09 73 74 61 09 47 44 49 53 4b 0d 0a ┆t curdsk adi 'A' sta GDISK ┆ 0x290e0…29100 09 63 61 6c 6c 09 43 52 4c 46 0d 0a 09 6c 78 69 09 64 2c 56 45 52 47 45 54 0d 0a 09 63 61 6c 6c ┆ call CRLF lxi d,VERGET call┆ 0x29100…29120 (20, 1, 2) 09 4f 55 54 4d 53 47 0d 0a 09 6a 6d 70 09 56 45 52 43 52 0d 0a 3b 0d 0a 47 45 54 56 45 52 3a 09 ┆ OUTMSG jmp VERCR ; GETVER: ┆ 0x29120…29140 0d 0a 3b 20 47 65 74 73 79 73 20 73 65 74 20 72 2f 77 20 74 6f 20 72 65 61 64 20 61 6e 64 20 67 ┆ ; Getsys set r/w to read and g┆ 0x29140…29160 65 74 20 74 68 65 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 43 52 4c 46 0d 0a 09 6c 78 69 09 ┆et the system call CRLF lxi ┆ 0x29160…29180 64 2c 56 45 52 47 45 54 09 3b 76 65 72 69 66 79 20 73 6f 75 72 63 65 20 64 69 73 6b 0d 0a 09 63 ┆d,VERGET ;verify source disk c┆ 0x29180…291a0 61 6c 6c 09 4f 55 54 4d 53 47 0d 0a 56 45 52 43 52 3a 09 63 61 6c 6c 09 47 45 54 43 48 41 52 0d ┆all OUTMSG VERCR: call GETCHAR ┆ 0x291a0…291c0 0a 09 63 70 69 09 43 52 0d 0a 09 6a 6e 7a 09 52 45 42 4f 4f 54 09 09 3b 6a 6d 70 20 6f 6e 6c 79 ┆ cpi CR jnz REBOOT ;jmp only┆ 0x291c0…291e0 20 69 66 20 6e 6f 74 20 76 65 72 69 66 69 65 64 0d 0a 09 63 61 6c 6c 09 43 52 4c 46 0d 0a 09 72 ┆ if not verified call CRLF r┆ 0x291e0…29200 65 74 0d 0a 0d 0a 3b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆et ;=========================┆ 0x29200…29220 (20, 1, 3) 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 77 72 24 74 72 61 63 6b 0d 0a 09 73 68 ┆ operation lxi h,wr$track sh┆ 0x29220…29240 6c 64 09 62 63 72 65 67 0d 0a 09 6d 76 69 09 61 2c 75 74 69 6c 69 74 79 0d 0a 09 43 41 4c 4c 09 ┆ld bcreg mvi a,utility CALL ┆ 0x29240…29260 42 49 4f 53 0d 0a 09 6a 6d 70 09 43 48 4b 52 57 0d 0a 0d 0a 54 52 59 52 45 41 44 3a 09 09 09 3b ┆BIOS jmp CHKRW TRYREAD: ;┆ 0x29260…29280 20 50 65 72 66 6f 72 6d 20 72 65 61 64 20 74 72 61 63 6b 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 ┆ Perform read track operation ┆ 0x29280…292a0 6c 78 69 09 68 2c 72 64 24 74 72 61 63 6b 0d 0a 09 73 68 6c 64 09 62 63 72 65 67 0d 0a 09 6d 76 ┆lxi h,rd$track shld bcreg mv┆ 0x292a0…292c0 69 09 61 2c 75 74 69 6c 69 74 79 0d 0a 09 43 41 4c 4c 09 42 49 4f 53 0d 0a 43 48 4b 52 57 3a 0d ┆i a,utility CALL BIOS CHKRW: ┆ 0x292c0…292e0 0a 09 6f 72 61 09 61 0d 0a 09 72 7a 09 09 09 3b 7a 65 72 6f 20 66 6c 61 67 20 69 66 20 72 65 61 ┆ ora a rz ;zero flag if rea┆ 0x292e0…29300 64 2f 77 72 69 74 65 20 6f 6b 0d 0a 3b 0d 0a 3b 45 72 72 6f 72 2c 20 72 65 74 72 79 20 6f 70 65 ┆d/write ok ; ;Error, retry ope┆ 0x29300…29320 (20, 1, 4) 72 61 74 69 6f 6e 0d 0a 09 6a 6d 70 09 54 52 59 53 45 43 0d 0a 3b 0d 0a 3b 0d 0a 3b 2a 2a 2a 2a ┆ration jmp TRYSEC ; ; ;****┆ 0x29320…29340 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 2a 0d 0a 3b 2a ┆************************ ;* ;*┆ 0x29340…29360 0d 0a 3b 2a 09 44 41 54 41 20 53 54 52 55 43 54 55 52 45 53 20 20 20 20 20 0d 0a 3b 2a 0d 0a 3b ┆ ;* DATA STRUCTURES ;* ;┆ 0x29360…29380 2a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆* ;****************************┆ 0x29380…293a0 0d 0a 3b 0d 0a 42 49 4f 53 50 42 3a 0d 0a 3b 20 42 49 4f 53 20 50 61 72 61 6d 65 74 65 72 20 42 ┆ ; BIOSPB: ; BIOS Parameter B┆ 0x293a0…293c0 6c 6f 63 6b 0d 0a 42 49 4f 53 46 43 3a 09 64 62 09 30 09 09 3b 42 49 4f 53 20 66 75 6e 63 74 69 ┆lock BIOSFC: db 0 ;BIOS functi┆ 0x293c0…293e0 6f 6e 20 6e 75 6d 62 65 72 0d 0a 41 52 45 47 3a 09 64 62 09 30 09 09 3b 41 20 72 65 67 69 73 74 ┆on number AREG: db 0 ;A regist┆ 0x293e0…29400 65 72 20 63 6f 6e 74 65 6e 74 73 0d 0a 42 43 52 45 47 3a 09 44 57 09 30 09 09 3b 42 43 20 72 65 ┆er contents BCREG: DW 0 ;BC re┆ 0x29400…29420 (20, 1, 5) 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆================================┆ 0x29420…29440 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 44 45 53 54 49 4e 3a 0d 0a 09 ┆==================== DESTIN: ┆ 0x29440…29460 6c 78 69 09 64 2c 50 55 54 50 52 4d 09 3b 61 64 64 72 65 73 73 20 6f 66 20 6d 65 73 73 61 67 65 ┆lxi d,PUTPRM ;address of message┆ 0x29460…29480 0d 0a 09 63 61 6c 6c 09 43 52 4d 53 47 09 09 3b 70 72 69 6e 74 20 69 74 0d 0a 09 63 61 6c 6c 09 ┆ call CRMSG ;print it call ┆ 0x29480…294a0 47 45 54 43 48 41 52 09 09 3b 67 65 74 20 61 6e 73 77 65 72 0d 0a 09 63 70 69 09 43 52 0d 0a 09 ┆GETCHAR ;get answer cpi CR ┆ 0x294a0…294c0 6a 7a 09 52 45 42 4f 4f 54 09 09 3b 61 6c 6c 20 64 6f 6e 65 0d 0a 09 70 75 73 68 09 61 0d 0a 09 ┆jz REBOOT ;all done push a ┆ 0x294c0…294e0 6d 76 69 09 61 2c 31 0d 0a 09 73 74 61 09 64 24 74 72 61 63 6b 0d 0a 09 70 6f 70 09 61 0d 0a 09 ┆mvi a,1 sta d$track pop a ┆ 0x294e0…29500 63 70 69 09 27 47 27 0d 0a 09 6a 7a 09 70 75 74 63 0d 0a 09 63 70 69 09 27 48 27 0d 0a 09 6a 7a ┆cpi 'G' jz putc cpi 'H' jz┆ 0x29500…29520 (20, 1, 6) 09 70 75 74 63 0d 0a 0d 0a 09 70 75 73 68 09 61 0d 0a 09 6d 76 69 09 61 2c 32 0d 0a 09 73 74 61 ┆ putc push a mvi a,2 sta┆ 0x29520…29540 09 64 24 74 72 61 63 6b 0d 0a 09 70 6f 70 09 61 0d 0a 09 63 70 69 09 27 41 27 0d 0a 09 6a 7a 09 ┆ d$track pop a cpi 'A' jz ┆ 0x29540…29560 70 75 74 63 0d 0a 09 63 70 69 09 27 42 27 0d 0a 09 6a 7a 09 70 75 74 63 0d 0a 3b 0d 0a 3b 20 49 ┆putc cpi 'B' jz putc ; ; I┆ 0x29560…29580 6e 76 61 6c 69 64 20 64 72 69 76 65 0d 0a 09 63 61 6c 6c 09 42 41 44 44 49 53 4b 09 09 3b 74 65 ┆nvalid drive call BADDISK ;te┆ 0x29580…295a0 6c 6c 20 75 73 65 72 20 62 61 64 20 64 72 69 76 65 0d 0a 09 6a 6d 70 09 64 65 73 74 69 6e 09 09 ┆ll user bad drive jmp destin ┆ 0x295a0…295c0 3b 74 6f 20 74 72 79 20 61 67 61 69 6e 0d 0a 0d 0a 3b 0d 0a 50 55 54 43 3a 0d 0a 3b 20 53 65 74 ┆;to try again ; PUTC: ; Set┆ 0x295c0…295e0 20 64 69 73 6b 20 66 72 6f 6d 20 72 41 0d 0a 09 73 74 61 09 50 44 49 53 4b 09 09 3b 6d 65 73 73 ┆ disk from rA sta PDISK ;mess┆ 0x295e0…29600 61 67 65 20 73 65 6e 74 0d 0a 0d 0a 3b 20 50 75 74 20 73 79 73 74 65 6d 2c 20 73 65 74 20 72 2f ┆age sent ; Put system, set r/┆ 0x29600…29620 (20, 1, 7) 67 69 73 74 65 72 20 63 6f 6e 74 65 6e 74 73 0d 0a 44 45 52 45 47 3a 09 44 57 09 30 09 09 3b 44 ┆gister contents DEREG: DW 0 ;D┆ 0x29620…29640 45 20 72 65 67 69 73 74 65 72 20 63 6f 6e 74 65 6e 74 73 0d 0a 48 4c 52 45 47 3a 09 64 77 09 30 ┆E register contents HLREG: dw 0┆ 0x29640…29660 09 09 3b 48 4c 20 72 65 67 69 73 74 65 72 20 63 6f 6e 74 65 6e 74 73 0d 0a 3b 0d 0a 3b 0d 0a 53 ┆ ;HL register contents ; ; S┆ 0x29660…29680 44 49 53 4b 3a 09 64 73 09 31 09 09 3b 73 65 6c 65 63 74 65 64 20 64 69 73 6b 0d 0a 42 45 47 49 ┆DISK: ds 1 ;selected disk BEGI┆ 0x29680…296a0 4e 3a 09 64 77 09 30 0d 0a 44 46 4c 41 47 3a 09 64 62 09 30 0d 0a 73 24 74 72 61 63 6b 3a 09 64 ┆N: dw 0 DFLAG: db 0 s$track: d┆ 0x296a0…296c0 77 09 30 0d 0a 64 24 74 72 61 63 6b 3a 09 64 77 09 30 0d 0a 74 72 61 63 6b 3a 09 64 77 09 30 09 ┆w 0 d$track: dw 0 track: dw 0 ┆ 0x296c0…296e0 09 3b 63 75 72 72 65 6e 74 20 74 72 61 63 6b 0d 0a 43 52 4e 52 45 43 3a 09 64 62 09 30 09 09 3b ┆ ;current track CRNREC: db 0 ;┆ 0x296e0…29700 63 75 72 72 65 6e 74 20 72 65 63 20 63 6f 75 6e 74 0d 0a 53 45 43 54 4f 52 3a 09 64 73 09 31 09 ┆current rec count SECTOR: ds 1 ┆ 0x29700…29720 (20, 1, 8) 09 3b 63 75 72 72 65 6e 74 20 73 65 63 74 6f 72 0d 0a 52 57 3a 09 64 73 09 31 09 09 3b 72 65 61 ┆ ;current sector RW: ds 1 ;rea┆ 0x29720…29740 64 20 69 66 20 30 20 77 72 69 74 65 20 69 66 20 31 0d 0a 44 4d 41 44 44 52 3a 09 64 73 09 32 09 ┆d if 0 write if 1 DMADDR: ds 2 ┆ 0x29740…29760 09 3b 63 75 72 72 65 6e 74 20 44 4d 41 20 61 64 64 72 65 73 73 0d 0a 52 45 54 52 59 3a 09 64 73 ┆ ;current DMA address RETRY: ds┆ 0x29760…29780 09 31 09 09 3b 6e 75 6d 62 65 72 20 6f 66 20 74 72 69 65 73 20 6f 6e 20 74 68 69 73 20 73 65 63 ┆ 1 ;number of tries on this sec┆ 0x29780…297a0 74 6f 72 0d 0a 0d 0a 53 49 47 4e 4f 4e 3a 09 64 62 09 27 43 50 2f 4d 20 50 4c 55 53 20 46 6c 6f ┆tor SIGNON: db 'CP/M PLUS Flo┆ 0x297a0…297c0 70 70 79 20 43 6f 6e 76 65 72 74 69 6e 67 20 55 74 69 6c 69 74 79 20 2d 20 56 65 72 73 69 6f 6e ┆ppy Converting Utility - Version┆ 0x297c0…297e0 20 27 0d 0a 09 64 62 09 43 56 45 52 53 2f 31 30 2b 27 30 27 2c 27 2e 27 2c 43 56 45 52 53 20 6d ┆ ' db CVERS/10+'0','.',CVERS m┆ 0x297e0…29800 6f 64 20 31 30 20 2b 27 30 27 0d 0a 09 64 62 09 27 24 27 0d 0a 47 45 54 50 52 4d 3a 09 64 62 09 ┆od 10 +'0' db '$' GETPRM: db ┆ 0x29800…29820 (20, 1, 9) 77 20 74 6f 20 77 72 69 74 65 0d 0a 09 6c 78 69 09 64 2c 56 45 52 50 55 54 09 3b 76 65 72 69 66 ┆w to write lxi d,VERPUT ;verif┆ 0x29820…29840 79 20 64 65 73 74 20 70 72 6d 70 74 0d 0a 09 63 61 6c 6c 09 43 52 4d 53 47 09 09 3b 70 72 69 6e ┆y dest prmpt call CRMSG ;prin┆ 0x29840…29860 74 20 69 74 20 6f 75 74 0d 0a 09 63 61 6c 6c 09 47 45 54 43 48 41 52 09 09 3b 72 65 74 72 69 65 ┆t it out call GETCHAR ;retrie┆ 0x29860…29880 76 65 20 61 6e 73 77 65 72 0d 0a 09 63 70 69 09 43 52 09 0d 0a 09 6a 6e 7a 09 52 45 42 4f 4f 54 ┆ve answer cpi CR jnz REBOOT┆ 0x29880…298a0 09 09 3b 65 78 69 74 20 74 6f 20 73 79 73 74 65 6d 20 69 66 20 65 72 72 6f 72 0d 0a 09 63 61 6c ┆ ;exit to system if error cal┆ 0x298a0…298c0 6c 09 43 52 4c 46 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆l CRLF ret ; ;--------------┆ 0x298c0…298e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x298e0…29900 2d 2d 0d 0a 47 45 54 50 55 54 3a 0d 0a 3b 20 47 65 74 20 6f 72 20 70 75 74 20 43 50 2f 4d 20 28 ┆-- GETPUT: ; Get or put CP/M (┆ 0x29900…29920 (20, 1, 10) 72 77 20 3d 20 30 20 66 6f 72 20 72 65 61 64 2c 20 31 20 66 6f 72 20 77 72 69 74 65 29 0d 0a 3b ┆rw = 0 for read, 1 for write) ;┆ 0x29920…29940 20 64 69 73 6b 20 69 73 20 61 6c 72 65 61 64 79 20 73 65 6c 65 63 74 65 64 0d 0a 0d 0a 09 53 55 ┆ disk is already selected SU┆ 0x29940…29960 49 09 27 41 27 0d 0a 09 4d 56 49 09 44 2c 30 0d 0a 09 4d 4f 56 09 45 2c 41 0d 0a 09 43 41 4c 4c ┆I 'A' MVI D,0 MOV E,A CALL┆ 0x29960…29980 09 53 45 4c 43 54 09 09 3b 53 45 4c 45 43 54 20 44 52 49 56 45 0d 0a 0d 0a 0d 0a 09 6c 78 69 09 ┆ SELCT ;SELECT DRIVE lxi ┆ 0x29980…299a0 68 2c 4c 4f 41 44 50 09 09 3b 6c 6f 61 64 20 70 6f 69 6e 74 20 69 6e 20 52 41 4d 20 66 6f 72 20 ┆h,LOADP ;load point in RAM for ┆ 0x299a0…299c0 44 4d 41 20 61 64 64 72 65 73 73 0d 0a 09 73 68 6c 64 09 44 4d 41 44 44 52 0d 0a 09 6c 68 6c 64 ┆DMA address shld DMADDR lhld┆ 0x299c0…299e0 09 74 72 61 63 6b 09 09 3b 74 72 61 63 6b 20 6e 6f 0d 0a 09 53 48 4c 44 09 42 43 52 45 47 09 09 ┆ track ;track no SHLD BCREG ┆ 0x299e0…29a00 3b 73 65 74 20 75 70 20 50 42 0d 0a 09 6d 76 69 09 61 2c 53 45 54 54 52 4b 09 3b 73 65 74 74 72 ┆;set up PB mvi a,SETTRK ;settr┆ 0x29a00…29a20 (20, 1, 11) 27 53 6f 75 72 63 65 20 64 72 69 76 65 20 6e 61 6d 65 20 28 6f 72 20 72 65 74 75 72 6e 20 66 6f ┆'Source drive name (or return fo┆ 0x29a20…29a40 72 20 64 65 66 61 75 6c 74 29 20 24 27 0d 0a 56 45 52 47 45 54 3a 09 64 62 09 27 53 6f 75 72 63 ┆r default) $' VERGET: db 'Sourc┆ 0x29a40…29a60 65 20 6f 6e 20 27 0d 0a 47 44 49 53 4b 3a 09 64 73 09 31 0d 0a 09 64 62 09 27 20 74 68 65 6e 20 ┆e on ' GDISK: ds 1 db ' then ┆ 0x29a60…29a80 74 79 70 65 20 72 65 74 75 72 6e 20 24 27 0d 0a 50 55 54 50 52 4d 3a 09 64 62 09 27 44 65 73 74 ┆type return $' PUTPRM: db 'Dest┆ 0x29a80…29aa0 69 6e 61 74 69 6f 6e 20 64 72 69 76 65 20 6e 61 6d 65 20 28 6f 72 20 72 65 74 75 72 6e 20 74 6f ┆ination drive name (or return to┆ 0x29aa0…29ac0 20 72 65 62 6f 6f 74 29 20 24 27 0d 0a 56 45 52 50 55 54 3a 09 64 62 09 27 44 65 73 74 69 6e 61 ┆ reboot) $' VERPUT: db 'Destina┆ 0x29ac0…29ae0 74 69 6f 6e 20 6f 6e 20 27 0d 0a 50 44 49 53 4b 3a 09 64 73 09 31 0d 0a 09 64 62 09 27 20 74 68 ┆tion on ' PDISK: ds 1 db ' th┆ 0x29ae0…29b00 65 6e 20 74 79 70 65 20 72 65 74 75 72 6e 20 24 27 0d 0a 44 4f 4e 45 3a 09 64 62 09 27 46 75 6e ┆en type return $' DONE: db 'Fun┆ 0x29b00…29b20 (20, 1, 12) 63 74 69 6f 6e 20 63 6f 6d 70 6c 65 74 65 24 27 0d 0a 3b 0d 0a 3b 20 45 72 72 6f 72 20 6d 65 73 ┆ction complete$' ; ; Error mes┆ 0x29b20…29b40 73 61 67 65 73 2e 2e 2e 2e 2e 2e 0d 0a 3b 0d 0a 52 45 51 43 50 4d 33 3a 64 62 09 27 52 65 71 75 ┆sages...... ; REQCPM3:db 'Requ┆ 0x29b40…29b60 69 72 65 73 20 43 50 2f 4d 20 50 4c 55 53 2e 24 27 0d 0a 71 64 69 73 6b 3a 09 64 62 09 27 45 52 ┆ires CP/M PLUS.$' qdisk: db 'ER┆ 0x29b60…29b80 52 4f 52 3a 20 49 6e 76 61 6c 69 64 20 64 72 69 76 65 20 6e 61 6d 65 2e 24 27 0d 0a 46 53 50 41 ┆ROR: Invalid drive name.$' FSPA┆ 0x29b80…29ba0 43 45 3a 09 64 62 09 27 45 52 52 4f 52 3a 20 4f 75 74 20 6f 66 20 64 61 74 61 20 73 70 61 63 65 ┆CE: db 'ERROR: Out of data space┆ 0x29ba0…29bc0 2e 24 27 0d 0a 57 52 50 52 4f 54 3a 09 64 62 09 27 45 52 52 4f 52 3a 20 57 72 69 74 65 20 70 72 ┆.$' WRPROT: db 'ERROR: Write pr┆ 0x29bc0…29be0 6f 74 65 63 74 65 64 3f 24 27 0d 0a 45 52 52 4d 53 47 3a 20 64 62 09 27 45 52 52 4f 52 3a 20 50 ┆otected?$' ERRMSG: db 'ERROR: P┆ 0x29be0…29c00 6f 73 73 69 62 6c 65 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 64 69 73 6b 20 66 6f 72 6d 61 74 ┆ossible incompatible disk format┆ 0x29c00…29c20 (20, 1, 13) 6b 20 66 75 6e 63 20 23 0d 0a 09 43 41 4c 4c 09 42 49 4f 53 0d 0a 0d 0a 09 6c 68 6c 64 09 44 4d ┆k func # CALL BIOS lhld DM┆ 0x29c20…29c40 41 44 44 52 09 09 3b 62 61 73 65 20 44 4d 41 0d 0a 09 53 48 4c 44 09 42 43 52 45 47 09 09 3b 0d ┆ADDR ;base DMA SHLD BCREG ; ┆ 0x29c40…29c60 0a 09 4d 56 49 09 41 2c 53 45 54 44 4d 41 0d 0a 09 43 41 4c 4c 09 42 49 4f 53 0d 0a 09 78 72 61 ┆ MVI A,SETDMA CALL BIOS xra┆ 0x29c60…29c80 09 61 0d 0a 09 73 74 61 09 52 45 54 52 59 09 09 3b 74 6f 20 73 65 74 20 7a 65 72 6f 20 72 65 74 ┆ a sta RETRY ;to set zero ret┆ 0x29c80…29ca0 72 69 65 73 0d 0a 3b 0d 0a 54 52 59 53 45 43 3a 0d 0a 3b 20 54 72 79 20 74 6f 20 72 65 61 64 20 ┆ries ; TRYSEC: ; Try to read ┆ 0x29ca0…29cc0 6f 72 20 77 72 69 74 65 20 63 75 72 72 65 6e 74 20 73 65 63 74 6f 72 0d 0a 09 6c 64 61 09 52 45 ┆or write current sector lda RE┆ 0x29cc0…29ce0 54 52 59 0d 0a 09 63 70 69 09 4d 41 58 54 52 59 0d 0a 09 6a 63 09 54 52 59 4f 4b 0d 0a 3b 0d 0a ┆TRY cpi MAXTRY jc TRYOK ; ┆ 0x29ce0…29d00 3b 20 50 61 73 74 20 4d 41 58 54 52 59 2c 20 6d 65 73 73 61 67 65 20 61 6e 64 20 69 67 6e 6f 72 ┆; Past MAXTRY, message and ignor┆ 0x29d00…29d20 (20, 1, 14) 65 0d 0a 09 6c 78 69 09 64 2c 45 52 52 4d 53 47 0d 0a 09 63 61 6c 6c 09 4f 55 54 4d 53 47 0d 0a ┆e lxi d,ERRMSG call OUTMSG ┆ 0x29d20…29d40 09 63 61 6c 6c 09 47 45 54 43 48 41 52 0d 0a 09 63 70 69 09 43 52 0d 0a 09 6a 6e 7a 09 52 45 42 ┆ call GETCHAR cpi CR jnz REB┆ 0x29d40…29d60 4f 4f 54 0d 0a 3b 0d 0a 3b 20 54 79 70 65 64 20 61 20 43 52 2c 20 6f 6b 20 74 6f 20 69 67 6e 6f ┆OOT ; ; Typed a CR, ok to igno┆ 0x29d60…29d80 72 65 0d 0a 09 63 61 6c 6c 09 43 52 4c 46 0d 0a 09 6a 6d 70 09 67 65 74 70 75 74 0d 0a 3b 0d 0a ┆re call CRLF jmp getput ; ┆ 0x29d80…29da0 54 52 59 4f 4b 3a 0d 0a 3b 20 6f 6b 20 74 6f 20 74 72 79 20 72 65 61 64 20 77 72 69 74 65 0d 0a ┆TRYOK: ; ok to try read write ┆ 0x29da0…29dc0 09 69 6e 72 09 61 0d 0a 09 73 74 61 09 52 45 54 52 59 09 0d 0a 09 6c 64 61 09 52 57 0d 0a 09 6f ┆ inr a sta RETRY lda RW o┆ 0x29dc0…29de0 72 61 09 61 0d 0a 09 6a 7a 09 54 52 59 52 45 41 44 0d 0a 3b 0d 0a 3b 20 4d 75 73 74 20 62 65 20 ┆ra a jz TRYREAD ; ; Must be ┆ 0x29de0…29e00 77 72 69 74 65 0d 0a 09 09 09 09 3b 20 50 65 72 66 6f 72 6d 20 77 72 69 74 65 20 74 72 61 63 6b ┆write ; Perform write track┆ 0x29e00…29e20 (20, 1, 15) 2e 27 0d 0a 09 64 62 09 43 52 2c 4c 46 2c 27 20 54 79 70 65 20 72 65 74 75 72 6e 20 74 6f 20 69 ┆.' db CR,LF,' Type return to i┆ 0x29e20…29e40 67 6e 6f 72 65 2e 24 27 20 0d 0a 3b 0d 0a 09 64 73 09 53 54 41 43 4b 53 49 5a 45 20 2a 20 33 0d ┆gnore.$' ; ds STACKSIZE * 3 ┆ 0x29e40…29e60 0a 53 54 41 43 4b 3a 0d 0a 09 65 6e 64 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ STACK: end ┆ 0x29e60…29e80 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ ┆ 0x29e80…29ea0 0a 4e 44 49 52 52 45 43 4f 20 3d 20 30 31 0d 0a 4e 44 49 52 52 45 43 50 20 3d 20 30 31 0d 0a 4e ┆ NDIRRECO = 01 NDIRRECP = 01 N┆ 0x29ea0…29ec0 44 54 41 52 45 43 41 20 3d 20 30 38 0d 0a 4e 44 54 41 52 45 43 42 20 3d 20 30 30 0d 0a 4e 44 54 ┆DTARECA = 08 NDTARECB = 00 NDT┆ 0x29ec0…29ee0 41 52 45 43 43 20 3d 20 30 30 0d 0a 4e 44 54 41 52 45 43 44 20 3d 20 30 30 0d 0a 4e 44 54 41 52 ┆ARECC = 00 NDTARECD = 00 NDTAR┆ 0x29ee0…29f00 45 43 45 20 3d 20 30 38 0d 0a 4e 44 54 41 52 45 43 46 20 3d 20 30 31 0d 0a 4e 44 54 41 52 45 43 ┆ECE = 08 NDTARECF = 01 NDTAREC┆ 0x29f00…29f20 (20, 1, 16) 47 20 3d 20 30 38 0d 0a 4e 44 54 41 52 45 43 48 20 3d 20 30 30 0d 0a 4e 44 54 41 52 45 43 49 20 ┆G = 08 NDTARECH = 00 NDTARECI ┆ 0x29f20…29f40 3d 20 30 31 0d 0a 4e 44 54 41 52 45 43 4a 20 3d 20 30 31 0d 0a 4e 44 54 41 52 45 43 4b 20 3d 20 ┆= 01 NDTARECJ = 01 NDTARECK = ┆ 0x29f40…29f60 30 31 0d 0a 4e 44 54 41 52 45 43 4c 20 3d 20 30 31 0d 0a 4e 44 54 41 52 45 43 4d 20 3d 20 30 31 ┆01 NDTARECL = 01 NDTARECM = 01┆ 0x29f60…29f80 0d 0a 4e 44 54 41 52 45 43 4e 20 3d 20 30 31 0d 0a 4e 44 54 41 52 45 43 4f 20 3d 20 30 31 0d 0a ┆ NDTARECN = 01 NDTARECO = 01 ┆ 0x29f80…29fa0 4e 44 54 41 52 45 43 50 20 3d 20 30 31 0d 0a 4f 44 49 52 44 52 56 41 20 3d 20 41 0d 0a 4f 44 49 ┆NDTARECP = 01 ODIRDRVA = A ODI┆ 0x29fa0…29fc0 52 44 52 56 42 20 3d 20 41 0d 0a 4f 44 49 52 44 52 56 43 20 3d 20 41 0d 0a 4f 44 49 52 44 52 56 ┆RDRVB = A ODIRDRVC = A ODIRDRV┆ 0x29fc0…29fe0 44 20 3d 20 41 0d 0a 4f 44 49 52 44 52 56 45 20 3d 20 41 0d 0a 4f 44 49 52 44 52 56 46 20 3d 20 ┆D = A ODIRDRVE = A ODIRDRVF = ┆ 0x29fe0…2a000 41 0d 0a 4f 44 49 52 44 52 56 47 20 3d 20 41 0d 0a 4f 44 49 52 44 52 56 48 20 3d 20 47 0d 0a 4f ┆A ODIRDRVG = A ODIRDRVH = G O┆ 0x2a000…2a020 (21, 0, 1) 31 a7 04 11 d7 02 cd 9f 01 0e 0c cd 05 00 7d fe 30 da 1d 01 cd a9 01 cd fd 01 c3 28 01 11 c1 03 ┆1 å 0 ( ┆ 0x2a020…2a040 cd 9f 01 0e 00 c3 05 00 21 00 00 22 ce 02 af 32 d3 02 3a 2b 03 cd 30 02 21 d3 02 36 01 3a 7c 03 ┆ ! " 2 :+ 0 ! 6 :ø ┆ 0x2a040…2a060 cd 30 02 2a ce 02 11 02 00 19 22 ce 02 3e 9a bd ca 56 01 c3 2e 01 11 af 03 cd 9f 01 0e 0d cd 05 ┆ 0 * " > V . ┆ 0x2a060…2a080 00 cd 8f 01 c3 00 00 11 d5 03 cd 9a 01 c9 32 c0 02 0e 32 11 c0 02 cd 05 00 c9 0e 01 cd 05 00 fe ┆ 2 2 ┆ 0x2a080…2a0a0 61 d8 fe 7b d0 e6 5f c9 5f 0e 02 cd 05 00 c9 3e 0d cd 88 01 3e 0a cd 88 01 c9 d5 cd 8f 01 d1 0e ┆a æ _ _ > > ┆ 0x2a0a0…2a0c0 09 c3 05 00 0e 0e c3 05 00 11 f6 02 cd 9a 01 cd 7a 01 fe 0d ca d2 01 fe 03 ca 5c 01 fe 41 ca cc ┆ z Ø A ┆ 0x2a0c0…2a0e0 01 fe 42 ca cc 01 cd 67 01 c3 a9 01 32 2b 03 c3 e8 01 0e 19 cd 05 00 c6 41 32 2b 03 cd 8f 01 11 ┆ B g 2+ A2+ ┆ 0x2a0e0…2a100 21 03 cd 9f 01 c3 f1 01 cd 8f 01 11 21 03 cd 9f 01 cd 7a 01 fe 0d c2 5c 01 cd 8f 01 c9 11 3f 03 ┆! ! z Ø ? ┆ 0x2a100…2a120 (21, 0, 2) cd 9a 01 cd 7a 01 fe 0d ca 5c 01 fe 41 ca 1b 02 fe 42 ca 1b 02 cd 67 01 c3 fd 01 32 7c 03 11 6d ┆ z Ø A B g 2ø m┆ 0x2a120…2a140 03 cd 9a 01 cd 7a 01 fe 0d c2 5c 01 cd 8f 01 c9 d6 41 16 00 5f cd a4 01 21 00 10 22 d4 02 2a ce ┆ z Ø A _ ! " * ┆ 0x2a140…2a160 02 2b 22 cc 02 3e ff 32 d0 02 3a d0 02 3c 32 d0 02 fe 02 c8 2a cc 02 23 22 cc 02 22 c2 02 3e 0a ┆ +" > 2 : <2 * #" " > ┆ 0x2a160…2a180 cd 6e 01 2a d4 02 22 c2 02 11 00 10 19 22 d4 02 3e 0c cd 6e 01 af 32 d6 02 3a d6 02 fe 01 da 95 ┆ n * " " > n 2 : ┆ 0x2a180…2a1a0 02 11 22 04 cd 9f 01 cd 7a 01 fe 0d c2 5c 01 cd 8f 01 c3 4a 02 3c 32 d6 02 3a d3 02 b7 ca ae 02 ┆ " z Ø J <2 : ┆ 0x2a1a0…2a1c0 21 03 00 22 c2 02 3e 1e cd 6e 01 c3 b9 02 21 02 00 22 c2 02 3e 1e cd 6e 01 b7 ca 4a 02 c3 79 02 ┆! " > n ! " > n J y ┆ 0x2a1c0…2a1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 50 2f 4d 20 50 4c 55 53 ┆ CP/M PLUS┆ 0x2a1e0…2a200 20 46 43 4f 50 59 20 20 2d 20 56 65 72 73 69 6f 6e 20 31 2e 30 24 53 6f 75 72 63 65 20 64 72 69 ┆ FCOPY - Version 1.0$Source dri┆ 0x2a200…2a220 (21, 0, 3) 31 b3 04 11 d7 02 cd 9f 01 0e 0c cd 05 00 7d fe 30 da 1d 01 cd a9 01 cd fd 01 c3 28 01 11 cd 03 ┆1 å 0 ( ┆ 0x2a220…2a240 cd 9f 01 0e 00 c3 05 00 21 00 00 22 ce 02 af 32 d3 02 3a 37 03 cd 30 02 21 d3 02 36 01 3a 88 03 ┆ ! " 2 :7 0 ! 6 : ┆ 0x2a240…2a260 cd 30 02 2a ce 02 11 01 00 19 22 ce 02 3e 9a bd ca 56 01 c3 2e 01 11 bb 03 cd 9f 01 0e 0d cd 05 ┆ 0 * " > V . ┆ 0x2a260…2a280 00 cd 8f 01 c3 00 00 11 e1 03 cd 9a 01 c9 32 c0 02 0e 32 11 c0 02 cd 05 00 c9 0e 01 cd 05 00 fe ┆ 2 2 ┆ 0x2a280…2a2a0 61 d8 fe 7b d0 e6 5f c9 5f 0e 02 cd 05 00 c9 3e 0d cd 88 01 3e 0a cd 88 01 c9 d5 cd 8f 01 d1 0e ┆a æ _ _ > > ┆ 0x2a2a0…2a2c0 09 c3 05 00 0e 0e c3 05 00 11 02 03 cd 9a 01 cd 7a 01 fe 0d ca d2 01 fe 03 ca 5c 01 fe 47 ca cc ┆ z Ø G ┆ 0x2a2c0…2a2e0 01 fe 48 ca cc 01 cd 67 01 c3 a9 01 32 37 03 c3 e8 01 0e 19 cd 05 00 c6 41 32 37 03 cd 8f 01 11 ┆ H g 27 A27 ┆ 0x2a2e0…2a300 2d 03 cd 9f 01 c3 f1 01 cd 8f 01 11 2d 03 cd 9f 01 cd 7a 01 fe 0d c2 5c 01 cd 8f 01 c9 11 4b 03 ┆- - z Ø K ┆ 0x2a300…2a320 (21, 0, 4) cd 9a 01 cd 7a 01 fe 0d ca 5c 01 fe 47 ca 1b 02 fe 48 ca 1b 02 cd 67 01 c3 fd 01 32 88 03 11 79 ┆ z Ø G H g 2 y┆ 0x2a320…2a340 03 cd 9a 01 cd 7a 01 fe 0d c2 5c 01 cd 8f 01 c9 d6 41 16 00 5f cd a4 01 21 00 10 22 d4 02 2a ce ┆ z Ø A _ ! " * ┆ 0x2a340…2a360 02 2b 22 cc 02 3e ff 32 d0 02 3a d0 02 3c 32 d0 02 fe 01 c8 2a cc 02 23 22 cc 02 22 c2 02 3e 0a ┆ +" > 2 : <2 * #" " > ┆ 0x2a360…2a380 cd 6e 01 2a d4 02 22 c2 02 11 00 10 19 22 d4 02 3e 0c cd 6e 01 af 32 d6 02 3a d6 02 fe 01 da 95 ┆ n * " " > n 2 : ┆ 0x2a380…2a3a0 02 11 2e 04 cd 9f 01 cd 7a 01 fe 0d c2 5c 01 cd 8f 01 c3 4a 02 3c 32 d6 02 3a d3 02 b7 ca ae 02 ┆ . z Ø J <2 : ┆ 0x2a3a0…2a3c0 21 03 00 22 c2 02 3e 1e cd 6e 01 c3 b9 02 21 02 00 22 c2 02 3e 1e cd 6e 01 b7 ca 4a 02 c3 79 02 ┆! " > n ! " > n J y ┆ 0x2a3c0…2a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 50 2f 4d 20 50 4c 55 53 ┆ CP/M PLUS┆ 0x2a3e0…2a400 20 46 43 4f 50 59 20 28 43 52 31 36 2d 66 6f 72 6d 61 74 29 2d 20 56 65 72 73 69 6f 6e 20 31 2e ┆ FCOPY (CR16-format)- Version 1.┆ 0x2a400…2a420 (21, 0, 5) 76 65 20 6e 61 6d 65 20 28 6f 72 20 72 65 74 75 72 6e 20 66 6f 72 20 64 65 66 61 75 6c 74 29 20 ┆ve name (or return for default) ┆ 0x2a420…2a440 24 53 6f 75 72 63 65 20 6f 6e 20 00 20 74 68 65 6e 20 74 79 70 65 20 72 65 74 75 72 6e 20 24 44 ┆$Source on then type return $D┆ 0x2a440…2a460 65 73 74 69 6e 61 74 69 6f 6e 20 64 72 69 76 65 20 6e 61 6d 65 20 28 6f 72 20 72 65 74 75 72 6e ┆estination drive name (or return┆ 0x2a460…2a480 20 74 6f 20 72 65 62 6f 6f 74 29 20 24 44 65 73 74 69 6e 61 74 69 6f 6e 20 6f 6e 20 00 20 74 68 ┆ to reboot) $Destination on th┆ 0x2a480…2a4a0 65 6e 20 74 79 70 65 20 72 65 74 75 72 6e 20 24 44 6f 20 79 6f 75 20 77 69 73 68 20 74 6f 20 63 ┆en type return $Do you wish to c┆ 0x2a4a0…2a4c0 6f 70 79 20 43 50 4d 33 2e 53 59 53 3f 20 24 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 6c 65 74 65 ┆opy CPM3.SYS? $Function complete┆ 0x2a4c0…2a4e0 24 52 65 71 75 69 72 65 73 20 43 50 2f 4d 20 50 4c 55 53 2e 24 45 52 52 4f 52 3a 20 49 6e 76 61 ┆$Requires CP/M PLUS.$ERROR: Inva┆ 0x2a4e0…2a500 6c 69 64 20 64 72 69 76 65 20 6e 61 6d 65 2e 24 45 52 52 4f 52 3a 20 4f 75 74 20 6f 66 20 64 61 ┆lid drive name.$ERROR: Out of da┆ 0x2a500…2a520 (21, 0, 6) 74 61 20 73 70 61 63 65 2e 24 45 52 52 4f 52 3a 20 57 72 69 74 65 20 70 72 6f 74 65 63 74 65 64 ┆ta space.$ERROR: Write protected┆ 0x2a520…2a540 3f 24 45 52 52 4f 52 3a 20 50 6f 73 73 69 62 6c 65 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 64 ┆?$ERROR: Possible incompatible d┆ 0x2a540…2a560 69 73 6b 20 66 6f 72 6d 61 74 2e 0d 0a 20 54 79 70 65 20 72 65 74 75 72 6e 20 74 6f 20 69 67 6e ┆isk format. Type return to ign┆ 0x2a560…2a580 6f 72 65 2e 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ore.$ ┆ 0x2a580…2a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆ 0x2a5a0…2a5c0 00 00 00 00 00 00 00 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ ┆ 0x2a5c0…2a5e0 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ ┆ […0x1…] 0x2a600…2a620 (21, 0, 7) 30 24 53 6f 75 72 63 65 20 64 72 69 76 65 20 6e 61 6d 65 20 28 6f 72 20 72 65 74 75 72 6e 20 66 ┆0$Source drive name (or return f┆ 0x2a620…2a640 6f 72 20 64 65 66 61 75 6c 74 29 20 24 53 6f 75 72 63 65 20 6f 6e 20 00 20 74 68 65 6e 20 74 79 ┆or default) $Source on then ty┆ 0x2a640…2a660 70 65 20 72 65 74 75 72 6e 20 24 44 65 73 74 69 6e 61 74 69 6f 6e 20 64 72 69 76 65 20 6e 61 6d ┆pe return $Destination drive nam┆ 0x2a660…2a680 65 20 28 6f 72 20 72 65 74 75 72 6e 20 74 6f 20 72 65 62 6f 6f 74 29 20 24 44 65 73 74 69 6e 61 ┆e (or return to reboot) $Destina┆ 0x2a680…2a6a0 74 69 6f 6e 20 6f 6e 20 00 20 74 68 65 6e 20 74 79 70 65 20 72 65 74 75 72 6e 20 24 44 6f 20 79 ┆tion on then type return $Do y┆ 0x2a6a0…2a6c0 6f 75 20 77 69 73 68 20 74 6f 20 63 6f 70 79 20 43 50 4d 33 2e 53 59 53 3f 20 24 46 75 6e 63 74 ┆ou wish to copy CPM3.SYS? $Funct┆ 0x2a6c0…2a6e0 69 6f 6e 20 63 6f 6d 70 6c 65 74 65 24 52 65 71 75 69 72 65 73 20 43 50 2f 4d 20 50 4c 55 53 2e ┆ion complete$Requires CP/M PLUS.┆ 0x2a6e0…2a700 24 45 52 52 4f 52 3a 20 49 6e 76 61 6c 69 64 20 64 72 69 76 65 20 6e 61 6d 65 2e 24 45 52 52 4f ┆$ERROR: Invalid drive name.$ERRO┆ 0x2a700…2a720 (21, 0, 8) 52 3a 20 4f 75 74 20 6f 66 20 64 61 74 61 20 73 70 61 63 65 2e 24 45 52 52 4f 52 3a 20 57 72 69 ┆R: Out of data space.$ERROR: Wri┆ 0x2a720…2a740 74 65 20 70 72 6f 74 65 63 74 65 64 3f 24 45 52 52 4f 52 3a 20 50 6f 73 73 69 62 6c 65 20 69 6e ┆te protected?$ERROR: Possible in┆ 0x2a740…2a760 63 6f 6d 70 61 74 69 62 6c 65 20 64 69 73 6b 20 66 6f 72 6d 61 74 2e 0d 0a 20 54 79 70 65 20 72 ┆compatible disk format. Type r┆ 0x2a760…2a780 65 74 75 72 6e 20 74 6f 20 69 67 6e 6f 72 65 2e 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆eturn to ignore.$ ┆ 0x2a780…2a7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆ 0x2a7a0…2a7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ ┆ 0x2a7c0…2a7e0 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ ┆ […0x1…] 0x2a800…2a820 (21, 0, 9) 47 45 54 20 4c 53 42 20 4f 46 20 42 59 54 45 20 43 4f 55 4e 54 0d 0a 09 4f 55 54 09 50 24 44 4d ┆GET LSB OF BYTE COUNT OUT P$DM┆ 0x2a820…2a840 41 24 43 4e 54 31 09 3b 4f 55 54 20 54 4f 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 43 48 2e 0d 0a ┆A$CNT1 ;OUT TO DESTINATION CH. ┆ 0x2a840…2a860 09 4d 4f 56 09 41 2c 42 09 09 3b 47 45 54 20 4d 53 42 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 43 ┆ MOV A,B ;GET MSB OUT P$DMA$C┆ 0x2a860…2a880 4e 54 31 09 3b 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 54 4f 47 47 4c 45 09 3b 49 54 27 53 20 54 ┆NT1 ; OUT P$DMA$TOGGLE ;IT'S T┆ 0x2a880…2a8a0 48 45 20 53 41 4d 45 20 50 52 4f 42 4c 45 4d 20 41 47 41 49 4e 0d 0a 09 4d 4f 56 09 41 2c 4c 09 ┆HE SAME PROBLEM AGAIN MOV A,L ┆ 0x2a8a0…2a8c0 09 3b 47 45 54 20 4c 53 42 20 4f 46 20 53 4f 55 52 43 45 20 42 55 46 46 45 52 20 41 44 44 52 45 ┆ ;GET LSB OF SOURCE BUFFER ADDRE┆ 0x2a8c0…2a8e0 53 53 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 41 44 52 30 09 3b 4f 55 54 20 54 4f 20 53 4f 55 52 ┆SS OUT P$DMA$ADR0 ;OUT TO SOUR┆ 0x2a8e0…2a900 43 45 20 43 48 2e 0d 0a 09 4d 4f 56 09 41 2c 48 09 09 3b 47 45 54 20 4d 53 42 0d 0a 09 4f 55 54 ┆CE CH. MOV A,H ;GET MSB OUT┆ 0x2a900…2a920 (21, 0, 10) 09 50 24 44 4d 41 24 41 44 52 30 09 3b 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 54 4f 47 47 4c 45 ┆ P$DMA$ADR0 ; OUT P$DMA$TOGGLE┆ 0x2a920…2a940 09 3b 4f 4e 43 45 20 41 47 41 49 4e 0d 0a 09 4d 4f 56 09 41 2c 45 09 09 3b 47 45 54 20 4c 53 42 ┆ ;ONCE AGAIN MOV A,E ;GET LSB┆ 0x2a940…2a960 20 4f 46 20 44 45 53 54 49 4e 41 54 49 4f 4e 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 0d 0a ┆ OF DESTINATION BUFFER ADDRESS ┆ 0x2a960…2a980 09 4f 55 54 09 50 24 44 4d 41 24 41 44 52 31 09 3b 4f 55 54 20 54 4f 20 44 45 53 54 49 4e 41 54 ┆ OUT P$DMA$ADR1 ;OUT TO DESTINAT┆ 0x2a980…2a9a0 49 4f 4e 20 43 48 2e 0d 0a 09 4d 4f 56 09 41 2c 44 09 09 3b 47 45 54 20 4d 53 42 0d 0a 09 4f 55 ┆ION CH. MOV A,D ;GET MSB OU┆ 0x2a9a0…2a9c0 54 09 50 24 44 4d 41 24 41 44 52 31 09 3b 0d 0a 09 49 4e 09 50 24 44 4d 41 24 53 54 41 54 09 3b ┆T P$DMA$ADR1 ; IN P$DMA$STAT ;┆ 0x2a9c0…2a9e0 4d 49 47 48 54 20 42 45 20 53 4f 4d 45 20 47 41 52 42 41 47 45 20 49 4e 20 54 48 45 52 45 0d 0a ┆MIGHT BE SOME GARBAGE IN THERE ┆ 0x2a9e0…2aa00 09 4d 56 49 09 41 2c 30 34 48 09 09 3b 56 41 4c 55 45 20 54 4f 20 53 45 4e 44 20 53 4f 46 54 57 ┆ MVI A,04H ;VALUE TO SEND SOFTW┆ 0x2aa00…2aa20 (21, 0, 11) 53 48 09 50 53 57 0d 0a 09 43 41 4c 4c 09 42 41 4e 4b 24 43 48 45 43 4b 09 3b 43 48 45 43 4b 20 ┆SH PSW CALL BANK$CHECK ;CHECK ┆ 0x2aa20…2aa40 49 46 20 42 41 4e 4b 20 30 20 4f 52 20 31 0d 0a 09 4d 4f 56 09 43 2c 41 09 09 3b 0d 0a 09 44 49 ┆IF BANK 0 OR 1 MOV C,A ; DI┆ 0x2aa40…2aa60 0d 0a 09 4c 44 41 09 4d 41 33 4d 49 52 09 09 3b 0d 0a 09 41 4e 49 09 30 46 30 48 09 09 3b 4d 41 ┆ LDA MA3MIR ; ANI 0F0H ;MA┆ 0x2aa60…2aa80 53 4b 20 4f 55 54 20 46 4c 4f 50 50 59 20 43 4f 4e 54 52 4f 4c 4c 45 52 20 42 49 54 53 0d 0a 09 ┆SK OUT FLOPPY CONTROLLER BITS ┆ 0x2aa80…2aaa0 4f 52 41 09 43 09 09 3b 0d 0a 09 53 54 41 09 4d 41 33 4d 49 52 09 09 3b 55 50 44 41 54 45 20 4d ┆ORA C ; STA MA3MIR ;UPDATE M┆ 0x2aaa0…2aac0 41 50 20 52 45 47 2e 20 4d 49 52 52 4f 52 0d 0a 09 4f 55 54 09 50 24 4d 41 50 33 09 09 3b 53 45 ┆AP REG. MIRROR OUT P$MAP3 ;SE┆ 0x2aac0…2aae0 4c 45 43 54 20 50 52 4f 43 45 53 53 4f 52 20 42 41 4e 4b 0d 0a 09 45 49 0d 0a 09 50 4f 50 09 50 ┆LECT PROCESSOR BANK EI POP P┆ 0x2aae0…2ab00 53 57 09 09 3b 52 45 53 54 4f 52 45 20 52 45 47 0d 0a 09 50 4f 50 09 42 09 09 3b 0d 0a 09 52 45 ┆SW ;RESTORE REG POP B ; RE┆ 0x2ab00…2ab20 (21, 0, 12) 54 09 09 09 3b 0d 0a 0d 0a 4d 41 33 4d 49 52 09 44 42 09 30 09 09 3b 0d 0a 0d 0a 3b 3d 3d 3d 3d ┆T ; MA3MIR DB 0 ; ;====┆ 0x2ab20…2ab40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆================================┆ […0x1…] 0x2ab60…2ab80 3d 3d 3d 3d 0d 0a 42 41 4e 4b 24 43 48 45 43 4b 3a 0d 0a 09 43 50 49 09 31 09 09 3b 0d 0a 09 4a ┆==== BANK$CHECK: CPI 1 ; J┆ 0x2ab80…2aba0 5a 09 42 41 4e 4b 31 09 09 3b 42 41 4e 4b 20 31 20 3c 3d 3e 20 50 41 47 45 20 30 20 28 5a 38 30 ┆Z BANK1 ;BANK 1 <=> PAGE 0 (Z80┆ 0x2aba0…2abc0 20 52 41 4d 29 0d 0a 09 4d 56 49 09 41 2c 31 09 09 3b 42 41 4e 4b 20 30 20 3c 3d 3e 20 50 41 47 ┆ RAM) MVI A,1 ;BANK 0 <=> PAG┆ 0x2abc0…2abe0 45 20 31 20 28 38 30 38 38 20 52 41 4d 29 0d 0a 09 52 45 54 09 09 09 3b 0d 0a 42 41 4e 4b 31 3a ┆E 1 (8088 RAM) RET ; BANK1:┆ 0x2abe0…2ac00 0d 0a 09 58 52 41 09 41 0d 0a 09 52 45 54 0d 0a 0d 0a 09 45 4e 44 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a ┆ XRA A RET END ┆ 0x2ac00…2ac20 (21, 0, 13) 41 52 45 20 44 4d 41 20 52 45 51 55 45 53 54 20 54 4f 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 52 ┆ARE DMA REQUEST TO OUT P$DMA$R┆ 0x2ac20…2ac40 45 51 09 3b 43 48 41 4e 4e 45 4c 20 30 0d 0a 44 4d 41 57 41 49 54 3a 0d 0a 09 49 4e 09 50 24 44 ┆EQ ;CHANNEL 0 DMAWAIT: IN P$D┆ 0x2ac40…2ac60 4d 41 24 53 54 41 54 09 3b 47 45 54 20 43 4f 4e 54 52 4f 4c 4c 45 52 20 53 54 41 54 55 53 0d 0a ┆MA$STAT ;GET CONTROLLER STATUS ┆ 0x2ac60…2ac80 09 41 4e 49 09 30 32 48 09 09 3b 54 45 53 54 20 49 46 20 46 55 4e 43 54 49 4f 4e 20 43 4f 4d 50 ┆ ANI 02H ;TEST IF FUNCTION COMP┆ 0x2ac80…2aca0 4c 45 54 45 0d 0a 09 4a 5a 09 44 4d 41 57 41 49 54 09 09 3b 4d 55 53 54 20 46 49 4e 49 53 48 20 ┆LETE JZ DMAWAIT ;MUST FINISH ┆ 0x2aca0…2acc0 55 50 20 53 4f 4d 45 20 54 49 4d 45 0d 0a 0d 0a 09 49 4e 58 09 42 09 09 3b 0d 0a 09 44 41 44 09 ┆UP SOME TIME INX B ; DAD ┆ 0x2acc0…2ace0 42 09 09 3b 4d 41 4b 45 20 52 45 47 20 3c 44 45 3e 20 41 4e 44 20 3c 48 4c 3e 20 50 4f 49 4e 54 ┆B ;MAKE REG <DE> AND <HL> POINT┆ 0x2ace0…2ad00 0d 0a 09 58 43 48 47 09 09 09 3b 41 54 20 4e 45 58 54 20 42 59 54 45 20 41 46 54 45 52 20 4d 4f ┆ XCHG ;AT NEXT BYTE AFTER MO┆ 0x2ad00…2ad20 (21, 0, 14) 56 45 0d 0a 09 44 41 44 09 42 09 09 3b 0d 0a 09 52 45 54 0d 0a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a ┆VE DAD B ; RET ;********┆ 0x2ad20…2ad40 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ […0x1…] 0x2ad60…2ad80 0d 0a 3b 2a 09 53 45 54 20 42 41 4e 4b 53 20 46 4f 52 20 45 58 54 45 4e 44 45 44 20 4d 4f 56 45 ┆ ;* SET BANKS FOR EXTENDED MOVE┆ 0x2ad80…2ada0 09 09 09 09 09 2a 0d 0a 3b 2a 09 09 09 09 09 09 09 09 09 2a 0d 0a 3b 2a 09 49 46 20 3f 58 4d 4f ┆ * ;* * ;* IF ?XMO┆ 0x2ada0…2adc0 56 45 20 48 41 53 20 42 45 45 4e 20 43 41 4c 4c 45 44 20 53 49 4e 43 45 20 54 48 45 20 4c 41 53 ┆VE HAS BEEN CALLED SINCE THE LAS┆ 0x2adc0…2ade0 54 20 43 41 4c 4c 20 54 4f 20 3f 4d 4f 56 45 2c 41 4e 09 2a 0d 0a 3b 2a 09 49 4e 54 45 52 42 41 ┆T CALL TO ?MOVE,AN * ;* INTERBA┆ 0x2ade0…2ae00 4e 4b 20 4d 4f 56 45 20 4d 55 53 54 20 42 45 20 50 45 52 46 4f 52 4d 45 44 2e 09 09 09 09 2a 0d ┆NK MOVE MUST BE PERFORMED. * ┆ 0x2ae00…2ae20 (21, 0, 15) e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 ┆ ┆ […0xf…] 0x2b000…2b020 (21, 1, 1) 0d 0a 09 54 49 54 4c 45 20 27 44 52 49 56 45 20 54 41 42 4c 45 20 46 4f 52 20 43 50 2f 4d 20 33 ┆ TITLE 'DRIVE TABLE FOR CP/M 3┆ 0x2b020…2b040 2e 30 20 42 49 4f 53 20 2d 20 44 41 54 45 20 3a 20 38 34 30 34 30 33 27 0d 0a 09 50 41 47 45 20 ┆.0 BIOS - DATE : 840403' PAGE ┆ 0x2b040…2b060 34 33 0d 0a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆43 ;*************************┆ 0x2b060…2b080 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ 0x2b080…2b0a0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 2a 09 54 48 45 20 44 52 56 54 42 4c 20 4d ┆*************** ;* THE DRVTBL M┆ 0x2b0a0…2b0c0 4f 44 55 4c 45 20 50 4f 49 4e 54 53 20 54 4f 20 54 48 45 20 44 41 54 41 20 53 54 52 55 43 54 55 ┆ODULE POINTS TO THE DATA STRUCTU┆ 0x2b0c0…2b0e0 52 45 20 46 4f 52 20 45 41 43 48 09 09 2a 0d 0a 3b 2a 09 43 4f 4e 46 49 47 55 52 45 44 20 44 49 ┆RE FOR EACH * ;* CONFIGURED DI┆ 0x2b0e0…2b100 53 4b 20 44 52 49 56 45 2e 09 09 09 09 09 09 2a 20 0d 0a 3b 2a 09 54 48 45 20 44 52 49 56 45 20 ┆SK DRIVE. * ;* THE DRIVE ┆ 0x2b100…2b120 (21, 1, 2) 54 41 42 4c 45 20 44 45 54 45 52 4d 49 4e 45 53 20 57 48 49 43 48 20 50 48 59 53 49 43 41 4c 20 ┆TABLE DETERMINES WHICH PHYSICAL ┆ 0x2b120…2b140 44 49 53 4b 20 55 4e 49 54 20 49 53 09 09 2a 0d 0a 3b 2a 09 41 53 53 4f 43 49 41 54 45 44 20 57 ┆DISK UNIT IS * ;* ASSOCIATED W┆ 0x2b140…2b160 49 54 48 20 57 48 49 43 48 20 4c 4f 47 49 43 41 4c 20 44 52 49 56 45 2e 09 09 09 09 2a 0d 0a 3b ┆ITH WHICH LOGICAL DRIVE. * ;┆ 0x2b160…2b180 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ […0x1…] 0x2b1a0…2b1c0 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 0d 0a 09 50 55 42 4c 49 43 09 40 44 54 42 4c 0d 0a 0d 0a 09 50 55 ┆******** PUBLIC @DTBL PU┆ 0x2b1c0…2b1e0 42 4c 49 43 09 44 49 53 4b 24 4d 53 47 2c 53 49 47 4e 4f 4e 24 4d 53 47 2c 42 49 4f 53 24 4d 53 ┆BLIC DISK$MSG,SIGNON$MSG,BIOS$MS┆ 0x2b1e0…2b200 47 0d 0a 0d 0a 09 4d 41 43 4c 49 42 09 43 50 4d 33 0d 0a 0d 0a 09 4d 41 43 4c 49 42 09 50 4f 52 ┆G MACLIB CPM3 MACLIB POR┆ 0x2b200…2b220 (21, 1, 3) 35 30 36 2b 6d 66 32 29 0d 0a 09 45 58 54 52 4e 09 48 44 30 44 50 48 2c 48 44 31 44 50 48 2c 48 ┆506+mf2) EXTRN HD0DPH,HD1DPH,H┆ 0x2b220…2b240 44 32 44 50 48 2c 48 44 33 44 50 48 2c 4d 46 44 30 44 50 48 2c 4d 46 44 31 44 50 48 0d 0a 40 44 ┆D2DPH,HD3DPH,MFD0DPH,MFD1DPH @D┆ 0x2b240…2b260 54 42 4c 3a 09 44 54 42 4c 09 3c 6d 66 64 30 64 70 68 2c 6d 66 64 31 64 70 68 2c 48 44 30 44 50 ┆TBL: DTBL <mfd0dph,mfd1dph,HD0DP┆ 0x2b260…2b280 48 2c 48 44 31 44 50 48 2c 48 44 32 44 50 48 2c 48 44 33 44 50 48 3e 0d 0a 44 49 53 4b 24 4d 53 ┆H,HD1DPH,HD2DPH,HD3DPH> DISK$MS┆ 0x2b280…2b2a0 47 3a 0d 0a 09 44 42 09 43 52 2c 4c 46 2c 45 53 43 2c 27 5b 6d 27 2c 27 53 45 41 47 41 54 45 20 ┆G: DB CR,LF,ESC,'Æm','SEAGATE ┆ 0x2b2a0…2b2c0 53 54 35 30 36 20 48 41 52 44 20 44 49 53 4b 20 26 20 20 44 55 41 4c 20 4d 49 4e 49 20 46 4c 4f ┆ST506 HARD DISK & DUAL MINI FLO┆ 0x2b2c0…2b2e0 50 50 59 20 27 2c 30 0d 0a 09 65 6e 64 69 66 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆PPY ',0 endif ;--------------┆ 0x2b2e0…2b300 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x2b300…2b320 (21, 1, 4) 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 09 69 66 ┆--------------------------- if┆ 0x2b320…2b340 09 28 68 77 63 6f 6e 66 69 67 20 65 71 20 73 74 34 30 36 2b 6d 66 32 29 0d 0a 09 45 58 54 52 4e ┆ (hwconfig eq st406+mf2) EXTRN┆ 0x2b340…2b360 09 48 44 30 44 50 48 2c 48 44 31 44 50 48 2c 4d 46 44 30 44 50 48 2c 4d 46 44 31 44 50 48 0d 0a ┆ HD0DPH,HD1DPH,MFD0DPH,MFD1DPH ┆ 0x2b360…2b380 40 44 54 42 4c 3a 09 44 54 42 4c 09 3c 6d 66 64 30 64 70 68 2c 6d 66 64 31 64 70 68 2c 48 44 30 ┆@DTBL: DTBL <mfd0dph,mfd1dph,HD0┆ 0x2b380…2b3a0 44 50 48 2c 48 44 31 44 50 48 2c 30 2c 30 3e 0d 0a 44 49 53 4b 24 4d 53 47 3a 0d 0a 09 44 42 09 ┆DPH,HD1DPH,0,0> DISK$MSG: DB ┆ 0x2b3a0…2b3c0 43 52 2c 4c 46 2c 45 53 43 2c 27 5b 6d 27 2c 27 53 45 41 47 41 54 45 20 53 54 34 30 36 20 48 41 ┆CR,LF,ESC,'Æm','SEAGATE ST406 HA┆ 0x2b3c0…2b3e0 52 44 20 44 49 53 4b 20 26 20 20 44 55 41 4c 20 4d 49 4e 49 20 46 4c 4f 50 50 59 20 27 2c 30 0d ┆RD DISK & DUAL MINI FLOPPY ',0 ┆ 0x2b3e0…2b400 0a 09 65 6e 64 69 66 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆ endif ;----------------------┆ 0x2b400…2b420 (21, 1, 5) 54 53 0d 0a 0d 0a 09 44 53 45 47 09 09 09 3b 42 41 4e 4b 45 44 20 4d 45 4d 4f 52 59 0d 0a 0d 0a ┆TS DSEG ;BANKED MEMORY ┆ 0x2b420…2b440 53 49 47 4e 4f 4e 24 4d 53 47 3a 0d 0a 09 44 42 09 43 52 2c 4c 46 2c 45 53 43 2c 27 5b 37 6d 27 ┆SIGNON$MSG: DB CR,LF,ESC,'Æ7m'┆ 0x2b440…2b460 2c 27 43 48 52 49 53 54 49 41 4e 20 52 4f 56 53 49 4e 47 20 41 2f 53 20 20 20 20 20 20 20 27 0d ┆,'CHRISTIAN ROVSING A/S ' ┆ 0x2b460…2b480 0a 09 69 66 09 62 61 6e 6b 65 64 0d 0a 09 44 42 09 27 31 31 32 4b 27 0d 0a 09 65 6c 73 65 0d 0a ┆ if banked DB '112K' else ┆ 0x2b480…2b4a0 09 44 42 09 27 20 36 34 4b 27 0d 0a 09 65 6e 64 69 66 0d 0a 09 44 42 09 27 20 20 43 50 2f 4d 20 ┆ DB ' 64K' endif DB ' CP/M ┆ 0x2b4a0…2b4c0 50 4c 55 53 20 20 20 20 20 20 20 20 27 0d 0a 09 44 42 09 59 45 41 52 2f 31 30 2b 27 30 27 2c 59 ┆PLUS ' DB YEAR/10+'0',Y┆ 0x2b4c0…2b4e0 45 41 52 20 4d 4f 44 20 31 30 2b 27 30 27 0d 0a 09 44 42 09 4d 4f 4e 54 48 2f 31 30 2b 27 30 27 ┆EAR MOD 10+'0' DB MONTH/10+'0'┆ 0x2b4e0…2b500 2c 4d 4f 4e 54 48 20 4d 4f 44 20 31 30 2b 27 30 27 0d 0a 09 44 42 09 44 41 59 2f 31 30 2b 27 30 ┆,MONTH MOD 10+'0' DB DAY/10+'0┆ 0x2b500…2b520 (21, 1, 6) 27 2c 44 41 59 20 4d 4f 44 20 31 30 2b 27 30 27 0d 0a 09 44 42 09 30 0d 0a 42 49 4f 53 24 4d 53 ┆',DAY MOD 10+'0' DB 0 BIOS$MS┆ 0x2b520…2b540 47 3a 0d 0a 09 44 42 09 27 42 49 4f 53 20 56 45 52 2e 20 27 2c 56 45 52 53 49 4f 4e 2f 31 30 2b ┆G: DB 'BIOS VER. ',VERSION/10+┆ 0x2b540…2b560 27 30 27 2c 27 2e 27 2c 56 45 52 53 49 4f 4e 20 4d 4f 44 20 31 30 2b 27 30 27 2c 43 52 2c 4c 46 ┆'0','.',VERSION MOD 10+'0',CR,LF┆ 0x2b560…2b580 2c 30 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆,0 ;-------------------------┆ 0x2b580…2b5a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x2b5a0…2b5c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 09 69 66 09 28 68 77 63 6f 6e 66 69 67 20 ┆---------------- if (hwconfig ┆ 0x2b5c0…2b5e0 65 71 20 73 74 34 31 32 2b 6d 66 31 29 0d 0a 09 45 58 54 52 4e 09 48 44 30 44 50 48 2c 48 44 31 ┆eq st412+mf1) EXTRN HD0DPH,HD1┆ 0x2b5e0…2b600 44 50 48 2c 48 44 32 44 50 48 2c 48 44 33 44 50 48 2c 4d 46 44 30 44 50 48 0d 0a 40 44 54 42 4c ┆DPH,HD2DPH,HD3DPH,MFD0DPH @DTBL┆ 0x2b600…2b620 (21, 1, 7) 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x2b620…2b640 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 09 69 66 09 28 68 77 63 6f 6e 66 ┆------------------- if (hwconf┆ 0x2b640…2b660 69 67 20 65 71 20 73 74 34 31 32 2b 6d 66 32 29 0d 0a 09 45 58 54 52 4e 09 48 44 30 44 50 48 2c ┆ig eq st412+mf2) EXTRN HD0DPH,┆ 0x2b660…2b680 48 44 31 44 50 48 2c 48 44 32 44 50 48 2c 48 44 33 44 50 48 2c 4d 46 44 30 44 50 48 2c 4d 46 44 ┆HD1DPH,HD2DPH,HD3DPH,MFD0DPH,MFD┆ 0x2b680…2b6a0 31 44 50 48 0d 0a 40 44 54 42 4c 3a 09 44 54 42 4c 09 3c 6d 66 64 30 64 70 68 2c 6d 66 64 31 64 ┆1DPH @DTBL: DTBL <mfd0dph,mfd1d┆ 0x2b6a0…2b6c0 70 68 2c 48 44 30 44 50 48 2c 48 44 31 44 50 48 2c 48 44 32 44 50 48 2c 48 44 33 44 50 48 3e 0d ┆ph,HD0DPH,HD1DPH,HD2DPH,HD3DPH> ┆ 0x2b6c0…2b6e0 0a 44 49 53 4b 24 4d 53 47 3a 0d 0a 09 44 42 09 43 52 2c 4c 46 2c 45 53 43 2c 27 5b 6d 27 2c 27 ┆ DISK$MSG: DB CR,LF,ESC,'Æm','┆ 0x2b6e0…2b700 53 45 41 47 41 54 45 20 53 54 34 31 32 20 48 41 52 44 20 44 49 53 4b 20 26 20 20 44 55 41 4c 20 ┆SEAGATE ST412 HARD DISK & DUAL ┆ 0x2b700…2b720 (21, 1, 8) 4d 49 4e 49 20 46 4c 4f 50 50 59 20 27 2c 30 0d 0a 09 65 6e 64 69 66 0d 0a 3b 2d 2d 2d 2d 2d 2d ┆MINI FLOPPY ',0 endif ;------┆ 0x2b720…2b740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ […0x1…] 0x2b760…2b780 2d 2d 2d 0d 0a 09 69 66 09 28 68 77 63 6f 6e 66 69 67 20 65 71 20 73 74 34 31 32 2b 6d 66 31 2b ┆--- if (hwconfig eq st412+mf1+┆ 0x2b780…2b7a0 66 31 29 0d 0a 09 45 58 54 52 4e 09 48 44 30 44 50 48 2c 48 44 31 44 50 48 2c 48 44 32 44 50 48 ┆f1) EXTRN HD0DPH,HD1DPH,HD2DPH┆ 0x2b7a0…2b7c0 2c 48 44 33 44 50 48 2c 4d 46 44 30 44 50 48 2c 46 44 30 44 50 48 0d 0a 40 44 54 42 4c 3a 09 44 ┆,HD3DPH,MFD0DPH,FD0DPH @DTBL: D┆ 0x2b7c0…2b7e0 54 42 4c 09 3c 6d 66 64 30 64 70 68 2c 66 64 30 64 70 68 2c 48 44 30 44 50 48 2c 48 44 31 44 50 ┆TBL <mfd0dph,fd0dph,HD0DPH,HD1DP┆ 0x2b7e0…2b800 48 2c 48 44 32 44 50 48 2c 48 44 33 44 50 48 3e 0d 0a 44 49 53 4b 24 4d 53 47 3a 0d 0a 09 44 42 ┆H,HD2DPH,HD3DPH> DISK$MSG: DB┆ 0x2b800…2b820 (21, 1, 9) 3a 09 44 54 42 4c 09 3c 6d 66 64 30 64 70 68 2c 30 2c 48 44 30 44 50 48 2c 48 44 31 44 50 48 2c ┆: DTBL <mfd0dph,0,HD0DPH,HD1DPH,┆ 0x2b820…2b840 48 44 32 44 50 48 2c 48 44 33 44 50 48 3e 0d 0a 44 49 53 4b 24 4d 53 47 3a 0d 0a 09 44 42 09 43 ┆HD2DPH,HD3DPH> DISK$MSG: DB C┆ 0x2b840…2b860 52 2c 4c 46 2c 45 53 43 2c 27 5b 6d 27 2c 27 53 45 41 47 41 54 45 20 53 54 34 31 32 20 48 41 52 ┆R,LF,ESC,'Æm','SEAGATE ST412 HAR┆ 0x2b860…2b880 44 20 44 49 53 4b 20 26 20 35 20 31 2f 34 20 4d 49 4e 49 20 46 4c 4f 50 50 59 20 27 2c 30 0d 0a ┆D DISK & 5 1/4 MINI FLOPPY ',0 ┆ 0x2b880…2b8a0 09 65 6e 64 69 66 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆ endif ;-----------------------┆ 0x2b8a0…2b8c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x2b8c0…2b8e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 09 69 66 09 28 68 77 63 6f 6e 66 69 67 ┆----------------- if (hwconfig┆ 0x2b8e0…2b900 20 65 71 20 73 74 34 30 36 2b 6d 66 31 29 0d 0a 09 45 58 54 52 4e 09 48 44 30 44 50 48 2c 48 44 ┆ eq st406+mf1) EXTRN HD0DPH,HD┆ 0x2b900…2b920 (21, 1, 10) 31 44 50 48 2c 4d 46 44 30 44 50 48 0d 0a 40 44 54 42 4c 3a 09 44 54 42 4c 09 3c 6d 66 64 30 64 ┆1DPH,MFD0DPH @DTBL: DTBL <mfd0d┆ 0x2b920…2b940 70 68 2c 30 2c 68 64 30 64 70 68 2c 68 64 31 64 70 68 3e 0d 0a 44 49 53 4b 24 4d 53 47 3a 0d 0a ┆ph,0,hd0dph,hd1dph> DISK$MSG: ┆ 0x2b940…2b960 09 44 42 09 43 52 2c 4c 46 2c 45 53 43 2c 27 5b 6d 27 2c 27 53 45 41 47 41 54 45 20 53 54 34 30 ┆ DB CR,LF,ESC,'Æm','SEAGATE ST40┆ 0x2b960…2b980 36 20 48 41 52 44 20 44 49 53 4b 20 26 20 35 20 31 2f 34 20 4d 49 4e 49 20 46 4c 4f 50 50 59 20 ┆6 HARD DISK & 5 1/4 MINI FLOPPY ┆ 0x2b980…2b9a0 27 2c 30 0d 0a 09 65 6e 64 69 66 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆',0 endif ;------------------┆ 0x2b9a0…2b9c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x2b9c0…2b9e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 09 69 66 09 28 68 77 ┆----------------------- if (hw┆ 0x2b9e0…2ba00 63 6f 6e 66 69 67 20 65 71 20 6d 66 32 29 0d 0a 09 45 58 54 52 4e 09 4d 46 44 30 44 50 48 2c 4d ┆config eq mf2) EXTRN MFD0DPH,M┆ 0x2ba00…2ba20 (21, 1, 11) 09 43 52 2c 4c 46 2c 45 53 43 2c 27 5b 6d 27 2c 27 53 54 34 31 32 20 48 41 52 44 20 44 49 53 4b ┆ CR,LF,ESC,'Æm','ST412 HARD DISK┆ 0x2ba20…2ba40 2c 4d 49 4e 49 20 26 20 53 54 41 4e 44 41 52 44 20 46 4c 4f 50 50 59 20 44 49 53 4b 20 27 2c 30 ┆,MINI & STANDARD FLOPPY DISK ',0┆ 0x2ba40…2ba60 0d 0a 09 65 6e 64 69 66 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆ endif ;---------------------┆ 0x2ba60…2ba80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x2ba80…2baa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 09 69 66 09 28 28 68 77 63 ┆--------------------- if ((hwc┆ 0x2baa0…2bac0 6f 6e 66 69 67 20 61 6e 64 20 63 72 31 36 6d 66 64 29 20 65 71 20 63 72 31 36 6d 66 64 29 0d 0a ┆onfig and cr16mfd) eq cr16mfd) ┆ 0x2bac0…2bae0 0d 0a 09 45 58 54 52 4e 09 48 44 30 44 50 48 2c 48 44 31 44 50 48 0d 0a 3b 09 45 58 54 52 4e 09 ┆ EXTRN HD0DPH,HD1DPH ; EXTRN ┆ 0x2bae0…2bb00 48 44 32 44 50 48 2c 48 44 33 44 50 48 0d 0a 09 45 58 54 52 4e 09 4d 46 44 30 44 50 48 0d 0a 09 ┆HD2DPH,HD3DPH EXTRN MFD0DPH ┆ 0x2bb00…2bb20 (21, 1, 12) 45 58 54 52 4e 09 6d 66 64 31 64 70 68 0d 0a 09 65 78 74 72 6e 09 43 52 31 36 30 44 50 48 2c 63 ┆EXTRN mfd1dph extrn CR160DPH,c┆ 0x2bb20…2bb40 72 31 36 31 64 70 68 0d 0a 3b 3b 3b 40 44 54 42 4c 3a 09 44 54 42 4c 09 3c 6d 66 64 30 64 70 68 ┆r161dph ;;;@DTBL: DTBL <mfd0dph┆ 0x2bb40…2bb60 2c 4d 46 44 31 44 50 48 2c 30 2c 30 2c 30 2c 30 2c 43 52 31 36 30 44 50 48 2c 43 52 31 36 31 44 ┆,MFD1DPH,0,0,0,0,CR160DPH,CR161D┆ 0x2bb60…2bb80 50 48 3e 0d 0a 40 44 54 42 4c 3a 09 44 54 42 4c 09 3c 6d 66 64 30 64 70 68 2c 6d 66 64 31 64 70 ┆PH> @DTBL: DTBL <mfd0dph,mfd1dp┆ 0x2bb80…2bba0 68 2c 68 64 30 64 70 68 2c 68 64 31 64 70 68 2c 30 2c 30 2c 43 52 31 36 30 44 50 48 2c 63 72 31 ┆h,hd0dph,hd1dph,0,0,CR160DPH,cr1┆ 0x2bba0…2bbc0 36 31 64 70 68 3e 0d 0a 0d 0a 0d 0a 44 49 53 4b 24 4d 53 47 3a 0d 0a 09 44 42 09 43 52 2c 4c 46 ┆61dph> DISK$MSG: DB CR,LF┆ 0x2bbc0…2bbe0 2c 65 73 63 2c 27 5b 6d 27 2c 27 35 20 31 2f 34 20 20 4d 49 4e 49 20 46 4c 4f 50 50 59 20 44 49 ┆,esc,'Æm','5 1/4 MINI FLOPPY DI┆ 0x2bbe0…2bc00 53 4b 20 44 52 49 56 45 20 3a 20 41 2c 42 20 28 43 52 37 29 20 47 2c 48 20 28 43 52 31 36 29 20 ┆SK DRIVE : A,B (CR7) G,H (CR16) ┆ 0x2bc00…2bc20 (21, 1, 13) 46 44 31 44 50 48 0d 0a 40 44 54 42 4c 3a 09 44 54 42 4c 09 3c 4d 46 44 30 44 50 48 2c 4d 46 44 ┆FD1DPH @DTBL: DTBL <MFD0DPH,MFD┆ 0x2bc20…2bc40 31 44 50 48 3e 0d 0a 44 49 53 4b 24 4d 53 47 3a 0d 0a 09 44 42 09 43 52 2c 4c 46 2c 45 53 43 2c ┆1DPH> DISK$MSG: DB CR,LF,ESC,┆ 0x2bc40…2bc60 27 5b 6d 27 2c 27 44 55 41 4c 20 20 53 49 44 45 44 20 20 39 36 20 20 54 50 49 20 20 35 20 20 31 ┆'Æm','DUAL SIDED 96 TPI 5 1┆ 0x2bc60…2bc80 2f 34 20 20 4d 49 4e 49 20 20 46 4c 4f 50 50 59 20 20 27 2c 30 0d 0a 09 65 6e 64 69 66 0d 0a 3b ┆/4 MINI FLOPPY ',0 endif ;┆ 0x2bc80…2bca0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ […0x1…] 0x2bcc0…2bce0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 09 69 66 09 28 68 77 63 6f 6e 66 69 67 20 65 71 20 73 74 35 30 ┆--------- if (hwconfig eq st50┆ 0x2bce0…2bd00 36 2b 6d 66 31 29 0d 0a 09 45 58 54 52 4e 09 48 44 30 44 50 48 2c 48 44 31 44 50 48 2c 48 44 32 ┆6+mf1) EXTRN HD0DPH,HD1DPH,HD2┆ 0x2bd00…2bd20 (21, 1, 14) 44 50 48 2c 48 44 33 44 50 48 2c 4d 46 44 30 44 50 48 0d 0a 40 44 54 42 4c 3a 09 44 54 42 4c 09 ┆DPH,HD3DPH,MFD0DPH @DTBL: DTBL ┆ 0x2bd20…2bd40 3c 6d 66 64 30 64 70 68 2c 30 2c 48 44 30 44 50 48 2c 48 44 31 44 50 48 2c 48 44 32 44 50 48 2c ┆<mfd0dph,0,HD0DPH,HD1DPH,HD2DPH,┆ 0x2bd40…2bd60 48 44 33 44 50 48 3e 0d 0a 44 49 53 4b 24 4d 53 47 3a 0d 0a 09 44 42 09 43 52 2c 4c 46 2c 45 53 ┆HD3DPH> DISK$MSG: DB CR,LF,ES┆ 0x2bd60…2bd80 43 2c 27 5b 6d 27 2c 27 53 45 41 47 41 54 45 20 53 54 35 30 36 20 48 41 52 44 20 44 49 53 4b 20 ┆C,'Æm','SEAGATE ST506 HARD DISK ┆ 0x2bd80…2bda0 26 20 35 20 31 2f 34 20 4d 49 4e 49 20 46 4c 4f 50 50 59 20 27 2c 30 0d 0a 09 65 6e 64 69 66 0d ┆& 5 1/4 MINI FLOPPY ',0 endif ┆ 0x2bda0…2bdc0 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆ ;------------------------------┆ 0x2bdc0…2bde0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x2bde0…2be00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 09 69 66 09 28 68 77 63 6f 6e 66 69 67 20 65 71 20 73 74 ┆----------- if (hwconfig eq st┆ 0x2be00…2be20 (21, 1, 15) 27 0d 0a 3b 3b 3b 09 44 42 09 43 52 2c 4c 46 2c 65 73 63 2c 27 5b 6d 27 2c 27 35 20 31 2f 34 20 ┆' ;;; DB CR,LF,esc,'Æm','5 1/4 ┆ 0x2be20…2be40 20 4d 49 4e 49 20 46 4c 4f 50 50 59 20 44 49 53 4b 20 44 52 49 56 45 20 3a 20 41 20 28 43 52 38 ┆ MINI FLOPPY DISK DRIVE : A (CR8┆ 0x2be40…2be60 29 20 47 20 28 43 52 31 36 29 20 27 0d 0a 3b 3b 3b 09 44 42 09 43 52 2c 4c 46 2c 45 53 43 2c 27 ┆) G (CR16) ' ;;; DB CR,LF,ESC,'┆ 0x2be60…2be80 5b 6d 27 2c 27 44 54 43 35 31 30 41 2d 53 54 34 31 32 20 48 41 52 44 20 44 49 53 4b 20 44 52 49 ┆Æm','DTC510A-ST412 HARD DISK DRI┆ 0x2be80…2bea0 56 45 20 3a 20 43 2c 44 2c 45 2c 46 20 27 0d 0a 09 44 42 09 43 52 2c 4c 46 2c 45 53 43 2c 27 5b ┆VE : C,D,E,F ' DB CR,LF,ESC,'Æ┆ 0x2bea0…2bec0 6d 27 2c 27 44 54 43 35 31 30 41 2d 53 54 34 30 36 20 48 41 52 44 20 44 49 53 4b 20 44 52 49 56 ┆m','DTC510A-ST406 HARD DISK DRIV┆ 0x2bec0…2bee0 45 20 3a 20 43 2c 44 20 20 20 20 20 27 0d 0a 09 44 42 09 30 0d 0a 0d 0a 09 65 6e 64 69 66 0d 0a ┆E : C,D ' DB 0 endif ┆ 0x2bee0…2bf00 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆;-------------------------------┆ 0x2bf00…2bf20 (21, 1, 16) 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x2bf20…2bf40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 09 45 4e 44 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆----------- END ┆ 0x2bf40…2bf60 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ ┆ […0x1…] 0x2bf80…2bfa0 0d 0a 3b 0d 0a 42 49 4f 53 50 42 3a 0d 0a 3b 20 42 49 4f 53 20 50 61 72 61 6d 65 74 65 72 20 42 ┆ ; BIOSPB: ; BIOS Parameter B┆ 0x2bfa0…2bfc0 6c 6f 63 6b 0d 0a 42 49 4f 53 46 43 3a 09 64 62 09 30 09 09 3b 42 49 4f 53 20 66 75 6e 63 74 69 ┆lock BIOSFC: db 0 ;BIOS functi┆ 0x2bfc0…2bfe0 6f 6e 20 6e 75 6d 62 65 72 0d 0a 41 52 45 47 3a 09 64 62 09 30 09 09 3b 41 20 72 65 67 69 73 74 ┆on number AREG: db 0 ;A regist┆ 0x2bfe0…2c000 65 72 20 63 6f 6e 74 65 6e 74 73 0d 0a 42 43 52 45 47 3a 09 44 57 09 30 09 09 3b 42 43 20 72 65 ┆er contents BCREG: DW 0 ;BC re┆ 0x2c000…2c020 (22, 0, 1) 31 ea 06 11 c3 04 cd 1d 03 db 09 e6 01 ca 18 01 3e 02 32 c1 04 c3 1d 01 3e 06 32 c1 04 0e 0c cd ┆1 > 2 > 2 ┆ 0x2c020…2c040 05 00 7d fe 30 da 2b 01 c3 36 01 11 ab 05 cd 1d 03 0e 00 c3 05 00 3a 5d 00 fe 20 ca 6f 01 11 5c ┆ å 0 + 6 :Å o Ø┆ 0x2c040…2c060 00 cd 31 03 3c c2 51 01 11 da 05 cd 18 03 c3 97 02 af 32 7c 00 21 00 10 e5 eb cd 45 03 11 5c 00 ┆ 1 < Q 2ø ! E Ø ┆ 0x2c060…2c080 cd 2c 03 e1 b7 c2 82 01 11 80 00 19 c3 58 01 cd 4a 03 af 32 bd 04 3a 15 05 cd d9 03 11 99 05 cd ┆ , X J 2 : ┆ 0x2c080…2c0a0 1d 03 cd a2 03 21 bd 04 36 01 3a 66 05 cd d9 03 11 99 05 cd 1d 03 11 7a 05 cd 18 03 cd f8 02 fe ┆ ! 6 :f z ┆ 0x2c0a0…2c0c0 59 c2 97 02 0e 0d cd 05 00 3c 11 46 06 cc 94 02 cd 4a 03 3a 15 05 d6 41 16 00 5f cd 22 03 0e 24 ┆Y < F J : A _ " $┆ 0x2c0c0…2c0e0 11 6e 04 21 92 04 1a 13 77 23 0d c2 c6 01 3a 15 05 d6 40 21 6e 04 77 3a 66 05 21 92 04 d6 40 77 ┆ n ! w# : @!n w:f ! @w┆ 0x2c0e0…2c100 af 32 b2 04 11 6e 04 cd 31 03 11 da 05 3c cc 94 02 11 00 10 eb 22 b7 04 3a b7 04 6f 3a b8 04 67 ┆ 2 n 1 < " : o: g┆ 0x2c100…2c120 (22, 0, 2) eb cd 45 03 11 6e 04 cd 2c 03 b7 c2 27 02 3a bb 04 3c 32 bb 04 3a b7 04 6f 3a b8 04 67 11 80 00 ┆ E n , ' : <2 : o: g ┆ 0x2c120…2c140 19 22 b7 04 c3 00 02 11 99 05 cd 1d 03 cd a2 03 11 92 04 eb 3a 66 05 d6 40 77 eb cd 40 03 11 92 ┆ " :f @w @ ┆ 0x2c140…2c160 04 cd 3b 03 11 f9 05 3c cc 94 02 11 00 10 eb 22 b7 04 3a b7 04 6f 3a b8 04 67 eb cd 45 03 11 92 ┆ ; < " : o: g E ┆ 0x2c160…2c180 04 cd 27 03 11 14 06 b7 c4 94 02 3a bb 04 3d 32 bb 04 fe 00 ca 89 02 3a b7 04 6f 3a b8 04 67 11 ┆ ' : =2 : o: g ┆ 0x2c180…2c1a0 80 00 19 22 b7 04 c3 5a 02 11 92 04 0e 10 cd 05 00 11 99 05 cd 1d 03 0e 0d cd 05 00 cd 0d 03 c3 ┆ " Z ┆ 0x2c1a0…2c1c0 00 00 11 bf 05 cd 18 03 c9 32 66 04 0e 32 11 66 04 cd 05 00 c9 af 47 67 3a bc 04 4f 6f ed 5b d2 ┆ 2f 2 f Gg: Oo Æ ┆ 0x2c1c0…2c1e0 02 7a b3 c8 eb 09 6e 26 00 c9 01 05 09 0d 03 07 0b 0f 00 00 d6 41 16 00 5f cd 22 03 0e 1f cd 05 ┆ z n& A _ " ┆ 0x2c1e0…2c200 00 7e e6 fc 0f 0f 32 c2 04 fe 08 21 00 00 c2 f4 02 21 ca 02 22 d2 02 c9 0e 01 cd 05 00 fe 61 d8 ┆ ü 2 ! ! " a ┆ 0x2c200…2c300 (22, 0, 3) DataBlock {»BOOT.ASM«} […0x1…] 0x2c400…2c420 (22, 0, 5) fe 7b d0 e6 5f c9 5f 0e 02 cd 05 00 c9 3e 0d cd 06 03 3e 0a cd 06 03 c9 d5 cd 0d 03 d1 0e 09 c3 ┆ æ _ _ > > ┆ 0x2c420…2c440 05 00 0e 0e c3 05 00 0e 15 c3 05 00 0e 14 c3 05 00 0e 0f c3 05 00 0e 10 c3 05 00 0e 16 c3 05 00 ┆ ┆ 0x2c440…2c460 0e 13 c3 05 00 0e 1a c3 05 00 11 e0 04 cd 18 03 cd f8 02 fe 0d ca 77 03 fe 03 ca 97 02 d6 41 f5 ┆ w A ┆ 0x2c460…2c480 3a c1 04 47 f1 b8 da 6f 03 cd a2 02 c3 4a 03 c6 41 32 15 05 c3 8d 03 0e 19 cd 05 00 c6 41 32 15 ┆: G o J A2 A2 ┆ 0x2c480…2c4a0 05 cd 0d 03 11 0b 05 cd 1d 03 c3 96 03 cd 0d 03 11 0b 05 cd 1d 03 cd f8 02 fe 0d c2 97 02 cd 0d ┆ ┆ 0x2c4a0…2c4c0 03 c9 11 29 05 cd 18 03 cd f8 02 fe 0d ca 97 02 d6 41 f5 3a c1 04 47 f1 b8 da c2 03 cd a2 02 c3 ┆ ) A : G ┆ 0x2c4c0…2c4e0 82 01 c6 41 32 66 05 11 57 05 cd 18 03 cd f8 02 fe 0d c2 97 02 cd 0d 03 c9 cd d4 02 21 00 10 22 ┆ A2f W ! "┆ 0x2c4e0…2c500 be 04 3e ff 32 ba 04 21 ba 04 34 3e 02 be c8 6e 26 00 22 68 04 3e 0a cd a9 02 3e ff 32 bc 04 3a ┆ > 2 ! 4> n& "h > > 2 :┆ 0x2c500…2c520 (22, 0, 6) c2 04 21 bc 04 34 be ca e7 03 cd b5 02 22 68 04 3e 0b cd a9 02 2a be 04 22 68 04 11 00 02 19 22 ┆ ! 4 "h > * "h "┆ 0x2c520…2c540 be 04 3e 0c cd a9 02 af 32 c0 04 3a c0 04 fe 01 da 47 04 11 46 06 cd 1d 03 cd f8 02 fe 0d c2 97 ┆ > 2 : G F ┆ 0x2c540…2c560 02 cd 0d 03 c3 ff 03 3c 32 c0 04 3a bd 04 b7 ca 5a 04 3e 0e cd a9 02 c3 5f 04 3e 0d cd a9 02 b7 ┆ <2 : Z > _ > ┆ 0x2c560…2c580 ca ff 03 c3 2b 04 00 00 00 00 00 00 00 00 00 43 50 4d 33 20 20 20 20 53 59 53 00 00 00 00 00 00 ┆ + CPM3 SYS ┆ 0x2c580…2c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆ […0x1…] 0x2c5c0…2c5e0 00 00 00 43 50 2f 4d 20 33 20 43 4f 50 59 53 59 53 20 2d 20 56 65 72 73 69 6f 6e 20 31 2e 30 24 ┆ CP/M 3 COPYSYS - Version 1.0$┆ 0x2c5e0…2c600 53 6f 75 72 63 65 20 64 72 69 76 65 20 6e 61 6d 65 20 28 6f 72 20 72 65 74 75 72 6e 20 66 6f 72 ┆Source drive name (or return for┆ 0x2c600…2c700 (22, 0, 7) DataBlock {»BOOT.ASM«} […0x1…] 0x2c800…2c820 (22, 0, 9) 20 64 65 66 61 75 6c 74 29 20 24 53 6f 75 72 63 65 20 6f 6e 20 00 20 74 68 65 6e 20 74 79 70 65 ┆ default) $Source on then type┆ 0x2c820…2c840 20 72 65 74 75 72 6e 20 24 44 65 73 74 69 6e 61 74 69 6f 6e 20 64 72 69 76 65 20 6e 61 6d 65 20 ┆ return $Destination drive name ┆ 0x2c840…2c860 28 6f 72 20 72 65 74 75 72 6e 20 74 6f 20 72 65 62 6f 6f 74 29 20 24 44 65 73 74 69 6e 61 74 69 ┆(or return to reboot) $Destinati┆ 0x2c860…2c880 6f 6e 20 6f 6e 20 00 20 74 68 65 6e 20 74 79 70 65 20 72 65 74 75 72 6e 20 24 44 6f 20 79 6f 75 ┆on on then type return $Do you┆ 0x2c880…2c8a0 20 77 69 73 68 20 74 6f 20 63 6f 70 79 20 43 50 4d 33 2e 53 59 53 3f 20 24 46 75 6e 63 74 69 6f ┆ wish to copy CPM3.SYS? $Functio┆ 0x2c8a0…2c8c0 6e 20 63 6f 6d 70 6c 65 74 65 24 52 65 71 75 69 72 65 73 20 43 50 2f 4d 20 50 4c 55 53 2e 24 45 ┆n complete$Requires CP/M PLUS.$E┆ 0x2c8c0…2c8e0 52 52 4f 52 3a 20 49 6e 76 61 6c 69 64 20 64 72 69 76 65 20 6e 61 6d 65 2e 24 45 52 52 4f 52 3a ┆RROR: Invalid drive name.$ERROR:┆ 0x2c8e0…2c900 20 4e 6f 20 73 6f 75 72 63 65 20 66 69 6c 65 20 6f 6e 20 64 69 73 6b 2e 24 45 52 52 4f 52 3a 20 ┆ No source file on disk.$ERROR: ┆ 0x2c900…2c920 (22, 0, 10) 4e 6f 20 64 69 72 65 63 74 6f 72 79 20 73 70 61 63 65 2e 24 45 52 52 4f 52 3a 20 4f 75 74 20 6f ┆No directory space.$ERROR: Out o┆ 0x2c920…2c940 66 20 64 61 74 61 20 73 70 61 63 65 2e 24 45 52 52 4f 52 3a 20 57 72 69 74 65 20 70 72 6f 74 65 ┆f data space.$ERROR: Write prote┆ 0x2c940…2c960 63 74 65 64 3f 24 45 52 52 4f 52 3a 20 50 6f 73 73 69 62 6c 65 20 69 6e 63 6f 6d 70 61 74 69 62 ┆cted?$ERROR: Possible incompatib┆ 0x2c960…2c980 6c 65 20 64 69 73 6b 20 66 6f 72 6d 61 74 2e 0d 0a 20 54 79 70 65 20 72 65 74 75 72 6e 20 74 6f ┆le disk format. Type return to┆ 0x2c980…2c9a0 20 69 67 6e 6f 72 65 2e 24 45 52 52 4f 52 3a 20 43 6c 6f 73 65 20 6f 70 65 72 61 74 69 6f 6e 20 ┆ ignore.$ERROR: Close operation ┆ 0x2c9a0…2c9c0 66 61 69 6c 65 64 2e 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆failed.$ ┆ 0x2c9c0…2c9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆ 0x2c9e0…2ca00 00 00 00 00 00 00 00 00 00 00 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ ┆ 0x2ca00…2cb00 (22, 0, 11) DataBlock {»BOOT.ASM«} […0x1…] 0x2cc00…2cc20 (22, 0, 13) 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ 0x2cc20…2cc40 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d ┆******************************* ┆ 0x2cc40…2cc60 0a 3b 2a 09 09 09 09 09 09 09 09 09 2a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆ ;* * ;****************┆ 0x2cc60…2cc80 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ 0x2cc80…2cca0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 0d 0a 46 44 24 4c ┆************************ FD$L┆ 0x2cca0…2ccc0 4f 47 49 4e 3a 0d 0a 09 52 45 54 0d 0a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆OGIN: RET ;****************┆ 0x2ccc0…2cce0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ 0x2cce0…2cd00 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 2a 09 54 48 45 ┆************************ ;* THE┆ 0x2cd00…2cd20 (22, 0, 14) 20 42 4f 4f 54 20 45 4e 54 52 59 20 43 41 4c 4c 53 20 45 41 43 48 20 49 4e 49 54 20 52 4f 55 54 ┆ BOOT ENTRY CALLS EACH INIT ROUT┆ 0x2cd20…2cd40 49 4e 45 20 44 55 52 49 4e 47 20 54 48 45 20 43 4f 4c 44 20 53 54 41 52 54 09 2a 0d 0a 3b 2a 09 ┆INE DURING THE COLD START * ;* ┆ 0x2cd40…2cd60 41 4e 44 20 50 52 49 4f 52 20 54 4f 20 41 4e 59 20 4f 54 48 45 52 20 44 49 53 4b 20 41 43 43 45 ┆AND PRIOR TO ANY OTHER DISK ACCE┆ 0x2cd60…2cd80 53 53 2c 54 48 45 20 49 4e 49 54 20 52 4f 55 54 49 4e 45 20 50 45 52 46 4f 52 4d 53 09 2a 0d 0a ┆SS,THE INIT ROUTINE PERFORMS * ┆ 0x2cd80…2cda0 3b 2a 09 41 4e 59 20 4e 45 43 45 53 53 41 52 59 20 48 41 52 44 57 41 52 45 20 49 4e 49 54 20 53 ┆;* ANY NECESSARY HARDWARE INIT S┆ 0x2cda0…2cdc0 55 43 48 20 41 53 20 53 45 54 54 49 4e 47 20 55 50 20 54 48 45 20 43 4f 4e 54 52 4f 4c 4c 45 52 ┆UCH AS SETTING UP THE CONTROLLER┆ 0x2cdc0…2cde0 09 2a 0d 0a 3b 09 41 4e 44 20 49 4e 54 45 52 52 55 50 54 20 56 45 43 54 4f 52 53 2e 09 09 09 09 ┆ * ; AND INTERRUPT VECTORS. ┆ 0x2cde0…2ce00 09 09 2a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆ * ;**************************┆ 0x2ce00…2cf00 (22, 0, 15) DataBlock {»BOOT.ASM«} […0x13…] 0x2e200…2e220 (23, 0, 3) 0d 0a 09 74 69 74 6c 65 09 27 43 52 31 36 20 46 43 4f 50 59 20 55 54 49 4c 49 54 59 20 44 41 54 ┆ title 'CR16 FCOPY UTILITY DAT┆ 0x2e220…2e240 45 3a 38 34 30 34 30 31 27 0d 0a 09 50 41 47 45 20 34 33 0d 0a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a ┆E:840401' PAGE 43 ;********┆ 0x2e240…2e260 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ […0x1…] 0x2e280…2e2a0 0d 0a 3b 2a 09 09 09 09 09 09 09 09 09 2a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆ ;* * ;***************┆ 0x2e2a0…2e2c0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ 0x2e2c0…2e2e0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 09 4d 41 43 4c ┆************************* MACL┆ 0x2e2e0…2e300 49 42 09 5a 38 30 0d 0a 0d 0a 09 4d 41 43 4c 49 42 09 50 4f 52 54 53 0d 0a 0d 0a 43 56 45 52 53 ┆IB Z80 MACLIB PORTS CVERS┆ 0x2e300…2e320 (23, 0, 4) 09 09 65 71 75 09 31 30 09 3b 76 65 72 73 69 6f 6e 20 31 2e 30 20 66 6f 72 20 43 50 2f 4d 20 33 ┆ equ 10 ;version 1.0 for CP/M 3┆ 0x2e320…2e340 2e 30 0d 0a 3b 0d 0a 6d 61 78 63 6f 75 6e 74 09 65 71 75 09 31 09 3b 0d 0a 6d 61 78 24 74 72 6b ┆.0 ; maxcount equ 1 ; max$trk┆ 0x2e340…2e360 09 09 65 71 75 09 31 35 34 0d 0a 0d 0a 53 45 43 53 49 5a 09 65 71 75 09 35 31 32 09 09 3b 73 69 ┆ equ 154 SECSIZ equ 512 ;si┆ 0x2e360…2e380 7a 65 20 6f 66 20 73 65 63 74 6f 72 0d 0a 3b 0d 0a 54 50 41 09 65 71 75 09 30 31 30 30 68 09 09 ┆ze of sector ; TPA equ 0100h ┆ 0x2e380…2e3a0 3b 54 72 61 6e 73 69 65 6e 74 20 50 72 6f 67 72 61 6d 20 41 72 65 61 0d 0a 4c 4f 41 44 50 09 65 ┆;Transient Program Area LOADP e┆ 0x2e3a0…2e3c0 71 75 09 31 30 30 30 68 09 09 3b 4c 4f 41 44 20 50 6f 69 6e 74 20 66 6f 72 20 73 79 73 74 65 6d ┆qu 1000h ;LOAD Point for system┆ 0x2e3c0…2e3e0 0d 0a 42 44 4f 53 09 65 71 75 09 30 35 68 09 09 3b 44 4f 53 20 65 6e 74 72 79 20 70 6f 69 6e 74 ┆ BDOS equ 05h ;DOS entry point┆ 0x2e3e0…2e400 0d 0a 0d 0a 42 4f 4f 54 09 65 71 75 09 30 30 68 09 09 3b 72 65 62 6f 6f 74 20 66 6f 72 20 73 79 ┆ BOOT equ 00h ;reboot for sy┆ 0x2e400…2e500 (23, 0, 5) DataBlock {»BOOT.ASM«} […0x1…] 0x2e600…2e620 (23, 0, 7) 73 74 65 6d 0d 0a 43 4f 4e 49 09 65 71 75 09 31 68 09 09 3b 63 6f 6e 73 6f 6c 65 20 69 6e 70 75 ┆stem CONI equ 1h ;console inpu┆ 0x2e620…2e640 74 20 66 75 6e 63 74 69 6f 6e 0d 0a 43 4f 4e 4f 09 65 71 75 09 32 68 09 09 3b 63 6f 6e 73 6f 6c ┆t function CONO equ 2h ;consol┆ 0x2e640…2e660 65 20 6f 75 74 70 75 74 20 66 75 6e 63 74 69 6f 6e 0d 0a 53 45 4c 44 09 65 71 75 09 31 34 09 09 ┆e output function SELD equ 14 ┆ 0x2e660…2e680 3b 73 65 6c 65 63 74 20 61 20 64 69 73 6b 0d 0a 52 45 54 44 53 4b 09 65 71 75 09 32 35 09 09 3b ┆;select a disk RETDSK equ 25 ;┆ 0x2e680…2e6a0 72 65 74 75 72 6e 20 63 75 72 72 65 6e 74 20 64 69 73 6b 0d 0a 44 52 42 49 4f 53 09 65 71 75 09 ┆return current disk DRBIOS equ ┆ 0x2e6a0…2e6c0 35 30 09 09 3b 44 69 72 65 63 74 20 42 49 4f 53 20 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 0d 0a ┆50 ;Direct BIOS call function ┆ 0x2e6c0…2e6e0 45 49 47 48 54 59 09 65 71 75 09 30 38 30 68 09 09 3b 76 61 6c 75 65 20 6f 66 20 38 30 0d 0a 43 ┆EIGHTY equ 080h ;value of 80 C┆ 0x2e6e0…2e700 54 4c 43 09 65 71 75 09 27 43 27 2d 27 40 27 09 09 3b 43 6f 6e 54 72 6f 4c 20 43 0d 0a 59 09 65 ┆TLC equ 'C'-'@' ;ConTroL C Y e┆ 0x2e700…2e720 (23, 0, 8) 71 75 09 38 39 09 09 3b 41 53 43 49 49 20 76 61 6c 75 65 20 6f 66 20 59 0d 0a 3b 0d 0a 4d 41 58 ┆qu 89 ;ASCII value of Y ; MAX┆ 0x2e720…2e740 54 52 59 09 65 71 75 09 30 31 09 09 3b 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 74 ┆TRY equ 01 ;maximum number of t┆ 0x2e740…2e760 72 69 65 73 0d 0a 53 54 41 43 4b 53 49 5a 45 20 65 71 75 09 30 31 36 68 09 09 3b 73 69 7a 65 20 ┆ries STACKSIZE equ 016h ;size ┆ 0x2e760…2e780 6f 66 20 6c 6f 63 61 6c 20 73 74 61 63 6b 0d 0a 3b 0d 0a 57 42 4f 4f 54 09 65 71 75 09 30 09 09 ┆of local stack ; WBOOT equ 0 ┆ 0x2e780…2e7a0 3b 61 64 64 72 65 73 73 20 6f 66 20 77 61 72 6d 20 62 6f 6f 74 0d 0a 3b 0d 0a 53 45 4c 44 53 4b ┆;address of warm boot ; SELDSK┆ 0x2e7a0…2e7c0 09 65 71 75 09 39 09 09 3b 42 49 4f 53 20 66 75 6e 63 20 23 39 20 53 45 4c 65 63 74 20 44 69 53 ┆ equ 9 ;BIOS func #9 SELect DiS┆ 0x2e7c0…2e7e0 4b 0d 0a 53 45 54 54 52 4b 09 65 71 75 09 31 30 09 09 3b 42 49 4f 53 20 66 75 6e 63 20 23 31 30 ┆K SETTRK equ 10 ;BIOS func #10┆ 0x2e7e0…2e800 20 53 45 54 20 54 52 61 63 4b 0d 0a 53 45 54 53 45 43 09 65 71 75 09 31 31 09 09 3b 42 49 4f 53 ┆ SET TRacK SETSEC equ 11 ;BIOS┆ 0x2e800…2e900 (23, 0, 9) DataBlock {»BOOT.ASM«} […0x1…] 0x2ea00…2ea20 (23, 0, 11) 20 66 75 6e 63 20 23 31 31 20 53 45 54 20 53 45 43 74 6f 72 0d 0a 53 45 54 44 4d 41 09 65 71 75 ┆ func #11 SET SECtor SETDMA equ┆ 0x2ea20…2ea40 09 31 32 09 09 3b 42 49 4f 53 20 66 75 6e 63 20 23 31 32 20 53 45 54 20 44 4d 41 20 61 64 64 72 ┆ 12 ;BIOS func #12 SET DMA addr┆ 0x2ea40…2ea60 65 73 73 0d 0a 52 45 41 44 46 09 65 71 75 09 31 33 09 09 3b 42 49 4f 53 20 66 75 6e 63 20 23 31 ┆ess READF equ 13 ;BIOS func #1┆ 0x2ea60…2ea80 33 20 52 45 41 44 20 73 65 6c 65 63 74 65 64 20 73 65 63 74 6f 72 0d 0a 57 52 49 54 46 09 65 71 ┆3 READ selected sector WRITF eq┆ 0x2ea80…2eaa0 75 09 31 34 09 09 3b 42 49 4f 53 20 66 75 6e 63 20 23 31 34 20 57 52 49 54 65 20 73 65 6c 65 63 ┆u 14 ;BIOS func #14 WRITe selec┆ 0x2eaa0…2eac0 74 65 64 20 73 65 63 74 6f 72 0d 0a 75 74 69 6c 69 74 79 09 65 71 75 09 33 30 09 09 3b 42 49 4f ┆ted sector utility equ 30 ;BIO┆ 0x2eac0…2eae0 53 20 66 75 6e 63 20 23 33 30 20 66 6f 72 6d 61 74 20 2f 20 72 64 5f 74 72 6b 20 2f 20 77 72 5f ┆S func #30 format / rd_trk / wr_┆ 0x2eae0…2eb00 74 72 6b 0d 0a 0d 0a 72 64 24 74 72 61 63 6b 09 65 71 75 09 32 0d 0a 77 72 24 74 72 61 63 6b 09 ┆trk rd$track equ 2 wr$track ┆ 0x2eb00…2eb20 (23, 0, 12) 65 71 75 09 33 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 2a 0d ┆equ 3 ;******************* ;* ┆ 0x2eb20…2eb40 0a 3b 2a 09 4d 41 49 4e 20 52 4f 55 54 49 4e 45 0d 0a 3b 2a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆ ;* MAIN ROUTINE ;* ;*********┆ 0x2eb40…2eb60 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 0d 0a 53 54 41 52 54 3a 0d 0a 0d 0a 09 6c 78 69 09 73 70 ┆********** ; START: lxi sp┆ 0x2eb60…2eb80 2c 53 54 41 43 4b 0d 0a 09 6c 78 69 09 64 2c 53 49 47 4e 4f 4e 0d 0a 09 63 61 6c 6c 09 4f 55 54 ┆,STACK lxi d,SIGNON call OUT┆ 0x2eb80…2eba0 4d 53 47 0d 0a 3b 0d 0a 3b 67 65 74 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 74 6f 20 63 ┆MSG ; ;get version number to c┆ 0x2eba0…2ebc0 68 65 63 6b 20 63 6f 6d 70 61 74 61 62 69 6c 69 74 79 0d 0a 09 6d 76 69 09 63 2c 31 32 09 09 3b ┆heck compatability mvi c,12 ;┆ 0x2ebc0…2ebe0 76 65 72 73 69 6f 6e 20 63 68 65 63 6b 0d 0a 09 63 61 6c 6c 09 42 44 4f 53 0d 0a 09 6d 6f 76 09 ┆version check call BDOS mov ┆ 0x2ebe0…2ec00 61 2c 6c 09 09 3b 76 65 72 73 69 6f 6e 20 69 6e 20 41 63 63 0d 0a 09 63 70 69 09 33 30 68 09 09 ┆a,l ;version in Acc cpi 30h ┆ 0x2ec00…2ed00 (23, 0, 13) DataBlock {»BOOT.ASM«} […0x1…] 0x2ee00…2ee20 (23, 0, 15) 3b 76 65 72 73 69 6f 6e 20 33 20 6f 72 20 6e 65 77 65 72 3f 0d 0a 09 6a 63 09 4e 4f 45 58 45 43 ┆;version 3 or newer? jc NOEXEC┆ 0x2ee20…2ee40 09 09 3b 0d 0a 0d 0a 09 63 61 6c 6c 09 53 4f 55 52 43 45 09 09 3b 66 69 6e 64 20 6f 75 74 20 73 ┆ ; call SOURCE ;find out s┆ 0x2ee40…2ee60 6f 75 72 63 65 20 64 72 69 76 65 0d 0a 09 63 61 6c 6c 09 44 45 53 54 49 4e 09 09 3b 67 65 74 20 ┆ource drive call DESTIN ;get ┆ 0x2ee60…2ee80 64 65 73 74 20 64 72 69 76 65 0d 0a 09 6a 6d 70 09 67 65 74 73 79 73 0d 0a 0d 0a 4e 4f 45 58 45 ┆dest drive jmp getsys NOEXE┆ 0x2ee80…2eea0 43 3a 09 0d 0a 09 4c 58 49 09 44 2c 52 45 51 43 50 4d 33 09 3b 50 52 49 4e 54 20 22 52 45 51 55 ┆C: LXI D,REQCPM3 ;PRINT "REQU┆ 0x2eea0…2eec0 49 52 45 53 20 43 50 2f 4d 20 50 4c 55 53 22 0d 0a 09 43 41 4c 4c 09 4f 55 54 4d 53 47 09 09 3b ┆IRES CP/M PLUS" CALL OUTMSG ;┆ 0x2eec0…2eee0 0d 0a 09 4d 56 49 09 43 2c 57 42 4f 4f 54 09 09 3b 0d 0a 09 4a 4d 50 09 42 44 4f 53 09 09 3b 0d ┆ MVI C,WBOOT ; JMP BDOS ; ┆ 0x2eee0…2ef00 0a 0d 0a 0d 0a 47 45 54 53 59 53 3a 0d 0a 3b 2d 2d 2d 2d 2d 2d 0d 0a 09 6c 78 69 09 68 2c 30 0d ┆ GETSYS: ;------ lxi h,0 ┆ 0x2ef00…2ef20 (23, 0, 16) 0a 09 73 68 6c 64 09 74 72 61 63 6b 0d 0a 74 72 6b 24 6c 6f 6f 70 3a 0d 0a 09 78 72 61 09 61 09 ┆ shld track trk$loop: xra a ┆ 0x2ef20…2ef40 09 3b 7a 65 72 6f 20 6f 75 74 20 61 0d 0a 09 73 74 61 09 52 57 09 09 3b 52 57 20 3d 20 30 20 74 ┆ ;zero out a sta RW ;RW = 0 t┆ 0x2ef40…2ef60 6f 20 73 69 67 6e 69 66 79 20 72 65 61 64 0d 0a 09 4c 44 41 09 47 44 49 53 4b 0d 0a 09 63 61 6c ┆o signify read LDA GDISK cal┆ 0x2ef60…2ef80 6c 09 47 45 54 50 55 54 09 09 3b 67 65 74 20 6f 72 20 72 65 61 64 20 73 79 73 74 65 6d 0d 0a 0d ┆l GETPUT ;get or read system ┆ 0x2ef80…2efa0 0a 09 6c 78 69 09 68 2c 52 57 09 09 3b 6c 6f 61 64 20 61 64 64 72 65 73 73 0d 0a 09 6d 76 69 09 ┆ lxi h,RW ;load address mvi ┆ 0x2efa0…2efc0 6d 2c 31 0d 0a 09 4c 44 41 09 50 44 49 53 4b 0d 0a 09 63 61 6c 6c 09 47 45 54 50 55 54 09 09 3b ┆m,1 LDA PDISK call GETPUT ;┆ 0x2efc0…2efe0 74 6f 20 70 75 74 20 73 79 73 74 65 6d 20 62 61 63 6b 20 6f 6e 20 64 69 73 6b 0d 0a 0d 0a 09 6c ┆to put system back on disk l┆ 0x2efe0…2f000 68 6c 64 09 74 72 61 63 6b 0d 0a 09 6c 78 69 09 64 2c 6d 61 78 63 6f 75 6e 74 0d 0a 09 64 61 64 ┆hld track lxi d,maxcount dad┆ 0x2f000…2f020 (23, 1, 1) 09 64 0d 0a 09 73 68 6c 64 09 74 72 61 63 6b 0d 0a 09 6d 76 69 09 61 2c 6d 61 78 74 72 6b 0d 0a ┆ d shld track mvi a,maxtrk ┆ 0x2f020…2f040 09 63 6d 70 09 6c 0d 0a 09 6a 7a 09 64 6f 6e 65 24 65 78 69 74 0d 0a 09 6a 6d 70 09 74 72 6b 24 ┆ cmp l jz done$exit jmp trk$┆ 0x2f040…2f060 6c 6f 6f 70 0d 0a 0d 0a 0d 0a 64 6f 6e 65 24 65 78 69 74 3a 0d 0a 3b 2d 2d 2d 2d 2d 2d 0d 0a 09 ┆loop done$exit: ;------ ┆ 0x2f060…2f080 6c 78 69 09 64 2c 44 4f 4e 45 0d 0a 09 63 61 6c 6c 09 4f 55 54 4d 53 47 09 09 3b 70 72 69 6e 74 ┆lxi d,DONE call OUTMSG ;print┆ 0x2f080…2f0a0 20 6f 75 74 20 65 6e 64 20 70 72 6f 6d 70 74 0d 0a 0d 0a 52 45 42 4f 4f 54 3a 0d 0a 09 6d 76 69 ┆ out end prompt REBOOT: mvi┆ 0x2f0a0…2f0c0 09 63 2c 31 33 0d 0a 09 63 61 6c 6c 09 42 44 4f 53 0d 0a 09 63 61 6c 6c 09 43 52 4c 46 0d 0a 09 ┆ c,13 call BDOS call CRLF ┆ 0x2f0c0…2f0e0 6a 6d 70 09 42 4f 4f 54 0d 0a 0d 0a 0d 0a 42 41 44 44 49 53 4b 3a 0d 0a 09 6c 78 69 09 64 2c 51 ┆jmp BOOT BADDISK: lxi d,Q┆ 0x2f0e0…2f100 44 49 53 4b 0d 0a 09 63 61 6c 6c 09 43 52 4d 53 47 0d 0a 09 72 65 74 0d 0a 0d 0a 0d 0a 3b 3d 3d ┆DISK call CRMSG ret ;==┆ 0x2f100…2f120 (23, 1, 2) 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆================================┆ […0x1…] 0x2f140…2f160 3d 3d 3d 3d 3d 3d 0d 0a 3b 20 55 74 69 6c 69 74 79 20 73 75 62 72 6f 75 74 69 6e 65 73 09 09 09 ┆====== ; Utility subroutines ┆ 0x2f160…2f180 09 09 09 09 3d 0d 0a 3b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆ = ;========================┆ 0x2f180…2f1a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆================================┆ 0x2f1a0…2f1c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 42 49 4f 53 3a 0d 0a 09 53 54 41 09 42 49 ┆================ BIOS: STA BI┆ 0x2f1c0…2f1e0 4f 53 46 43 09 09 3b 44 49 52 45 43 54 20 42 49 4f 53 20 43 41 4c 4c 20 0d 0a 09 4d 56 49 09 43 ┆OSFC ;DIRECT BIOS CALL MVI C┆ 0x2f1e0…2f200 2c 44 52 42 49 4f 53 09 3b 0d 0a 09 4c 58 49 09 44 2c 42 49 4f 53 50 42 09 3b 0d 0a 09 43 41 4c ┆,DRBIOS ; LXI D,BIOSPB ; CAL┆ 0x2f200…2f220 (23, 1, 3) 4f 53 09 09 3b 67 65 74 20 63 75 72 64 73 6b 0d 0a 09 61 64 69 09 27 41 27 0d 0a 09 73 74 61 09 ┆OS ;get curdsk adi 'A' sta ┆ 0x2f220…2f240 47 44 49 53 4b 0d 0a 09 63 61 6c 6c 09 43 52 4c 46 0d 0a 09 6c 78 69 09 64 2c 56 45 52 47 45 54 ┆GDISK call CRLF lxi d,VERGET┆ 0x2f240…2f260 0d 0a 09 63 61 6c 6c 09 4f 55 54 4d 53 47 0d 0a 09 6a 6d 70 09 56 45 52 43 52 0d 0a 3b 0d 0a 47 ┆ call OUTMSG jmp VERCR ; G┆ 0x2f260…2f280 45 54 56 45 52 3a 09 0d 0a 3b 20 47 65 74 73 79 73 20 73 65 74 20 72 2f 77 20 74 6f 20 72 65 61 ┆ETVER: ; Getsys set r/w to rea┆ 0x2f280…2f2a0 64 20 61 6e 64 20 67 65 74 20 74 68 65 20 73 79 73 74 65 6d 0d 0a 09 63 61 6c 6c 09 43 52 4c 46 ┆d and get the system call CRLF┆ 0x2f2a0…2f2c0 0d 0a 09 6c 78 69 09 64 2c 56 45 52 47 45 54 09 3b 76 65 72 69 66 79 20 73 6f 75 72 63 65 20 64 ┆ lxi d,VERGET ;verify source d┆ 0x2f2c0…2f2e0 69 73 6b 0d 0a 09 63 61 6c 6c 09 4f 55 54 4d 53 47 0d 0a 56 45 52 43 52 3a 09 63 61 6c 6c 09 47 ┆isk call OUTMSG VERCR: call G┆ 0x2f2e0…2f300 45 54 43 48 41 52 0d 0a 09 63 70 69 09 43 52 0d 0a 09 6a 6e 7a 09 52 45 42 4f 4f 54 09 09 3b 6a ┆ETCHAR cpi CR jnz REBOOT ;j┆ 0x2f300…2f320 (23, 1, 4) 6d 70 20 6f 6e 6c 79 20 69 66 20 6e 6f 74 20 76 65 72 69 66 69 65 64 0d 0a 09 63 61 6c 6c 09 43 ┆mp only if not verified call C┆ 0x2f320…2f340 52 4c 46 0d 0a 09 72 65 74 0d 0a 0d 0a 3b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆RLF ret ;==================┆ 0x2f340…2f360 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆================================┆ 0x2f360…2f380 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 44 45 53 ┆=========================== DES┆ 0x2f380…2f3a0 54 49 4e 3a 0d 0a 09 6c 78 69 09 64 2c 50 55 54 50 52 4d 09 3b 61 64 64 72 65 73 73 20 6f 66 20 ┆TIN: lxi d,PUTPRM ;address of ┆ 0x2f3a0…2f3c0 6d 65 73 73 61 67 65 0d 0a 09 63 61 6c 6c 09 43 52 4d 53 47 09 09 3b 70 72 69 6e 74 20 69 74 0d ┆message call CRMSG ;print it ┆ 0x2f3c0…2f3e0 0a 09 63 61 6c 6c 09 47 45 54 43 48 41 52 09 09 3b 67 65 74 20 61 6e 73 77 65 72 0d 0a 09 63 70 ┆ call GETCHAR ;get answer cp┆ 0x2f3e0…2f400 69 09 43 52 0d 0a 09 6a 7a 09 52 45 42 4f 4f 54 09 09 3b 61 6c 6c 20 64 6f 6e 65 0d 0a 09 63 70 ┆i CR jz REBOOT ;all done cp┆ 0x2f400…2f420 (23, 1, 5) 4c 09 42 44 4f 53 09 09 3b 0d 0a 09 52 45 54 09 09 09 3b 0d 0a 3b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆L BDOS ; RET ; ;==========┆ 0x2f420…2f440 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆================================┆ 0x2f440…2f460 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d ┆=============================== ┆ 0x2f460…2f480 0a 47 45 54 43 48 41 52 3a 09 09 09 3b 20 52 65 61 64 20 63 6f 6e 73 6f 6c 65 20 63 68 61 72 61 ┆ GETCHAR: ; Read console chara┆ 0x2f480…2f4a0 63 74 65 72 20 74 6f 20 72 41 0d 0a 09 6d 76 69 09 63 2c 43 4f 4e 49 0d 0a 09 63 61 6c 6c 09 42 ┆cter to rA mvi c,CONI call B┆ 0x2f4a0…2f4c0 44 4f 53 0d 0a 09 09 09 09 3b 20 43 6f 6e 76 65 72 74 20 74 6f 20 75 70 70 65 72 20 63 61 73 65 ┆DOS ; Convert to upper case┆ 0x2f4c0…2f4e0 0d 0a 09 63 70 69 09 27 41 27 20 6f 72 20 32 30 68 0d 0a 09 72 63 0d 0a 09 63 70 69 09 28 27 5a ┆ cpi 'A' or 20h rc cpi ('Z┆ 0x2f4e0…2f500 27 20 6f 72 20 32 30 68 29 2b 31 0d 0a 09 72 6e 63 0d 0a 09 61 6e 69 09 30 35 46 68 0d 0a 09 72 ┆' or 20h)+1 rnc ani 05Fh r┆ 0x2f500…2f520 (23, 1, 6) 65 74 0d 0a 0d 0a 3b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆et ;=========================┆ 0x2f520…2f540 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆================================┆ 0x2f540…2f560 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 50 55 54 43 48 41 52 3a 09 09 ┆==================== PUTCHAR: ┆ 0x2f560…2f580 09 3b 20 57 72 69 74 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 72 41 20 74 6f 20 63 6f ┆ ; Write character from rA to co┆ 0x2f580…2f5a0 6e 73 6f 6c 65 0d 0a 09 6d 6f 76 09 65 2c 61 0d 0a 09 6d 76 69 09 63 2c 43 4f 4e 4f 0d 0a 09 63 ┆nsole mov e,a mvi c,CONO c┆ 0x2f5a0…2f5c0 61 6c 6c 09 42 44 4f 53 0d 0a 09 72 65 74 0d 0a 0d 0a 3b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆all BDOS ret ;=============┆ 0x2f5c0…2f5e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆================================┆ […0x1…] 0x2f600…2f620 (23, 1, 7) 69 09 27 47 27 0d 0a 09 6a 7a 09 70 75 74 63 0d 0a 09 63 70 69 09 27 48 27 0d 0a 09 6a 7a 09 70 ┆i 'G' jz putc cpi 'H' jz p┆ 0x2f620…2f640 75 74 63 0d 0a 3b 0d 0a 3b 20 49 6e 76 61 6c 69 64 20 64 72 69 76 65 0d 0a 09 63 61 6c 6c 09 42 ┆utc ; ; Invalid drive call B┆ 0x2f640…2f660 41 44 44 49 53 4b 09 09 3b 74 65 6c 6c 20 75 73 65 72 20 62 61 64 20 64 72 69 76 65 0d 0a 09 6a ┆ADDISK ;tell user bad drive j┆ 0x2f660…2f680 6d 70 09 64 65 73 74 69 6e 09 09 3b 74 6f 20 74 72 79 20 61 67 61 69 6e 0d 0a 0d 0a 3b 0d 0a 50 ┆mp destin ;to try again ; P┆ 0x2f680…2f6a0 55 54 43 3a 0d 0a 3b 20 53 65 74 20 64 69 73 6b 20 66 72 6f 6d 20 72 41 0d 0a 09 73 74 61 09 50 ┆UTC: ; Set disk from rA sta P┆ 0x2f6a0…2f6c0 44 49 53 4b 09 09 3b 6d 65 73 73 61 67 65 20 73 65 6e 74 0d 0a 0d 0a 3b 20 50 75 74 20 73 79 73 ┆DISK ;message sent ; Put sys┆ 0x2f6c0…2f6e0 74 65 6d 2c 20 73 65 74 20 72 2f 77 20 74 6f 20 77 72 69 74 65 0d 0a 09 6c 78 69 09 64 2c 56 45 ┆tem, set r/w to write lxi d,VE┆ 0x2f6e0…2f700 52 50 55 54 09 3b 76 65 72 69 66 79 20 64 65 73 74 20 70 72 6d 70 74 0d 0a 09 63 61 6c 6c 09 43 ┆RPUT ;verify dest prmpt call C┆ 0x2f700…2f720 (23, 1, 8) 52 4d 53 47 09 09 3b 70 72 69 6e 74 20 69 74 20 6f 75 74 0d 0a 09 63 61 6c 6c 09 47 45 54 43 48 ┆RMSG ;print it out call GETCH┆ 0x2f720…2f740 41 52 09 09 3b 72 65 74 72 69 65 76 65 20 61 6e 73 77 65 72 0d 0a 09 63 70 69 09 43 52 09 0d 0a ┆AR ;retrieve answer cpi CR ┆ 0x2f740…2f760 09 6a 6e 7a 09 52 45 42 4f 4f 54 09 09 3b 65 78 69 74 20 74 6f 20 73 79 73 74 65 6d 20 69 66 20 ┆ jnz REBOOT ;exit to system if ┆ 0x2f760…2f780 65 72 72 6f 72 0d 0a 09 63 61 6c 6c 09 43 52 4c 46 0d 0a 09 72 65 74 0d 0a 3b 0d 0a 3b 2d 2d 2d ┆error call CRLF ret ; ;---┆ 0x2f780…2f7a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x2f7a0…2f7c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 47 45 54 50 55 54 3a 0d 0a 3b 20 47 65 74 20 6f 72 ┆------------- GETPUT: ; Get or┆ 0x2f7c0…2f7e0 20 70 75 74 20 43 50 2f 4d 20 28 72 77 20 3d 20 30 20 66 6f 72 20 72 65 61 64 2c 20 31 20 66 6f ┆ put CP/M (rw = 0 for read, 1 fo┆ 0x2f7e0…2f800 72 20 77 72 69 74 65 29 0d 0a 3b 20 64 69 73 6b 20 69 73 20 61 6c 72 65 61 64 79 20 73 65 6c 65 ┆r write) ; disk is already sele┆ 0x2f800…2f820 (23, 1, 9) 0d 0a 43 52 4c 46 3a 09 09 09 09 3b 20 53 65 6e 64 20 43 61 72 72 69 61 67 65 20 52 65 74 75 72 ┆ CRLF: ; Send Carriage Retur┆ 0x2f820…2f840 6e 2c 20 4c 69 6e 65 20 46 65 65 64 0d 0a 09 6d 76 69 09 61 2c 43 52 0d 0a 09 63 61 6c 6c 09 50 ┆n, Line Feed mvi a,CR call P┆ 0x2f840…2f860 55 54 43 48 41 52 0d 0a 09 6d 76 69 09 61 2c 4c 46 0d 0a 09 63 61 6c 6c 09 50 55 54 43 48 41 52 ┆UTCHAR mvi a,LF call PUTCHAR┆ 0x2f860…2f880 0d 0a 09 72 65 74 0d 0a 0d 0a 3b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆ ret ;=====================┆ 0x2f880…2f8a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆================================┆ 0x2f8a0…2f8c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 43 52 4d 53 47 3a ┆======================== CRMSG:┆ 0x2f8c0…2f8e0 09 09 09 09 3b 50 72 69 6e 74 20 6d 65 73 73 61 67 65 20 61 64 64 72 65 73 73 65 64 20 62 79 20 ┆ ;Print message addressed by ┆ 0x2f8e0…2f900 74 68 65 20 48 4c 0d 0a 09 09 09 09 3b 20 75 6e 74 69 6c 20 7a 65 72 6f 20 77 69 74 68 20 6c 65 ┆the HL ; until zero with le┆ 0x2f900…2f920 (23, 1, 10) 61 64 69 6e 67 20 43 52 4c 46 0d 0a 09 70 75 73 68 09 64 0d 0a 09 63 61 6c 6c 09 43 52 4c 46 0d ┆ading CRLF push d call CRLF ┆ 0x2f920…2f940 0a 09 70 6f 70 09 64 09 09 3b 64 72 6f 70 20 74 68 72 6f 75 67 68 20 74 6f 20 4f 55 54 4d 53 47 ┆ pop d ;drop through to OUTMSG┆ 0x2f940…2f960 0d 0a 4f 55 54 4d 53 47 3a 0d 0a 09 6d 76 69 09 63 2c 39 0d 0a 09 6a 6d 70 09 42 44 4f 53 0d 0a ┆ OUTMSG: mvi c,9 jmp BDOS ┆ 0x2f960…2f980 0d 0a 3b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆ ;=============================┆ 0x2f980…2f9a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆================================┆ 0x2f9a0…2f9c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 53 45 4c 43 54 3a 09 09 09 09 3b 20 53 65 ┆================ SELCT: ; Se┆ 0x2f9c0…2f9e0 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 72 45 0d 0a 09 6d 76 69 09 63 2c 30 45 ┆lect disk given by rE mvi c,0E┆ 0x2f9e0…2fa00 68 0d 0a 09 6a 6d 70 09 42 44 4f 53 0d 0a 3b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆h jmp BDOS ;=================┆ 0x2fa00…2fa20 (23, 1, 11) 63 74 65 64 0d 0a 0d 0a 09 53 55 49 09 27 41 27 0d 0a 09 4d 56 49 09 44 2c 30 0d 0a 09 4d 4f 56 ┆cted SUI 'A' MVI D,0 MOV┆ 0x2fa20…2fa40 09 45 2c 41 0d 0a 09 43 41 4c 4c 09 53 45 4c 43 54 09 09 3b 53 45 4c 45 43 54 20 44 52 49 56 45 ┆ E,A CALL SELCT ;SELECT DRIVE┆ 0x2fa40…2fa60 0d 0a 0d 0a 0d 0a 09 6c 78 69 09 68 2c 4c 4f 41 44 50 09 09 3b 6c 6f 61 64 20 70 6f 69 6e 74 20 ┆ lxi h,LOADP ;load point ┆ 0x2fa60…2fa80 69 6e 20 52 41 4d 20 66 6f 72 20 44 4d 41 20 61 64 64 72 65 73 73 0d 0a 09 73 68 6c 64 09 44 4d ┆in RAM for DMA address shld DM┆ 0x2fa80…2faa0 41 44 44 52 0d 0a 09 6c 68 6c 64 09 74 72 61 63 6b 0d 0a 09 64 63 78 09 68 0d 0a 09 73 68 6c 64 ┆ADDR lhld track dcx h shld┆ 0x2faa0…2fac0 09 6d 74 72 61 63 6b 0d 0a 09 6d 76 69 09 61 2c 2d 31 0d 0a 09 73 74 61 09 63 6f 75 6e 74 0d 0a ┆ mtrack mvi a,-1 sta count ┆ 0x2fac0…2fae0 52 57 54 52 4b 3a 20 09 09 09 09 3b 20 52 65 61 64 20 6f 72 20 77 72 69 74 65 20 6e 65 78 74 20 ┆RWTRK: ; Read or write next ┆ 0x2fae0…2fb00 74 72 61 63 6b 0d 0a 09 6c 64 61 09 63 6f 75 6e 74 0d 0a 09 69 6e 72 09 61 0d 0a 09 73 74 61 09 ┆track lda count inr a sta ┆ 0x2fb00…2fb20 (23, 1, 12) 63 6f 75 6e 74 0d 0a 09 63 70 69 09 6d 61 78 63 6f 75 6e 74 0d 0a 09 72 7a 0d 0a 09 6c 68 6c 64 ┆count cpi maxcount rz lhld┆ 0x2fb20…2fb40 09 6d 74 72 61 63 6b 09 09 3b 74 72 61 63 6b 20 6e 6f 0d 0a 09 69 6e 78 09 68 0d 0a 09 73 68 6c ┆ mtrack ;track no inx h shl┆ 0x2fb40…2fb60 64 09 6d 74 72 61 63 6b 0d 0a 09 53 48 4c 44 09 42 43 52 45 47 09 09 3b 73 65 74 20 75 70 20 50 ┆d mtrack SHLD BCREG ;set up P┆ 0x2fb60…2fb80 42 0d 0a 09 6d 76 69 09 61 2c 53 45 54 54 52 4b 09 3b 73 65 74 74 72 6b 20 66 75 6e 63 20 23 0d ┆B mvi a,SETTRK ;settrk func # ┆ 0x2fb80…2fba0 0a 09 43 41 4c 4c 09 42 49 4f 53 0d 0a 0d 0a 09 6c 68 6c 64 09 44 4d 41 44 44 52 09 09 3b 62 61 ┆ CALL BIOS lhld DMADDR ;ba┆ 0x2fba0…2fbc0 73 65 20 44 4d 41 0d 0a 09 53 48 4c 44 09 42 43 52 45 47 09 09 3b 0d 0a 09 4c 58 49 09 44 2c 35 ┆se DMA SHLD BCREG ; LXI D,5┆ 0x2fbc0…2fbe0 31 32 2a 38 09 09 3b 0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09 53 48 4c 44 09 44 4d 41 44 44 52 ┆12*8 ; DAD D ; SHLD DMADDR┆ 0x2fbe0…2fc00 09 09 3b 53 41 56 45 20 4e 45 57 20 41 44 44 52 0d 0a 09 4d 56 49 09 41 2c 53 45 54 44 4d 41 0d ┆ ;SAVE NEW ADDR MVI A,SETDMA ┆ 0x2fc00…2fc20 (23, 1, 13) 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ┆================================┆ 0x2fc20…2fc40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 53 4f ┆============================ SO┆ 0x2fc40…2fc60 55 52 43 45 3a 0d 0a 09 6c 78 69 09 64 2c 47 45 54 50 52 4d 09 3b 61 73 6b 20 75 73 65 72 20 66 ┆URCE: lxi d,GETPRM ;ask user f┆ 0x2fc60…2fc80 6f 72 20 73 6f 75 72 63 65 20 64 72 69 76 65 0d 0a 09 63 61 6c 6c 09 43 52 4d 53 47 0d 0a 09 63 ┆or source drive call CRMSG c┆ 0x2fc80…2fca0 61 6c 6c 09 47 45 54 43 48 41 52 09 09 3b 6f 62 74 61 69 6e 20 72 65 73 70 6f 6e 73 65 0d 0a 09 ┆all GETCHAR ;obtain response ┆ 0x2fca0…2fcc0 63 70 69 09 43 52 09 09 3b 69 73 20 69 74 20 43 52 3f 0d 0a 09 6a 7a 09 44 46 4c 54 44 52 09 09 ┆cpi CR ;is it CR? jz DFLTDR ┆ 0x2fcc0…2fce0 3b 73 6b 69 70 20 69 66 20 43 52 20 6f 6e 6c 79 0d 0a 09 63 70 69 09 43 54 4c 43 09 09 3b 69 73 ┆;skip if CR only cpi CTLC ;is┆ 0x2fce0…2fd00 20 69 74 20 5e 43 3f 0d 0a 09 6a 7a 09 52 45 42 4f 4f 54 0d 0a 3b 0d 0a 09 63 70 69 09 27 47 27 ┆ it ^C? jz REBOOT ; cpi 'G'┆ 0x2fd00…2fd20 (23, 1, 14) 0d 0a 09 6a 7a 09 67 65 74 63 0d 0a 09 63 70 69 09 27 48 27 0d 0a 09 6a 7a 09 67 65 74 63 0d 0a ┆ jz getc cpi 'H' jz getc ┆ 0x2fd20…2fd40 3b 0d 0a 3b 20 49 6e 76 61 6c 69 64 20 64 72 69 76 65 0d 0a 09 63 61 6c 6c 09 42 41 44 44 49 53 ┆; ; Invalid drive call BADDIS┆ 0x2fd40…2fd60 4b 09 09 3b 74 65 6c 6c 20 75 73 65 72 20 62 61 64 20 64 72 69 76 65 0d 0a 09 6a 6d 70 09 53 4f ┆K ;tell user bad drive jmp SO┆ 0x2fd60…2fd80 55 52 43 45 09 09 3b 74 72 79 20 61 67 61 69 6e 0d 0a 3b 0d 0a 47 45 54 43 3a 0d 0a 3b 20 53 65 ┆URCE ;try again ; GETC: ; Se┆ 0x2fd80…2fda0 6c 65 63 74 20 64 69 73 6b 20 67 69 76 65 6e 20 62 79 20 41 63 63 2e 0d 0a 09 73 74 61 09 47 44 ┆lect disk given by Acc. sta GD┆ 0x2fda0…2fdc0 49 53 4b 09 09 3b 73 74 6f 72 65 20 73 6f 75 72 63 65 20 64 69 73 6b 0d 0a 09 6a 6d 70 09 47 45 ┆ISK ;store source disk jmp GE┆ 0x2fdc0…2fde0 54 56 45 52 0d 0a 3b 0d 0a 44 46 4c 54 44 52 3a 0d 0a 09 6d 76 69 09 63 2c 32 35 09 09 3b 66 75 ┆TVER ; DFLTDR: mvi c,25 ;fu┆ 0x2fde0…2fe00 6e 63 20 32 35 20 66 6f 72 20 63 75 72 72 65 6e 74 20 64 69 73 6b 0d 0a 09 63 61 6c 6c 09 42 44 ┆nc 25 for current disk call BD┆ 0x2fe00…2fe20 (23, 1, 15) 0a 09 43 41 4c 4c 09 42 49 4f 53 0d 0a 09 78 72 61 09 61 0d 0a 09 73 74 61 09 52 45 54 52 59 09 ┆ CALL BIOS xra a sta RETRY ┆ 0x2fe20…2fe40 09 3b 74 6f 20 73 65 74 20 7a 65 72 6f 20 72 65 74 72 69 65 73 0d 0a 3b 0d 0a 54 52 59 53 45 43 ┆ ;to set zero retries ; TRYSEC┆ 0x2fe40…2fe60 3a 0d 0a 3b 20 54 72 79 20 74 6f 20 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 63 75 72 72 65 6e ┆: ; Try to read or write curren┆ 0x2fe60…2fe80 74 20 73 65 63 74 6f 72 0d 0a 09 6c 64 61 09 52 45 54 52 59 0d 0a 09 63 70 69 09 4d 41 58 54 52 ┆t sector lda RETRY cpi MAXTR┆ 0x2fe80…2fea0 59 0d 0a 09 6a 63 09 54 52 59 4f 4b 0d 0a 3b 0d 0a 3b 20 50 61 73 74 20 4d 41 58 54 52 59 2c 20 ┆Y jc TRYOK ; ; Past MAXTRY, ┆ 0x2fea0…2fec0 6d 65 73 73 61 67 65 20 61 6e 64 20 69 67 6e 6f 72 65 0d 0a 09 6c 78 69 09 64 2c 45 52 52 4d 53 ┆message and ignore lxi d,ERRMS┆ 0x2fec0…2fee0 47 0d 0a 09 63 61 6c 6c 09 4f 55 54 4d 53 47 0d 0a 09 63 61 6c 6c 09 47 45 54 43 48 41 52 0d 0a ┆G call OUTMSG call GETCHAR ┆ 0x2fee0…2ff00 09 63 70 69 09 43 52 0d 0a 09 6a 6e 7a 09 52 45 42 4f 4f 54 0d 0a 3b 0d 0a 3b 20 54 79 70 65 64 ┆ cpi CR jnz REBOOT ; ; Typed┆ 0x2ff00…2ff20 (23, 1, 16) 20 61 20 43 52 2c 20 6f 6b 20 74 6f 20 69 67 6e 6f 72 65 0d 0a 09 63 61 6c 6c 09 43 52 4c 46 0d ┆ a CR, ok to ignore call CRLF ┆ 0x2ff20…2ff40 0a 09 6a 6d 70 09 72 77 74 72 6b 0d 0a 3b 0d 0a 54 52 59 4f 4b 3a 0d 0a 3b 20 6f 6b 20 74 6f 20 ┆ jmp rwtrk ; TRYOK: ; ok to ┆ 0x2ff40…2ff60 74 72 79 20 72 65 61 64 20 77 72 69 74 65 0d 0a 09 69 6e 72 09 61 0d 0a 09 73 74 61 09 52 45 54 ┆try read write inr a sta RET┆ 0x2ff60…2ff80 52 59 09 0d 0a 09 6c 64 61 09 52 57 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 7a 09 54 52 59 52 45 41 ┆RY lda RW ora a jz TRYREA┆ 0x2ff80…2ffa0 44 0d 0a 3b 0d 0a 3b 20 4d 75 73 74 20 62 65 20 77 72 69 74 65 0d 0a 09 09 09 09 3b 20 50 65 72 ┆D ; ; Must be write ; Per┆ 0x2ffa0…2ffc0 66 6f 72 6d 20 77 72 69 74 65 20 74 72 61 63 6b 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 6c 78 69 ┆form write track operation lxi┆ 0x2ffc0…2ffe0 09 68 2c 77 72 24 74 72 61 63 6b 0d 0a 09 73 68 6c 64 09 62 63 72 65 67 0d 0a 09 6d 76 69 09 61 ┆ h,wr$track shld bcreg mvi a┆ 0x2ffe0…30000 2c 75 74 69 6c 69 74 79 0d 0a 09 43 41 4c 4c 09 42 49 4f 53 0d 0a 09 6a 6d 70 09 43 48 4b 52 57 ┆,utility CALL BIOS jmp CHKRW┆ 0x30000…30020 (24, 0, 1) 0d 0a 0d 0a 54 52 59 52 45 41 44 3a 09 09 09 3b 20 50 65 72 66 6f 72 6d 20 72 65 61 64 20 74 72 ┆ TRYREAD: ; Perform read tr┆ 0x30020…30040 61 63 6b 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 6c 78 69 09 68 2c 72 64 24 74 72 61 63 6b 0d 0a ┆ack operation lxi h,rd$track ┆ 0x30040…30060 09 73 68 6c 64 09 62 63 72 65 67 0d 0a 09 6d 76 69 09 61 2c 75 74 69 6c 69 74 79 0d 0a 09 43 41 ┆ shld bcreg mvi a,utility CA┆ 0x30060…30080 4c 4c 09 42 49 4f 53 0d 0a 43 48 4b 52 57 3a 0d 0a 09 6f 72 61 09 61 0d 0a 09 6a 7a 09 52 57 74 ┆LL BIOS CHKRW: ora a jz RWt┆ 0x30080…300a0 72 6b 09 09 3b 7a 65 72 6f 20 66 6c 61 67 20 69 66 20 72 65 61 64 2f 77 72 69 74 65 20 6f 6b 0d ┆rk ;zero flag if read/write ok ┆ 0x300a0…300c0 0a 3b 0d 0a 3b 45 72 72 6f 72 2c 20 72 65 74 72 79 20 6f 70 65 72 61 74 69 6f 6e 0d 0a 09 6a 6d ┆ ; ;Error, retry operation jm┆ 0x300c0…300e0 70 09 54 52 59 53 45 43 0d 0a 3b 0d 0a 3b 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆p TRYSEC ; ; ;***************┆ 0x300e0…30100 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 2a 0d 0a 3b 2a 0d 0a 3b 2a 09 44 41 54 41 20 53 ┆************* ;* ;* ;* DATA S┆ 0x30100…30120 (24, 0, 2) 54 52 55 43 54 55 52 45 53 20 20 20 20 20 0d 0a 3b 2a 0d 0a 3b 2a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a ┆TRUCTURES ;* ;* ;*******┆ 0x30120…30140 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 0d 0a 42 49 4f 53 50 42 ┆********************* ; BIOSPB┆ 0x30140…30160 3a 0d 0a 3b 20 42 49 4f 53 20 50 61 72 61 6d 65 74 65 72 20 42 6c 6f 63 6b 0d 0a 42 49 4f 53 46 ┆: ; BIOS Parameter Block BIOSF┆ 0x30160…30180 43 3a 09 64 62 09 30 09 09 3b 42 49 4f 53 20 66 75 6e 63 74 69 6f 6e 20 6e 75 6d 62 65 72 0d 0a ┆C: db 0 ;BIOS function number ┆ 0x30180…301a0 41 52 45 47 3a 09 64 62 09 30 09 09 3b 41 20 72 65 67 69 73 74 65 72 20 63 6f 6e 74 65 6e 74 73 ┆AREG: db 0 ;A register contents┆ 0x301a0…301c0 0d 0a 42 43 52 45 47 3a 09 44 57 09 30 09 09 3b 42 43 20 72 65 67 69 73 74 65 72 20 63 6f 6e 74 ┆ BCREG: DW 0 ;BC register cont┆ 0x301c0…301e0 65 6e 74 73 0d 0a 44 45 52 45 47 3a 09 44 57 09 30 09 09 3b 44 45 20 72 65 67 69 73 74 65 72 20 ┆ents DEREG: DW 0 ;DE register ┆ 0x301e0…30200 63 6f 6e 74 65 6e 74 73 0d 0a 48 4c 52 45 47 3a 09 64 77 09 30 09 09 3b 48 4c 20 72 65 67 69 73 ┆contents HLREG: dw 0 ;HL regis┆ 0x30200…30300 (24, 0, 3) DataBlock {»MOVE.ASM«} […0x1…] 0x30400…30420 (24, 0, 5) 74 65 72 20 63 6f 6e 74 65 6e 74 73 0d 0a 3b 0d 0a 3b 0d 0a 53 44 49 53 4b 3a 09 64 73 09 31 09 ┆ter contents ; ; SDISK: ds 1 ┆ 0x30420…30440 09 3b 73 65 6c 65 63 74 65 64 20 64 69 73 6b 0d 0a 42 45 47 49 4e 3a 09 64 77 09 30 0d 0a 44 46 ┆ ;selected disk BEGIN: dw 0 DF┆ 0x30440…30460 4c 41 47 3a 09 64 62 09 30 0d 0a 6d 74 72 61 63 6b 3a 09 64 77 09 30 0d 0a 74 72 61 63 6b 3a 09 ┆LAG: db 0 mtrack: dw 0 track: ┆ 0x30460…30480 64 77 09 30 09 09 3b 63 75 72 72 65 6e 74 20 74 72 61 63 6b 0d 0a 63 6f 75 6e 74 3a 09 64 62 09 ┆dw 0 ;current track count: db ┆ 0x30480…304a0 30 0d 0a 43 52 4e 52 45 43 3a 09 64 62 09 30 09 09 3b 63 75 72 72 65 6e 74 20 72 65 63 20 63 6f ┆0 CRNREC: db 0 ;current rec co┆ 0x304a0…304c0 75 6e 74 0d 0a 53 45 43 54 4f 52 3a 09 64 73 09 31 09 09 3b 63 75 72 72 65 6e 74 20 73 65 63 74 ┆unt SECTOR: ds 1 ;current sect┆ 0x304c0…304e0 6f 72 0d 0a 52 57 3a 09 64 73 09 31 09 09 3b 72 65 61 64 20 69 66 20 30 20 77 72 69 74 65 20 69 ┆or RW: ds 1 ;read if 0 write i┆ 0x304e0…30500 66 20 31 0d 0a 44 4d 41 44 44 52 3a 09 64 73 09 32 09 09 3b 63 75 72 72 65 6e 74 20 44 4d 41 20 ┆f 1 DMADDR: ds 2 ;current DMA ┆ 0x30500…30520 (24, 0, 6) 61 64 64 72 65 73 73 0d 0a 52 45 54 52 59 3a 09 64 73 09 31 09 09 3b 6e 75 6d 62 65 72 20 6f 66 ┆address RETRY: ds 1 ;number of┆ 0x30520…30540 20 74 72 69 65 73 20 6f 6e 20 74 68 69 73 20 73 65 63 74 6f 72 0d 0a 0d 0a 53 49 47 4e 4f 4e 3a ┆ tries on this sector SIGNON:┆ 0x30540…30560 09 64 62 09 27 43 50 2f 4d 20 50 4c 55 53 20 46 43 4f 50 59 20 28 43 52 31 36 2d 66 6f 72 6d 61 ┆ db 'CP/M PLUS FCOPY (CR16-forma┆ 0x30560…30580 74 29 2d 20 56 65 72 73 69 6f 6e 20 27 0d 0a 09 64 62 09 43 56 45 52 53 2f 31 30 2b 27 30 27 2c ┆t)- Version ' db CVERS/10+'0',┆ 0x30580…305a0 27 2e 27 2c 43 56 45 52 53 20 6d 6f 64 20 31 30 20 2b 27 30 27 0d 0a 09 64 62 09 27 24 27 0d 0a ┆'.',CVERS mod 10 +'0' db '$' ┆ 0x305a0…305c0 47 45 54 50 52 4d 3a 09 64 62 09 27 53 6f 75 72 63 65 20 64 72 69 76 65 20 6e 61 6d 65 20 28 6f ┆GETPRM: db 'Source drive name (o┆ 0x305c0…305e0 72 20 72 65 74 75 72 6e 20 66 6f 72 20 64 65 66 61 75 6c 74 29 20 24 27 0d 0a 56 45 52 47 45 54 ┆r return for default) $' VERGET┆ 0x305e0…30600 3a 09 64 62 09 27 53 6f 75 72 63 65 20 6f 6e 20 27 0d 0a 47 44 49 53 4b 3a 09 64 73 09 31 0d 0a ┆: db 'Source on ' GDISK: ds 1 ┆ 0x30600…30700 (24, 0, 7) DataBlock {»MOVE.ASM«} […0x1…] 0x30800…30820 (24, 0, 9) 09 64 62 09 27 20 74 68 65 6e 20 74 79 70 65 20 72 65 74 75 72 6e 20 24 27 0d 0a 50 55 54 50 52 ┆ db ' then type return $' PUTPR┆ 0x30820…30840 4d 3a 09 64 62 09 27 44 65 73 74 69 6e 61 74 69 6f 6e 20 64 72 69 76 65 20 6e 61 6d 65 20 28 6f ┆M: db 'Destination drive name (o┆ 0x30840…30860 72 20 72 65 74 75 72 6e 20 74 6f 20 72 65 62 6f 6f 74 29 20 24 27 0d 0a 56 45 52 50 55 54 3a 09 ┆r return to reboot) $' VERPUT: ┆ 0x30860…30880 64 62 09 27 44 65 73 74 69 6e 61 74 69 6f 6e 20 6f 6e 20 27 0d 0a 50 44 49 53 4b 3a 09 64 73 09 ┆db 'Destination on ' PDISK: ds ┆ 0x30880…308a0 31 0d 0a 09 64 62 09 27 20 74 68 65 6e 20 74 79 70 65 20 72 65 74 75 72 6e 20 24 27 0d 0a 43 50 ┆1 db ' then type return $' CP┆ 0x308a0…308c0 59 4d 53 47 3a 09 64 62 09 27 44 6f 20 79 6f 75 20 77 69 73 68 20 74 6f 20 63 6f 70 79 20 43 50 ┆YMSG: db 'Do you wish to copy CP┆ 0x308c0…308e0 4d 33 2e 53 59 53 3f 20 24 27 0d 0a 44 4f 4e 45 3a 09 64 62 09 27 46 75 6e 63 74 69 6f 6e 20 63 ┆M3.SYS? $' DONE: db 'Function c┆ 0x308e0…30900 6f 6d 70 6c 65 74 65 24 27 0d 0a 3b 0d 0a 3b 20 45 72 72 6f 72 20 6d 65 73 73 61 67 65 73 2e 2e ┆omplete$' ; ; Error messages..┆ 0x30900…30920 (24, 0, 10) 2e 2e 2e 2e 0d 0a 3b 0d 0a 52 45 51 43 50 4d 33 3a 64 62 09 27 52 65 71 75 69 72 65 73 20 43 50 ┆.... ; REQCPM3:db 'Requires CP┆ 0x30920…30940 2f 4d 20 50 4c 55 53 2e 24 27 0d 0a 71 64 69 73 6b 3a 09 64 62 09 27 45 52 52 4f 52 3a 20 49 6e ┆/M PLUS.$' qdisk: db 'ERROR: In┆ 0x30940…30960 76 61 6c 69 64 20 64 72 69 76 65 20 6e 61 6d 65 2e 24 27 0d 0a 46 53 50 41 43 45 3a 09 64 62 09 ┆valid drive name.$' FSPACE: db ┆ 0x30960…30980 27 45 52 52 4f 52 3a 20 4f 75 74 20 6f 66 20 64 61 74 61 20 73 70 61 63 65 2e 24 27 0d 0a 57 52 ┆'ERROR: Out of data space.$' WR┆ 0x30980…309a0 50 52 4f 54 3a 09 64 62 09 27 45 52 52 4f 52 3a 20 57 72 69 74 65 20 70 72 6f 74 65 63 74 65 64 ┆PROT: db 'ERROR: Write protected┆ 0x309a0…309c0 3f 24 27 0d 0a 45 52 52 4d 53 47 3a 20 64 62 09 27 45 52 52 4f 52 3a 20 50 6f 73 73 69 62 6c 65 ┆?$' ERRMSG: db 'ERROR: Possible┆ 0x309c0…309e0 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 64 69 73 6b 20 66 6f 72 6d 61 74 2e 27 0d 0a 09 64 62 ┆ incompatible disk format.' db┆ 0x309e0…30a00 09 43 52 2c 4c 46 2c 27 20 54 79 70 65 20 72 65 74 75 72 6e 20 74 6f 20 69 67 6e 6f 72 65 2e 24 ┆ CR,LF,' Type return to ignore.$┆ 0x30a00…30b00 (24, 0, 11) DataBlock {»MOVE.ASM«} […0x1…] 0x30c00…30c20 (24, 0, 13) 27 20 0d 0a 3b 0d 0a 09 64 73 09 53 54 41 43 4b 53 49 5a 45 20 2a 20 33 0d 0a 53 54 41 43 4b 3a ┆' ; ds STACKSIZE * 3 STACK:┆ 0x30c20…30c40 0d 0a 09 65 6e 64 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ end ┆ 0x30c40…30c60 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ ┆ […0x1…] 0x30c80…30ca0 09 3b 0d 0a 09 4c 58 49 09 44 2c 43 43 50 24 46 43 42 09 09 3b 0d 0a 09 43 41 4c 4c 09 4f 50 45 ┆ ; LXI D,CCP$FCB ; CALL OPE┆ 0x30ca0…30cc0 4e 09 09 09 3b 4f 50 45 4e 20 46 49 4c 45 20 43 4f 4e 54 41 49 4e 49 4e 47 20 43 43 50 0d 0a 09 ┆N ;OPEN FILE CONTAINING CCP ┆ 0x30cc0…30ce0 49 4e 52 09 41 09 09 09 3b 0d 0a 09 4a 5a 09 4e 4f 24 43 43 50 09 09 09 3b 45 52 52 4f 52 20 49 ┆INR A ; JZ NO$CCP ;ERROR I┆ 0x30ce0…30d00 46 20 4e 4f 20 46 49 4c 45 0d 0a 09 4c 58 49 09 44 2c 31 30 30 48 09 09 09 3b 53 54 41 52 54 20 ┆F NO FILE LXI D,100H ;START ┆ 0x30d00…30d20 (24, 0, 14) 4f 46 20 54 50 41 0d 0a 09 43 41 4c 4c 09 53 45 54 44 4d 41 09 09 09 3b 0d 0a 09 4c 58 49 09 44 ┆OF TPA CALL SETDMA ; LXI D┆ 0x30d20…30d40 2c 31 32 38 09 09 09 3b 41 4c 4c 4f 57 20 55 50 20 54 4f 20 31 36 4b 20 42 59 54 45 53 0d 0a 09 ┆,128 ;ALLOW UP TO 16K BYTES ┆ 0x30d40…30d60 43 41 4c 4c 09 53 45 54 4d 55 4c 54 49 09 09 3b 0d 0a 09 4c 58 49 09 44 2c 43 43 50 24 46 43 42 ┆CALL SETMULTI ; LXI D,CCP$FCB┆ 0x30d60…30d80 09 09 3b 0d 0a 09 43 41 4c 4c 09 52 45 41 44 09 09 09 3b 4c 4f 41 44 20 43 43 50 0d 0a 09 69 66 ┆ ; CALL READ ;LOAD CCP if┆ 0x30d80…30da0 20 62 61 6e 6b 65 64 0d 0a 09 4d 56 49 09 43 2c 54 50 41 42 41 4e 4b 09 09 3b 53 4f 55 52 43 45 ┆ banked MVI C,TPABANK ;SOURCE┆ 0x30da0…30dc0 20 42 41 4e 4b 0d 0a 09 4d 56 49 09 42 2c 53 59 53 42 41 4e 4b 09 09 3b 44 45 53 54 49 4e 41 54 ┆ BANK MVI B,SYSBANK ;DESTINAT┆ 0x30dc0…30de0 49 4f 4e 20 42 41 4e 4b 0d 0a 09 43 41 4c 4c 09 3f 58 4d 4f 56 45 0d 0a 09 4c 58 49 09 42 2c 30 ┆ION BANK CALL ?XMOVE LXI B,0┆ 0x30de0…30e00 43 38 30 48 09 09 09 3b 42 59 54 45 20 43 4f 55 4e 54 0d 0a 09 4c 58 49 09 44 2c 30 31 30 30 48 ┆C80H ;BYTE COUNT LXI D,0100H┆ 0x30e00…30f00 (24, 0, 15) DataBlock {»MOVE.ASM«} […0x11…] 0x32000…32100 (25, 0, 1) DataBlock {»SCB.ASM«} […0xf…] 0x33000…33020 (25, 1, 1) 0d 0a 09 54 49 54 4c 45 20 27 53 54 41 4e 44 41 52 44 20 46 4c 4f 50 50 59 20 44 49 53 4b 20 49 ┆ TITLE 'STANDARD FLOPPY DISK I┆ 0x33020…33040 2f 4f 20 4d 4f 44 55 4c 45 20 46 4f 52 20 43 50 2f 4d 20 33 2e 30 20 42 49 4f 53 20 2d 20 44 41 ┆/O MODULE FOR CP/M 3.0 BIOS - DA┆ 0x33040…33060 54 45 3a 38 33 30 39 31 35 27 0d 0a 09 50 41 47 45 20 34 33 0d 0a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a ┆TE:830915' PAGE 43 ;*******┆ 0x33060…33080 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ […0x1…] 0x330a0…330c0 2a 0d 0a 3b 2a 09 54 48 45 20 46 44 49 4f 20 4d 4f 44 55 4c 45 09 09 09 09 09 09 09 2a 0d 0a 3b ┆* ;* THE FDIO MODULE * ;┆ 0x330c0…330e0 2a 09 09 09 09 09 09 09 09 09 2a 0d 0a 3b 2a 09 53 54 41 4e 44 41 52 44 20 46 4c 4f 50 50 59 20 ┆* * ;* STANDARD FLOPPY ┆ 0x330e0…33100 46 4f 52 4d 41 54 20 49 53 20 41 53 20 46 4f 4c 4c 4f 57 53 3a 09 09 09 09 2a 0d 0a 3b 2a 09 09 ┆FORMAT IS AS FOLLOWS: * ;* ┆ 0x33100…33120 (25, 1, 2) 09 09 09 09 09 09 09 2a 0d 0a 3b 2a 09 09 37 37 20 54 52 41 43 4b 53 09 09 09 09 09 09 2a 0d 0a ┆ * ;* 77 TRACKS * ┆ 0x33120…33140 3b 2a 09 09 32 36 20 52 45 43 4f 52 44 53 20 50 45 52 20 54 52 41 43 4b 09 09 09 09 09 2a 0d 0a ┆;* 26 RECORDS PER TRACK * ┆ 0x33140…33160 3b 2a 09 09 54 57 4f 20 48 45 41 44 53 2f 53 49 44 45 53 09 09 09 09 09 09 2a 0d 0a 3b 2a 09 09 ┆;* TWO HEADS/SIDES * ;* ┆ 0x33160…33180 31 32 38 20 42 59 54 45 20 52 45 43 4f 52 44 53 09 09 09 09 09 2a 0d 0a 3b 2a 09 09 4c 4f 47 49 ┆128 BYTE RECORDS * ;* LOGI┆ 0x33180…331a0 43 41 4c 20 44 52 49 56 45 20 46 09 09 09 09 09 09 2a 0d 0a 3b 2a 09 09 09 09 09 09 09 09 09 2a ┆CAL DRIVE F * ;* *┆ 0x331a0…331c0 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆ ;*****************************┆ 0x331c0…331e0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ 0x331e0…33200 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 0d 0a 09 50 55 42 4c 49 43 09 46 44 30 44 50 48 0d 0a 0d ┆*********** PUBLIC FD0DPH ┆ 0x33200…33220 (25, 1, 3) 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ 0x33220…33240 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 0d 0a 46 44 24 49 4e 49 54 30 3a 0d 0a 09 52 45 ┆************** FD$INIT0: RE┆ 0x33240…33260 54 09 09 09 3b 0d 0a 0d 0a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆T ; ;********************┆ 0x33260…33280 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ 0x33280…332a0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 2a 09 54 48 45 20 50 41 52 ┆******************** ;* THE PAR┆ 0x332a0…332c0 41 4d 45 54 45 52 53 20 46 4f 52 20 54 48 45 20 52 45 41 44 2f 57 52 49 54 45 20 52 4f 55 54 49 ┆AMETERS FOR THE READ/WRITE ROUTI┆ 0x332c0…332e0 4e 45 53 20 41 52 45 20 43 4f 4e 54 41 49 4e 45 44 20 49 4e 09 2a 0d 0a 3b 2a 09 54 48 45 20 50 ┆NES ARE CONTAINED IN * ;* THE P┆ 0x332e0…33300 55 42 4c 49 43 20 56 41 52 49 41 42 4c 45 53 20 3a 40 41 44 52 56 2c 40 52 44 52 56 2c 40 54 52 ┆UBLIC VARIABLES :@ADRV,@RDRV,@TR┆ 0x33300…33320 (25, 1, 4) 4b 2c 40 53 45 43 54 2c 40 44 4d 41 2c 40 43 4e 54 2c 40 44 42 4e 4b 09 2a 0d 0a 3b 2a 09 09 09 ┆K,@SECT,@DMA,@CNT,@DBNK * ;* ┆ 0x33320…33340 09 09 09 09 09 09 2a 0d 0a 3b 2a 09 09 09 49 4e 50 55 54 20 3a 09 3c 44 45 3e 20 3d 20 41 44 44 ┆ * ;* INPUT : <DE> = ADD┆ 0x33340…33360 52 45 53 53 20 4f 46 20 58 44 50 48 09 09 09 2a 0d 0a 3b 2a 09 09 09 09 09 09 09 09 09 2a 0d 0a ┆RESS OF XDPH * ;* * ┆ 0x33360…33380 3b 2a 09 09 09 4f 55 54 50 55 54 3a 09 20 3c 41 3e 20 3d 20 30 30 48 20 2c 4e 4f 20 45 52 52 4f ┆;* OUTPUT: <A> = 00H ,NO ERRO┆ 0x33380…333a0 52 09 09 09 2a 0d 0a 3b 2a 09 09 09 09 20 3c 41 3e 20 3d 20 30 31 48 20 2c 50 45 52 4d 41 4e 45 ┆R * ;* <A> = 01H ,PERMANE┆ 0x333a0…333c0 4e 54 20 45 52 52 4f 52 09 09 2a 0d 0a 3b 2a 09 09 09 09 09 09 09 09 09 2a 0d 0a 3b 2a 2a 2a 2a ┆NT ERROR * ;* * ;****┆ 0x333c0…333e0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ […0x1…] 0x33400…33420 (25, 1, 5) 0a 09 4d 41 43 4c 49 42 09 50 4f 52 54 53 09 09 09 3b 0d 0a 0d 0a 09 4d 41 43 4c 49 42 09 43 50 ┆ MACLIB PORTS ; MACLIB CP┆ 0x33420…33440 4d 33 09 09 09 3b 0d 0a 0d 0a 09 4d 41 43 4c 49 42 09 5a 38 30 09 09 09 3b 0d 0a 0d 0a 0d 0a 09 ┆M3 ; MACLIB Z80 ; ┆ 0x33440…33460 45 58 54 52 4e 09 44 53 4b 54 4d 52 2c 4d 4f 4e 43 4e 54 09 09 3b 28 42 4f 4f 54 29 0d 0a 0d 0a ┆EXTRN DSKTMR,MONCNT ;(BOOT) ┆ 0x33460…33480 0d 0a 09 45 58 54 52 4e 09 3f 58 4d 4f 56 45 2c 3f 4d 4f 56 45 2c 4d 41 33 4d 49 52 09 3b 28 4d ┆ EXTRN ?XMOVE,?MOVE,MA3MIR ;(M┆ 0x33480…334a0 4f 56 45 29 0d 0a 09 45 58 54 52 4e 09 3f 42 4e 4b 53 4c 0d 0a 0d 0a 09 45 58 54 52 4e 09 40 41 ┆OVE) EXTRN ?BNKSL EXTRN @A┆ 0x334a0…334c0 44 52 56 09 09 09 3b 41 42 53 4f 4c 55 54 45 20 44 52 49 56 45 20 4e 55 4d 42 45 52 20 28 38 20 ┆DRV ;ABSOLUTE DRIVE NUMBER (8 ┆ 0x334c0…334e0 42 49 54 53 29 0d 0a 09 45 58 54 52 4e 09 40 52 44 52 56 09 09 09 3b 52 45 4c 41 54 49 56 45 20 ┆BITS) EXTRN @RDRV ;RELATIVE ┆ 0x334e0…33500 44 52 49 56 45 20 4e 55 4d 42 45 52 20 28 38 20 42 49 54 53 29 0d 0a 09 45 58 54 52 4e 09 40 44 ┆DRIVE NUMBER (8 BITS) EXTRN @D┆ 0x33500…33520 (25, 1, 6) 4d 41 09 09 09 3b 44 49 53 4b 20 54 52 41 4e 53 46 45 52 20 41 44 44 52 45 53 53 20 28 31 36 20 ┆MA ;DISK TRANSFER ADDRESS (16 ┆ 0x33520…33540 42 49 54 53 29 0d 0a 09 45 58 54 52 4e 09 40 54 52 4b 09 09 09 3b 44 49 53 4b 20 54 52 41 43 4b ┆BITS) EXTRN @TRK ;DISK TRACK┆ 0x33540…33560 20 41 44 44 52 45 53 53 20 28 31 36 20 42 49 54 53 29 0d 0a 09 45 58 54 52 4e 09 40 53 45 43 54 ┆ ADDRESS (16 BITS) EXTRN @SECT┆ 0x33560…33580 09 09 09 3b 44 49 53 4b 20 53 45 43 54 4f 52 20 41 44 44 52 45 53 53 20 28 31 36 20 42 49 54 53 ┆ ;DISK SECTOR ADDRESS (16 BITS┆ 0x33580…335a0 29 0d 0a 3b 3b 09 45 58 54 52 4e 09 40 43 4e 54 09 09 09 3b 52 45 43 4f 52 44 20 43 4f 55 4e 54 ┆) ;; EXTRN @CNT ;RECORD COUNT┆ 0x335a0…335c0 20 46 4f 52 20 4d 55 4c 54 49 20 53 45 43 54 4f 52 20 54 52 41 4e 53 46 45 52 0d 0a 09 45 58 54 ┆ FOR MULTI SECTOR TRANSFER EXT┆ 0x335c0…335e0 52 4e 09 40 44 42 4e 4b 09 09 09 3b 44 49 53 4b 20 54 52 41 4e 53 46 45 52 20 42 41 4e 4b 20 28 ┆RN @DBNK ;DISK TRANSFER BANK (┆ 0x335e0…33600 38 20 42 49 54 53 29 0d 0a 09 45 58 54 52 4e 09 40 43 42 4e 4b 09 09 09 3b 43 55 52 52 45 4e 54 ┆8 BITS) EXTRN @CBNK ;CURRENT┆ 0x33600…33620 (25, 1, 7) 2a 2a 2a 2a 0d 0a 0d 0a 46 44 24 53 54 45 50 24 52 41 54 45 09 45 51 55 09 33 48 09 3b 53 54 45 ┆**** FD$STEP$RATE EQU 3H ;STE┆ 0x33620…33640 50 20 52 41 54 45 20 42 49 54 53 0d 0a 0d 0a 0d 0a 46 44 24 52 45 41 44 3a 0d 0a 09 4c 58 49 09 ┆P RATE BITS FD$READ: LXI ┆ 0x33640…33660 48 2c 52 44 24 4d 53 47 09 3b 50 4f 49 4e 54 20 41 54 20 27 52 45 41 44 27 0d 0a 09 4d 56 49 09 ┆H,RD$MSG ;POINT AT 'READ' MVI ┆ 0x33660…33680 41 2c 43 24 4d 46 44 24 52 44 4d 53 45 43 09 3b 31 37 39 33 20 52 45 41 44 20 43 4f 4d 4d 41 4e ┆A,C$MFD$RDMSEC ;1793 READ COMMAN┆ 0x33680…336a0 44 0d 0a 09 4d 56 49 09 42 2c 43 24 44 4d 41 24 52 45 41 44 09 3b 5a 38 30 2d 44 4d 41 20 43 4f ┆D MVI B,C$DMA$READ ;Z80-DMA CO┆ 0x336a0…336c0 4d 4d 41 4e 44 0d 0a 09 4a 4d 50 09 52 57 24 43 4f 4d 4d 4f 4e 09 3b 0d 0a 0d 0a 46 44 24 57 52 ┆MMAND JMP RW$COMMON ; FD$WR┆ 0x336c0…336e0 49 54 45 3a 0d 0a 09 4c 58 49 09 48 2c 57 52 24 4d 53 47 09 3b 50 4f 49 4e 54 20 41 54 20 27 57 ┆ITE: LXI H,WR$MSG ;POINT AT 'W┆ 0x336e0…33700 52 49 54 45 27 0d 0a 09 4d 56 49 09 41 2c 43 24 4d 46 44 24 57 52 4d 53 45 43 09 3b 31 37 39 33 ┆RITE' MVI A,C$MFD$WRMSEC ;1793┆ 0x33700…33720 (25, 1, 8) 20 57 52 49 54 45 20 43 4f 4d 4d 41 4e 44 0d 0a 09 4d 56 49 09 42 2c 43 24 44 4d 41 24 57 52 49 ┆ WRITE COMMAND MVI B,C$DMA$WRI┆ 0x33720…33740 54 45 09 3b 5a 38 30 2d 44 4d 41 20 43 4f 4d 4d 41 4e 44 0d 0a 09 4a 4d 50 09 52 57 24 43 4f 4d ┆TE ;Z80-DMA COMMAND JMP RW$COM┆ 0x33740…33760 4d 4f 4e 09 3b 0d 0a 0d 0a 52 57 24 43 4f 4d 4d 4f 4e 3a 0d 0a 09 50 55 53 48 09 50 53 57 0d 0a ┆MON ; RW$COMMON: PUSH PSW ┆ 0x33760…33780 09 49 4e 09 50 24 52 41 4d 43 54 4c 0d 0a 09 53 45 54 42 09 36 2c 41 09 09 3b 53 45 4c 45 43 54 ┆ IN P$RAMCTL SETB 6,A ;SELECT┆ 0x33780…337a0 20 44 49 53 4b 20 55 53 49 4e 47 20 54 45 53 54 20 4c 45 44 20 50 4f 52 54 20 42 49 54 0d 0a 09 ┆ DISK USING TEST LED PORT BIT ┆ 0x337a0…337c0 4f 55 54 09 50 24 52 41 4d 43 54 4c 0d 0a 09 50 4f 50 09 50 53 57 0d 0a 0d 0a 09 53 48 4c 44 09 ┆OUT P$RAMCTL POP PSW SHLD ┆ 0x337c0…337e0 52 57 24 4e 41 4d 45 09 09 3b 53 41 56 45 20 4d 45 53 53 41 47 45 20 46 4f 52 20 45 52 52 4f 52 ┆RW$NAME ;SAVE MESSAGE FOR ERROR┆ 0x337e0…33800 53 09 0d 0a 09 53 54 41 09 44 49 53 4b 24 43 4f 4d 4d 41 4e 44 09 3b 53 41 56 45 20 31 37 39 33 ┆S STA DISK$COMMAND ;SAVE 1793┆ 0x33800…33820 (25, 1, 9) 20 43 50 55 20 42 41 4e 4b 0d 0a 0d 0a 09 45 58 54 52 4e 09 40 45 52 4d 44 45 09 09 09 3b 42 44 ┆ CPU BANK EXTRN @ERMDE ;BD┆ 0x33820…33840 4f 53 20 45 52 52 4f 52 20 4d 4f 44 45 0d 0a 0d 0a 09 45 58 54 52 4e 09 3f 50 44 45 52 52 09 09 ┆OS ERROR MODE EXTRN ?PDERR ┆ 0x33840…33860 09 3b 50 52 49 4e 54 20 42 49 4f 53 20 44 49 53 4b 20 45 52 52 52 4f 52 20 48 45 41 44 45 52 0d ┆ ;PRINT BIOS DISK ERRROR HEADER ┆ 0x33860…33880 0a 09 45 58 54 52 4e 09 3f 50 4d 53 47 09 09 09 3b 50 52 49 4e 54 20 4d 45 53 53 41 47 45 20 55 ┆ EXTRN ?PMSG ;PRINT MESSAGE U┆ 0x33880…338a0 4e 54 49 4c 20 30 0d 0a 09 45 58 54 52 4e 09 3f 50 44 45 43 09 09 09 3b 0d 0a 09 45 58 54 52 4e ┆NTIL 0 EXTRN ?PDEC ; EXTRN┆ 0x338a0…338c0 09 3f 43 4f 4e 49 4e 09 09 09 3b 0d 0a 09 45 58 54 52 4e 09 3f 57 42 4f 4f 54 09 09 09 3b 0d 0a ┆ ?CONIN ; EXTRN ?WBOOT ; ┆ 0x338c0…338e0 0d 0a 3b 45 58 54 45 4e 44 45 44 20 44 49 53 4b 20 50 41 52 41 4d 45 54 45 52 20 48 45 41 44 45 ┆ ;EXTENDED DISK PARAMETER HEADE┆ 0x338e0…33900 52 53 20 28 58 44 50 48 27 53 29 0d 0a 0d 0a 09 44 53 45 47 09 09 09 09 3b 42 41 4e 4b 45 44 20 ┆RS (XDPH'S) DSEG ;BANKED ┆ 0x33900…33920 (25, 1, 10) 4d 45 4d 4f 52 59 0d 0a 0d 0a 09 44 57 09 46 44 24 57 52 49 54 45 09 09 3b 0d 0a 09 44 57 09 46 ┆MEMORY DW FD$WRITE ; DW F┆ 0x33920…33940 44 24 52 45 41 44 09 09 09 3b 0d 0a 09 44 57 09 46 44 24 4c 4f 47 49 4e 09 09 3b 0d 0a 09 44 57 ┆D$READ ; DW FD$LOGIN ; DW┆ 0x33940…33960 09 46 44 24 49 4e 49 54 30 09 09 3b 0d 0a 09 44 42 09 31 2c 30 09 09 09 3b 0d 0a 46 44 30 44 50 ┆ FD$INIT0 ; DB 1,0 ; FD0DP┆ 0x33960…33980 48 3a 0d 0a 09 44 50 48 09 46 44 54 52 41 4e 53 2c 46 44 44 50 42 0d 0a 0d 0a 09 43 53 45 47 09 ┆H: DPH FDTRANS,FDDPB CSEG ┆ 0x33980…339a0 09 09 09 3b 43 4f 4d 4d 4f 4e 20 4d 45 4d 4f 52 59 0d 0a 0d 0a 46 44 44 50 42 3a 0d 0a 09 44 50 ┆ ;COMMON MEMORY FDDPB: DP┆ 0x339a0…339c0 42 09 31 32 38 2c 32 36 2c 37 37 2c 31 30 32 34 2c 36 34 2c 32 0d 0a 0d 0a 09 44 53 45 47 09 09 ┆B 128,26,77,1024,64,2 DSEG ┆ 0x339c0…339e0 09 09 3b 52 45 53 54 20 49 53 20 42 41 4e 4b 45 44 20 4d 45 4d 4f 52 59 0d 0a 0d 0a 46 44 54 52 ┆ ;REST IS BANKED MEMORY FDTR┆ 0x339e0…33a00 41 4e 53 3a 0d 0a 09 53 4b 45 57 20 32 36 2c 36 2c 31 0d 0a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆ANS: SKEW 26,6,1 ;*********┆ 0x33a00…33a20 (25, 1, 11) 20 43 4f 4d 4d 41 4e 44 20 28 46 44 43 4d 44 29 0d 0a 09 4d 4f 56 09 41 2c 42 09 09 3b 0d 0a 09 ┆ COMMAND (FDCMD) MOV A,B ; ┆ 0x33a20…33a40 53 54 41 09 44 4d 41 24 43 4f 4d 4d 41 4e 44 09 3b 53 41 56 45 20 44 4d 41 20 44 49 52 45 43 54 ┆STA DMA$COMMAND ;SAVE DMA DIRECT┆ 0x33a40…33a60 49 4f 4e 20 43 4f 44 45 20 28 44 4d 43 4d 44 29 0d 0a 09 58 52 41 09 41 09 09 3b 0d 0a 09 53 54 ┆ION CODE (DMCMD) XRA A ; ST┆ 0x33a60…33a80 41 09 44 49 53 4b 24 53 54 41 54 55 53 09 3b 52 45 53 45 54 20 44 49 53 4b 20 53 54 41 54 55 53 ┆A DISK$STATUS ;RESET DISK STATUS┆ 0x33a80…33aa0 0d 0a 0d 0a 52 57 31 3a 0d 0a 09 4c 44 41 09 40 54 52 4b 09 09 3b 0d 0a 09 50 55 53 48 09 50 53 ┆ RW1: LDA @TRK ; PUSH PS┆ 0x33aa0…33ac0 57 09 09 3b 0d 0a 09 41 4e 49 09 30 31 48 09 09 3b 0d 0a 09 53 54 41 09 46 53 49 44 45 09 09 3b ┆W ; ANI 01H ; STA FSIDE ;┆ 0x33ac0…33ae0 0d 0a 09 50 4f 50 09 50 53 57 09 09 3b 0d 0a 09 4f 52 41 09 41 09 09 3b 0d 0a 09 52 41 52 09 09 ┆ POP PSW ; ORA A ; RAR ┆ 0x33ae0…33b00 09 3b 0d 0a 09 53 54 41 09 46 54 52 4b 09 09 3b 0d 0a 09 43 41 4c 4c 09 53 45 54 56 09 09 3b 53 ┆ ; STA FTRK ; CALL SETV ;S┆ 0x33b00…33b20 (25, 1, 12) 45 54 55 50 20 55 4e 49 54 2c 54 52 41 43 4b 20 41 4e 44 20 53 45 43 54 4f 52 0d 0a 09 4f 52 41 ┆ETUP UNIT,TRACK AND SECTOR ORA┆ 0x33b20…33b40 09 41 09 09 3b 0d 0a 09 43 5a 09 46 44 49 4f 09 09 3b 52 45 41 44 2f 57 52 49 54 45 20 22 46 43 ┆ A ; CZ FDIO ;READ/WRITE "FC┆ 0x33b40…33b60 4e 54 22 2c 22 46 53 49 5a 45 22 20 42 59 54 45 20 53 45 43 54 4f 52 53 0d 0a 09 53 54 41 09 44 ┆NT","FSIZE" BYTE SECTORS STA D┆ 0x33b60…33b80 49 53 4b 24 53 54 41 54 55 53 09 3b 0d 0a 3b 3d 3d 0d 0a 09 50 55 53 48 09 50 53 57 0d 0a 09 49 ┆ISK$STATUS ; ;== PUSH PSW I┆ 0x33b80…33ba0 4e 09 50 24 52 41 4d 43 54 4c 0d 0a 09 52 45 53 09 36 2c 41 0d 0a 09 4f 55 54 09 50 24 52 41 4d ┆N P$RAMCTL RES 6,A OUT P$RAM┆ 0x33ba0…33bc0 43 54 4c 0d 0a 09 50 4f 50 09 50 53 57 0d 0a 3b 3d 3d 0d 0a 09 4f 52 41 09 41 0d 0a 09 52 5a 09 ┆CTL POP PSW ;== ORA A RZ ┆ 0x33bc0…33be0 09 09 3b 0d 0a 0d 0a 52 57 24 45 52 52 4f 52 3a 0d 0a 09 4c 44 41 09 40 45 52 4d 44 45 09 09 3b ┆ ; RW$ERROR: LDA @ERMDE ;┆ 0x33be0…33c00 53 55 50 50 52 45 53 53 20 45 52 52 4f 52 20 4d 45 53 53 41 47 45 2c 20 49 46 20 42 44 4f 53 20 ┆SUPPRESS ERROR MESSAGE, IF BDOS ┆ 0x33c00…33c20 (25, 1, 13) 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ 0x33c20…33c40 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d ┆******************************* ┆ 0x33c40…33c60 0a 3b 2a 09 09 09 09 09 09 09 09 09 2a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆ ;* * ;****************┆ 0x33c60…33c80 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ 0x33c80…33ca0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 0d 0a 46 44 24 4c ┆************************ FD$L┆ 0x33ca0…33cc0 4f 47 49 4e 3a 0d 0a 09 52 45 54 0d 0a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆OGIN: RET ;****************┆ 0x33cc0…33ce0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ 0x33ce0…33d00 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 2a 09 54 48 45 ┆************************ ;* THE┆ 0x33d00…33d20 (25, 1, 14) 20 42 4f 4f 54 20 45 4e 54 52 59 20 43 41 4c 4c 53 20 45 41 43 48 20 49 4e 49 54 20 52 4f 55 54 ┆ BOOT ENTRY CALLS EACH INIT ROUT┆ 0x33d20…33d40 49 4e 45 20 44 55 52 49 4e 47 20 54 48 45 20 43 4f 4c 44 20 53 54 41 52 54 09 2a 0d 0a 3b 2a 09 ┆INE DURING THE COLD START * ;* ┆ 0x33d40…33d60 41 4e 44 20 50 52 49 4f 52 20 54 4f 20 41 4e 59 20 4f 54 48 45 52 20 44 49 53 4b 20 41 43 43 45 ┆AND PRIOR TO ANY OTHER DISK ACCE┆ 0x33d60…33d80 53 53 2c 54 48 45 20 49 4e 49 54 20 52 4f 55 54 49 4e 45 20 50 45 52 46 4f 52 4d 53 09 2a 0d 0a ┆SS,THE INIT ROUTINE PERFORMS * ┆ 0x33d80…33da0 3b 2a 09 41 4e 59 20 4e 45 43 45 53 53 41 52 59 20 48 41 52 44 57 41 52 45 20 49 4e 49 54 20 53 ┆;* ANY NECESSARY HARDWARE INIT S┆ 0x33da0…33dc0 55 43 48 20 41 53 20 53 45 54 54 49 4e 47 20 55 50 20 54 48 45 20 43 4f 4e 54 52 4f 4c 4c 45 52 ┆UCH AS SETTING UP THE CONTROLLER┆ 0x33dc0…33de0 09 2a 0d 0a 3b 09 41 4e 44 20 49 4e 54 45 52 52 55 50 54 20 56 45 43 54 4f 52 53 2e 09 09 09 09 ┆ * ; AND INTERRUPT VECTORS. ┆ 0x33de0…33e00 09 09 2a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆ * ;**************************┆ 0x33e00…33e20 (25, 1, 15) 49 53 20 52 45 54 55 52 4e 49 4e 47 0d 0a 09 43 50 49 09 30 46 46 48 09 09 3b 09 45 52 52 4f 52 ┆IS RETURNING CPI 0FFH ; ERROR┆ 0x33e20…33e40 53 20 54 4f 20 41 50 50 4c 49 43 41 54 49 4f 4e 0d 0a 09 4a 5a 09 48 41 52 44 24 45 52 52 4f 52 ┆S TO APPLICATION JZ HARD$ERROR┆ 0x33e40…33e60 09 3b 0d 0a 09 43 41 4c 4c 09 3f 50 44 45 52 52 09 09 3b 50 52 49 4e 54 20 42 49 4f 53 20 44 49 ┆ ; CALL ?PDERR ;PRINT BIOS DI┆ 0x33e60…33e80 53 4b 20 45 52 52 4f 52 20 48 45 41 44 45 52 0d 0a 09 4c 48 4c 44 09 52 57 24 4e 41 4d 45 09 09 ┆SK ERROR HEADER LHLD RW$NAME ┆ 0x33e80…33ea0 3b 0d 0a 09 43 41 4c 4c 09 3f 50 4d 53 47 09 09 3b 0d 0a 09 4c 44 41 09 44 49 53 4b 24 53 54 41 ┆; CALL ?PMSG ; LDA DISK$STA┆ 0x33ea0…33ec0 54 55 53 09 3b 47 45 54 20 53 54 41 54 55 53 20 42 59 54 45 20 46 52 4f 4d 20 4c 41 53 54 20 45 ┆TUS ;GET STATUS BYTE FROM LAST E┆ 0x33ec0…33ee0 52 52 4f 52 0d 0a 09 43 50 49 09 30 46 46 48 09 09 3b 0d 0a 09 4a 5a 09 48 41 52 44 24 45 52 52 ┆RROR CPI 0FFH ; JZ HARD$ERR┆ 0x33ee0…33f00 4f 52 09 3b 0d 0a 09 4c 58 49 09 48 2c 45 52 52 4f 52 24 54 41 42 4c 45 09 3b 0d 0a 45 52 52 4d ┆OR ; LXI H,ERROR$TABLE ; ERRM┆ 0x33f00…33f20 (25, 1, 16) 31 3a 0d 0a 09 4d 4f 56 09 45 2c 4d 09 09 3b 47 45 54 20 4e 45 58 54 20 4d 45 53 53 41 47 45 20 ┆1: MOV E,M ;GET NEXT MESSAGE ┆ 0x33f20…33f40 41 44 44 52 45 53 53 0d 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 4d 4f 56 09 44 2c 4d 09 09 3b 0d ┆ADDRESS INX H ; MOV D,M ; ┆ 0x33f40…33f60 0a 09 49 4e 58 09 48 09 09 3b 0d 0a 09 41 44 44 09 41 09 09 3b 53 48 49 46 54 20 4c 45 46 54 20 ┆ INX H ; ADD A ;SHIFT LEFT ┆ 0x33f60…33f80 41 4e 44 20 50 55 53 48 20 52 45 53 49 44 55 41 4c 20 42 49 54 53 20 57 49 54 48 20 53 54 41 54 ┆AND PUSH RESIDUAL BITS WITH STAT┆ 0x33f80…33fa0 55 53 0d 0a 09 50 55 53 48 09 50 53 57 09 09 3b 0d 0a 09 58 43 48 47 09 09 09 3b 50 52 49 4e 54 ┆US PUSH PSW ; XCHG ;PRINT┆ 0x33fa0…33fc0 20 4d 45 53 53 41 47 45 20 2c 53 41 56 49 4e 47 20 54 41 42 4c 45 20 50 4f 49 4e 54 45 52 0d 0a ┆ MESSAGE ,SAVING TABLE POINTER ┆ 0x33fc0…33fe0 09 43 43 09 3f 50 4d 53 47 09 09 3b 0d 0a 09 58 43 48 47 09 09 09 3b 0d 0a 09 50 4f 50 09 50 53 ┆ CC ?PMSG ; XCHG ; POP PS┆ 0x33fe0…34000 57 09 09 3b 49 46 20 41 4e 59 20 4d 4f 52 45 20 42 49 54 53 20 4c 45 46 54 20 43 4f 4e 54 49 4e ┆W ;IF ANY MORE BITS LEFT CONTIN┆ 0x34000…34020 (26, 0, 1) 55 45 0d 0a 09 4a 4e 5a 09 45 52 52 4d 31 09 09 3b 0d 0a 0d 0a 09 43 41 4c 4c 09 3f 43 4f 4e 49 ┆UE JNZ ERRM1 ; CALL ?CONI┆ 0x34020…34040 4e 09 09 3b 47 45 54 20 52 45 53 50 4f 4e 53 45 0d 0a 09 43 50 49 09 27 43 27 2d 30 34 30 48 09 ┆N ;GET RESPONSE CPI 'C'-040H ┆ 0x34040…34060 3b 49 46 20 43 54 4c 2d 43 20 57 41 52 4d 20 42 4f 4f 54 0d 0a 09 50 55 53 48 09 50 53 57 0d 0a ┆;IF CTL-C WARM BOOT PUSH PSW ┆ 0x34060…34080 09 43 41 4c 4c 09 48 41 52 44 24 45 52 52 4f 52 0d 0a 09 50 4f 50 09 50 53 57 0d 0a 09 4a 5a 09 ┆ CALL HARD$ERROR POP PSW JZ ┆ 0x34080…340a0 3f 57 42 4f 4f 54 09 09 3b 0d 0a 09 0d 0a 48 41 52 44 24 45 52 52 4f 52 3a 0d 0a 09 44 49 0d 0a ┆?WBOOT ; HARD$ERROR: DI ┆ 0x340a0…340c0 09 4c 44 41 09 4d 41 33 4d 49 52 09 09 3b 0d 0a 09 41 4e 49 09 30 46 48 0d 0a 09 53 54 41 09 4d ┆ LDA MA3MIR ; ANI 0FH STA M┆ 0x340c0…340e0 41 33 4d 49 52 09 09 3b 0d 0a 09 45 49 09 09 09 3b 0d 0a 0d 0a 09 4d 56 49 09 41 2c 30 31 48 09 ┆A3MIR ; EI ; MVI A,01H ┆ 0x340e0…34100 09 3b 52 45 54 55 52 4e 20 48 41 52 44 20 45 52 52 4f 52 20 54 4f 20 42 44 4f 53 0d 0a 09 52 45 ┆ ;RETURN HARD ERROR TO BDOS RE┆ 0x34100…34120 (26, 0, 2) 54 09 09 09 3b 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆T ; ;----------------------┆ 0x34120…34140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x34140…34160 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 53 45 54 56 3a 0d 0a 09 4d ┆------------------- SETV: M┆ 0x34160…34180 56 49 09 41 2c 30 41 48 09 09 3b 53 45 54 20 4d 49 4e 49 20 46 4c 4f 50 50 59 20 52 45 54 52 59 ┆VI A,0AH ;SET MINI FLOPPY RETRY┆ 0x34180…341a0 20 43 4f 55 4e 54 0d 0a 09 53 54 41 09 4d 45 52 43 4e 54 09 09 3b 0d 0a 53 45 54 56 4c 50 3a 0d ┆ COUNT STA MERCNT ; SETVLP: ┆ 0x341a0…341c0 0a 09 4c 44 41 09 4d 41 33 4d 49 52 09 09 3b 53 45 45 20 49 46 20 44 52 49 56 45 20 4d 4f 54 4f ┆ LDA MA3MIR ;SEE IF DRIVE MOTO┆ 0x341c0…341e0 52 20 53 54 49 4c 4c 20 4f 4e 20 0d 0a 09 41 4e 49 09 30 38 30 48 09 09 3b 4d 41 53 4b 20 44 52 ┆R STILL ON ANI 080H ;MASK DR┆ 0x341e0…34200 49 56 45 20 42 49 54 20 4f 4e 20 0d 0a 09 4d 56 49 09 41 2c 58 53 24 44 45 4c 41 59 09 3b 53 45 ┆IVE BIT ON MVI A,XS$DELAY ;SE┆ 0x34200…34220 (26, 0, 3) 45 54 20 53 45 45 4b 20 52 45 54 52 59 20 43 4f 55 4e 54 0d 0a 09 44 43 52 09 41 09 09 3b 0d 0a ┆ET SEEK RETRY COUNT DCR A ; ┆ 0x34220…34240 09 53 54 41 09 4d 45 52 43 4e 54 09 09 3b 53 41 56 45 20 46 4f 52 20 4e 45 58 54 20 4c 4f 4f 50 ┆ STA MERCNT ;SAVE FOR NEXT LOOP┆ 0x34240…34260 0d 0a 09 4d 4f 56 09 41 2c 43 09 09 3b 52 45 53 54 4f 52 45 20 53 54 41 54 55 53 0d 0a 09 52 5a ┆ MOV A,C ;RESTORE STATUS RZ┆ 0x34260…34280 09 09 09 3b 0d 0a 0d 0a 09 4d 56 49 09 4d 2c 30 46 46 48 09 09 3b 53 45 54 20 54 52 41 43 4b 20 ┆ ; MVI M,0FFH ;SET TRACK ┆ 0x34280…342a0 54 41 42 4c 45 20 45 4e 54 52 59 20 54 4f 20 46 4f 52 43 45 20 41 20 52 45 53 54 4f 52 45 0d 0a ┆TABLE ENTRY TO FORCE A RESTORE ┆ 0x342a0…342c0 09 4a 4d 50 09 53 45 54 56 4c 50 09 09 3b 0d 0a 53 45 54 56 31 3a 0d 0a 09 4c 44 41 09 40 53 45 ┆ JMP SETVLP ; SETV1: LDA @SE┆ 0x342c0…342e0 43 54 09 09 3b 0d 0a 09 4f 55 54 09 50 24 4d 46 44 24 53 45 43 54 09 3b 0d 0a 09 58 52 41 09 41 ┆CT ; OUT P$MFD$SECT ; XRA A┆ 0x342e0…34300 09 09 3b 43 4c 45 41 52 20 46 4f 52 20 4e 4f 20 45 52 52 4f 52 53 0d 0a 09 52 45 54 0d 0a 0d 0a ┆ ;CLEAR FOR NO ERRORS RET ┆ 0x34300…34320 (26, 0, 4) 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆;-------------------------------┆ 0x34320…34340 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x34340…34360 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 53 45 54 55 50 44 4d 41 3a 0d 0a 09 4c 44 41 09 40 44 ┆---------- SETUPDMA: LDA @D┆ 0x34360…34380 42 4e 4b 09 09 3b 0d 0a 09 4d 4f 56 09 42 2c 41 0d 0a 09 4d 4f 56 09 43 2c 41 0d 0a 09 43 41 4c ┆BNK ; MOV B,A MOV C,A CAL┆ 0x34380…343a0 4c 09 3f 58 4d 4f 56 45 0d 0a 09 58 52 41 09 41 09 09 3b 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 ┆L ?XMOVE XRA A ; OUT P$DMA$┆ 0x343a0…343c0 43 4c 45 41 52 09 3b 4d 41 53 54 45 52 20 43 4c 45 41 52 20 44 4d 41 20 43 4f 4e 54 52 4f 4c 4c ┆CLEAR ;MASTER CLEAR DMA CONTROLL┆ 0x343c0…343e0 45 52 0d 0a 09 4d 56 49 09 41 2c 30 34 30 48 09 09 3b 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 53 ┆ER MVI A,040H ; OUT P$DMA$S┆ 0x343e0…34400 54 41 54 09 3b 53 45 54 20 48 41 52 44 57 41 52 45 20 41 54 54 52 49 42 55 54 45 53 0d 0a 09 4c ┆TAT ;SET HARDWARE ATTRIBUTES L┆ 0x34400…34420 (26, 0, 5) 54 20 56 45 52 59 20 53 48 4f 52 54 20 53 50 49 4e 55 50 20 44 45 4c 41 59 0d 0a 09 4a 4e 5a 09 ┆T VERY SHORT SPINUP DELAY JNZ ┆ 0x34420…34440 53 45 54 53 50 09 09 3b 47 4f 20 53 45 54 55 50 20 54 49 4d 45 52 20 46 4f 52 20 53 50 49 4e 55 ┆SETSP ;GO SETUP TIMER FOR SPINU┆ 0x34440…34460 50 0d 0a 09 4d 56 49 09 41 2c 4d 24 44 45 4c 41 59 09 3b 55 53 45 20 4c 4f 4e 47 20 53 50 49 4e ┆P MVI A,M$DELAY ;USE LONG SPIN┆ 0x34460…34480 55 50 20 54 49 4d 45 20 44 45 4c 41 59 0d 0a 53 45 54 53 50 3a 0d 0a 09 53 54 41 09 44 53 4b 54 ┆UP TIME DELAY SETSP: STA DSKT┆ 0x34480…344a0 4d 52 09 09 3b 53 54 41 52 54 20 43 4f 55 4e 54 49 4e 47 0d 0a 09 4c 44 41 09 40 52 44 52 56 09 ┆MR ;START COUNTING LDA @RDRV ┆ 0x344a0…344c0 09 3b 47 45 54 20 44 52 49 56 45 20 4e 55 4d 42 45 52 0d 0a 09 4d 4f 56 09 45 2c 41 09 09 3b 49 ┆ ;GET DRIVE NUMBER MOV E,A ;I┆ 0x344c0…344e0 4e 44 45 58 20 44 52 49 56 45 20 54 41 42 4c 45 20 46 4f 52 20 50 52 45 53 45 4e 54 20 54 52 41 ┆NDEX DRIVE TABLE FOR PRESENT TRA┆ 0x344e0…34500 43 4b 0d 0a 09 4d 56 49 09 44 2c 30 30 48 09 09 3b 0d 0a 09 4c 58 49 09 48 2c 54 52 4b 54 41 42 ┆CK MVI D,00H ; LXI H,TRKTAB┆ 0x34500…34520 (26, 0, 6) 09 3b 0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4d 09 09 3b 47 45 54 20 54 52 ┆ ; DAD D ; MOV A,M ;GET TR┆ 0x34520…34540 41 43 4b 20 4e 55 4d 42 45 52 20 46 52 4f 4d 20 54 41 42 4c 45 0d 0a 09 43 50 49 09 30 46 46 48 ┆ACK NUMBER FROM TABLE CPI 0FFH┆ 0x34540…34560 09 09 3b 53 45 45 20 49 46 20 4a 55 53 54 20 4c 4f 47 47 45 44 20 4f 52 0d 0a 09 4a 4e 5a 09 53 ┆ ;SEE IF JUST LOGGED OR JNZ S┆ 0x34560…34580 45 54 4e 52 53 54 09 09 3b 52 45 51 55 49 52 45 53 20 41 20 52 45 53 54 4f 52 45 0d 0a 09 50 55 ┆ETNRST ;REQUIRES A RESTORE PU┆ 0x34580…345a0 53 48 09 48 09 09 3b 0d 0a 09 43 41 4c 4c 09 46 52 45 53 54 52 09 09 3b 0d 0a 09 50 4f 50 09 48 ┆SH H ; CALL FRESTR ; POP H┆ 0x345a0…345c0 09 09 3b 0d 0a 09 4f 52 41 09 41 09 09 3b 43 48 45 43 4b 20 52 45 53 54 4f 52 45 20 53 54 41 54 ┆ ; ORA A ;CHECK RESTORE STAT┆ 0x345c0…345e0 55 53 0d 0a 09 52 4e 5a 09 09 09 3b 52 45 54 55 52 4e 20 49 46 20 45 52 52 4f 52 0d 0a 0d 0a 53 ┆US RNZ ;RETURN IF ERROR S┆ 0x345e0…34600 45 54 4e 52 53 54 3a 0d 0a 09 50 55 53 48 09 48 09 09 3b 53 41 56 45 20 44 52 49 56 45 20 54 41 ┆ETNRST: PUSH H ;SAVE DRIVE TA┆ 0x34600…34620 (26, 0, 7) 44 41 09 44 4d 41 24 43 4f 4d 4d 41 4e 44 09 3b 47 45 54 20 44 4d 41 20 4d 4f 44 45 20 42 59 54 ┆DA DMA$COMMAND ;GET DMA MODE BYT┆ 0x34620…34640 45 20 46 4f 52 20 54 48 49 53 20 4f 50 45 52 41 54 49 4f 4e 0d 0a 09 4f 55 54 09 50 24 44 4d 41 ┆E FOR THIS OPERATION OUT P$DMA┆ 0x34640…34660 24 4d 4f 44 45 09 3b 54 45 4c 4c 20 44 4d 41 20 57 48 41 54 20 54 52 41 4e 53 46 45 52 20 57 45 ┆$MODE ;TELL DMA WHAT TRANSFER WE┆ 0x34660…34680 20 57 41 4e 54 0d 0a 09 4d 56 49 09 41 2c 30 34 31 48 09 09 3b 0d 0a 09 4f 55 54 09 50 24 44 4d ┆ WANT MVI A,041H ; OUT P$DM┆ 0x34680…346a0 41 24 4d 4f 44 45 09 3b 0d 0a 09 49 4e 52 09 41 09 09 3b 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 ┆A$MODE ; INR A ; OUT P$DMA$┆ 0x346a0…346c0 4d 4f 44 45 09 3b 0d 0a 09 49 4e 52 09 41 09 09 3b 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 4d 4f ┆MODE ; INR A ; OUT P$DMA$MO┆ 0x346c0…346e0 44 45 09 3b 53 45 54 20 55 4e 55 53 45 44 20 43 48 41 4e 4e 45 4c 53 20 54 4f 20 56 45 52 49 46 ┆DE ;SET UNUSED CHANNELS TO VERIF┆ 0x346e0…34700 59 20 4d 4f 44 45 0d 0a 09 4c 48 4c 44 09 40 44 4d 41 09 09 3b 50 4f 49 4e 54 20 54 4f 20 54 48 ┆Y MODE LHLD @DMA ;POINT TO TH┆ 0x34700…34720 (26, 0, 8) 45 20 44 41 54 41 20 42 55 46 46 45 52 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 54 4f 47 47 4c 45 ┆E DATA BUFFER OUT P$DMA$TOGGLE┆ 0x34720…34740 09 3b 52 45 53 45 54 20 48 49 2f 4c 4f 20 46 4c 49 50 2d 46 4c 4f 50 0d 0a 09 4d 4f 56 09 41 2c ┆ ;RESET HI/LO FLIP-FLOP MOV A,┆ 0x34740…34760 4c 09 09 3b 4c 53 42 20 4f 46 20 44 4d 41 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 0d 0a 09 ┆L ;LSB OF DMA BUFFER ADDRESS ┆ 0x34760…34780 4f 55 54 09 50 24 44 4d 41 24 41 44 52 30 09 3b 0d 0a 09 4d 4f 56 09 41 2c 48 09 09 3b 4d 53 42 ┆OUT P$DMA$ADR0 ; MOV A,H ;MSB┆ 0x34780…347a0 20 4f 46 20 44 4d 41 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 0d 0a 09 4f 55 54 09 50 24 44 ┆ OF DMA BUFFER ADDRESS OUT P$D┆ 0x347a0…347c0 4d 41 24 41 44 52 30 09 3b 0d 0a 09 4c 58 49 09 44 2c 31 32 38 09 09 3b 31 32 38 20 42 59 54 45 ┆MA$ADR0 ; LXI D,128 ;128 BYTE┆ 0x347c0…347e0 53 20 53 45 43 54 4f 52 0d 0a 09 4c 44 41 09 40 43 4e 54 09 09 3b 4d 55 4c 54 49 20 53 45 43 54 ┆S SECTOR LDA @CNT ;MULTI SECT┆ 0x347e0…34800 4f 52 20 43 4f 55 4e 54 20 49 4e 20 31 32 38 20 42 59 54 45 53 20 53 45 43 54 4f 52 53 0d 0a 09 ┆OR COUNT IN 128 BYTES SECTORS ┆ 0x34800…34820 (26, 0, 9) 42 4c 45 20 49 4e 44 45 58 0d 0a 09 4c 44 41 09 40 52 44 52 56 09 09 3b 47 45 54 20 44 52 49 56 ┆BLE INDEX LDA @RDRV ;GET DRIV┆ 0x34820…34840 45 20 4e 55 4d 42 45 52 20 41 47 41 49 4e 0d 0a 09 43 41 4c 4c 09 47 45 54 55 4e 4d 4f 09 09 3b ┆E NUMBER AGAIN CALL GETUNMO ;┆ 0x34840…34860 53 45 54 20 55 4e 49 54 20 41 4e 44 20 47 45 54 20 54 52 41 43 4b 20 4e 55 4d 42 45 52 0d 0a 09 ┆SET UNIT AND GET TRACK NUMBER ┆ 0x34860…34880 50 4f 50 09 48 09 09 3b 0d 0a 09 50 55 53 48 09 50 53 57 09 09 3b 53 41 56 45 20 44 45 53 49 52 ┆POP H ; PUSH PSW ;SAVE DESIR┆ 0x34880…348a0 45 44 20 54 52 41 43 4b 20 4e 55 4d 42 45 52 0d 0a 53 50 55 50 4c 50 3a 0d 0a 09 4c 44 41 09 44 ┆ED TRACK NUMBER SPUPLP: LDA D┆ 0x348a0…348c0 53 4b 54 4d 52 09 09 3b 0d 0a 09 41 4e 41 09 41 09 09 3b 57 41 49 54 20 46 4f 52 20 53 50 49 4e ┆SKTMR ; ANA A ;WAIT FOR SPIN┆ 0x348c0…348e0 55 50 20 54 49 4d 45 20 54 4f 20 45 4c 41 50 53 45 0d 0a 09 4a 4e 5a 09 53 50 55 50 4c 50 09 09 ┆UP TIME TO ELAPSE JNZ SPUPLP ┆ 0x348e0…34900 3b 0d 0a 0d 0a 09 4d 4f 56 09 41 2c 4d 09 09 3b 47 45 54 20 43 55 52 52 45 4e 54 20 54 52 41 43 ┆; MOV A,M ;GET CURRENT TRAC┆ 0x34900…34920 (26, 0, 10) 4b 20 0d 0a 09 4f 55 54 09 50 24 4d 46 44 24 54 52 4b 09 3b 4f 55 54 20 54 4f 20 43 4f 4e 54 52 ┆K OUT P$MFD$TRK ;OUT TO CONTR┆ 0x34920…34940 4f 4c 4c 45 52 0d 0a 09 50 4f 50 09 50 53 57 09 09 3b 52 45 53 54 4f 52 45 20 54 52 41 43 4b 20 ┆OLLER POP PSW ;RESTORE TRACK ┆ 0x34940…34960 4e 55 4d 42 45 52 0d 0a 09 43 4d 50 09 4d 09 09 3b 0d 0a 09 4a 5a 09 53 45 54 56 31 09 09 3b 0d ┆NUMBER CMP M ; JZ SETV1 ; ┆ 0x34960…34980 0a 09 4f 55 54 09 50 24 4d 46 44 24 44 41 54 41 09 3b 44 45 53 49 52 45 44 20 54 52 41 43 4b 20 ┆ OUT P$MFD$DATA ;DESIRED TRACK ┆ 0x34980…349a0 54 4f 20 43 4f 4e 54 52 4f 4c 4c 45 52 0d 0a 09 4d 4f 56 09 4d 2c 41 09 09 3b 0d 0a 0d 0a 09 50 ┆TO CONTROLLER MOV M,A ; P┆ 0x349a0…349c0 55 53 48 09 48 09 09 3b 0d 0a 09 4d 56 49 09 41 2c 43 24 4d 46 44 24 53 45 45 4b 09 3b 4d 49 4e ┆USH H ; MVI A,C$MFD$SEEK ;MIN┆ 0x349c0…349e0 49 20 46 4c 4f 50 50 59 20 53 45 45 4b 20 43 4f 4d 4d 41 4e 44 0d 0a 09 4f 52 49 09 46 44 24 53 ┆I FLOPPY SEEK COMMAND ORI FD$S┆ 0x349e0…34a00 54 45 50 24 52 41 54 45 09 3b 50 55 54 20 49 4e 20 54 48 45 20 53 54 45 50 20 52 41 54 45 20 42 ┆TEP$RATE ;PUT IN THE STEP RATE B┆ 0x34a00…34a20 (26, 0, 11) 4c 58 49 09 48 2c 30 09 09 3b 0d 0a 4d 4f 52 45 53 48 3a 0d 0a 09 44 41 44 09 44 09 09 3b 4d 55 ┆LXI H,0 ; MORESH: DAD D ;MU┆ 0x34a20…34a40 4c 54 49 50 4c 59 20 53 45 43 54 4f 52 20 43 4f 55 4e 54 20 42 59 20 53 45 43 54 4f 52 20 53 49 ┆LTIPLY SECTOR COUNT BY SECTOR SI┆ 0x34a40…34a60 5a 45 0d 0a 09 44 43 52 09 41 09 09 3b 0d 0a 09 4a 4e 5a 09 4d 4f 52 45 53 48 09 09 3b 0d 0a 09 ┆ZE DCR A ; JNZ MORESH ; ┆ 0x34a60…34a80 44 43 58 09 48 09 09 3b 0d 0a 09 4d 4f 56 09 41 2c 4c 09 09 3b 4c 53 42 0d 0a 09 4f 55 54 09 50 ┆DCX H ; MOV A,L ;LSB OUT P┆ 0x34a80…34aa0 24 44 4d 41 24 54 4f 47 47 4c 45 09 3b 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 43 4e 54 30 09 3b ┆$DMA$TOGGLE ; OUT P$DMA$CNT0 ;┆ 0x34aa0…34ac0 0d 0a 09 4d 4f 56 09 41 2c 48 09 09 3b 4d 53 42 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 43 4e 54 ┆ MOV A,H ;MSB OUT P$DMA$CNT┆ 0x34ac0…34ae0 30 09 3b 53 45 4e 44 20 42 59 54 45 20 43 4f 55 4e 54 20 54 4f 20 44 4d 41 0d 0a 09 52 45 54 09 ┆0 ;SEND BYTE COUNT TO DMA RET ┆ 0x34ae0…34b00 09 09 3b 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆ ; ;--------------------------┆ 0x34b00…34b20 (26, 0, 12) 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x34b20…34b40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 49 4e 49 44 4d 41 3a 09 09 09 09 3b 52 45 ┆-------------- INIDMA: ;RE┆ 0x34b40…34b60 53 54 4f 52 45 20 44 45 46 41 55 4c 54 20 44 4d 41 20 53 45 54 55 50 0d 0a 09 58 52 41 09 41 09 ┆STORE DEFAULT DMA SETUP XRA A ┆ 0x34b60…34b80 09 3b 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 43 4c 45 41 52 09 3b 4d 41 53 54 45 52 20 43 4c 45 ┆ ; OUT P$DMA$CLEAR ;MASTER CLE┆ 0x34b80…34ba0 41 52 20 44 4d 41 20 43 4f 4e 54 52 4f 4c 4c 45 52 0d 0a 09 4d 56 49 09 41 2c 43 24 44 4d 41 24 ┆AR DMA CONTROLLER MVI A,C$DMA$┆ 0x34ba0…34bc0 42 59 54 45 09 3b 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 53 54 41 54 09 3b 0d 0a 09 4d 56 49 09 ┆BYTE ; OUT P$DMA$STAT ; MVI ┆ 0x34bc0…34be0 41 2c 38 38 48 09 09 3b 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 4d 4f 44 45 09 3b 0d 0a 09 4d 56 ┆A,88H ; OUT P$DMA$MODE ; MV┆ 0x34be0…34c00 49 09 41 2c 38 35 48 09 09 3b 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 4d 4f 44 45 09 3b 0d 0a 09 ┆I A,85H ; OUT P$DMA$MODE ; ┆ 0x34c00…34c20 (26, 0, 13) 49 54 53 0d 0a 09 43 41 4c 4c 09 4f 43 4d 44 09 09 3b 4f 55 54 50 55 54 20 4d 49 4e 49 20 46 4c ┆ITS CALL OCMD ;OUTPUT MINI FL┆ 0x34c20…34c40 4f 50 50 59 20 43 4f 4d 4d 41 4e 44 0d 0a 09 50 55 53 48 09 50 53 57 09 09 3b 53 41 56 45 20 53 ┆OPPY COMMAND PUSH PSW ;SAVE S┆ 0x34c40…34c60 54 41 54 55 53 0d 0a 09 4d 56 49 09 41 2c 53 24 44 45 4c 41 59 09 3b 53 45 54 20 48 45 41 44 20 ┆TATUS MVI A,S$DELAY ;SET HEAD ┆ 0x34c60…34c80 53 45 54 54 4c 49 4e 47 20 44 45 4c 41 59 20 54 4f 20 32 35 20 6d 53 45 4b 0d 0a 09 53 54 41 09 ┆SETTLING DELAY TO 25 mSEK STA ┆ 0x34c80…34ca0 44 53 4b 54 4d 52 09 09 3b 0d 0a 53 45 54 48 53 44 3a 0d 0a 09 4c 44 41 09 44 53 4b 54 4d 52 09 ┆DSKTMR ; SETHSD: LDA DSKTMR ┆ 0x34ca0…34cc0 09 3b 0d 0a 09 41 4e 41 09 41 09 09 3b 57 41 49 54 20 46 4f 52 20 48 45 41 44 20 44 45 4c 41 59 ┆ ; ANA A ;WAIT FOR HEAD DELAY┆ 0x34cc0…34ce0 20 54 4f 20 45 4c 41 50 53 45 0d 0a 09 4a 4e 5a 09 53 45 54 48 53 44 09 09 3b 0d 0a 09 50 4f 50 ┆ TO ELAPSE JNZ SETHSD ; POP┆ 0x34ce0…34d00 09 50 53 57 09 09 3b 52 45 53 54 4f 52 45 20 53 54 41 54 55 53 0d 0a 09 50 4f 50 09 48 09 09 3b ┆ PSW ;RESTORE STATUS POP H ;┆ 0x34d00…34d20 (26, 0, 14) 52 45 53 54 4f 52 45 20 54 52 41 43 4b 20 54 41 42 4c 45 20 50 4f 49 4e 54 45 52 0d 0a 09 53 54 ┆RESTORE TRACK TABLE POINTER ST┆ 0x34d20…34d40 41 09 46 53 54 41 54 09 09 3b 53 41 56 45 20 46 55 4c 4c 20 53 54 41 54 55 53 20 46 4f 52 20 44 ┆A FSTAT ;SAVE FULL STATUS FOR D┆ 0x34d40…34d60 49 41 47 4e 4f 53 54 49 43 0d 0a 09 43 50 49 09 30 46 46 48 09 09 3b 43 48 45 43 4b 20 54 48 45 ┆IAGNOSTIC CPI 0FFH ;CHECK THE┆ 0x34d60…34d80 20 53 45 45 4b 20 46 4f 52 20 54 49 4d 45 4f 55 54 20 45 52 52 4f 52 0d 0a 09 52 5a 09 09 09 3b ┆ SEEK FOR TIMEOUT ERROR RZ ;┆ 0x34d80…34da0 0d 0a 09 41 4e 49 09 30 31 48 09 09 3b 4d 41 53 4b 20 53 54 41 54 55 53 20 46 4f 52 20 43 4f 4e ┆ ANI 01H ;MASK STATUS FOR CON┆ 0x34da0…34dc0 54 52 4f 4c 4c 45 52 20 42 55 53 59 0d 0a 09 4a 5a 09 53 45 54 56 31 09 09 3b 53 45 45 4b 20 4f ┆TROLLER BUSY JZ SETV1 ;SEEK O┆ 0x34dc0…34de0 4b 20 3d 3e 46 49 4e 49 53 48 20 53 45 54 55 50 0d 0a 0d 0a 09 4d 4f 56 09 43 2c 41 09 09 3b 53 ┆K =>FINISH SETUP MOV C,A ;S┆ 0x34de0…34e00 41 56 45 20 53 45 45 4b 20 53 54 41 54 55 53 0d 0a 09 4c 44 41 09 4d 45 52 43 4e 54 09 09 3b 47 ┆AVE SEEK STATUS LDA MERCNT ;G┆ 0x34e00…34e20 (26, 0, 15) 4d 56 49 09 41 2c 38 32 48 09 09 3b 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 4d 4f 44 45 09 3b 0d ┆MVI A,82H ; OUT P$DMA$MODE ; ┆ 0x34e20…34e40 0a 09 4d 56 49 09 41 2c 38 33 48 09 09 3b 0d 0a 09 4f 55 54 09 50 24 44 4d 41 24 4d 4f 44 45 09 ┆ MVI A,83H ; OUT P$DMA$MODE ┆ 0x34e40…34e60 3b 0d 0a 0d 0a 09 4c 58 49 09 42 2c 30 09 09 3b 4f 4e 4c 59 20 55 53 45 44 20 54 4f 20 52 45 53 ┆; LXI B,0 ;ONLY USED TO RES┆ 0x34e60…34e80 45 54 20 58 4d 24 46 4c 41 47 0d 0a 09 43 41 4c 4c 09 3f 4d 4f 56 45 09 09 3b 0d 0a 09 52 45 54 ┆ET XM$FLAG CALL ?MOVE ; RET┆ 0x34e80…34ea0 09 09 09 3b 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆ ; ;-----------------------┆ 0x34ea0…34ec0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x34ec0…34ee0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 46 44 49 4f 3a 0d 0a ┆--------------------- FDIO: ┆ 0x34ee0…34f00 09 4d 56 49 09 41 2c 31 30 09 09 3b 0d 0a 09 53 54 41 09 4d 52 57 43 4e 54 09 09 3b 0d 0a 46 50 ┆ MVI A,10 ; STA MRWCNT ; FP┆ 0x34f00…34f20 (26, 0, 16) 53 31 3a 0d 0a 09 43 41 4c 4c 09 53 45 54 55 50 44 4d 41 09 3b 0d 0a 09 4c 44 41 09 44 49 53 4b ┆S1: CALL SETUPDMA ; LDA DISK┆ 0x34f20…34f40 24 43 4f 4d 4d 41 4e 44 09 3b 47 45 54 20 43 4f 4d 4d 41 4e 44 20 42 59 54 45 0d 0a 09 4d 4f 56 ┆$COMMAND ;GET COMMAND BYTE MOV┆ 0x34f40…34f60 09 44 2c 41 09 09 3b 0d 0a 09 4c 44 41 09 46 53 49 44 45 09 09 3b 47 45 54 20 53 49 44 45 20 42 ┆ D,A ; LDA FSIDE ;GET SIDE B┆ 0x34f60…34f80 59 54 45 0d 0a 09 41 4e 49 09 30 31 48 09 09 3b 0d 0a 09 52 4c 43 09 09 09 3b 0d 0a 09 52 4c 43 ┆YTE ANI 01H ; RLC ; RLC┆ 0x34f80…34fa0 09 09 09 3b 0d 0a 09 52 4c 43 09 09 09 3b 53 49 44 45 20 42 49 54 20 49 4e 54 4f 20 50 4f 53 49 ┆ ; RLC ;SIDE BIT INTO POSI┆ 0x34fa0…34fc0 54 49 4f 4e 0d 0a 09 4f 52 41 09 44 09 09 3b 50 55 54 20 49 4e 54 4f 20 43 4f 4d 4d 41 4e 44 0d ┆TION ORA D ;PUT INTO COMMAND ┆ 0x34fc0…34fe0 0a 09 4f 55 54 20 09 50 24 4d 46 44 24 53 54 41 54 09 3b 53 45 4e 44 20 43 4f 4d 4d 41 4e 44 20 ┆ OUT P$MFD$STAT ;SEND COMMAND ┆ 0x34fe0…35000 54 4f 20 43 4f 4e 54 52 4f 4c 4c 45 52 0d 0a 09 4d 56 49 09 41 2c 58 4c 24 44 45 4c 41 59 09 3b ┆TO CONTROLLER MVI A,XL$DELAY ;┆ 0x35000…35020 (26, 1, 1) 0d 0a 09 53 54 41 09 44 53 4b 54 4d 52 09 09 3b 4d 41 58 20 32 20 53 45 43 20 42 45 46 4f 52 45 ┆ STA DSKTMR ;MAX 2 SEC BEFORE┆ 0x35020…35040 20 54 48 45 20 43 4f 4e 54 52 4f 4c 4c 45 52 0d 0a 50 42 55 53 59 3a 09 09 09 09 3b 4d 55 53 54 ┆ THE CONTROLLER PBUSY: ;MUST┆ 0x35040…35060 20 42 45 20 42 55 53 59 0d 0a 09 4c 44 41 09 44 53 4b 54 4d 52 09 09 3b 47 45 54 20 54 49 4d 45 ┆ BE BUSY LDA DSKTMR ;GET TIME┆ 0x35060…35080 52 20 56 41 4c 55 45 0d 0a 09 41 4e 41 09 41 09 09 3b 0d 0a 09 4a 5a 09 49 4f 54 4d 4f 55 54 09 ┆R VALUE ANA A ; JZ IOTMOUT ┆ 0x35080…350a0 09 3b 49 46 20 54 49 4d 45 4f 55 54 20 54 48 45 4e 20 41 42 4f 52 54 0d 0a 09 49 4e 09 50 24 4d ┆ ;IF TIMEOUT THEN ABORT IN P$M┆ 0x350a0…350c0 46 44 24 53 54 41 54 09 3b 47 45 54 20 53 54 41 54 55 53 0d 0a 09 52 52 43 09 09 09 3b 0d 0a 09 ┆FD$STAT ;GET STATUS RRC ; ┆ 0x350c0…350e0 4a 4e 43 09 50 42 55 53 59 09 09 3b 57 41 49 54 20 55 4e 54 49 4c 20 43 4f 4e 54 52 4f 4c 4c 45 ┆JNC PBUSY ;WAIT UNTIL CONTROLLE┆ 0x350e0…35100 52 20 49 53 20 42 55 53 59 0d 0a 09 58 52 41 09 41 09 09 3b 0d 0a 09 4f 55 54 09 50 24 44 4d 41 ┆R IS BUSY XRA A ; OUT P$DMA┆ 0x35100…35120 (26, 1, 2) 24 4d 41 53 4b 09 3b 53 54 41 52 54 20 44 4d 41 0d 0a 49 4f 4c 50 3a 0d 0a 09 49 4e 09 50 24 4d ┆$MASK ;START DMA IOLP: IN P$M┆ 0x35120…35140 46 44 24 53 54 41 54 09 3b 47 45 54 20 53 54 41 54 55 53 0d 0a 09 52 52 43 09 09 09 3b 53 48 49 ┆FD$STAT ;GET STATUS RRC ;SHI┆ 0x35140…35160 46 54 20 42 55 53 59 20 42 49 54 20 49 4e 54 4f 20 43 41 52 52 59 0d 0a 09 4a 4e 43 09 46 44 49 ┆FT BUSY BIT INTO CARRY JNC FDI┆ 0x35160…35180 4f 54 45 52 4d 09 3b 4f 55 54 20 49 46 20 4e 4f 54 20 42 55 53 59 0d 0a 09 49 4e 09 50 24 44 4d ┆OTERM ;OUT IF NOT BUSY IN P$DM┆ 0x35180…351a0 41 24 53 54 41 54 09 3b 47 45 54 20 44 4d 41 20 53 54 41 54 55 53 0d 0a 09 41 4e 49 09 30 31 48 ┆A$STAT ;GET DMA STATUS ANI 01H┆ 0x351a0…351c0 09 09 3b 54 45 53 54 20 49 46 20 54 52 41 4e 53 46 45 52 20 43 4f 4d 50 4c 45 54 45 0d 0a 09 4a ┆ ;TEST IF TRANSFER COMPLETE J┆ 0x351c0…351e0 4e 5a 09 46 44 49 4f 54 45 52 4d 09 3b 0d 0a 09 4c 44 41 09 44 53 4b 54 4d 52 09 09 3b 47 45 54 ┆NZ FDIOTERM ; LDA DSKTMR ;GET┆ 0x351e0…35200 20 54 49 4d 45 52 20 56 41 4c 55 45 0d 0a 09 41 4e 41 09 41 09 09 3b 54 45 53 54 20 46 4f 52 20 ┆ TIMER VALUE ANA A ;TEST FOR ┆ 0x35200…35220 (26, 1, 3) 47 55 52 45 20 4f 55 54 20 48 45 41 44 20 0d 0a 09 4c 44 41 09 46 53 49 44 45 09 09 3b 47 45 54 ┆GURE OUT HEAD LDA FSIDE ;GET┆ 0x35220…35240 20 53 49 4e 47 4c 45 20 42 59 54 45 20 46 4c 4f 50 50 59 20 53 49 44 45 20 4e 55 4d 42 45 52 0d ┆ SINGLE BYTE FLOPPY SIDE NUMBER ┆ 0x35240…35260 0a 09 52 52 43 09 09 09 3b 4d 4f 56 45 20 49 4e 54 4f 20 50 4f 53 49 54 49 4f 4e 0d 0a 09 52 52 ┆ RRC ;MOVE INTO POSITION RR┆ 0x35260…35280 43 0d 0a 09 41 4e 49 09 30 34 30 48 09 09 3b 53 54 52 49 50 20 4f 46 46 20 41 4c 4c 20 42 55 54 ┆C ANI 040H ;STRIP OFF ALL BUT┆ 0x35280…352a0 20 48 45 41 44 20 42 49 54 0d 0a 09 4f 52 41 09 42 09 09 3b 47 45 54 20 46 49 4e 41 4c 20 43 4f ┆ HEAD BIT ORA B ;GET FINAL CO┆ 0x352a0…352c0 50 59 20 4f 46 20 44 52 49 56 45 20 43 4f 4e 46 49 47 20 42 59 54 45 0d 0a 09 4d 4f 56 09 42 2c ┆PY OF DRIVE CONFIG BYTE MOV B,┆ 0x352c0…352e0 41 0d 0a 09 4c 44 41 09 4d 41 33 4d 49 52 09 09 3b 47 45 54 20 4d 41 50 33 20 4d 49 52 52 4f 52 ┆A LDA MA3MIR ;GET MAP3 MIRROR┆ 0x352e0…35300 0d 0a 09 41 4e 49 09 30 46 48 09 09 3b 53 54 52 49 50 20 50 52 45 56 49 4f 55 53 20 44 49 53 4b ┆ ANI 0FH ;STRIP PREVIOUS DISK┆ 0x35300…35320 (26, 1, 4) 20 43 4f 4e 54 52 4f 4c 20 42 49 54 53 0d 0a 09 4f 52 41 09 42 09 09 3b 49 4e 53 45 52 54 20 4e ┆ CONTROL BITS ORA B ;INSERT N┆ 0x35320…35340 45 57 20 44 49 53 4b 20 43 4f 4e 54 52 4f 4c 20 42 49 54 53 0d 0a 09 53 54 41 09 4d 41 33 4d 49 ┆EW DISK CONTROL BITS STA MA3MI┆ 0x35340…35360 52 09 09 3b 53 41 56 45 20 54 49 4c 4c 20 4e 45 58 54 20 54 49 4d 45 20 57 45 20 43 4f 4d 45 20 ┆R ;SAVE TILL NEXT TIME WE COME ┆ 0x35360…35380 48 45 52 45 0d 0a 09 4f 55 54 09 50 24 4d 41 50 33 09 09 3b 55 50 44 41 54 45 20 52 45 47 49 53 ┆HERE OUT P$MAP3 ;UPDATE REGIS┆ 0x35380…353a0 54 45 52 0d 0a 09 4c 44 41 09 46 54 52 4b 09 09 3b 52 45 54 55 52 4e 20 54 52 41 43 4b 20 4e 55 ┆TER LDA FTRK ;RETURN TRACK NU┆ 0x353a0…353c0 4d 42 45 52 20 46 4f 52 20 43 41 4c 4c 45 52 0d 0a 09 52 45 54 0d 0a 0d 0a 2a 2a 2a 2a 2a 2a 2a ┆MBER FOR CALLER RET *******┆ 0x353c0…353e0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ […0x1…] 0x35400…35420 (26, 1, 5) 54 49 4d 45 4f 55 54 0d 0a 09 4a 4e 5a 09 49 4f 4c 50 09 09 3b 0d 0a 49 4f 54 4d 4f 55 54 3a 0d ┆TIMEOUT JNZ IOLP ; IOTMOUT: ┆ 0x35420…35440 0a 09 43 41 4c 4c 09 45 4e 44 43 4d 44 09 09 3b 46 4f 52 43 45 20 43 4f 4d 4d 41 4e 44 20 54 45 ┆ CALL ENDCMD ;FORCE COMMAND TE┆ 0x35440…35460 52 4d 49 4e 41 54 49 4f 4e 0d 0a 09 4d 56 49 09 41 2c 30 46 46 48 09 09 3b 53 45 54 20 54 49 4d ┆RMINATION MVI A,0FFH ;SET TIM┆ 0x35460…35480 45 4f 55 54 20 45 52 52 4f 52 0d 0a 46 50 53 32 3a 0d 0a 09 53 54 41 09 46 53 54 41 54 09 09 3b ┆EOUT ERROR FPS2: STA FSTAT ;┆ 0x35480…354a0 0d 0a 53 45 45 4b 45 52 52 3a 0d 0a 09 4c 44 41 09 4d 52 57 43 4e 54 09 09 3b 0d 0a 09 44 43 52 ┆ SEEKERR: LDA MRWCNT ; DCR┆ 0x354a0…354c0 09 41 09 09 3b 0d 0a 09 53 54 41 09 4d 52 57 43 4e 54 09 09 3b 44 45 43 52 45 4d 45 4e 54 20 52 ┆ A ; STA MRWCNT ;DECREMENT R┆ 0x354c0…354e0 45 54 52 59 20 43 4f 55 4e 54 0d 0a 09 4a 4e 5a 09 46 50 53 33 09 09 3b 0d 0a 09 43 41 4c 4c 09 ┆ETRY COUNT JNZ FPS3 ; CALL ┆ 0x354e0…35500 49 4e 49 44 4d 41 09 09 3b 52 45 53 54 4f 52 45 20 44 45 46 41 55 4c 54 20 44 4d 41 20 53 45 54 ┆INIDMA ;RESTORE DEFAULT DMA SET┆ 0x35500…35520 (26, 1, 6) 55 50 0d 0a 09 4c 44 41 09 46 53 54 41 54 09 09 3b 0d 0a 09 52 45 54 09 09 09 3b 0d 0a 0d 0a 46 ┆UP LDA FSTAT ; RET ; F┆ 0x35520…35540 50 53 33 3a 0d 0a 09 43 41 4c 4c 09 46 52 45 53 54 52 09 09 3b 52 45 53 54 4f 52 45 20 44 49 53 ┆PS3: CALL FRESTR ;RESTORE DIS┆ 0x35540…35560 4b 0d 0a 09 4f 52 41 09 41 09 09 3b 0d 0a 09 4a 4e 5a 09 53 45 45 4b 45 52 52 09 09 3b 52 45 54 ┆K ORA A ; JNZ SEEKERR ;RET┆ 0x35560…35580 52 59 20 49 46 20 52 45 53 54 4f 52 45 20 45 52 52 4f 52 0d 0a 09 43 41 4c 4c 09 53 45 54 56 09 ┆RY IF RESTORE ERROR CALL SETV ┆ 0x35580…355a0 09 3b 0d 0a 09 4f 52 41 09 41 09 09 3b 0d 0a 09 4a 4e 5a 09 53 45 45 4b 45 52 52 09 09 3b 0d 0a ┆ ; ORA A ; JNZ SEEKERR ; ┆ 0x355a0…355c0 09 4a 4d 50 09 46 50 53 31 09 09 3b 53 45 45 4b 20 4f 4b 20 54 52 59 20 41 47 41 49 4e 0d 0a 46 ┆ JMP FPS1 ;SEEK OK TRY AGAIN F┆ 0x355c0…355e0 44 49 4f 54 45 52 4d 3a 0d 0a 09 43 41 4c 4c 09 45 4e 44 43 4d 44 09 09 3b 0d 0a 09 53 54 41 09 ┆DIOTERM: CALL ENDCMD ; STA ┆ 0x355e0…35600 46 53 54 41 54 09 09 3b 0d 0a 09 4d 56 49 09 42 2c 30 44 43 48 09 09 3b 41 53 53 55 4d 45 20 57 ┆FSTAT ; MVI B,0DCH ;ASSUME W┆ 0x35600…35620 (26, 1, 7) 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 0d 0a 3b 09 52 4f 55 54 49 4e 45 20 54 4f 20 4f 55 54 50 55 54 20 ┆******* ; ; ROUTINE TO OUTPUT ┆ 0x35620…35640 4d 49 4e 49 20 46 4c 4f 50 50 59 20 43 4f 4d 4d 41 4e 44 20 49 4e 20 28 41 29 2e 20 52 4f 55 54 ┆MINI FLOPPY COMMAND IN (A). ROUT┆ 0x35640…35660 49 4e 45 20 57 41 49 54 53 20 41 0d 0a 3b 09 4d 41 58 49 4d 55 4d 20 4f 46 20 54 48 52 45 45 20 ┆INE WAITS A ; MAXIMUM OF THREE ┆ 0x35660…35680 53 45 43 4f 4e 44 53 20 46 4f 52 20 41 20 52 45 41 44 59 20 43 4f 4e 44 49 54 49 4f 4e 20 42 45 ┆SECONDS FOR A READY CONDITION BE┆ 0x35680…356a0 46 4f 52 45 20 52 45 54 55 52 4e 49 4e 47 0d 0a 3b 09 41 20 22 30 46 46 48 22 20 54 49 4d 45 4f ┆FORE RETURNING ; A "0FFH" TIMEO┆ 0x356a0…356c0 55 54 20 43 4f 44 45 20 49 4e 20 54 48 45 20 28 41 29 20 52 45 47 49 53 54 45 52 0d 0a 3b 0d 0a ┆UT CODE IN THE (A) REGISTER ; ┆ 0x356c0…356e0 4f 43 4d 44 3a 0d 0a 09 4f 55 54 09 50 24 4d 46 44 24 53 54 41 54 09 3b 53 45 54 20 43 4f 4d 4d ┆OCMD: OUT P$MFD$STAT ;SET COMM┆ 0x356e0…35700 41 4e 44 20 54 4f 20 54 48 45 20 31 37 39 33 0d 0a 09 50 55 53 48 09 44 0d 0a 09 4c 58 49 09 44 ┆AND TO THE 1793 PUSH D LXI D┆ 0x35700…35720 (26, 1, 8) 2c 30 46 46 46 46 48 09 3b 4d 41 58 49 4d 55 4d 20 44 45 4c 41 59 0d 0a 09 43 41 4c 4c 09 57 41 ┆,0FFFFH ;MAXIMUM DELAY CALL WA┆ 0x35720…35740 49 54 31 0d 0a 09 50 4f 50 09 44 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆IT1 POP D RET ; **********┆ 0x35740…35760 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ […0x1…] 0x35780…357a0 2a 2a 2a 2a 0d 0a 3b 0d 0a 3b 09 57 41 49 54 20 46 4f 52 20 31 37 39 33 20 46 4c 4f 50 50 59 20 ┆**** ; ; WAIT FOR 1793 FLOPPY ┆ 0x357a0…357c0 44 49 53 4b 20 43 4f 4e 54 52 4f 4c 4c 45 52 20 54 4f 20 42 45 43 4f 4d 45 20 52 45 41 44 59 2e ┆DISK CONTROLLER TO BECOME READY.┆ 0x357c0…357e0 20 54 48 45 20 45 4e 54 52 59 20 41 54 20 0d 0a 3b 09 22 57 41 49 54 31 3a 22 55 53 45 53 20 54 ┆ THE ENTRY AT ; "WAIT1:"USES T┆ 0x357e0…35800 48 45 20 44 45 4c 41 59 20 50 41 52 41 4d 45 54 45 52 20 53 45 54 20 42 59 20 54 48 45 20 28 44 ┆HE DELAY PARAMETER SET BY THE (D┆ 0x35800…35820 (26, 1, 9) 52 49 54 45 20 42 49 54 20 4d 41 53 4b 27 0d 0a 09 4c 44 41 09 44 49 53 4b 24 43 4f 4d 4d 41 4e ┆RITE BIT MASK' LDA DISK$COMMAN┆ 0x35820…35840 44 09 3b 0d 0a 09 43 50 49 09 43 24 4d 46 44 24 57 52 4d 53 45 43 09 3b 0d 0a 09 4a 5a 09 57 52 ┆D ; CPI C$MFD$WRMSEC ; JZ WR┆ 0x35840…35860 4f 50 09 09 3b 0d 0a 09 4d 56 49 09 42 2c 30 39 43 48 09 09 3b 0d 0a 57 52 4f 50 3a 0d 0a 09 4c ┆OP ; MVI B,09CH ; WROP: L┆ 0x35860…35880 44 41 09 46 53 54 41 54 09 09 3b 47 45 54 20 43 4f 4e 54 52 4f 4c 4c 45 52 20 53 54 41 54 55 53 ┆DA FSTAT ;GET CONTROLLER STATUS┆ 0x35880…358a0 0d 0a 09 41 4e 41 09 42 09 09 3b 4d 41 53 4b 20 4f 46 20 55 4e 55 53 45 44 20 42 49 54 53 0d 0a ┆ ANA B ;MASK OF UNUSED BITS ┆ 0x358a0…358c0 09 4a 4e 5a 09 46 50 53 32 09 09 3b 0d 0a 09 4d 56 49 09 41 2c 58 4c 24 44 45 4c 41 59 09 3b 0d ┆ JNZ FPS2 ; MVI A,XL$DELAY ; ┆ 0x358c0…358e0 0a 09 53 54 41 09 44 53 4b 54 4d 52 09 09 3b 0d 0a 09 43 41 4c 4c 09 49 4e 49 44 4d 41 09 09 3b ┆ STA DSKTMR ; CALL INIDMA ;┆ 0x358e0…35900 52 45 53 54 4f 52 45 20 44 45 46 41 55 4c 54 20 44 4d 41 20 53 45 54 55 50 0d 0a 09 58 52 41 09 ┆RESTORE DEFAULT DMA SETUP XRA ┆ 0x35900…35920 (26, 1, 10) 41 09 09 3b 0d 0a 09 53 54 41 09 4d 4f 4e 43 4e 54 09 09 3b 43 4c 45 41 52 20 4d 4f 54 4f 52 2d ┆A ; STA MONCNT ;CLEAR MOTOR-┆ 0x35920…35940 4f 4e 20 43 4f 55 4e 54 0d 0a 09 52 45 54 09 09 09 3b 0d 0a 0d 0a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a ┆ON COUNT RET ; ;*******┆ 0x35940…35960 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ […0x1…] 0x35980…359a0 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 0d 0a 3b 09 52 4f 55 54 49 4e 45 20 54 4f 20 43 41 4c 43 55 4c 41 ┆******* ; ; ROUTINE TO CALCULA┆ 0x359a0…359c0 54 45 20 4d 41 50 33 20 4f 55 54 50 55 54 20 42 59 54 45 20 46 4f 52 20 4d 49 4e 49 20 46 4c 4f ┆TE MAP3 OUTPUT BYTE FOR MINI FLO┆ 0x359c0…359e0 50 50 59 20 41 44 44 52 45 53 53 45 44 20 42 59 0d 0a 3b 09 50 48 59 53 49 43 41 4c 20 55 4e 49 ┆PPY ADDRESSED BY ; PHYSICAL UNI┆ 0x359e0…35a00 54 20 4e 55 4d 42 45 52 20 49 4e 20 28 41 29 2c 20 57 49 54 48 4f 55 54 20 43 48 41 4e 47 49 4e ┆T NUMBER IN (A), WITHOUT CHANGIN┆ 0x35a00…35a20 (26, 1, 11) 45 29 20 52 45 47 49 53 54 45 52 20 50 41 49 52 2e 0d 0a 3b 0d 0a 57 41 49 54 31 3a 0d 0a 09 58 ┆E) REGISTER PAIR. ; WAIT1: X┆ 0x35a20…35a40 54 48 4c 09 09 09 3b 4e 4f 50 20 54 59 50 45 20 44 45 4c 41 59 0d 0a 09 58 54 48 4c 0d 0a 09 58 ┆THL ;NOP TYPE DELAY XTHL X┆ 0x35a40…35a60 54 48 4c 0d 0a 09 58 54 48 4c 0d 0a 09 49 4e 09 50 24 4d 46 44 24 53 54 41 54 09 3b 47 45 54 20 ┆THL XTHL IN P$MFD$STAT ;GET ┆ 0x35a60…35a80 31 37 39 33 20 53 54 41 54 55 53 0d 0a 09 4d 4f 56 09 43 2c 41 09 09 3b 53 41 56 45 20 49 4e 20 ┆1793 STATUS MOV C,A ;SAVE IN ┆ 0x35a80…35aa0 28 43 29 0d 0a 09 41 4e 49 09 30 31 48 09 09 3b 53 45 45 20 49 46 20 42 55 53 59 0d 0a 09 4a 5a ┆(C) ANI 01H ;SEE IF BUSY JZ┆ 0x35aa0…35ac0 09 57 41 49 54 32 09 09 3b 52 45 54 55 52 4e 20 49 46 20 4e 4f 54 20 42 55 53 59 0d 0a 09 44 43 ┆ WAIT2 ;RETURN IF NOT BUSY DC┆ 0x35ac0…35ae0 58 09 44 09 09 3b 49 46 20 53 54 49 4c 4c 20 42 55 53 59 20 54 48 45 4e 20 44 45 43 20 4c 4f 4f ┆X D ;IF STILL BUSY THEN DEC LOO┆ 0x35ae0…35b00 50 20 44 45 4c 41 59 20 43 4f 55 4e 54 0d 0a 09 4d 4f 56 09 41 2c 45 0d 0a 09 4f 52 41 09 44 09 ┆P DELAY COUNT MOV A,E ORA D ┆ 0x35b00…35b20 (26, 1, 12) 09 3b 44 45 4c 41 59 20 43 4f 55 4e 54 20 44 4f 57 4e 20 54 4f 20 5a 45 52 4f 20 59 45 54 3f 0d ┆ ;DELAY COUNT DOWN TO ZERO YET? ┆ 0x35b20…35b40 0a 09 4a 4e 5a 09 57 41 49 54 31 0d 0a 09 4d 56 49 09 43 2c 30 46 46 48 09 09 3b 53 45 54 20 54 ┆ JNZ WAIT1 MVI C,0FFH ;SET T┆ 0x35b40…35b60 49 4d 45 4f 55 54 20 45 52 52 4f 52 20 43 4f 44 45 0d 0a 57 41 49 54 32 3a 0d 0a 09 50 55 53 48 ┆IMEOUT ERROR CODE WAIT2: PUSH┆ 0x35b60…35b80 09 42 09 09 3b 53 41 56 45 20 4f 50 45 52 41 54 49 4f 4e 20 53 54 41 54 55 53 0d 0a 09 43 41 4c ┆ B ;SAVE OPERATION STATUS CAL┆ 0x35b80…35ba0 4c 09 45 4e 44 43 4d 44 09 09 3b 47 4f 20 46 4f 52 43 45 20 41 20 54 45 52 4d 49 4e 41 54 45 0d ┆L ENDCMD ;GO FORCE A TERMINATE ┆ 0x35ba0…35bc0 0a 09 50 4f 50 09 42 0d 0a 09 4d 4f 56 09 41 2c 43 09 09 3b 52 45 53 54 4f 52 45 20 53 54 41 54 ┆ POP B MOV A,C ;RESTORE STAT┆ 0x35bc0…35be0 55 53 20 54 4f 20 28 41 29 20 52 45 47 49 53 54 45 52 0d 0a 09 52 45 54 0d 0a 0d 0a 3b 2a 2a 2a ┆US TO (A) REGISTER RET ;***┆ 0x35be0…35c00 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ 0x35c00…35c20 (26, 1, 13) 47 20 4d 41 50 20 42 49 54 53 2e 0d 0a 3b 09 48 45 41 44 20 53 45 4c 45 43 54 20 42 49 54 20 42 ┆G MAP BITS. ; HEAD SELECT BIT B┆ 0x35c20…35c40 41 53 45 44 20 55 50 4f 4e 20 54 48 45 20 50 48 59 53 49 43 41 4c 20 53 49 44 45 20 53 45 4c 45 ┆ASED UPON THE PHYSICAL SIDE SELE┆ 0x35c40…35c60 43 54 20 42 59 54 45 20 4f 46 20 46 53 49 44 45 2e 0d 0a 3b 09 53 55 42 52 4f 55 54 49 4e 45 20 ┆CT BYTE OF FSIDE. ; SUBROUTINE ┆ 0x35c60…35c80 52 45 54 55 52 4e 53 20 57 49 54 48 20 28 41 29 20 45 51 55 41 4c 20 54 4f 20 54 48 45 20 41 50 ┆RETURNS WITH (A) EQUAL TO THE AP┆ 0x35c80…35ca0 50 52 4f 50 49 41 54 45 20 50 48 59 53 49 43 41 4c 0d 0a 3b 09 54 52 41 43 4b 20 4e 55 4d 42 45 ┆PROPIATE PHYSICAL ; TRACK NUMBE┆ 0x35ca0…35cc0 52 20 46 4f 52 20 53 55 42 53 45 51 55 45 4e 54 20 53 45 45 4b 20 52 4f 55 54 49 4e 45 20 43 41 ┆R FOR SUBSEQUENT SEEK ROUTINE CA┆ 0x35cc0…35ce0 4c 4c 2e 0d 0a 3b 0d 0a 47 45 54 55 4e 4d 4f 3a 0d 0a 09 41 4e 49 09 30 31 48 09 09 3b 4c 49 4d ┆LL. ; GETUNMO: ANI 01H ;LIM┆ 0x35ce0…35d00 49 54 20 53 45 4c 45 43 54 20 54 4f 20 4f 4e 4c 59 20 54 57 4f 20 44 49 53 4b 53 0d 0a 09 4d 4f ┆IT SELECT TO ONLY TWO DISKS MO┆ 0x35d00…35d20 (26, 1, 14) 56 09 42 2c 41 0d 0a 09 49 4e 52 09 42 09 09 3b 41 44 4a 55 53 54 20 44 52 49 56 45 20 4e 55 4d ┆V B,A INR B ;ADJUST DRIVE NUM┆ 0x35d20…35d40 42 45 52 20 46 4f 52 20 31 20 42 41 53 45 44 20 4c 4f 4f 50 0d 0a 09 4d 56 49 09 41 2c 30 38 48 ┆BER FOR 1 BASED LOOP MVI A,08H┆ 0x35d40…35d60 09 09 3b 43 4f 4e 56 45 52 54 20 42 49 4e 41 52 59 20 54 4f 20 4c 49 4e 45 41 52 20 53 45 4c 45 ┆ ;CONVERT BINARY TO LINEAR SELE┆ 0x35d60…35d80 43 54 0d 0a 42 49 4e 4c 49 4e 3a 0d 0a 09 52 4c 43 09 09 09 3b 52 4f 54 41 54 45 20 42 49 54 20 ┆CT BINLIN: RLC ;ROTATE BIT ┆ 0x35d80…35da0 49 4e 54 4f 20 50 4f 53 49 54 49 4f 4e 0d 0a 09 44 43 52 09 42 09 09 3b 44 4f 4e 45 20 53 48 49 ┆INTO POSITION DCR B ;DONE SHI┆ 0x35da0…35dc0 46 54 49 4e 47 3f 0d 0a 09 4a 4e 5a 09 42 49 4e 4c 49 4e 0d 0a 09 4f 52 49 09 30 38 30 48 09 09 ┆FTING? JNZ BINLIN ORI 080H ┆ 0x35dc0…35de0 3b 54 55 52 4e 20 4f 4e 20 4d 49 4e 49 20 46 4c 4f 50 50 59 20 4d 4f 54 4f 52 53 0d 0a 09 4d 4f ┆;TURN ON MINI FLOPPY MOTORS MO┆ 0x35de0…35e00 56 09 42 2c 41 09 09 3b 53 41 56 45 20 43 4f 44 45 20 53 4f 27 53 20 57 45 20 43 41 4e 20 46 49 ┆V B,A ;SAVE CODE SO'S WE CAN FI┆ 0x35e00…35e20 (26, 1, 15) 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ 0x35e20…35e40 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 0d 0a 3b 09 52 4f 55 54 49 4e 45 20 54 4f 20 46 4f 52 ┆*********** ; ; ROUTINE TO FOR┆ 0x35e40…35e60 43 45 20 52 45 53 45 54 20 54 48 45 20 31 37 39 33 20 43 48 49 50 20 54 4f 20 45 4e 44 20 41 20 ┆CE RESET THE 1793 CHIP TO END A ┆ 0x35e60…35e80 4d 55 4c 54 49 50 4c 45 20 43 4f 4d 4d 41 4e 44 0d 0a 3b 09 4f 52 20 54 4f 20 54 45 52 4d 49 4e ┆MULTIPLE COMMAND ; OR TO TERMIN┆ 0x35e80…35ea0 41 54 45 20 41 20 48 55 4e 47 20 43 4f 4d 4d 41 4e 44 2e 20 49 4e 49 54 49 41 4c 20 44 45 4c 41 ┆ATE A HUNG COMMAND. INITIAL DELA┆ 0x35ea0…35ec0 59 20 49 53 20 54 4f 20 41 4c 4c 4f 57 20 54 48 45 20 0d 0a 3b 09 31 37 39 33 20 43 4f 4e 54 52 ┆Y IS TO ALLOW THE ; 1793 CONTR┆ 0x35ec0…35ee0 4f 4c 4c 45 52 20 54 4f 20 47 45 54 20 42 59 20 54 48 45 20 43 52 43 20 42 59 54 45 53 20 4f 4e ┆OLLER TO GET BY THE CRC BYTES ON┆ 0x35ee0…35f00 20 52 45 41 44 2f 57 52 49 54 45 20 49 46 20 54 48 49 53 0d 0a 3b 09 53 55 42 52 4f 55 54 49 4e ┆ READ/WRITE IF THIS ; SUBROUTIN┆ 0x35f00…35f20 (26, 1, 16) 45 20 48 41 44 20 42 45 45 4e 20 43 41 4c 4c 45 44 20 54 4f 20 54 45 52 4d 49 4e 41 54 45 20 41 ┆E HAD BEEN CALLED TO TERMINATE A┆ 0x35f20…35f40 20 4d 55 4c 54 49 50 4c 45 20 43 4f 4d 4d 41 4e 44 2e 0d 0a 3b 0d 0a 45 4e 44 43 4d 44 3a 0d 0a ┆ MULTIPLE COMMAND. ; ENDCMD: ┆ 0x35f40…35f60 09 4d 56 49 09 42 2c 32 39 09 09 3b 53 48 4f 52 54 20 44 45 4c 41 59 20 56 41 4c 55 45 0d 0a 45 ┆ MVI B,29 ;SHORT DELAY VALUE E┆ 0x35f60…35f80 4e 44 57 41 54 3a 0d 0a 09 4e 4f 50 0d 0a 09 44 43 52 09 42 09 09 3b 44 45 43 20 4c 4f 4f 50 20 ┆NDWAT: NOP DCR B ;DEC LOOP ┆ 0x35f80…35fa0 44 45 4c 41 59 20 43 4f 55 4e 54 0d 0a 09 4a 4e 5a 09 45 4e 44 57 41 54 0d 0a 09 49 4e 09 50 24 ┆DELAY COUNT JNZ ENDWAT IN P$┆ 0x35fa0…35fc0 4d 46 44 24 53 54 41 54 09 3b 47 45 54 20 31 37 39 33 20 53 54 41 54 55 53 0d 0a 09 4d 4f 56 09 ┆MFD$STAT ;GET 1793 STATUS MOV ┆ 0x35fc0…35fe0 42 2c 41 0d 0a 09 4d 56 49 09 41 2c 43 24 4d 46 44 24 46 42 44 09 3b 46 4f 52 43 45 20 52 45 53 ┆B,A MVI A,C$MFD$FBD ;FORCE RES┆ 0x35fe0…36000 45 54 20 43 4f 4d 4d 41 4e 44 0d 0a 09 4f 55 54 09 50 24 4d 46 44 24 53 54 41 54 09 3b 0d 0a 09 ┆ET COMMAND OUT P$MFD$STAT ; ┆ 0x36000…36020 (27, 0, 1) 4d 4f 56 09 41 2c 42 09 09 3b 0d 0a 09 52 45 54 0d 0a 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆MOV A,B ; RET ;-----------┆ 0x36020…36040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x36040…36060 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d ┆----------------------------- ┆ 0x36060…36080 0a 46 52 45 53 54 52 3a 0d 0a 09 4d 56 49 09 41 2c 31 30 09 09 3b 52 45 54 52 59 20 43 4f 55 4e ┆ FRESTR: MVI A,10 ;RETRY COUN┆ 0x36080…360a0 54 0d 0a 09 4d 4f 56 09 42 2c 41 09 09 3b 0d 0a 46 52 45 53 54 31 3a 0d 0a 09 50 55 53 48 09 42 ┆T MOV B,A ; FREST1: PUSH B┆ 0x360a0…360c0 09 09 3b 0d 0a 09 4c 44 41 09 40 52 44 52 56 09 09 3b 47 45 54 20 50 48 59 53 49 43 41 4c 20 44 ┆ ; LDA @RDRV ;GET PHYSICAL D┆ 0x360c0…360e0 52 49 56 45 20 4e 55 4d 42 45 52 0d 0a 09 4d 4f 56 09 45 2c 41 09 09 3b 0d 0a 09 4d 56 49 09 44 ┆RIVE NUMBER MOV E,A ; MVI D┆ 0x360e0…36100 2c 30 30 48 09 09 3b 53 45 54 20 54 48 49 53 20 44 52 49 56 45 20 54 52 41 43 4b 20 54 41 42 4c ┆,00H ;SET THIS DRIVE TRACK TABL┆ 0x36100…36120 (27, 0, 2) 45 20 54 4f 20 5a 45 52 4f 0d 0a 09 4c 58 49 09 48 2c 54 52 4b 54 41 42 09 3b 54 52 41 43 4b 20 ┆E TO ZERO LXI H,TRKTAB ;TRACK ┆ 0x36120…36140 54 41 42 4c 45 20 42 41 53 45 20 41 44 44 52 45 53 53 0d 0a 09 44 41 44 09 44 09 09 3b 0d 0a 09 ┆TABLE BASE ADDRESS DAD D ; ┆ 0x36140…36160 4d 56 49 09 4d 2c 30 30 48 09 09 3b 4d 4f 56 45 20 41 20 5a 45 52 4f 20 49 4e 54 4f 20 54 48 45 ┆MVI M,00H ;MOVE A ZERO INTO THE┆ 0x36160…36180 20 54 52 41 43 4b 20 54 41 42 4c 45 0d 0a 09 43 41 4c 4c 09 47 45 54 55 4e 4d 4f 09 09 3b 47 45 ┆ TRACK TABLE CALL GETUNMO ;GE┆ 0x36180…361a0 54 20 4d 49 4e 49 20 46 4c 4f 50 50 59 20 55 4e 49 54 20 4d 4f 44 45 20 57 4f 52 44 0d 0a 09 4d ┆T MINI FLOPPY UNIT MODE WORD M┆ 0x361a0…361c0 56 49 09 41 2c 43 24 4d 46 44 24 52 45 53 54 4f 52 45 09 3b 47 45 54 20 52 45 53 54 4f 52 45 20 ┆VI A,C$MFD$RESTORE ;GET RESTORE ┆ 0x361c0…361e0 43 4f 4d 4d 41 4e 44 0d 0a 09 4f 52 49 09 46 44 24 53 54 45 50 24 52 41 54 45 09 3b 50 55 54 20 ┆COMMAND ORI FD$STEP$RATE ;PUT ┆ 0x361e0…36200 49 4e 20 54 48 45 20 53 54 45 50 20 52 41 54 45 20 42 49 54 53 0d 0a 09 43 41 4c 4c 09 4f 43 4d ┆IN THE STEP RATE BITS CALL OCM┆ 0x36200…36300 (27, 0, 3) DataBlock {»LDRBIOS.ASM«} […0x1…] 0x36400…36420 (27, 0, 5) 44 09 09 3b 53 45 4e 44 20 52 45 53 54 4f 52 45 20 43 4f 4d 4d 41 4e 44 20 54 4f 20 31 37 39 33 ┆D ;SEND RESTORE COMMAND TO 1793┆ 0x36420…36440 0d 0a 09 50 4f 50 09 42 09 09 3b 0d 0a 09 53 54 41 09 46 53 54 41 54 09 09 3b 53 41 56 45 20 53 ┆ POP B ; STA FSTAT ;SAVE S┆ 0x36440…36460 54 41 54 55 53 20 46 4f 52 20 44 49 41 47 4e 4f 53 54 49 43 0d 0a 09 43 50 49 09 30 46 46 48 09 ┆TATUS FOR DIAGNOSTIC CPI 0FFH ┆ 0x36460…36480 09 3b 0d 0a 09 4a 5a 09 52 45 53 54 45 58 09 09 3b 0d 0a 09 58 52 49 09 30 34 48 09 09 3b 43 4f ┆ ; JZ RESTEX ; XRI 04H ;CO┆ 0x36480…364a0 4d 50 4c 45 4d 45 4e 54 20 54 52 41 43 4b 20 5a 45 52 4f 20 42 49 54 0d 0a 09 41 4e 49 09 30 35 ┆MPLEMENT TRACK ZERO BIT ANI 05┆ 0x364a0…364c0 48 09 09 3b 53 45 45 20 49 46 20 44 52 49 56 45 20 42 55 53 59 20 4f 52 20 4e 4f 54 20 54 52 41 ┆H ;SEE IF DRIVE BUSY OR NOT TRA┆ 0x364c0…364e0 43 4b 20 5a 45 52 4f 0d 0a 09 4a 5a 09 52 45 53 54 45 58 09 09 3b 0d 0a 09 44 43 52 09 42 09 09 ┆CK ZERO JZ RESTEX ; DCR B ┆ 0x364e0…36500 3b 0d 0a 09 4a 4e 5a 09 46 52 45 53 54 31 09 09 3b 0d 0a 52 45 53 54 45 58 3a 0d 0a 09 50 55 53 ┆; JNZ FREST1 ; RESTEX: PUS┆ 0x36500…36520 (27, 0, 6) 48 09 50 53 57 09 09 3b 0d 0a 09 58 52 41 09 41 09 09 3b 0d 0a 09 4f 55 54 09 50 24 4d 46 44 24 ┆H PSW ; XRA A ; OUT P$MFD$┆ 0x36520…36540 54 52 4b 09 3b 0d 0a 09 50 4f 50 09 50 53 57 09 09 3b 0d 0a 09 52 45 54 09 09 09 3b 0d 0a 0d 0a ┆TRK ; POP PSW ; RET ; ┆ 0x36540…36560 0d 0a 09 50 41 47 45 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆ PAGE ;----------------------┆ 0x36560…36580 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x36580…365a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 44 49 53 4b 24 53 54 41 54 ┆------------------- DISK$STAT┆ 0x365a0…365c0 55 53 3a 09 44 42 09 30 30 48 09 3b 4c 41 53 54 20 45 52 52 4f 52 20 53 54 41 54 55 53 20 43 4f ┆US: DB 00H ;LAST ERROR STATUS CO┆ 0x365c0…365e0 44 45 20 46 4f 52 20 4d 45 53 53 41 47 45 53 0d 0a 0d 0a 52 44 24 4d 53 47 3a 09 09 44 42 09 27 ┆DE FOR MESSAGES RD$MSG: DB '┆ 0x365e0…36600 20 52 45 41 44 20 27 2c 43 52 2c 4c 46 2c 30 0d 0a 57 52 24 4d 53 47 3a 09 09 44 42 09 27 20 57 ┆ READ ',CR,LF,0 WR$MSG: DB ' W┆ 0x36600…36700 (27, 0, 7) DataBlock {»LDRBIOS.ASM«} […0x1…] 0x36800…36820 (27, 0, 9) 52 49 54 45 20 27 2c 43 52 2c 4c 46 2c 30 0d 0a 0d 0a 52 57 24 4e 41 4d 45 3a 09 44 57 09 52 44 ┆RITE ',CR,LF,0 RW$NAME: DW RD┆ 0x36820…36840 24 4d 53 47 09 3b 54 45 58 54 20 46 4f 52 20 45 52 52 4f 52 20 4d 45 53 53 41 47 45 0d 0a 0d 0a ┆$MSG ;TEXT FOR ERROR MESSAGE ┆ 0x36840…36860 45 52 52 4f 52 24 54 41 42 4c 45 3a 09 44 57 09 42 37 24 4d 53 47 09 3b 54 41 42 4c 45 20 4f 46 ┆ERROR$TABLE: DW B7$MSG ;TABLE OF┆ 0x36860…36880 20 50 4f 49 4e 54 45 52 53 20 54 4f 20 45 52 52 4f 52 0d 0a 09 09 44 57 09 42 36 24 4d 53 47 09 ┆ POINTERS TO ERROR DW B6$MSG ┆ 0x36880…368a0 3b 4d 45 53 53 41 47 45 20 53 54 52 49 4e 47 53 0d 0a 09 09 44 57 09 42 35 24 4d 53 47 09 3b 46 ┆;MESSAGE STRINGS DW B5$MSG ;F┆ 0x368a0…368c0 49 52 53 54 20 45 4e 54 52 59 20 49 53 20 46 4f 52 20 42 49 54 20 37 0d 0a 09 09 44 57 09 42 34 ┆IRST ENTRY IS FOR BIT 7 DW B4┆ 0x368c0…368e0 24 4d 53 47 09 3b 4f 46 20 31 37 39 33 20 53 54 41 54 55 53 20 42 59 54 45 0d 0a 09 09 44 57 09 ┆$MSG ;OF 1793 STATUS BYTE DW ┆ 0x368e0…36900 42 33 24 4d 53 47 0d 0a 09 09 44 57 09 42 32 24 4d 53 47 0d 0a 09 09 44 57 09 42 31 24 4d 53 47 ┆B3$MSG DW B2$MSG DW B1$MSG┆ 0x36900…36920 (27, 0, 10) 0d 0a 09 09 44 57 09 42 30 24 4d 53 47 0d 0a 0d 0a 42 37 24 4d 53 47 3a 09 09 44 42 09 27 4e 4f ┆ DW B0$MSG B7$MSG: DB 'NO┆ 0x36920…36940 54 20 52 45 41 44 59 27 2c 43 52 2c 4c 46 2c 30 0d 0a 42 36 24 4d 53 47 3a 09 09 44 42 09 27 50 ┆T READY',CR,LF,0 B6$MSG: DB 'P┆ 0x36940…36960 52 4f 54 45 43 54 27 2c 43 52 2c 4c 46 2c 30 0d 0a 42 35 24 4d 53 47 3a 09 09 44 42 09 27 46 41 ┆ROTECT',CR,LF,0 B5$MSG: DB 'FA┆ 0x36960…36980 55 4c 54 27 2c 43 52 2c 4c 46 2c 30 0d 0a 42 34 24 4d 53 47 3a 09 09 44 42 09 27 52 45 43 4f 52 ┆ULT',CR,LF,0 B4$MSG: DB 'RECOR┆ 0x36980…369a0 44 20 4e 4f 54 20 46 4f 55 4e 44 27 2c 43 52 2c 4c 46 2c 30 0d 0a 42 33 24 4d 53 47 3a 09 09 44 ┆D NOT FOUND',CR,LF,0 B3$MSG: D┆ 0x369a0…369c0 42 09 27 43 52 43 27 2c 43 52 2c 4c 46 2c 30 0d 0a 42 32 24 4d 53 47 3a 09 09 44 42 09 27 4c 4f ┆B 'CRC',CR,LF,0 B2$MSG: DB 'LO┆ 0x369c0…369e0 53 54 20 44 41 54 41 27 2c 43 52 2c 4c 46 2c 30 0d 0a 42 31 24 4d 53 47 3a 09 09 44 42 09 27 44 ┆ST DATA',CR,LF,0 B1$MSG: DB 'D┆ 0x369e0…36a00 52 45 51 27 2c 43 52 2c 4c 46 2c 30 0d 0a 42 30 24 4d 53 47 3a 09 09 44 42 09 27 42 55 53 59 27 ┆REQ',CR,LF,0 B0$MSG: DB 'BUSY'┆ 0x36a00…36b00 (27, 0, 11) DataBlock {»LDRBIOS.ASM«} […0x1…] 0x36c00…36c20 (27, 0, 13) 2c 43 52 2c 4c 46 2c 30 0d 0a 0d 0a 09 50 41 47 45 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆,CR,LF,0 PAGE ;************┆ 0x36c20…36c40 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ 0x36c40…36c60 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 0d ┆***************************** ┆ 0x36c60…36c80 0a 40 43 4e 54 09 09 44 42 09 34 0d 0a 0d 0a 46 53 54 41 54 09 09 44 42 09 30 09 09 09 3b 0d 0a ┆ @CNT DB 4 FSTAT DB 0 ; ┆ 0x36c80…36ca0 46 53 49 44 45 09 09 44 42 09 30 09 09 09 3b 0d 0a 46 54 52 4b 09 09 44 42 09 30 09 09 09 3b 0d ┆FSIDE DB 0 ; FTRK DB 0 ; ┆ 0x36ca0…36cc0 0a 54 52 4b 54 41 42 09 09 44 42 09 30 46 46 48 2c 30 46 46 48 09 09 3b 0d 0a 4d 52 57 43 4e 54 ┆ TRKTAB DB 0FFH,0FFH ; MRWCNT┆ 0x36cc0…36ce0 09 09 44 42 09 30 09 09 09 3b 0d 0a 4d 45 52 43 4e 54 09 09 44 42 09 30 09 09 09 3b 0d 0a 44 4d ┆ DB 0 ; MERCNT DB 0 ; DM┆ 0x36ce0…36d00 41 24 43 4f 4d 4d 41 4e 44 09 44 42 09 30 09 09 09 3b 28 44 4d 43 4d 44 29 0d 0a 44 49 53 4b 24 ┆A$COMMAND DB 0 ;(DMCMD) DISK$┆ 0x36d00…36d20 (27, 0, 14) 43 4f 4d 4d 41 4e 44 09 44 42 09 30 09 09 09 3b 28 46 44 43 4d 44 29 0d 0a 0d 0a 09 45 4e 44 0d ┆COMMAND DB 0 ;(FDCMD) END ┆ 0x36d20…36d40 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ ┆ 0x36d40…36d60 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ ┆ […0x1…] 0x36d80…36da0 55 4e 43 48 41 4e 47 45 44 09 09 2a 0d 0a 3b 2a 09 09 09 09 09 09 09 09 09 2a 0d 0a 3b 2a 2a 2a ┆UNCHANGED * ;* * ;***┆ 0x36da0…36dc0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆********************************┆ […0x1…] 0x36de0…36e00 2a 2a 2a 2a 2a 0d 0a 0d 0a 3f 42 41 4e 4b 3a 0d 0a 09 50 55 53 48 09 42 09 09 3b 0d 0a 09 50 55 ┆***** ?BANK: PUSH B ; PU┆ 0x36e00…36f00 (27, 0, 15) DataBlock {»LDRBIOS.ASM«} […0x23…] 0x39200…39220 (28, 1, 3) 4c 49 4e 4b 20 42 4e 4b 42 49 4f 53 33 5b 42 2c 51 5d 3d 42 49 4f 53 4b 52 4e 4c 2c 53 43 42 2c ┆LINK BNKBIOS3ÆB,QÅ=BIOSKRNL,SCB,┆ 0x39220…39240 42 4f 4f 54 2c 43 48 41 52 49 4f 2c 4d 4f 56 45 2c 44 52 56 54 42 4c 2c 48 44 49 4f 2c 4d 46 44 ┆BOOT,CHARIO,MOVE,DRVTBL,HDIO,MFD┆ 0x39240…39260 49 4f 0d 0a 67 65 6e 63 70 6d 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆IO gencpm ┆ 0x39260…39280 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ ┆ 0x39280…392a0 09 4d 4f 56 09 41 2c 4c 0d 0a 09 53 54 41 09 30 46 46 46 45 48 2b 30 41 48 0d 0a 09 4d 4f 56 09 ┆ MOV A,L STA 0FFFEH+0AH MOV ┆ 0x392a0…392c0 41 2c 48 0d 0a 09 53 54 41 09 30 46 46 46 45 48 2b 30 41 48 2b 31 48 0d 0a 0d 0a 09 4c 58 49 09 ┆A,H STA 0FFFEH+0AH+1H LXI ┆ 0x392c0…392e0 48 2c 49 4e 49 54 24 54 41 42 4c 45 09 3b 53 45 54 20 55 50 20 4d 49 53 43 2e 20 48 41 52 44 57 ┆H,INIT$TABLE ;SET UP MISC. HARDW┆ 0x392e0…39300 41 52 45 0d 0a 09 43 41 4c 4c 09 4f 55 54 24 42 4c 4f 43 4b 53 09 3b 0d 0a 0d 0a 09 43 41 4c 4c ┆ARE CALL OUT$BLOCKS ; CALL┆ 0x39300…39320 (28, 1, 4) 09 48 57 24 49 4e 49 54 0d 0a 09 52 45 54 09 09 09 3b 0d 0a 0d 0a 4f 55 54 24 42 4c 4f 43 4b 53 ┆ HW$INIT RET ; OUT$BLOCKS┆ 0x39320…39340 3a 0d 0a 09 4d 4f 56 09 41 2c 4d 09 09 3b 47 45 54 20 43 4f 55 4e 54 20 56 41 4c 55 45 0d 0a 09 ┆: MOV A,M ;GET COUNT VALUE ┆ 0x39340…39360 4f 52 41 09 41 09 09 3b 0d 0a 09 52 5a 09 09 09 3b 0d 0a 09 4d 4f 56 09 42 2c 41 09 09 3b 47 45 ┆ORA A ; RZ ; MOV B,A ;GE┆ 0x39360…39380 54 20 43 4f 55 4e 54 20 56 41 4c 55 45 20 49 4e 54 4f 20 3c 42 3e 0d 0a 09 49 4e 58 09 48 09 09 ┆T COUNT VALUE INTO <B> INX H ┆ 0x39380…393a0 3b 0d 0a 09 4d 4f 56 09 43 2c 4d 09 09 3b 47 45 54 20 50 4f 52 54 20 41 44 44 52 45 53 53 20 49 ┆; MOV C,M ;GET PORT ADDRESS I┆ 0x393a0…393c0 4e 54 4f 20 3c 43 3e 0d 0a 09 49 4e 58 09 48 09 09 3b 3c 48 4c 3e 20 50 4f 49 4e 54 45 52 20 54 ┆NTO <C> INX H ;<HL> POINTER T┆ 0x393c0…393e0 4f 20 20 4f 55 54 50 55 54 20 56 41 4c 55 45 20 0d 0a 09 4f 55 54 49 52 09 09 09 3b 0d 0a 09 4a ┆O OUTPUT VALUE OUTIR ; J┆ 0x393e0…39400 4d 50 09 4f 55 54 24 42 4c 4f 43 4b 53 09 3b 0d 0a 0d 0a 49 4e 49 54 24 54 41 42 4c 45 3a 0d 0a ┆MP OUT$BLOCKS ; INIT$TABLE: ┆ 0x39400…39500 (28, 1, 5) DataBlock {»LDRBIOS.ASM«} […0x1…] 0x39600…39620 (28, 1, 7) e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 ┆ ┆ […0xf…] 0x39800…39900 (28, 1, 9) DataBlock {»LDRBIOS.ASM«} […0x1…] 0x39a00…39a20 (28, 1, 11) e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 ┆ ┆ […0xf…] 0x39c00…39d00 (28, 1, 13) DataBlock {»LDRBIOS.ASM«} […0x1…] 0x39e00…39e20 (28, 1, 15) e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 ┆ ┆ […0xf…] 0x3a000…3a100 (29, 0, 1) DataBlock {»BNKBIOS3.SUB«} […0x1…] 0x3a200…3a300 (29, 0, 3) DataBlock {»CPM3LDR.SUB«} […0x1…] 0x3a400…3a500 (29, 0, 5) DataBlock {»BNKBIOS3.SUB«} […0x1…] 0x3a600…3a700 (29, 0, 7) DataBlock {»CPM3LDR.SUB«} […0x1…] 0x3a800…3a900 (29, 0, 9) DataBlock {»BNKBIOS3.SUB«} […0x1…] 0x3aa00…3ab00 (29, 0, 11) DataBlock {»CPM3LDR.SUB«} […0x1…] 0x3ac00…3ad00 (29, 0, 13) DataBlock {»BNKBIOS3.SUB«} […0x1…] 0x3ae00…3af00 (29, 0, 15) DataBlock {»CPM3LDR.SUB«} […0x1…] 0x3b000…3b100 (29, 1, 1) DataBlock {»MFDIO.ASM«} […0x4f…] 0x40000…40100 (32, 0, 1) DataBlock {»FORMAT3.ASM«} […0x31…] 0x43200…43300 (33, 1, 3) DataBlock {»PORTS.LIB«} […0x1…] 0x43400…43500 (33, 1, 5) DataBlock {»FORMAT3.ASM«} […0x1…] 0x43600…43700 (33, 1, 7) DataBlock {»PORTS.LIB«} […0x1…] 0x43800…43900 (33, 1, 9) DataBlock {»FORMAT3.ASM«} […0x1…] 0x43a00…43b00 (33, 1, 11) DataBlock {»PORTS.LIB«} […0x1…] 0x43c00…43d00 (33, 1, 13) DataBlock {»FORMAT3.ASM«} […0x1…] 0x43e00…43f00 (33, 1, 15) DataBlock {»PORTS.LIB«} […0x23…] 0x46200…46220 (35, 0, 3) 31 ce 05 0e 19 cd 05 00 32 93 01 0e 0c cd 05 00 7d fe 30 da 5a 01 11 37 05 cd 27 03 db 09 e6 01 ┆1 2 å 0 Z 7 ' ┆ 0x46220…46240 ca 44 01 3e 41 32 f5 03 32 0b 04 11 33 03 cd 27 03 11 10 04 cd 63 01 fe 41 ca 95 01 fe 42 ca 95 ┆ D >A2 2 3 ' c A B ┆ 0x46240…46260 01 c3 f2 02 3e 45 32 f5 03 32 0b 04 11 33 03 cd 63 01 fe 45 c2 f2 02 c3 95 01 11 68 05 cd 27 03 ┆ >E2 2 3 c E h ' ┆ 0x46260…46280 c3 34 02 cd 27 03 11 3c 04 cd 27 03 cd fd 02 f5 11 74 04 cd 27 03 f1 e6 5f fe 51 ca 34 02 c9 32 ┆ 4 ' < ' t ' _ Q 4 2┆ 0x46280…462a0 8b 01 11 8b 01 0e 32 cd 05 00 c9 00 00 00 00 00 00 00 00 00 00 32 94 01 11 81 04 cd 27 03 3a 94 ┆ 2 2 ' : ┆ 0x462a0…462c0 01 4f cd 1a 03 11 78 04 cd 27 03 cd fd 02 e6 5f fe 59 c2 24 02 11 ab 04 cd 27 03 cd fd 02 e6 5f ┆ O x ' _ Y $ ' _┆ 0x462c0…462e0 fe 46 c2 24 02 cd e7 02 26 00 3a 94 01 d6 41 6f 22 8d 01 21 00 00 22 8f 01 3e 09 cd 7f 01 21 ce ┆ F $ & : Ao" ! " > ! ┆ 0x462e0…46300 05 22 8d 01 3e 0c cd 7f 01 af 32 7d 05 6f 26 00 22 8d 01 3e 0a cd 7f 01 21 01 00 22 8d 01 3e 0b ┆ " > 2å o& " > ! " > ┆ 0x46300…46320 (35, 0, 4) cd 7f 01 cd 52 02 21 01 00 22 8d 01 3e 1e cd 7f 01 b7 c2 24 02 3a 7d 05 3c fe 9b c2 ea 01 11 1d ┆ R ! " > $ :å < ┆ 0x46320…46340 05 cd 27 03 11 41 05 cd 27 03 cd fd 02 e6 5f fe 59 ca 16 01 21 00 00 22 8f 01 3a 93 01 6f 22 8d ┆ ' A ' _ Y ! " : o" ┆ 0x46340…46360 01 3e 09 cd 7f 01 3a 93 01 5f 0e 0e cd 05 00 c3 00 00 16 01 1e 10 21 ce 05 06 50 3e 4e 77 23 10 ┆ > : _ ! P>Nw# ┆ 0x46360…46380 fc 06 0c 3e 00 77 23 10 fc 06 03 3e f6 77 23 10 fc 36 fc 23 06 32 3e 4e 77 23 10 fc 06 0c 3e 00 ┆ > w# > w# 6 # 2>Nw# > ┆ 0x46380…463a0 77 23 10 fc 06 03 3e f5 77 23 10 fc 36 fe 23 3a 7d 05 f5 b7 1f 77 23 f1 e6 01 77 23 72 23 36 01 ┆w# > w# 6 #:å w# w#r#6 ┆ 0x463a0…463c0 23 36 f7 23 06 16 3e 4e 77 23 10 fc 06 0c 3e 00 77 23 10 fc 06 03 3e f5 77 23 10 fc 36 fb 23 01 ┆#6 # >Nw# > w# > w# 6 # ┆ 0x463c0…463e0 00 01 36 e5 23 0b 78 b1 c2 c2 02 36 f7 23 06 36 3e 4e 77 23 10 fc 14 1d c2 7c 02 01 fc 08 36 4e ┆ 6 # x 6 # 6>Nw# ø 6N┆ 0x463e0…46400 23 0b 78 b1 20 f8 c9 0e 0d cd 1a 03 0e 0a cd 1a 03 c9 0e 3f cd 1a 03 cd e7 02 c3 24 02 e5 d5 c5 ┆# x ? $ ┆ 0x46400…46500 (35, 0, 5) DataBlock {»PORTS.LIB«} […0x1…] 0x46600…46620 (35, 0, 7) 0e 06 1e ff cd 05 00 e6 7f b7 28 f4 fe 0d 28 f0 f5 4f cd 1a 03 f1 c1 d1 e1 c9 e5 d5 c5 59 0e 02 ┆ ( ( O Y ┆ 0x46620…46640 cd 05 00 c1 d1 e1 c9 1a fe 00 c8 4f cd 1a 03 13 c3 27 03 20 20 20 20 20 1b 5b 37 6d 20 43 68 72 ┆ O ' Æ7m Chr┆ 0x46640…46660 69 73 74 69 61 6e 20 52 6f 76 73 69 6e 67 20 41 2f 53 20 20 20 20 43 50 2f 4d 20 50 4c 55 53 20 ┆istian Rovsing A/S CP/M PLUS ┆ 0x46660…46680 20 20 20 66 6f 72 6d 61 74 74 69 6e 67 20 75 74 69 6c 69 74 79 20 1b 5b 6d 0d 0a 20 20 20 20 20 ┆ formatting utility Æm ┆ 0x46680…466a0 1b 5b 37 6d 20 46 6f 72 20 64 75 61 6c 20 73 69 64 65 64 20 39 36 20 54 50 49 20 35 20 31 2f 34 ┆ Æ7m For dual sided 96 TPI 5 1/4┆ 0x466a0…466c0 20 69 6e 63 68 20 6d 69 6e 69 20 66 6c 6f 70 70 79 20 64 69 73 6b 20 64 72 69 76 65 73 20 1b 5b ┆ inch mini floppy disk drives Æ┆ 0x466c0…466e0 6d 0d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c 65 63 74 20 6f 70 74 69 6f 6e 20 ┆m Select option ┆ 0x466e0…46700 2d 0d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 29 20 46 6f 72 6d 61 74 20 6d ┆- A) Format m┆ 0x46700…46720 (35, 0, 8) 69 6e 69 20 66 6c 6f 70 70 79 20 2a 3a 0d 0a 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ini floppy *: ┆ 0x46720…46740 20 42 29 20 46 6f 72 6d 61 74 20 6d 69 6e 69 20 66 6c 6f 70 70 79 20 42 3a 0d 0a 00 20 20 20 20 ┆ B) Format mini floppy B: ┆ 0x46740…46760 20 20 20 20 20 20 20 20 20 20 20 20 20 51 29 20 51 75 69 74 0d 0a 0d 0a 20 20 20 20 20 20 20 20 ┆ Q) Quit ┆ 0x46760…46780 20 20 20 20 20 20 4f 70 74 69 6f 6e 20 3d 20 1b 5b 37 6d 00 1b 5b 6d 00 3a 20 28 59 2f 4e 29 20 ┆ Option = Æ7m Æm : (Y/N) ┆ 0x46780…467a0 00 0d 0a 0a 09 48 61 73 20 64 69 73 6b 65 74 74 65 20 62 65 65 6e 20 69 6e 73 74 61 6c 6c 65 64 ┆ Has diskette been installed┆ 0x467a0…467c0 20 69 6e 20 64 72 69 76 65 20 00 0d 0a 0a 4e 42 21 20 20 54 68 69 73 20 6f 70 65 72 61 74 69 6f ┆ in drive NB! This operatio┆ 0x467c0…467e0 6e 20 77 69 6c 6c 20 65 72 61 73 65 20 41 4c 4c 20 64 61 74 61 20 6f 6e 20 74 68 65 20 64 69 73 ┆n will erase ALL data on the dis┆ 0x467e0…46800 6b 21 0d 0a 20 20 20 20 20 54 79 70 65 20 22 46 22 20 77 68 65 6e 20 72 65 61 64 79 20 74 6f 20 ┆k! Type "F" when ready to ┆ 0x46800…46900 (35, 0, 9) DataBlock {»PORTS.LIB«} […0x1…] 0x46a00…46a20 (35, 0, 11) 66 6f 72 6d 61 74 20 6f 72 20 22 53 22 20 74 6f 20 73 74 6f 70 20 28 46 2f 53 29 20 00 0d 0a 0a ┆format or "S" to stop (F/S) ┆ 0x46a20…46a40 07 46 6f 72 6d 61 74 74 69 6e 67 20 63 6f 6d 70 6c 65 74 65 0d 0a 00 1b 5b 32 4a 1b 5b 48 0d 0a ┆ Formatting complete Æ2J ÆH ┆ 0x46a40…46a60 00 0d 0a 0a 09 4d 6f 72 65 20 64 69 73 6b 73 20 74 6f 20 62 65 20 66 6f 72 6d 61 74 74 65 64 3f ┆ More disks to be formatted?┆ 0x46a60…46a80 20 28 59 2f 4e 29 20 00 0d 0a 52 65 71 75 69 72 65 73 20 43 50 2f 4d 20 50 4c 55 53 00 00 00 00 ┆ (Y/N) Requires CP/M PLUS ┆ 0x46a80…46aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆ […0xb…] 0x46c00…46d00 (35, 0, 13) DataBlock {»PORTS.LIB«} […0x1…] 0x46e00…46e20 (35, 0, 15) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆ […0x5…] 0x46ec0…46ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ ┆ 0x46ee0…46f00 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a ┆ ┆ 0x46f00…46f20 (35, 0, 16) 24 44 41 54 41 09 45 51 55 09 50 24 48 44 43 2b 31 09 09 3b 0d 0a 50 24 48 44 24 52 45 53 45 54 ┆$DATA EQU P$HDC+1 ; P$HD$RESET┆ 0x46f20…46f40 09 45 51 55 09 50 24 48 44 43 2b 35 09 09 3b 0d 0a 09 09 65 6e 64 69 66 0d 0a 0d 0a 43 24 44 49 ┆ EQU P$HDC+5 ; endif C$DI┆ 0x46f40…46f60 52 44 59 09 09 45 51 55 09 30 30 48 09 09 3b 54 45 53 54 20 44 52 49 56 45 20 52 45 41 44 59 0d ┆RDY EQU 00H ;TEST DRIVE READY ┆ 0x46f60…46f80 0a 43 24 44 49 52 53 54 09 09 45 51 55 09 30 31 48 09 09 3b 52 45 53 54 4f 52 45 0d 0a 43 24 44 ┆ C$DIRST EQU 01H ;RESTORE C$D┆ 0x46f80…46fa0 49 52 53 59 4e 09 45 51 55 09 30 32 48 09 09 3b 52 45 51 55 45 53 54 20 53 59 4e 44 52 4f 4d 45 ┆IRSYN EQU 02H ;REQUEST SYNDROME┆ 0x46fa0…46fc0 0d 0a 43 24 44 49 52 53 53 09 09 45 51 55 09 30 33 48 09 09 3b 52 45 51 55 45 53 54 20 53 45 4e ┆ C$DIRSS EQU 03H ;REQUEST SEN┆ 0x46fc0…46fe0 53 45 20 53 54 41 54 55 53 0d 0a 43 24 44 49 46 4f 52 4d 09 45 51 55 09 30 34 48 09 09 3b 46 4f ┆SE STATUS C$DIFORM EQU 04H ;FO┆ 0x46fe0…47000 52 4d 41 54 20 44 49 53 4b 0d 0a 43 24 44 49 56 45 52 46 09 45 51 55 09 30 35 48 09 09 3b 56 45 ┆RMAT DISK C$DIVERF EQU 05H ;VE┆ 0x47000…47020 (35, 1, 1) e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 ┆ ┆ […0x29ff…]