home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / CPM / UTILS / S / ZEN2.LBR / CPM85SYS.LIB < prev    next >
Text File  |  2000-06-30  |  5KB  |  172 lines

  1. ;**    CP/M-85 SYSTEM EQUATES
  2. ;
  3.  
  4. ;    OS VALUES
  5.  
  6. CCPL    EQU    0800H            ;LENGTH OF CCP
  7. BDOSL    EQU    0E00H            ;LENGTH OF BDOS
  8.  
  9. ;    RESERVED LOCATIONS IN PAGE ZERO
  10.  
  11.     ORG    BIAS
  12. BOOT    RB    3            ;JUMP TO WARM START ENTRY
  13. IOBYTE    RB    1            ;IOBYTE
  14. DFTDRV    RB    1            ;CURRENT EFAULT DRIVE
  15. BDOS    RB    3            ;JUMP TO BDOS
  16. INT1    RB    8            ;INTERRUPT LOCATION 1
  17. INT2    RB    8            ;INTERRUPT LOCATION 2
  18. INT3    RB    8            ;INTERRUPT LOCATION 3
  19. INT4    RB    8            ;INTERRUPT LOCATION 4
  20. INT5    RB    8            ;INTERRUPT LOCATION 5
  21. INT6    RB    8            ;INTERRUPT LOCATION 6 (RESERVED)
  22. INT7    RB    8            ;INTERRUPT LOCATION 7 (USED BY DDT)
  23. BSCR    RB    16            ;16 BYTE SCRATCH AREA FOR BIOS
  24.     RB    12            ;12 BYTES NOT USED BUT RESERVED
  25. TFCB    RB    36            ;TRANSIENT DEFAULT FCB
  26. TFCB2    EQU    TFCB+16            ;TRANSIENT 2ND FILENAME
  27. TBUFF    RB    128            ;DEFAULT DISK BUFFER
  28. TPA    RB    0            ;START OF TRANSIENT PROGRAM AREA
  29.  
  30. ;    HEATH PAGE ZERO LOCATIONS
  31.  
  32.     IF    ASM86
  33.     ORG    OFFSET INT1+3
  34.     ENDIF
  35.     IF    NOT ASM86
  36.     ORG    INT1+3
  37.     ENDIF
  38. TICCNT    RW    2            ;32 BIT TIMER TIC COUNTER
  39. TIMEFLG    RB    1            ;TIMER 2 FLAG (0=RUNNING , 1=TIME OUT)
  40.  
  41.     IF    ASM86
  42.     ORG    OFFSET INT2
  43.     ENDIF
  44.     IF    NOT ASM86
  45.     ORG    INT2
  46.     ENDIF
  47. COMREG    RB    0            ;BIOS88 COMMUNICATION REGION
  48. COMFUNC    RB    1            ; BIOS FUNCTION VALUE = (#-CBOOT)/3
  49. COMRA    RB    1            ; (A)
  50. COMRBC    RW    0            ; (BC)
  51. COMRC    RB    1            ;  (C)
  52. COMRB    RB    1            ;  (B)
  53. COMRDE    RW    0            ; (DE)
  54. COMRE    RB    1            ;  (E)
  55. COMRD    RB    1            ;  (D)
  56. COMRHL    RW    0            ; (HL)
  57. COMRL    RB    1            ;  (L)
  58. COMRH    RB    1            ;  (H)
  59. COMWHO    RB    1            ;WHICH PROCESSOR IS RUNNING
  60.                     ; ZPSPPS5 = 8085
  61.                     ; ZPSPPS8 = 8088
  62.  
  63. BDMAP    EQU    BSCR+00H        ;DRIVE MAP (MAX OF 8 ENTRIES 0-7)
  64.     IF    ASM86
  65. BBIOS    EQU    WORD PTR BSCR+0EH    ;TRUE ADDRESS FOR START OF BIOS
  66.     ENDIF
  67.     IF    NOT ASM86
  68. BBIOS    EQU    BSCR+0EH        ;TRUE ADDRESS FOR START OF BIOS
  69.     ENDIF
  70.  
  71. ;    CP/M FUNCTIONS
  72.  
  73. RESET    EQU    0            ;SYSTEM RESET
  74. RDCON    EQU    1            ;READ CONSOLE
  75. WRCON    EQU    2            ;WRITE CONSOLE
  76. RDRDR    EQU    3            ;READ READER
  77. WRPUN    EQU    4            ;WRITE PUNCH
  78. WRLST    EQU    5            ;WRITE LIST
  79. DCONIO    EQU    6            ;DIRECT CONSOLE I/O (2)
  80. IOSTAT    EQU    7            ;INTERROGATE I/O STATUS
  81. ASTAT    EQU    8            ;ALTER I/O STATUS
  82. PRCONB    EQU    9            ;PRINT CONSOLE BUFFER
  83. RDCONB    EQU    10            ;READ CONSOLE BUFFER
  84. CCSTAT    EQU    11            ;CHECK CONSOLE STATUS
  85. LDH    EQU    12            ;LIFT DISK HEAD
  86. CPMVER    EQU    LDH            ;GET CP/M VERSION (2)
  87. RDS    EQU    13            ;RESET DISK SYSTEM
  88. SELDSK    EQU    14            ;SELECT DISK
  89. OPEN    EQU    15            ;OPEN FILE
  90. CLOSE    EQU    16            ;CLOSE FILE
  91. S1ST    EQU    17            ;SEARCH FIRST
  92. SNXT    EQU    18            ;SEARCH NEXT
  93. DELETE    EQU    19            ;DELETE FILE
  94. READ    EQU    20            ;READ RECORD
  95. WRITE    EQU    21            ;WRITE RECORD
  96. CREATE    EQU    22            ;CREATE FILE
  97. RENAME    EQU    23            ;RENAME FILE
  98. ILOG    EQU    24            ;INTERROGATE LOGIN
  99. IDSK    EQU    25            ;INTERROGATE DISK
  100. SETDMA    EQU    26            ;SET DMA ADDRESS
  101. IALLOC    EQU    27            ;INTERROGATE ALLOCATION
  102. WPD    EQU    28            ;WRITE PROTECT DISK
  103. GROV    EQU    29            ;GET READ/ONLY VECTOR
  104. SFA    EQU    30            ;SET FILE ATTRIBUTES
  105. GADPB    EQU    31            ;GET ADDR OF DPB
  106. SGUSR    EQU    32            ;SET/GET USER CODE
  107. READRR    EQU    33            ;READ RANDOM RECORD
  108. WRITERR    EQU    34            ;WRITE RANDOM RECORD
  109. CFSIZE    EQU    35            ;COMPUTE FILE SIZE
  110. SRR    EQU    36            ;SET RANDOM RECORD
  111. RESDRV    EQU    37            ;RESET DRIVE
  112. WRITERZ    EQU    40            ;WRITE RANDOM WITH ZERO FILL
  113.  
  114. ;    BIOS ENTRY POINTS.
  115. ;      GIVEN AS DISPLACEMENTS FROM WARM BOOT ENTRY POINT WHOSE
  116. ;      ADDRESS IS USUALLY AT LOCATION BOOT+1.
  117. ;      TO COMPUTE DISPLACEMENTS FROM VALUE STORED AT 'BBIOS'
  118. ;      SUBTRACT 'CBOOT'.  EG. DISPLACEMENT FOR WARM BOOT = WBOOT-CBOOT
  119.  
  120. CBOOT    EQU    -0003H            ;COLD BOOT
  121. WBOOT    EQU    0000H            ;WARM BOOT
  122. CONST    EQU    0003H            ;CONSOLE STATUS
  123. CONIN    EQU    0006H            ;CONSOLE INPUT
  124. CONOUT    EQU    0009H            ;CONSOLE OUTPUT
  125. LSTOUT    EQU    000CH            ;LIST OUTPUT
  126. PUNOUT    EQU    000FH            ;PUNCH OUTPUT
  127. RDRIN    EQU    0012H            ;READER INPUT
  128. HOME    EQU    0015H            ;HOME DISK
  129. SETDSK    EQU    0018H            ;SET (SELECT) DISK DRIVE
  130. SETTRK    EQU    001BH            ;SET TRACK NUMBER
  131. SETSEC    EQU    001EH            ;SET SECTOR NUMBER
  132. SDMA    EQU    0021H            ;SET DMA ADDRESS
  133. BREAD    EQU    0024H            ;READ SELECTED SECTOR
  134. BWRITE    EQU    0027H            ;WRITE SELECTED SECTOR
  135. BLSTST    EQU    002AH            ;CHECK LIST DEVICE STATUS
  136. BSECTRN    EQU    002DH            ;SECTOR TRANSLATE ROUTINE
  137. BFMT    EQU    0030H            ;FORMAT
  138. BRDTRK    EQU    0033H            ;READ TRACK
  139. BWRTRK    EQU    0036H            ;WRITE TRACK
  140. BWPC    EQU    0039H            ;WRITE PROTECT CHECK
  141. BCBD    EQU    003CH            ;CLEAR BUFFERS FOR DRIVE
  142.  
  143. ;    BIOS WRITE TYPES
  144.  
  145. BWRNOR    EQU    0            ;NORMAL WRITE
  146. BWRDIR    EQU    1            ;WRITE TO A DIRECTORY SECTOR
  147. BRWUA1    EQU    2            ;WRITE TO 1ST SECTOR OF UNALLOC BLOCK
  148.  
  149. ;    FILE CONTROL BLOCK
  150.  
  151.     ORG    0
  152. FCBDN    RB    1            ;DISK NAME
  153. FCBFN    RB    8            ;FILE NAME
  154. FCBFNL    EQU    8            ;FILE NAME LENGTH
  155. FCBFT    RB    3            ;FILE TYPE
  156. FCBFTL    EQU    3            ;FILE TYPE LENGTH
  157. FCBRO    EQU    FCBFT+0            ;R/O FLAG
  158. FCBROF    EQU    10000000B        ; R/O FLAG VALUE
  159. FCBSYS    EQU    FCBFT+1            ;SYS FLAG
  160. FCBSYSF    EQU    10000000B        ; SYS FLAG VALUE
  161. FCBEX    RB    1            ;EXTENT
  162.     RB    1
  163. FCBRWF    RB    1            ;R/W FLAG
  164. FCBRWFF EQU    10000000B        ; R/W FLAG VALUE
  165. FCBRC    RB    1            ;RECORD COUNT
  166. FCBDM    RB    16            ;DISK ALLOCATION MAP
  167. FCBNR    RB    1            ;NEXT RECORD TO BE READ OR WRITTEN
  168. FCBLS    EQU    33            ;FCB LENGTH FOR SEQUENTIAL I/O
  169. FCBRR    RB    3            ;RANDOM RECORD POINTER
  170. FCBLR    EQU    36            ;FCB LENGTH FOR RANDOM I/O
  171.  
  172.