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










