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










