|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ 5 C F G I L S T ┃
Length: 633344 (0x9aa00) Description: Bits:30004393 CP/M-80 rel. 1 Utilities source disk Types: 5¼" Floppy Disk, CP/M Filesystem - CR7/8, CpmFileSystem_CR8, ImdContainer
bytes | name | artifact |
---|---|---|
2048 | CONBAUD.ASM | ⟦4c66b4055⟧ TextFile |
15360 | FCOPY.ASM | ⟦353833da5⟧ TextFile |
18944 | FFORMAT.ASM | ⟦0c18d814c⟧ TextFile |
21888 | FORMAT10.ASM | ⟦531c3782e⟧ TextFile |
19328 | GETPUT.ASM | ⟦1823de6fc⟧ TextFile |
19968 | GETPUTF.ASM | ⟦e092fb218⟧ TextFile |
2048 | LPBAUD.ASM | ⟦6881ef12f⟧ TextFile |
10368 | SYSGENF.ASM | ⟦e99ff5749⟧ TextFile |
11008 | SYSGENH.ASM | ⟦fc8f83989⟧ TextFile |
0x00000…00020 (0, 0, 1) e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 ┆ ┆ […0xff…] 0x02000…02020 (1, 0, 1) DirEnt {status=0x00, name=»GETPUTF ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x80, al=[0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02020…02040 DirEnt {status=0x00, name=»GETPUTF ASM«, xl=0x01, bc=0x00, xh=0x00, rc=0x1c, al=[0x000a, 0x000b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02040…02060 DirEnt {status=0x00, name=»GETPUT ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x80, al=[0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02060…02080 DirEnt {status=0x00, name=»GETPUT ASM«, xl=0x01, bc=0x00, xh=0x00, rc=0x17, al=[0x0014, 0x0015, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02080…020a0 DirEnt {status=0x00, name=»FFORMAT ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x80, al=[0x0016, 0x0017, 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x020a0…020c0 DirEnt {status=0x00, name=»FFORMAT ASM«, xl=0x01, bc=0x00, xh=0x00, rc=0x14, al=[0x001e, 0x001f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x020c0…020e0 DirEnt {status=0x00, name=»FCOPY ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x78, al=[0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x020e0…02100 DirEnt {status=0x00, name=»FORMAT5 ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x80, al=[0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02100…02120 (1, 0, 2) DirEnt {status=0x00, name=»FORMAT5 ASM«, xl=0x01, bc=0x00, xh=0x00, rc=0x44, al=[0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02120…02140 DirEnt {status=0x00, name=»FORMAT10ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x80, al=[0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, 0x003c], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02140…02160 DirEnt {status=0x00, name=»FORMAT10ASM«, xl=0x01, bc=0x00, xh=0x00, rc=0x43, al=[0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02160…02180 DirEnt {status=0x00, name=»CONBAUD ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x10, al=[0x0042, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x02180…021a0 DirEnt {status=0x00, name=»LPBAUD ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x10, al=[0x0043, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x021a0…021c0 DirEnt {status=0x00, name=»SYSGENF ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x51, al=[0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x021c0…021e0 DirEnt {status=0x00, name=»SYSGENH ASM«, xl=0x00, bc=0x00, xh=0x00, rc=0x56, al=[0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0000, 0x0000], flags=[0,0,0,0,0,0,0,0,0,0,0]} 0x021e0…02200 UnusedDirEnt {status=0xe5} […0x70…] 0x03000…03100 (1, 1, 1) DataBlock {»GETPUTF.ASM«} […0x4f…] 0x08000…08100 (4, 0, 1) DataBlock {»GETPUT.ASM«} […0x4f…] 0x0d000…0d100 (6, 1, 1) DataBlock {»FFORMAT.ASM«} […0x4f…] 0x12000…12100 (9, 0, 1) DataBlock {»FCOPY.ASM«} […0x3f…] 0x16000…16100 (11, 0, 1) DataBlock {»FORMAT5.ASM«} […0x41…] 0x1a200…1a220 (13, 0, 4) 4b 20 46 4f 52 4d 41 54 20 49 4d 41 47 45 2e 20 56 41 52 49 41 42 4c 45 53 20 52 45 51 55 49 52 ┆K FORMAT IMAGE. VARIABLES REQUIR┆ 0x1a220…1a240 45 44 20 54 4f 20 42 45 20 53 45 54 55 50 0d 0a 3b 09 42 45 46 4f 52 45 20 45 4e 54 52 59 20 41 ┆ED TO BE SETUP ; BEFORE ENTRY A┆ 0x1a240…1a260 52 45 20 22 46 4c 50 54 52 4b 22 20 57 49 54 48 20 54 48 45 20 54 52 41 43 4b 20 4e 55 4d 42 45 ┆RE "FLPTRK" WITH THE TRACK NUMBE┆ 0x1a260…1a280 52 20 41 4e 44 0d 0a 3b 09 22 46 53 49 44 45 22 20 57 49 54 48 20 54 48 45 20 53 49 44 45 20 4e ┆R AND ; "FSIDE" WITH THE SIDE N┆ 0x1a280…1a2a0 55 4d 42 45 52 2e 0d 0a 3b 0d 0a 54 52 4b 46 49 4c 4c 3a 0d 0a 09 4d 56 49 09 44 2c 30 31 48 09 ┆UMBER. ; TRKFILL: MVI D,01H ┆ 0x1a2a0…1a2c0 09 3b 53 54 41 52 54 20 53 45 43 54 4f 52 20 43 4f 55 4e 54 0d 0a 09 4d 56 49 09 45 2c 46 53 50 ┆ ;START SECTOR COUNT MVI E,FSP┆ 0x1a2c0…1a2e0 54 09 09 3b 4d 41 58 20 4e 55 4d 42 45 52 20 4f 46 20 53 45 43 54 4f 52 53 20 4f 4e 20 54 52 41 ┆T ;MAX NUMBER OF SECTORS ON TRA┆ 0x1a2e0…1a300 43 4b 0d 0a 09 4c 58 49 09 48 2c 44 41 54 42 46 09 09 3b 50 4f 49 4e 54 20 54 4f 20 42 55 46 46 ┆CK LXI H,DATBF ;POINT TO BUFF┆ 0x1a300…1a320 (13, 0, 6) 4f 52 0d 0a 3b 0d 0a 09 58 52 41 09 41 09 09 3b 53 45 54 20 49 4e 49 54 49 41 4c 20 54 52 41 43 ┆OR ; XRA A ;SET INITIAL TRAC┆ 0x1a320…1a340 4b 20 54 4f 20 5a 45 52 4f 0d 0a 09 53 54 41 09 43 55 52 43 59 4c 0d 0a 46 4c 46 4d 54 4c 50 3a ┆K TO ZERO STA CURCYL FLFMTLP:┆ 0x1a340…1a360 0d 0a 09 4d 56 49 09 43 2c 30 31 48 09 09 3b 53 45 54 20 53 45 43 54 4f 52 20 44 45 46 41 55 4c ┆ MVI C,01H ;SET SECTOR DEFAUL┆ 0x1a360…1a380 54 20 54 4f 20 31 0d 0a 09 43 41 4c 4c 09 4d 52 45 43 0d 0a 09 4c 44 41 09 43 55 52 43 59 4c 09 ┆T TO 1 CALL MREC LDA CURCYL ┆ 0x1a380…1a3a0 09 3b 54 55 52 4e 20 54 52 41 43 4b 20 54 4f 20 53 49 44 45 2f 50 48 59 53 20 54 52 41 43 4b 0d ┆ ;TURN TRACK TO SIDE/PHYS TRACK ┆ 0x1a3a0…1a3c0 0a 09 50 55 53 48 09 50 53 57 0d 0a 09 41 4e 49 09 30 31 48 09 09 3b 46 49 4e 44 20 4f 55 54 20 ┆ PUSH PSW ANI 01H ;FIND OUT ┆ 0x1a3c0…1a3e0 57 48 41 54 20 54 48 45 20 53 49 44 45 20 4e 55 4d 42 45 52 20 49 53 0d 0a 09 4d 4f 56 09 43 2c ┆WHAT THE SIDE NUMBER IS MOV C,┆ 0x1a3e0…1a400 41 0d 0a 09 43 41 4c 4c 09 4d 53 55 52 46 09 09 3b 53 45 54 20 4d 49 4e 49 20 48 45 41 44 20 4e ┆A CALL MSURF ;SET MINI HEAD N┆ 0x1a400…1a420 (13, 0, 7) 45 52 20 46 4f 52 20 49 4d 41 47 45 20 42 55 4c 49 44 0d 0a 3b 0d 0a 3b 0d 0a 3b 46 49 58 55 50 ┆ER FOR IMAGE BULID ; ; ;FIXUP┆ 0x1a420…1a440 20 50 52 45 49 4e 44 45 58 20 47 41 50 20 34 41 0d 0a 3b 0d 0a 09 4d 56 49 09 42 2c 38 30 09 09 ┆ PREINDEX GAP 4A ; MVI B,80 ┆ 0x1a440…1a460 3b 50 52 45 49 4e 44 45 58 20 46 49 4c 4c 20 38 30 20 42 59 54 45 53 20 4f 46 20 22 34 45 22 0d ┆;PREINDEX FILL 80 BYTES OF "4E" ┆ 0x1a460…1a480 0a 09 4d 56 49 09 41 2c 30 34 45 48 0d 0a 50 52 45 49 4e 44 3a 0d 0a 09 4d 4f 56 09 4d 2c 41 09 ┆ MVI A,04EH PREIND: MOV M,A ┆ 0x1a480…1a4a0 09 3b 50 55 54 20 34 45 20 49 4e 54 4f 20 42 55 46 46 45 52 0d 0a 09 49 4e 58 09 48 0d 0a 09 44 ┆ ;PUT 4E INTO BUFFER INX H D┆ 0x1a4a0…1a4c0 43 52 09 42 09 09 3b 43 48 45 43 4b 20 42 59 54 45 20 43 4f 55 4e 54 0d 0a 09 4a 4e 5a 09 50 52 ┆CR B ;CHECK BYTE COUNT JNZ PR┆ 0x1a4c0…1a4e0 45 49 4e 44 0d 0a 3b 0d 0a 09 4d 56 49 09 42 2c 31 32 09 09 3b 53 59 4e 43 20 31 32 20 42 59 54 ┆EIND ; MVI B,12 ;SYNC 12 BYT┆ 0x1a4e0…1a500 45 53 20 4f 46 20 22 30 30 22 0d 0a 09 4d 56 49 09 41 2c 30 30 48 0d 0a 50 52 45 49 4e 44 31 3a ┆ES OF "00" MVI A,00H PREIND1:┆ 0x1a500…1a520 (13, 0, 8) 0d 0a 09 4d 4f 56 09 4d 2c 41 09 09 3b 50 55 54 20 30 30 20 49 4e 54 4f 20 42 55 46 46 45 52 0d ┆ MOV M,A ;PUT 00 INTO BUFFER ┆ 0x1a520…1a540 0a 09 49 4e 58 09 48 0d 0a 09 44 43 52 09 42 09 09 3b 43 48 45 43 4b 20 42 59 54 45 20 43 4f 55 ┆ INX H DCR B ;CHECK BYTE COU┆ 0x1a540…1a560 4e 54 0d 0a 09 4a 4e 5a 09 50 52 45 49 4e 44 31 0d 0a 3b 0d 0a 3b 0d 0a 3b 57 52 49 54 45 20 49 ┆NT JNZ PREIND1 ; ; ;WRITE I┆ 0x1a560…1a580 4e 44 45 58 20 41 44 44 52 45 53 53 20 4d 41 52 4b 20 4f 4e 54 4f 20 54 52 41 43 4b 20 48 45 52 ┆NDEX ADDRESS MARK ONTO TRACK HER┆ 0x1a580…1a5a0 45 0d 0a 3b 0d 0a 09 4d 56 49 09 42 2c 30 33 09 09 3b 54 48 52 45 45 20 42 59 54 45 53 20 4f 46 ┆E ; MVI B,03 ;THREE BYTES OF┆ 0x1a5a0…1a5c0 20 22 46 36 22 0d 0a 09 4d 56 49 09 41 2c 30 46 36 48 0d 0a 49 41 4d 3a 0d 0a 09 4d 4f 56 09 4d ┆ "F6" MVI A,0F6H IAM: MOV M┆ 0x1a5c0…1a5e0 2c 41 09 09 3b 50 55 54 20 46 36 20 49 4e 54 4f 20 42 55 46 46 45 52 0d 0a 09 49 4e 58 09 48 0d ┆,A ;PUT F6 INTO BUFFER INX H ┆ 0x1a5e0…1a600 0a 09 44 43 52 09 42 09 09 3b 43 48 45 43 4b 20 42 59 54 45 20 43 4f 55 4e 54 0d 0a 09 4a 4e 5a ┆ DCR B ;CHECK BYTE COUNT JNZ┆ 0x1a600…1a620 (13, 0, 9) 55 4d 42 45 52 0d 0a 09 50 4f 50 09 50 53 57 0d 0a 09 4f 52 41 09 41 0d 0a 09 52 41 52 09 09 09 ┆UMBER POP PSW ORA A RAR ┆ 0x1a620…1a640 3b 44 49 56 49 44 45 20 54 52 41 43 4b 20 42 59 20 32 0d 0a 09 4d 4f 56 09 43 2c 41 09 09 3b 53 ┆;DIVIDE TRACK BY 2 MOV C,A ;S┆ 0x1a640…1a660 45 4e 44 20 50 48 59 53 49 43 41 4c 20 54 52 41 43 4b 20 54 4f 20 49 4f 50 42 0d 0a 09 43 41 4c ┆END PHYSICAL TRACK TO IOPB CAL┆ 0x1a660…1a680 4c 09 4d 43 59 4c 0d 0a 3b 0d 0a 09 43 41 4c 4c 09 54 52 4b 46 49 4c 4c 09 09 3b 47 4f 20 42 55 ┆L MCYL ; CALL TRKFILL ;GO BU┆ 0x1a680…1a6a0 49 4c 44 20 54 48 45 20 49 4d 41 47 45 20 46 4f 52 20 54 48 49 53 20 54 52 41 43 4b 20 0d 0a 09 ┆ILD THE IMAGE FOR THIS TRACK ┆ 0x1a6a0…1a6c0 4c 58 49 09 42 2c 44 41 54 42 46 09 09 3b 53 45 54 20 46 4c 4f 50 50 59 20 49 2f 4f 20 50 4f 49 ┆LXI B,DATBF ;SET FLOPPY I/O POI┆ 0x1a6c0…1a6e0 4e 54 45 52 20 41 44 44 52 45 53 53 0d 0a 09 43 41 4c 4c 09 4d 42 41 44 44 52 0d 0a 09 4d 56 49 ┆NTER ADDRESS CALL MBADDR MVI┆ 0x1a6e0…1a700 09 43 2c 30 30 48 09 09 3b 53 45 54 20 42 4c 4f 43 4b 20 57 52 49 54 45 20 53 49 5a 45 0d 0a 09 ┆ C,00H ;SET BLOCK WRITE SIZE ┆ 0x1a700…1a720 (13, 0, 10) 43 41 4c 4c 09 4d 53 49 5a 45 0d 0a 09 4d 56 49 09 43 2c 32 35 09 09 3b 53 45 54 20 4e 55 4d 42 ┆CALL MSIZE MVI C,25 ;SET NUMB┆ 0x1a720…1a740 45 52 20 4f 46 20 42 4c 4f 43 4b 53 20 54 4f 20 57 52 49 54 45 0d 0a 09 43 41 4c 4c 09 4d 43 4e ┆ER OF BLOCKS TO WRITE CALL MCN┆ 0x1a740…1a760 54 0d 0a 09 43 41 4c 4c 09 4d 57 54 52 4b 09 09 3b 47 4f 20 41 54 54 45 4d 50 54 20 54 4f 20 57 ┆T CALL MWTRK ;GO ATTEMPT TO W┆ 0x1a760…1a780 52 49 54 45 20 54 48 45 20 54 52 41 43 4b 0d 0a 09 4f 52 41 09 41 0d 0a 09 4a 4e 5a 09 46 4c 50 ┆RITE THE TRACK ORA A JNZ FLP┆ 0x1a780…1a7a0 45 52 52 09 09 3b 49 46 20 57 52 49 54 45 20 45 52 52 4f 52 20 54 48 45 4e 20 51 55 49 54 0d 0a ┆ERR ;IF WRITE ERROR THEN QUIT ┆ 0x1a7a0…1a7c0 3b 0d 0a 09 4d 56 49 09 43 2c 30 31 48 09 09 3b 53 45 54 20 53 54 41 52 54 20 53 45 43 54 4f 52 ┆; MVI C,01H ;SET START SECTOR┆ 0x1a7c0…1a7e0 20 46 4f 52 20 56 45 52 49 46 59 0d 0a 09 43 41 4c 4c 09 4d 52 45 43 0d 0a 3b 0d 0a 09 4d 56 49 ┆ FOR VERIFY CALL MREC ; MVI┆ 0x1a7e0…1a800 09 43 2c 30 30 09 09 3b 53 45 54 20 46 4c 4f 50 50 59 20 53 49 5a 45 20 4f 46 20 53 45 43 54 4f ┆ C,00 ;SET FLOPPY SIZE OF SECTO┆ 0x1a800…1a820 (13, 0, 11) 09 49 41 4d 0d 0a 3b 0d 0a 3b 0d 0a 3b 57 52 49 54 45 20 49 4e 44 45 58 20 4d 41 52 4b 20 49 54 ┆ IAM ; ; ;WRITE INDEX MARK IT┆ 0x1a820…1a840 53 45 4c 46 0d 0a 3b 0d 0a 09 4d 56 49 09 4d 2c 30 46 43 48 09 09 3b 4f 4e 45 20 42 59 54 45 20 ┆SELF ; MVI M,0FCH ;ONE BYTE ┆ 0x1a840…1a860 4f 46 20 22 46 36 22 0d 0a 09 49 4e 58 09 48 0d 0a 3b 0d 0a 3b 0d 0a 3b 57 52 49 54 45 20 50 4f ┆OF "F6" INX H ; ; ;WRITE PO┆ 0x1a860…1a880 53 54 20 49 4e 44 45 58 20 47 41 50 20 31 0d 0a 3b 0d 0a 09 4d 56 49 09 42 2c 35 30 09 09 3b 47 ┆ST INDEX GAP 1 ; MVI B,50 ;G┆ 0x1a880…1a8a0 41 50 20 31 20 35 30 20 42 59 54 45 53 20 4f 46 20 22 34 45 22 0d 0a 09 4d 56 49 09 41 2c 30 34 ┆AP 1 50 BYTES OF "4E" MVI A,04┆ 0x1a8a0…1a8c0 45 48 0d 0a 50 4f 53 54 49 44 3a 0d 0a 09 4d 4f 56 09 4d 2c 41 09 09 3b 50 55 54 20 34 45 20 49 ┆EH POSTID: MOV M,A ;PUT 4E I┆ 0x1a8c0…1a8e0 4e 54 4f 20 42 55 46 46 45 52 0d 0a 09 49 4e 58 09 48 0d 0a 09 44 43 52 09 42 09 09 3b 43 48 45 ┆NTO BUFFER INX H DCR B ;CHE┆ 0x1a8e0…1a900 43 4b 20 42 59 54 45 20 43 4f 55 4e 54 0d 0a 09 4a 4e 5a 09 50 4f 53 54 49 44 0d 0a 3b 0d 0a 3b ┆CK BYTE COUNT JNZ POSTID ; ;┆ 0x1a900…1a920 (13, 0, 12) 0d 0a 3b 50 52 45 20 53 45 43 54 4f 52 20 49 44 20 53 59 4e 43 20 28 41 4c 53 4f 20 45 4e 54 52 ┆ ;PRE SECTOR ID SYNC (ALSO ENTR┆ 0x1a920…1a940 59 20 50 4f 49 4e 54 20 54 4f 20 44 4f 20 4e 45 58 54 20 53 45 43 54 4f 52 29 0d 0a 3b 0d 0a 53 ┆Y POINT TO DO NEXT SECTOR) ; S┆ 0x1a940…1a960 45 43 54 4f 52 3a 0d 0a 09 4d 56 49 09 42 2c 30 31 32 09 09 3b 31 32 20 42 59 54 45 53 20 4f 46 ┆ECTOR: MVI B,012 ;12 BYTES OF┆ 0x1a960…1a980 20 22 30 30 22 0d 0a 09 4d 56 49 09 41 2c 30 30 48 0d 0a 53 45 43 53 59 4e 43 3a 0d 0a 09 4d 4f ┆ "00" MVI A,00H SECSYNC: MO┆ 0x1a980…1a9a0 56 09 4d 2c 41 09 09 3b 50 55 54 20 54 48 45 20 30 30 20 49 4e 54 4f 20 42 55 46 46 45 52 0d 0a ┆V M,A ;PUT THE 00 INTO BUFFER ┆ 0x1a9a0…1a9c0 09 49 4e 58 09 48 0d 0a 09 44 43 52 09 42 09 09 3b 43 48 45 43 4b 20 54 48 45 20 42 59 54 45 20 ┆ INX H DCR B ;CHECK THE BYTE ┆ 0x1a9c0…1a9e0 43 4f 55 4e 54 0d 0a 09 4a 4e 5a 09 53 45 43 53 59 4e 43 0d 0a 3b 0d 0a 3b 0d 0a 3b 57 52 49 54 ┆COUNT JNZ SECSYNC ; ; ;WRIT┆ 0x1a9e0…1aa00 45 20 53 45 43 54 4f 52 20 49 44 20 41 44 44 52 45 53 53 20 4d 41 52 4b 0d 0a 3b 0d 0a 09 4d 56 ┆E SECTOR ID ADDRESS MARK ; MV┆ 0x1aa00…1aa20 (13, 0, 13) 52 0d 0a 09 43 41 4c 4c 09 4d 53 49 5a 45 09 09 3b 54 4f 20 4e 55 4d 42 45 52 20 4f 46 20 55 4e ┆R CALL MSIZE ;TO NUMBER OF UN┆ 0x1aa20…1aa40 49 54 53 0d 0a 09 4d 56 49 09 43 2c 31 36 09 09 3b 53 45 54 20 4e 55 4d 42 45 52 20 4f 46 20 53 ┆ITS MVI C,16 ;SET NUMBER OF S┆ 0x1aa40…1aa60 45 43 54 4f 52 53 20 54 4f 20 52 45 41 44 0d 0a 09 43 41 4c 4c 09 4d 43 4e 54 0d 0a 09 43 41 4c ┆ECTORS TO READ CALL MCNT CAL┆ 0x1aa60…1aa80 4c 09 4d 52 45 41 44 09 09 3b 47 4f 20 52 45 41 44 20 41 4c 4c 20 53 45 43 54 4f 52 53 20 4f 46 ┆L MREAD ;GO READ ALL SECTORS OF┆ 0x1aa80…1aaa0 20 54 52 41 43 4b 0d 0a 09 4f 52 41 09 41 0d 0a 09 4a 4e 5a 09 46 4c 50 45 52 52 09 09 3b 47 4f ┆ TRACK ORA A JNZ FLPERR ;GO┆ 0x1aaa0…1aac0 20 52 45 50 4f 52 54 20 45 52 52 4f 52 20 49 46 20 53 45 43 54 4f 52 53 20 43 4f 55 4c 44 4e 27 ┆ REPORT ERROR IF SECTORS COULDN'┆ 0x1aac0…1aae0 54 20 42 45 20 52 45 41 44 0d 0a 3b 0d 0a 09 4c 58 49 09 44 2c 54 52 4b 4d 53 47 09 3b 50 52 49 ┆T BE READ ; LXI D,TRKMSG ;PRI┆ 0x1aae0…1ab00 4e 54 20 54 52 41 43 4b 20 52 45 50 4f 52 54 20 4d 45 53 53 41 47 45 0d 0a 09 43 41 4c 4c 09 43 ┆NT TRACK REPORT MESSAGE CALL C┆ 0x1ab00…1ab20 (13, 0, 14) 52 54 4d 53 0d 0a 09 4c 44 41 09 43 55 52 43 59 4c 09 09 3b 2e 2e 41 4e 44 20 4a 55 53 54 20 43 ┆RTMS LDA CURCYL ;..AND JUST C┆ 0x1ab20…1ab40 4f 4d 50 4c 45 54 45 44 20 54 52 41 43 4b 20 4e 55 4d 42 45 52 0d 0a 09 43 41 4c 4c 09 42 59 54 ┆OMPLETED TRACK NUMBER CALL BYT┆ 0x1ab40…1ab60 45 4f 0d 0a 3b 0d 0a 09 4c 44 41 09 43 55 52 43 59 4c 09 09 3b 53 45 54 20 46 4f 52 20 4e 45 58 ┆EO ; LDA CURCYL ;SET FOR NEX┆ 0x1ab60…1ab80 54 20 54 52 41 43 4b 20 4e 55 4d 42 45 52 0d 0a 09 49 4e 52 09 41 0d 0a 09 53 54 41 09 43 55 52 ┆T TRACK NUMBER INR A STA CUR┆ 0x1ab80…1aba0 43 59 4c 09 09 3b 53 41 56 45 20 4f 46 46 20 46 4f 52 20 49 2f 4f 20 52 4f 55 54 49 4e 45 0d 0a ┆CYL ;SAVE OFF FOR I/O ROUTINE ┆ 0x1aba0…1abc0 09 43 50 49 09 28 46 54 50 53 2a 32 29 2b 31 09 3b 43 48 45 43 4b 20 49 46 20 57 45 56 45 20 44 ┆ CPI (FTPS*2)+1 ;CHECK IF WEVE D┆ 0x1abc0…1abe0 4f 4e 45 20 41 4c 4c 20 54 52 41 43 4b 53 0d 0a 09 4a 4e 5a 09 46 4c 46 4d 54 4c 50 0d 0a 3b 0d ┆ONE ALL TRACKS JNZ FLFMTLP ; ┆ 0x1abe0…1ac00 0a 09 52 45 54 0d 0a 3b 0d 0a 3b 4d 49 4e 49 20 46 4c 4f 50 50 59 20 46 4f 52 4d 41 54 20 54 52 ┆ RET ; ;MINI FLOPPY FORMAT TR┆ 0x1ac00…1ac20 (13, 0, 15) 49 09 42 2c 30 33 48 09 09 3b 54 48 52 45 45 20 42 59 54 45 53 20 4f 46 20 22 46 35 22 0d 0a 09 ┆I B,03H ;THREE BYTES OF "F5" ┆ 0x1ac20…1ac40 4d 56 49 09 41 2c 30 46 35 48 0d 0a 53 49 44 41 4d 3a 0d 0a 09 4d 4f 56 09 4d 2c 41 09 09 3b 50 ┆MVI A,0F5H SIDAM: MOV M,A ;P┆ 0x1ac40…1ac60 55 54 20 46 35 20 49 4e 54 4f 20 42 55 46 46 45 52 0d 0a 09 49 4e 58 09 48 0d 0a 09 44 43 52 09 ┆UT F5 INTO BUFFER INX H DCR ┆ 0x1ac60…1ac80 42 09 09 3b 43 48 45 43 4b 20 54 48 41 54 20 42 59 54 45 20 43 4f 55 4e 54 0d 0a 09 4a 4e 5a 09 ┆B ;CHECK THAT BYTE COUNT JNZ ┆ 0x1ac80…1aca0 53 49 44 41 4d 0d 0a 3b 0d 0a 3b 0d 0a 3b 50 55 54 20 53 49 4e 47 4c 45 20 42 59 54 45 20 53 45 ┆SIDAM ; ; ;PUT SINGLE BYTE SE┆ 0x1aca0…1acc0 43 54 4f 52 20 49 44 20 4d 41 52 4b 0d 0a 3b 0d 0a 09 4d 56 49 09 4d 2c 30 46 45 48 09 09 3b 4f ┆CTOR ID MARK ; MVI M,0FEH ;O┆ 0x1acc0…1ace0 4e 45 20 42 59 54 45 20 22 46 45 22 0d 0a 09 49 4e 58 09 48 0d 0a 3b 0d 0a 3b 0d 0a 3b 57 52 49 ┆NE BYTE "FE" INX H ; ; ;WRI┆ 0x1ace0…1ad00 54 45 20 54 52 41 43 4b 20 4e 55 4d 42 45 52 20 49 4e 54 4f 20 49 44 20 46 49 45 4c 44 0d 0a 3b ┆TE TRACK NUMBER INTO ID FIELD ;┆ 0x1ad00…1ad20 (13, 0, 16) 0d 0a 09 4c 44 41 09 43 55 52 43 59 4c 09 09 3b 47 45 54 20 54 52 41 43 4b 20 4e 55 4d 42 45 52 ┆ LDA CURCYL ;GET TRACK NUMBER┆ 0x1ad20…1ad40 20 56 41 52 49 41 42 4c 45 0d 0a 09 50 55 53 48 09 50 53 57 0d 0a 09 4f 52 41 09 41 0d 0a 09 52 ┆ VARIABLE PUSH PSW ORA A R┆ 0x1ad40…1ad60 41 52 09 09 09 3b 44 49 56 49 44 45 20 54 52 41 43 4b 20 42 59 20 32 0d 0a 09 4d 4f 56 09 4d 2c ┆AR ;DIVIDE TRACK BY 2 MOV M,┆ 0x1ad60…1ad80 41 0d 0a 09 49 4e 58 09 48 0d 0a 3b 0d 0a 3b 0d 0a 3b 57 52 49 54 45 20 53 49 44 45 20 4e 55 4d ┆A INX H ; ; ;WRITE SIDE NUM┆ 0x1ad80…1ada0 42 45 52 20 49 4e 54 4f 20 54 48 45 20 49 44 20 46 49 45 4c 44 0d 0a 3b 0d 0a 09 50 4f 50 09 50 ┆BER INTO THE ID FIELD ; POP P┆ 0x1ada0…1adc0 53 57 0d 0a 09 41 4e 49 09 30 31 48 09 09 3b 46 49 4e 44 20 4f 55 54 20 57 48 41 54 20 54 48 45 ┆SW ANI 01H ;FIND OUT WHAT THE┆ 0x1adc0…1ade0 20 53 49 44 45 20 4e 55 4d 42 45 52 20 49 53 0d 0a 09 4d 4f 56 09 4d 2c 41 0d 0a 09 49 4e 58 09 ┆ SIDE NUMBER IS MOV M,A INX ┆ 0x1ade0…1ae00 48 0d 0a 3b 0d 0a 3b 0d 0a 3b 50 55 54 20 53 45 43 54 4f 52 20 4e 55 4d 42 45 52 20 49 4e 54 4f ┆H ; ; ;PUT SECTOR NUMBER INTO┆ 0x1ae00…1af00 (13, 1, 1) DataBlock {»FORMAT5.ASM«} […0x11…] 0x1c000…1c100 (14, 0, 3) DataBlock {»FORMAT10.ASM«} […0x1…] 0x1c200…1c300 (14, 0, 5) DataBlock {»FORMAT5.ASM«} […0x1…] 0x1c400…1c500 (14, 0, 7) DataBlock {»FORMAT10.ASM«} […0x1…] 0x1c600…1c700 (14, 0, 9) DataBlock {»FORMAT5.ASM«} […0x1…] 0x1c800…1c900 (14, 0, 11) DataBlock {»FORMAT10.ASM«} […0x1…] 0x1ca00…1cb00 (14, 0, 13) DataBlock {»FORMAT5.ASM«} […0x1…] 0x1cc00…1cd00 (14, 0, 15) DataBlock {»FORMAT10.ASM«} […0x15…] 0x1e200…1e220 (15, 0, 7) 09 3b 53 41 56 45 20 52 45 47 49 53 54 45 52 53 0d 0a 09 50 55 53 48 09 44 0d 0a 09 50 55 53 48 ┆ ;SAVE REGISTERS PUSH D PUSH┆ 0x1e220…1e240 09 42 0d 0a 09 4c 48 4c 44 09 56 45 43 54 41 42 09 09 3b 47 45 54 20 50 4f 49 4e 54 45 52 20 42 ┆ B LHLD VECTAB ;GET POINTER B┆ 0x1e240…1e260 41 53 45 0d 0a 09 4c 58 49 09 44 2c 43 53 54 4f 46 46 09 3b 47 45 54 20 4f 46 46 53 45 54 20 56 ┆ASE LXI D,CSTOFF ;GET OFFSET V┆ 0x1e260…1e280 41 4c 55 45 0d 0a 09 44 41 44 09 44 0d 0a 09 4c 58 49 09 44 2c 43 53 54 53 31 09 09 3b 50 55 54 ┆ALUE DAD D LXI D,CSTS1 ;PUT┆ 0x1e280…1e2a0 20 41 20 52 45 54 55 52 4e 20 42 41 43 4b 20 4f 4e 54 4f 20 53 54 41 43 4b 0d 0a 09 50 55 53 48 ┆ A RETURN BACK ONTO STACK PUSH┆ 0x1e2a0…1e2c0 09 44 0d 0a 09 50 43 48 4c 09 09 09 3b 47 4f 20 54 4f 20 42 49 4f 53 20 52 4f 55 54 49 4e 45 0d ┆ D PCHL ;GO TO BIOS ROUTINE ┆ 0x1e2c0…1e2e0 0a 43 53 54 53 31 3a 0d 0a 09 50 4f 50 09 42 0d 0a 09 50 4f 50 09 44 09 09 3b 52 45 53 54 4f 52 ┆ CSTS1: POP B POP D ;RESTOR┆ 0x1e2e0…1e300 45 20 43 41 4c 4c 45 52 53 20 52 45 47 53 0d 0a 09 50 4f 50 09 48 0d 0a 09 52 45 54 0d 0a 3b 0d ┆E CALLERS REGS POP H RET ; ┆ 0x1e300…1e320 (15, 0, 8) 0a 09 50 41 47 45 0d 0a 3b 0d 0a 3b 43 4f 4d 50 41 52 45 20 44 4f 55 42 4c 45 20 52 45 47 49 53 ┆ PAGE ; ;COMPARE DOUBLE REGIS┆ 0x1e320…1e340 54 45 52 20 50 41 49 52 53 20 28 44 45 29 20 54 4f 20 28 48 4c 29 20 41 4e 44 20 52 45 54 55 52 ┆TER PAIRS (DE) TO (HL) AND RETUR┆ 0x1e340…1e360 4e 0d 0a 3b 46 4c 41 47 53 20 53 49 4d 49 4c 41 52 20 54 4f 20 53 54 41 4e 44 41 52 44 20 43 4d ┆N ;FLAGS SIMILAR TO STANDARD CM┆ 0x1e360…1e380 50 20 42 20 49 4e 53 54 52 55 43 54 49 4f 4e 2e 20 49 45 20 28 41 29 20 43 4f 52 52 45 53 50 4f ┆P B INSTRUCTION. IE (A) CORRESPO┆ 0x1e380…1e3a0 4e 44 53 0d 0a 3b 54 4f 20 28 44 45 29 20 41 4e 44 20 28 42 29 20 43 4f 52 52 45 53 50 4f 4e 44 ┆NDS ;TO (DE) AND (B) CORRESPOND┆ 0x1e3a0…1e3c0 53 20 54 4f 20 28 48 4c 29 2e 0d 0a 3b 0d 0a 43 44 45 48 4c 3a 0d 0a 09 4d 4f 56 09 41 2c 44 09 ┆S TO (HL). ; CDEHL: MOV A,D ┆ 0x1e3c0…1e3e0 09 3b 43 48 45 43 4b 20 48 49 47 48 20 42 59 54 45 53 20 46 49 52 53 54 0d 0a 09 43 4d 50 09 48 ┆ ;CHECK HIGH BYTES FIRST CMP H┆ 0x1e3e0…1e400 0d 0a 09 52 4e 5a 09 09 09 3b 52 45 54 55 52 4e 20 49 46 20 48 49 47 48 20 42 59 54 45 53 20 53 ┆ RNZ ;RETURN IF HIGH BYTES S┆ 0x1e400…1e420 (15, 0, 9) 3b 28 43 29 3d 53 54 41 4e 44 41 52 44 20 4d 4f 44 45 20 44 45 46 49 4e 49 54 49 4f 4e 0d 0a 4d ┆;(C)=STANDARD MODE DEFINITION M┆ 0x1e420…1e440 49 4e 53 54 09 45 51 55 09 4d 4f 44 42 41 53 45 2b 31 31 37 09 3b 46 45 54 43 48 20 43 55 52 52 ┆INST EQU MODBASE+117 ;FETCH CURR┆ 0x1e440…1e460 45 4e 54 20 49 4e 53 54 52 55 43 54 49 4f 4e 20 43 4f 44 45 0d 0a 3b 09 09 09 09 3b 28 41 29 3d ┆ENT INSTRUCTION CODE ; ;(A)=┆ 0x1e460…1e480 52 45 54 55 52 4e 45 44 20 49 4e 53 54 52 55 43 54 49 4f 4e 20 50 41 54 54 45 52 4e 0d 0a 4d 4d ┆RETURNED INSTRUCTION PATTERN MM┆ 0x1e480…1e4a0 4f 46 46 09 45 51 55 09 4d 4f 44 42 41 53 45 2b 31 32 30 09 3b 43 48 45 43 4b 20 4d 49 4e 49 20 ┆OFF EQU MODBASE+120 ;CHECK MINI ┆ 0x1e4a0…1e4c0 46 4c 4f 50 50 59 20 4d 4f 54 4f 52 20 4f 4e 20 43 4f 55 4e 54 0d 0a 3b 09 09 09 09 3b 4f 55 54 ┆FLOPPY MOTOR ON COUNT ; ;OUT┆ 0x1e4c0…1e4e0 20 54 49 4d 45 52 0d 0a 3b 0d 0a 09 50 41 47 45 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆ TIMER ; PAGE ;*************┆ 0x1e4e0…1e500 2a 2a 2a 2a 2a 2a 2a 2a 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…] 0x1e520…1e540 2a 0d 0a 3b 0d 0a 3b 53 45 54 20 53 54 41 52 54 20 4f 46 20 50 52 4f 47 52 41 4d 20 43 50 2f 4d ┆* ; ;SET START OF PROGRAM CP/M┆ 0x1e540…1e560 20 54 52 41 4e 53 49 45 4e 54 20 50 52 4f 47 52 41 4d 20 41 52 45 41 0d 0a 3b 0d 0a 09 4f 52 47 ┆ TRANSIENT PROGRAM AREA ; ORG┆ 0x1e560…1e580 09 30 31 30 30 48 0d 0a 3b 0d 0a 09 44 49 09 09 09 3b 44 4f 4e 27 54 20 41 4c 4c 4f 57 20 49 4e ┆ 0100H ; DI ;DON'T ALLOW IN┆ 0x1e580…1e5a0 54 45 52 52 55 50 54 53 20 48 45 52 45 0d 0a 09 4a 4d 50 09 53 54 41 52 54 0d 0a 3b 0d 0a 3b 0d ┆TERRUPTS HERE JMP START ; ; ┆ 0x1e5a0…1e5c0 0a 3b 43 50 2f 4d 20 43 4f 4e 53 4f 4c 45 20 49 2f 4f 20 49 4e 54 45 52 46 41 43 45 20 45 4e 54 ┆ ;CP/M CONSOLE I/O INTERFACE ENT┆ 0x1e5c0…1e5e0 52 59 20 52 4f 55 54 49 4e 45 53 0d 0a 3b 0d 0a 3b 09 44 49 52 45 43 54 20 43 41 4c 4c 53 20 54 ┆RY ROUTINES ; ; DIRECT CALLS T┆ 0x1e5e0…1e600 4f 20 54 48 45 20 42 49 4f 53 20 41 52 45 20 44 4f 4e 45 0d 0a 3b 0d 0a 56 45 43 54 41 42 09 45 ┆O THE BIOS ARE DONE ; VECTAB E┆ 0x1e600…1e620 (15, 0, 11) 45 54 20 46 4c 41 47 53 0d 0a 09 4d 4f 56 09 41 2c 45 0d 0a 09 43 4d 50 09 4c 09 09 3b 43 48 45 ┆ET FLAGS MOV A,E CMP L ;CHE┆ 0x1e620…1e640 43 4b 20 4c 4f 57 20 42 59 54 45 53 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 3b 0d 0a 3b 2a 2a 2a 2a 2a ┆CK LOW BYTES RET ; ; ;*****┆ 0x1e640…1e660 2a 2a 2a 2a 2a 2a 2a 2a 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…] 0x1e680…1e6a0 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 0d 0a 53 54 41 52 54 3a 09 09 09 09 3b 42 45 47 49 4e 4e 49 ┆********* ; START: ;BEGINNI┆ 0x1e6a0…1e6c0 4e 47 20 4f 46 20 50 52 4f 47 52 41 4d 0d 0a 09 4c 58 49 09 53 50 2c 53 54 43 4b 4b 09 3b 4d 41 ┆NG OF PROGRAM LXI SP,STCKK ;MA┆ 0x1e6c0…1e6e0 4b 45 20 4f 55 52 53 45 4c 56 45 53 20 41 20 53 54 41 43 4b 0d 0a 3b 0d 0a 53 49 47 4e 4f 4e 3a ┆KE OURSELVES A STACK ; SIGNON:┆ 0x1e6e0…1e700 09 09 09 09 3b 53 45 4e 44 20 48 45 4c 4c 4f 20 54 4f 20 43 52 54 0d 0a 09 43 41 4c 4c 09 43 52 ┆ ;SEND HELLO TO CRT CALL CR┆ 0x1e700…1e720 (15, 0, 12) 4c 46 0d 0a 09 43 41 4c 4c 09 43 52 4c 46 0d 0a 09 4c 58 49 09 44 2c 53 54 52 4d 53 47 0d 0a 09 ┆LF CALL CRLF LXI D,STRMSG ┆ 0x1e720…1e740 43 41 4c 4c 09 43 52 54 4d 53 0d 0a 09 4a 4d 50 09 4d 4f 4e 49 54 4f 52 09 09 3b 47 4f 20 54 4f ┆CALL CRTMS JMP MONITOR ;GO TO┆ 0x1e740…1e760 20 4d 4f 4e 49 54 4f 52 20 52 4f 55 54 49 4e 45 0d 0a 3b 0d 0a 3b 0d 0a 3b 46 4f 52 4d 41 54 20 ┆ MONITOR ROUTINE ; ; ;FORMAT ┆ 0x1e760…1e780 50 52 4f 47 52 41 4d 20 4d 45 53 53 41 47 45 53 0d 0a 3b 0d 0a 53 54 52 4d 53 47 3a 0d 0a 09 44 ┆PROGRAM MESSAGES ; STRMSG: D┆ 0x1e780…1e7a0 42 09 45 53 43 2c 27 5b 37 3b 32 6d 27 0d 0a 09 44 42 09 27 43 48 52 49 53 54 49 41 4e 20 52 4f ┆B ESC,'Æ7;2m' DB 'CHRISTIAN RO┆ 0x1e7a0…1e7c0 56 53 49 4e 47 20 41 2f 53 20 2d 20 43 52 38 20 44 49 53 4b 20 46 4f 52 4d 41 54 54 49 4e 47 20 ┆VSING A/S - CR8 DISK FORMATTING ┆ 0x1e7c0…1e7e0 55 54 49 4c 49 54 59 20 27 2c 43 52 2c 4c 46 0d 0a 09 44 42 09 27 46 4f 52 20 53 45 41 47 41 54 ┆UTILITY ',CR,LF DB 'FOR SEAGAT┆ 0x1e7e0…1e800 45 20 53 54 2d 34 30 36 2f 34 31 32 20 44 52 49 56 45 20 2f 20 54 41 4e 44 4f 4e 20 54 4d 31 30 ┆E ST-406/412 DRIVE / TANDON TM10┆ 0x1e800…1e820 (15, 0, 13) 51 55 09 30 30 30 31 48 09 09 3b 4c 4f 43 41 54 49 4f 4e 20 49 4e 20 4d 45 4d 4f 52 59 20 43 4f ┆QU 0001H ;LOCATION IN MEMORY CO┆ 0x1e820…1e840 4e 54 41 49 4e 49 4e 47 20 0d 0a 09 09 09 09 3b 57 41 52 4d 20 42 4f 4f 54 20 56 45 43 54 4f 52 ┆NTAINING ;WARM BOOT VECTOR┆ 0x1e840…1e860 0d 0a 43 53 54 4f 46 46 09 45 51 55 09 30 30 30 33 48 09 09 3b 43 4f 4e 53 4f 4c 45 20 53 54 41 ┆ CSTOFF EQU 0003H ;CONSOLE STA┆ 0x1e860…1e880 54 20 4f 46 46 53 45 54 20 46 52 4f 4d 20 57 42 4f 4f 54 0d 0a 43 49 4e 4f 46 46 09 45 51 55 09 ┆T OFFSET FROM WBOOT CINOFF EQU ┆ 0x1e880…1e8a0 30 30 30 36 48 09 09 3b 43 4f 4e 53 4f 4c 45 20 49 4e 50 55 54 20 4f 46 46 53 45 54 20 46 52 4f ┆0006H ;CONSOLE INPUT OFFSET FRO┆ 0x1e8a0…1e8c0 4d 20 57 42 4f 4f 54 0d 0a 43 4f 54 4f 46 46 09 45 51 55 09 30 30 30 39 48 09 09 3b 43 4f 4e 53 ┆M WBOOT COTOFF EQU 0009H ;CONS┆ 0x1e8c0…1e8e0 4f 4c 45 20 4f 55 54 50 55 54 20 4f 46 46 53 45 54 20 46 52 4f 4d 20 57 42 4f 4f 54 0d 0a 3b 0d ┆OLE OUTPUT OFFSET FROM WBOOT ; ┆ 0x1e8e0…1e900 0a 3b 0d 0a 3b 43 4f 4e 53 4f 4c 45 20 49 4e 50 55 54 20 52 4f 55 54 49 4e 45 20 28 52 45 54 55 ┆ ; ;CONSOLE INPUT ROUTINE (RETU┆ 0x1e900…1e920 (15, 0, 14) 52 4e 53 20 43 48 41 52 41 43 54 45 52 20 49 4e 20 41 20 52 45 47 49 53 54 45 52 29 0d 0a 3b 0d ┆RNS CHARACTER IN A REGISTER) ; ┆ 0x1e920…1e940 0a 43 49 3a 0d 0a 09 50 55 53 48 09 48 09 09 3b 53 41 56 45 20 52 45 47 49 53 54 45 52 53 0d 0a ┆ CI: PUSH H ;SAVE REGISTERS ┆ 0x1e940…1e960 09 50 55 53 48 09 44 0d 0a 09 50 55 53 48 09 42 0d 0a 09 4c 48 4c 44 09 56 45 43 54 41 42 09 09 ┆ PUSH D PUSH B LHLD VECTAB ┆ 0x1e960…1e980 3b 47 45 54 20 50 4f 49 4e 54 45 52 20 42 41 53 45 0d 0a 09 4c 58 49 09 44 2c 43 49 4e 4f 46 46 ┆;GET POINTER BASE LXI D,CINOFF┆ 0x1e980…1e9a0 09 3b 47 45 54 20 4f 46 46 53 45 54 20 56 41 4c 55 45 0d 0a 09 44 41 44 09 44 0d 0a 09 4c 58 49 ┆ ;GET OFFSET VALUE DAD D LXI┆ 0x1e9a0…1e9c0 09 44 2c 43 49 31 09 09 3b 50 55 54 20 41 20 52 45 54 55 52 4e 20 42 41 43 4b 20 4f 4e 54 4f 20 ┆ D,CI1 ;PUT A RETURN BACK ONTO ┆ 0x1e9c0…1e9e0 53 54 41 43 4b 0d 0a 09 50 55 53 48 09 44 0d 0a 09 50 43 48 4c 09 09 09 3b 47 4f 20 54 4f 20 42 ┆STACK PUSH D PCHL ;GO TO B┆ 0x1e9e0…1ea00 49 4f 53 20 52 4f 55 54 49 4e 45 0d 0a 43 49 31 3a 0d 0a 09 50 4f 50 09 42 0d 0a 09 50 4f 50 09 ┆IOS ROUTINE CI1: POP B POP ┆ 0x1ea00…1eb00 (15, 1, 1) DataBlock {»FORMAT10.ASM«} […0x3f…] 0x22a00…22b00 (17, 1, 1) DataBlock {»CONBAUD.ASM«} […0x1…] 0x22c00…22d00 (17, 1, 3) DataBlock {»LPBAUD.ASM«} […0x1…] 0x22e00…22f00 (17, 1, 5) DataBlock {»CONBAUD.ASM«} […0x1…] 0x23000…23100 (17, 1, 7) DataBlock {»LPBAUD.ASM«} […0x1…] 0x23200…23300 (17, 1, 9) DataBlock {»CONBAUD.ASM«} […0x1…] 0x23400…23500 (17, 1, 11) DataBlock {»LPBAUD.ASM«} […0x1…] 0x23600…23700 (17, 1, 13) DataBlock {»CONBAUD.ASM«} […0x1…] 0x23800…23900 (17, 1, 15) DataBlock {»LPBAUD.ASM«} […0x1…] 0x23a00…23b00 (18, 0, 1) DataBlock {»SYSGENF.ASM«} […0x2f…] 0x26a00…26b00 (19, 1, 1) DataBlock {»SYSGENH.ASM«} […0x2f…] 0x29a00…29a20 (21, 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 ┆ ┆ […0x6ff…] 0x37a00…37a20 (28, 0, 1) ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ef ┆ ┆ […0x7…] 0x37b00…37b20 (28, 0, 2) 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 ┆ ┆ […0x3177…]