DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ 5 B C D F H I L M P S T

⟦b445f10af⟧ Bits:30004389 CP/M Plus Source files, 5¼" Floppy Disk, CP/M Filesystem - CR7/8, CpmFileSystem_CR8, ImdContainer

    Length: 634880 (0x9b000)
    Description: Bits:30004389 CP/M Plus Source files
    Types: 5¼" Floppy Disk, CP/M Filesystem - CR7/8, CpmFileSystem_CR8, ImdContainer

Namespace CP/M Filesystem - CR7/8

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

OctetView - CR7/8

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…]