System information
;
PUNCH: ;PUNCH DEVICE OUT
; (EXACTLY THE SAME AS MDS CALL)
1772 C30CF8 JMP PO
;
READER: ;READER CHARACTER IN TO REG-A
; (EXACTLY THE SAME AS MDS CALL)
1775 C306F8 JMP RI
;
HOME: ;MOVE TO HOME POSITION
; TREAT AS TRACK 00 SEEK
1778 0E00 MVI C,0
177A C3A717 JMP SETTRK
;
SELDSK: ;SELECT DISK GIVEN BY REGISTER C
177D 210000 LXI H,0000H ;RETURN 0000 IF ERROR
1780 79 MOV A,C
1781 FE04 CPI NDISKS ;TOO LARGE?
1783 D0 RNC ;LEAVE HL = 0000
;
1784 E602 ANI 10B ;00 00 FOR DRIVE 0,1 AND 10 10 FOR
;DRIVE 2,3
1786 326618 STA DBANK ;TO SELECT DRIVE BANK
1789 79 MOV A,C ;00, 01, 10, 11
178A E601 ANI 1B ;MDS HAS 0,1 AT 78, 2,3 AT 88
178C B7 ORA A ;RESULT 00?
178D CA9217 JZ SETDRIVE
1790 3E30 MVI A,00110000B ;SELECTS DRIVE 1 IN BANK
SETDRIVE:
1792 47 MOV B,A ;SAVE THE FUNCTION
1793 216818 LXI H,IOF ;IO FUNCTION
1796 7E MOV A,M
1797 E6CF ANI 11001111B ;MASK OUT DISK NUMBER
1799 B0 ORA B ;MASK IN NEW DISK NUMBER
179A 77 MOV M,A ;SAVE IT IN IOPB
179B 69 MOV L,C
179C 2600 MVI H,0 ;HL=DISK NUMBER
179E 29 DAD H ;*2
179F 29 DAD H ;*4
17A0 29 DAD H ;*8
17A1 29 DAD H ;*16
17A2 113316 LXI D,DPBASE
17A5 19 DAD D ;HL=DISK HEADER TABLE ADDRESS
17A6 C9 RET
;
Appendix A : The MDS-800 BIOS CP/M Operating System Manual
A-9