System information

;
;*****************************************************
;* *
;* THE BDOS ENTRY POINTS GIVEN BELOW SHOW THE *
;* CODE WHICH IS RELEVANT TO DEBLOC *
;*****************************************************
0000 = WRALLEQU 0 ;WRITE TO ALLOCATED
0001 = WRDIR EQU 1 ;WRITE ;
; DISKDEF MACRO, OR HAND CODED TABLES GO HERE
0000 = DPBASE EQU $ ;DISK PARAM BLOCK BASE
;
BOOT:
WBOOT:
;ENTER HERE ON SYSTEM BOOT TO INITIALIZE
0000 AF XRA A ;0 TO ACCUMULATOR
0001 326A01 STA HSTACT ;HOST BUFFER INACTIVE
0004 326C01 STA UNACNT ;CLEAR UNALLOC COUNT
0007 C9 RET
;
HOME:
;HOME THE SELECTED DISK
HOME:
0008 3A6B01 LDA HSTWRT ;CHECK FOR PENDING WRITE
000B B7 ORA A
000C C21200 JNZ HOMED
000F 326A01 STA HSTACT ;CLEAR HOST ACTIVE FLAG
HOMED:
0012 C9 RET
;
SELDSK:
;SELECT DISK
0013 79 MOV A,C ;SELECTED DISK NUMBER
0014 326101 STA SEKDSK ;SEEK DISK NUMBER
0017 6F MOV L,A ;DISK NUMBER TO HL
0018 2600 MVI H,0
REPT 4 ;MULTIPLY BY 16
DAD H
ENDM
001A+29 DAD H
001B+29 DAD H
001C+29 DAD H
001D+29 DAD H
001E 110000 LXI D,DPBASE ;BASE OF PARM BLOCK
0021 19 DAD D ;HL=.DPB(CURDSK)
0022 C9 RET
Appendix G : Blocking and Deblocking Algorithms CP/M Operating System Manual
G-2