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 / Z3BASE1.LQB / Z3BASE1.LIB
Text File  |  2000-06-30  |  8KB  |  276 lines

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