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 / ZSYS / SIMTEL20 / ZCPR3 / Z3BASE2.LQB / Z3BASE2.LIB
Text File  |  2000-06-30  |  8KB  |  273 lines

  1. ; Z3BASE - Minimum Configuration
  2. ; Offset:  4100H
  3.  
  4. ;****************************************************************
  5. ;*                                *
  6. ;*  Z3BASE.LIB -- Base Addresses for ZCPR3 System        *
  7. ;*    by Richard Conn                        *
  8. ;*                                *
  9. ;*    These addresses are used by the following System    *
  10. ;* Segments:                            *
  11. ;*                                *
  12. ;*    Segment        Function                *
  13. ;*    -------        --------                *
  14. ;*    ABOOTFD        Boot System from Floppy Disk        *
  15. ;*    ABOOTHD        Boot System from Hard Disk        *
  16. ;*    BDOSZ        Customized BDOS                *
  17. ;*    CBIOSZ        Customized BIOS                *
  18. ;*    ZCPR3        ZCPR3 Command Processor            *
  19. ;*    *.ENV        All Environment Descriptors        *
  20. ;*    *.FCP        All Flow Command Packages        *
  21. ;*    *.IOP        All Input/Output Packages        *
  22. ;*    *.NDR        All Named Directory Definition Files    *
  23. ;*    *.RCP        All Resident Command Packages        *
  24. ;*                                *
  25. ;*                                *
  26. ;* Memory Map of System:                    *
  27. ;*                                *
  28. ;*    Address Range      Size    Function            *
  29. ;*    -------------    -------    --------            *
  30. ;*        0 -   FF    256 b    Standard CP/M Buffers except    *
  31. ;*       40 -   4A     11 b     for ZCPR3 External Path    *
  32. ;*       4B          1 b    Wheel Byte            *
  33. ;*      100 - CFFF     ~52  K    TPA                *
  34. ;*     D000 - D7FF       2  K    ZCPR3 Command Processor        *
  35. ;*     D800 - E5FF       3.5K    BDOSZ                *
  36. ;*     E600 - F3FF       3.5K    CBIOSZ with Buffers        *
  37. ;*     F400 - F4FF    256 b    Environment Descriptors        *
  38. ;*                Bytes 00H-7FH:  Z3 Parameters    *
  39. ;*                Bytes 80H-FFH:  Z3 Terminal Cap    *
  40. ;*     F500 - F57F    128 b    ZCPR3 Shell Stack        *
  41. ;*     F580 - F5CF     80 b    ZCPR3 Message Buffers        *
  42. ;*                Byte 0:  Error Flag (Z/NZ)    *
  43. ;*                Byte 1:  IF (8 Levels)        *
  44. ;*                Byte 2:  IF Active (8 Levels)    *
  45. ;*                Byte 3:  Z3 Cmd Status        *
  46. ;*                    00B - Normal        *
  47. ;*                    01B - Shell        *
  48. ;*                    10B - Error        *
  49. ;*                Bytes 4&5: Error Address if 10B    *
  50. ;*                Byte 6: Program Error Code    *
  51. ;*                Byte 7: ZEX Message Byte    *
  52. ;*                    00B - Normal        *
  53. ;*                    01B - Z3 Prompt        *
  54. ;*                    10B - Suspend Intercept    *
  55. ;*                Byte 8: ZEX Running Flag (0=No)    *
  56. ;*                Bytes 9-10: Address of Next    *
  57. ;*                    Char for ZEX to Return    *
  58. ;*                Bytes 11-12: Address of First    *
  59. ;*                    Char in ZEX Memory-    *
  60. ;*                    Based File Buffer    *
  61. ;*                Byte 13: SH Control Byte    *
  62. ;*                    Bit 0: Enable SHCMT    *
  63. ;*                    Bit 1: Enable SHECHO    *
  64. ;*                    Bit 7: Enable Shell    *
  65. ;*                        Entry Wait    *
  66. ;*                Bytes 14-15: Shell Scratch    *
  67. ;*                Bytes 10H-2FH: Error Cmd    *
  68. ;*                Bytes 30H-39H: Registers    *
  69. ;*                Bytes 3AH-3FH: Reserved        *
  70. ;*                Bytes 40H-4FH: User-Defined    *
  71. ;*     F5D0 - F5FF     48 b    ZCPR3 External FCB        *
  72. ;*     F600 - F6FF    256 b    Memory-Based Named Directory    *
  73. ;*     F700 - F7CF    208 b    Multiple Command Line Buffer    *
  74. ;*     F7D0 - F7FF     48 b    ZCPR3 External Stack        *
  75. ;*     F800 - FBFF       1  K    Disk Controller EPROM        *
  76. ;*     FC00 - FFFF       1  K    Disk Controller RAM        *
  77. ;*                                *
  78. ;****************************************************************
  79.  
  80. ;
  81. ;  True and False
  82. ;
  83. FALSE    equ    0
  84. TRUE    equ    NOT FALSE
  85.  
  86.  
  87. ;*
  88. ;*  ZCPR3 BASE EQUATES
  89. ;*
  90.  
  91. ;
  92. ;  1. VERSION NUMBERS, MEMORY SIZE, and CP/M BASE ADDRESS
  93. ;
  94. ;    The following equates define the version numbers of the ZCPR3
  95. ; Command Processor and the CBIOSZ.  They also explicitly state the size
  96. ; of the TPA for inclusion in the CBIOSZ header printed at Cold Boot.
  97. ;
  98. Z3REV    EQU    30    ; ZCPR3 REV NUMBER
  99. CBREV    EQU    41    ; CBIOSZ REV NUMBER
  100. MSIZE    EQU    52    ; SIZE OF TPA
  101. ;
  102. ;    BASE - Base Address of user's CP/M system (normally 0 for DR version)
  103. ;           This equate allows easy modification by non-standard CP/M (eg,H89)
  104. ;
  105. BASE    EQU    0
  106.  
  107. ;
  108. ;  2. PROCESSOR SELECTION
  109. ;
  110. ;    The following equate selects the use of the 8080/8085 micro or
  111. ; the Z80 micro for the target for ZCPR3.  Note that selecting the
  112. ; 8080/8085 should be done ONLY if you have an 8080 or 8085.  If you have
  113. ; a Z80, by all means select this one since the code is much smaller and
  114. ; you can cram more features into the system as a result.
  115. ;    If the processor is an 8080 or 8085, set this equate to TRUE.
  116. ; If the processor is a Z80, set it to FALSE.
  117. ;
  118. I8080    EQU    FALSE
  119.  
  120. ;
  121. ;  3. EXTERNAL PATH
  122. ;
  123. ;    The following equates define the address of the ZCPR3 External
  124. ; Path and the number of two-byte elements contained in this path (maximum).
  125. ; If there is no ZCPR3 External Path, both of these values should be set to 0.
  126. ;
  127. EXPATH    EQU    40H    ; EXTERNAL PATH
  128. EXPATHS    EQU    5    ; 5 2-byte Path Elements
  129.             ;  (PATH SIZE = EXPATHS*2 + 1)
  130.  
  131. ;
  132. ;  4. WHEEL BYTE
  133. ;
  134. ;    The following equate defines the address of the ZCPR3 Wheel Byte.
  135. ; If there is no ZCPR3 Wheel Byte, this value should be set to 0.
  136. ;
  137. Z3WHL    EQU    4BH    ; WHEEL BYTE ADDRESS
  138.  
  139.  
  140. ;
  141. ;  5. CCP LOCATION
  142. ;
  143. ;    The following equate defines the address of the ZCPR3 Command
  144. ; Processor.  This address MUST be supplied.
  145. ;
  146. CCP    EQU    0D000H    ; ZCPR3 COMMAND PROCESSOR
  147.  
  148.  
  149. ;
  150. ;  6. RCP LOCATION
  151. ;
  152. ;    The following equates define the address of the ZCPR3 Resident
  153. ; Command Package and its size in 128-byte blocks.  If there is no
  154. ; ZCPR3 Resident Command Package, both of these values should be 0.
  155. ;
  156. RCP    EQU    00000H    ; RESIDENT COMMAND PACKAGE
  157. RCPS    EQU    00    ; 00 128-byte Blocks (0K bytes)
  158.  
  159.  
  160. ;
  161. ;  7. IOP LOCATION
  162. ;
  163. ;    The following equates define the address of the ZCPR3 Input/Output
  164. ; Package and its size in 128-byte blocks.  If there is no ZCPR3 Input/Output
  165. ; Package, both of these values should be 0.
  166. ;
  167. IOP    EQU    00000H    ; REDIRECTABLE I/O PACKAGE
  168. IOPS    EQU    00    ; 00 128-byte Blocks (0K bytes)
  169.  
  170.  
  171. ;
  172. ;  8. FCP LOCATION
  173. ;
  174. ;    The following equates define the address of the ZCPR3 Flow Command
  175. ; Package and its size in 128-byte blocks.  If there is no ZCPR3 Flow Command
  176. ; Package, both of these values should be 0.
  177. ;
  178. FCP    EQU    00000H    ; FLOW COMMAND PACKAGE
  179. FCPS    EQU    0    ; 0 128-byte Blocks (0K bytes)
  180.  
  181.  
  182. ;
  183. ;  9. ENV LOCATION
  184. ;
  185. ;    The following equates define the address of the ZCPR3 Environment
  186. ; Descriptor and its size in 128-byte blocks.  If there is no ZCPR3 Environment
  187. ; Descriptor, both of these values should be 0.
  188. ;
  189. Z3ENV    EQU    0F400H    ; ENVIRONMENT DESCRIPTORS
  190. Z3ENVS    EQU    2    ; SIZE OF ENVIRONMENT DESCRIPTOR IN 128-BYTE BLOCKS
  191.  
  192.  
  193. ;
  194. ; 10. SHELL STACK
  195. ;
  196. ;    The following equates define the address of the ZCPR3 Shell Stack,
  197. ; the number of entries permitted in the ZCPR3 Shell Stack, and the size
  198. ; of each entry in the Shell Stack in terms of bytes.  If there is no ZCPR3
  199. ; Shell Stack, all three values should be 0.
  200. ;
  201. SHSTK    EQU    0F500H    ; ZCPR3 SHELL STACK
  202. SHSTKS    EQU    4    ; NUMBER OF SHSIZE-BYTE SHELL STACK ENTRIES
  203. SHSIZE    EQU    32    ; SIZE OF A SHELL STACK ENTRY
  204.             ;   (STACK SIZE = SHSTKS * SHSIZE)
  205.  
  206.  
  207. ;
  208. ; 11. ZCPR3 MESSAGES
  209. ;
  210. ;    The following equate defines the address of the ZCPR3 Message Buffer.
  211. ; This buffer is always 80 bytes long.  If there is no ZCPR3 Message Buffer,
  212. ; this address should be 0.
  213. ;
  214. Z3MSG    EQU    0F580H    ; ZCPR3 MESSAGE BUFFER
  215.  
  216.  
  217. ;
  218. ; 12. EXTERNAL FCB
  219. ;
  220. ;    The following equate defines the address of the ZCPR3 External FCB.
  221. ; This buffer is always 36 bytes long.  If there is no ZCPR3 External FCB,
  222. ; this address should be 0.
  223. ;
  224. EXTFCB    EQU    0F5D0H    ; ZCPR3 EXTERNAL FCB
  225.  
  226.  
  227. ;
  228. ; 13. NAMED DIRECTORY BUFFER
  229. ;
  230. ;    The following equates define the address and size (in terms of 18-byte
  231. ; entries) of the ZCPR3 Named Directory Buffer.  If there is no such buffer,
  232. ; both of these values should be 0.
  233. ;
  234. Z3NDIR    EQU    0F600H    ; ZCPR3 NAMED DIRECTORY AREA
  235. Z3NDIRS    EQU    14    ; 14 18-byte Named Directory Elements permitted
  236.             ;   (NDIR SIZE = Z3NDIRS*18 + 1 for trailing 0)
  237.  
  238.  
  239. ;
  240. ; 14. COMMAND LINE
  241. ;
  242. ;    The following equates define the address and size (in terms of bytes)
  243. ; of the ZCPR3 Command Line Buffer (formerly called the Multiple Command Line
  244. ; Buffer under ZCPR2).  If there is no such buffer, both of these values should
  245. ; be 0.
  246. ;
  247. Z3CL    EQU    0F700H    ; ZCPR3 COMMAND LINE BUFFER
  248. Z3CLS    EQU    200    ; SIZE OF COMMAND LINE BUFFER
  249.  
  250.  
  251. ;
  252. ; 15. EXTERNAL STACK
  253. ;
  254. ;    The following equate defines the address of the ZCPR3 External Stack.
  255. ; This stack is always 48 bytes in size.  If there is no such stack, this
  256. ; value should be 0.
  257. ;
  258. EXTSTK    EQU    0F7D0H    ; ZCPR3 EXTERNAL STACK
  259.  
  260.  
  261. ;
  262. ; 16. USER EQUATES
  263. ;
  264. ;    The following equates are available for the implementer's target
  265. ; system.  These are implementation-defined.
  266. ;
  267. DJEPROM    EQU    0F800H    ; EPROM BASE ADDRESS
  268.  
  269.  
  270. ;*
  271. ;*  END of ZCPR3 BASE EQUATES
  272. ;*
  273.