System information

;
SETTRK: ;SET TRACK ADDRESS GIVEN BY C
17A7 216A18 LXI H,IOT
17AA 71 MOV M,C
17AB C9 RET
;
SETSEC: ;SET SECTOR NUMBER GIVEN BY C
17AC 216B18 LXI H,IOS
17AF 71 MOV M,C
17B0 C9 RET
SECTRAN:
;TRANSLATE SECTOR BC USING TABLE AT DE
17B1 0600 MVI B,0 ;DOUBLE PRECISION SECTOR NUMBER IN BC
17B3 EB XCHG ;TRANSLATE TABLE ADDRESS TO HL
17B4 09 DAD B ;TRANSLATE(SECTOR) ADDRESS
17B5 7E MOV A,M ;TRANSLATED SECTOR NUMBER TO A
17B6 326B18 STA IOS
17B9 6F MOV L,A ;RETURN SECTOR NUMBER IN L
17BA C9 RET
;
SETDMA: ;SET DMA ADDRESS GIVEN BY REGS B,C
17BB 69 MOV L,C
17BC 60 MOV H,B
17BD 226C18 SHLD IOD
17C0 C9 RET
;
READ: ;READ NEXT DISK RECORD (ASSUMING DISK/TRK/SEC/DMA
SET)
17C1 0E04 MVI C,READF ;SET TO READ FUNCTION
17C3 CDE017 CALL SETFUNC
17C6 CDF017 CALL WAITIO ;PERFORM READ FUNCTION
17C9 C9 RET ;MAY HAVE ERROR SET IN REG-A
;
;
WRITE: ;DISK WRITE FUNCTION
17CA 0E06 MVI C,WRITF
17CC CDE017 CALL SETFUNC ;SET TO WRITE FUNCTION
17CF CDF017 CALL WAITIO
17D2 C9 RET ;MAY HAVE ERROR SET
;
;
; UTILITY SUBROUTINES
PRMSG: ;PRINT MESSAGE AT H,L TO 0
17D3 7E MOV A,M
17D4 B7 ORA A ;ZERO?
Appendix A : The MDS-800 BIOS CP/M Operating System Manual
A-10