home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / jsage / znode3 / uploads / tbmsbios.lbr / TBMSBIOS.HZR / TBMSBIOS.HDR
Encoding:
Text File  |  1993-06-07  |  8.5 KB  |  224 lines

  1. ; ASSEMBLY OF TBMSBIOS
  2. ; ====================
  3. ; TBMSBIOS is configured to assemble with SLR's Z80ASM assembler.  It must 
  4. ; be assembled to a HEX file and overlaid onto the appropriate TurboROM SYS 
  5. ; file, as described below.  Minor changes to the code will doubtless allow 
  6. ; it be be assembled by ZASM or M80.  It may be overlaid onto a SYS file 
  7. ; using MLOAD, or by the more cumbersome method of using DDT or ZSID and 
  8. ; SAVEing the resulting image.  If you have Z80ASM (highly recommended) you 
  9. ; may use MAKEBIOS.SUB to automate assembly.  This script file should run 
  10. ; under either ZEX or SUBMIT.  The syntax for MAKEBIOS.SUB is:
  11. ;
  12. ;        MAKEBIOS insys outsys
  13. ;
  14. ; Insys is the name of the file over which to overlay TBMSBIOS and outsys is
  15. ; the name you wish to give to the resulting file.  Do not include the .SYS 
  16. ; filename extension.  The script will take care of it.
  17.  
  18.  
  19. ; USER DEFINABLE EQUATES FOR TBMSBIOS
  20. ; ==================================
  21.  
  22. ; Runtime BIOS location
  23. ; --------------------- 
  24. ; You must determine the runtime location of this BIOS and the size of the 
  25. ; system with which it is to be integrated.  Run the peek program supplied 
  26. ; with TurboROM and find the first scratch address.  The assembler will use 
  27. ; that address to assist you in optimizing your system size. The correct 
  28. ; "system size" as provided to MOVTURBO will be displayed in the assembly 
  29. ; stats.  If it is different from that of the current system you will have 
  30. ; to use MOVTURBO to create a new system image over which to overlay this 
  31. ; BIOS.  
  32. scratch        equ    0f7e9h    ; First Scratch address returned by peek.
  33.                 ; If you wish to reserve additional high 
  34.                 ; memory, set scratch to the lowest address 
  35.                 ; of your reserved area.
  36.  
  37.  
  38. ; The first assembly of TBMSBIOS will provide you with the runtime location 
  39. ; of the BIOS for an optimized system, along with the necessary system size 
  40. ; of the SYS file over which it will be overlaid.  If the suggested bios 
  41. ; location differs from biosloc, you may set biosloc to the suggested value 
  42. ; and reassemble TBMSBIOS go generate the highest possible system.
  43. ;
  44. biosloc        equ    0f400h    ; Runtime location of BIOS
  45.  
  46.  
  47. ; Graphics Character Display
  48. ; --------------------------
  49. ;
  50. ; The grafbyte allows ZCPR to toggle Kaypro graphics on and off.  If you 
  51. ; wish to take advantage of this feature, set grafbt to the ADDRESS you wish 
  52. ; the BIOS to check to determine whether or not to output graphics char- 
  53. ; acters.  A non zero value at this address will supress graphics character 
  54. ; output.  This address may be in high memory or in the Z3 environment if 
  55. ; the address of the latter remains constant.  If you don't want this 
  56. ; feature, leave grafbt null.  '83 Kaypro 10 should have grafbt = 0.
  57. ;
  58. grafbt        equ    0    ; 0 for '83 machines
  59.  
  60.  
  61. ; Stack Location
  62. ; --------------
  63. ;
  64. ; If you wish to include the BIOS stack space in the code (recommended 
  65. ; unless you modify the code and increase it's size beyond the maximum 
  66. ; SYS file size) leave bstack null.  If you wish to set another stack
  67. ; address, set bstack to the BOTTOM address of this 64 byte stack space.
  68.  
  69. bstack        equ    0    ; bios stack, 0 if internal
  70.  
  71.  
  72. ; Initial Disk and User
  73. ; ---------------------
  74. ;
  75. ; You may specify the default disk and user following a cold boot.  If 
  76. ; a startup command is used, this should be the directory containing
  77. ; any files needed for startup, if other than a0:. 
  78. ;
  79. droot        equ    0    ; Initial default disk.  0 = A, 1 = B, etc.
  80. uroot        equ    15    
  81.  
  82.  
  83. ; Cold Boot Command Line
  84. ; ----------------------
  85. ;
  86. ; As a convenient minor bonus, you may specify an initial cold boot command 
  87. ; line for the SYS image you will be creating.  This is a ZCPR, not a BIOS 
  88. ; function, however the hex file generated by assembling this BIOS may be 
  89. ; conveniently used to overly a command line into the SYS image of the CCP 
  90. ; at the same time that the BIOS is overlaid.  Your SYS file must include 
  91. ; ZCPR1 as provided by Advent, or another configuration of ZCPR1 which 
  92. ; contains a command line buffer at ccp+7.  
  93. ;
  94. usecold        equ    true    ; True if specifing a cold boot command
  95.                 ; False to omit this feature
  96. ;
  97. coldcmd        macro
  98.         defb    cmdend - cmdstrt
  99. cmdstrt:    defb    'NZCOM TBSTART'    ; Startup command of your choice
  100. cmdend:        defb    0
  101.         endm
  102.  
  103.  
  104. ; Logical Disk Assignment for Ramdisk
  105. ; -----------------------------------
  106. ;
  107. ; TurboROM does not support the MicroSphere ramdisk.  All support routines 
  108. ; for the ramdisk are contained within this BIOS.  You cannot use TURBOMAP 
  109. ; to assign the ramdisk to a logical drive.  You must use rdnum to assign a 
  110. ; fixed logical disk drive to the ramdisk which will take precedence over 
  111. ; any assignments made with TURBOMAP or by the TurboROM to other physical 
  112. ; drives.  Be careful to avoid potential conflicts.   
  113. rdnum        equ    4    ; Logical drive for MicroSphere RAM disk
  114.                 ; 0 = A, 1 = B, etc.
  115.  
  116.  
  117. ; Function Key Definition
  118. ; =======================
  119. ;
  120. ; Some computers are capable of generating characters with the high bit set 
  121. ; from special function keys or unsupported keys.  The Kaypro has several 
  122. ; key switch positions under the metal keyboard cover which may be put into 
  123. ; use for purposes such as executing a print buffer pause or halt.  These 
  124. ; keys generally return values in the range of b0h to ffh.  The BIOS constat 
  125. ; routine will return the value of such keys in the L register while 
  126. ; returining status false (zero flag, a=0).  Standard keys return status 
  127. ; true and L=0.  If you use an IOP module you may intercept the values 
  128. ; returned in L by constat and process them accordingly.  You may specify 
  129. ; the maximum value for your standard keys. Any value lower than this will 
  130. ; be treated as coming from normal character producing key while anything 
  131. ; above this value will be handled as described above.  Remember, if you 
  132. ; have a Kaypro, that the TurboROM supports the arrow and number pad keys 
  133. ; and returns values in the range of 80h to 91h for these keys.  Unless 
  134. ; you want to fundamentally redefine these keys you should select a value 
  135. ; for maxkey greater than 91h
  136. maxkey        equ    92h    ; Maximum "regular" key
  137.  
  138.  
  139. ; Signon Version Number
  140. ; ---------------------
  141. ; The cold boot signon message identifies the version of the BIOS currently 
  142. ; up and running.  You may select your own version number and beta release 
  143. ; letter (or other character).  
  144. bvers        equ     20    ; BIOS version number
  145. beta        equ    'B'    ; beta release
  146.  
  147.  
  148.  
  149. ; Ramdisk Disk Parameter Block
  150. ; ----------------------------
  151.  
  152. ; TBMSBIOS contains the ramdisk parameter blocks from the original Micro- 
  153. ; Sphere RDISK source code.  The only change I have made is to set the 
  154. ; number of pre-directory tracks to 0 since to the best of my knowledge 
  155. ; system tracks on the MicroSphere ramdisk are like tits on a bull.  Choose 
  156. ; one of the following, depending on the size of your MicroSphere ramdisk.
  157. ; If you decline to choose one of the preset dpb's, you may configure your
  158. ; own dpb below.
  159. ;
  160. ; Select the size of ramdisk (or set all false to customize below)
  161.  
  162. Rd256        equ    false        ; 256K ramdisk
  163. Rd512        equ    false        ; 512K ramdisk
  164. Rd768         equ    false        ; 768K ramdisk
  165. Rd1024        equ    true        ; 1 meg ramdisk
  166.  
  167.  
  168. ; Select the size of your printer buffer
  169. ;
  170. pb4        equ    false        ; 4K print buffer
  171. pb32        equ    false        ; 32K print buffer
  172. pb64        equ    true        ; 64K print buffer
  173.  
  174.  
  175. ; If you did not select one of the ramdisk size options above, you may 
  176. ; configure the ramdisk parameter block as you choose.  The values shown 
  177. ; below are optimized for a disk with many small files.  No operating system 
  178. ; tracks are set aside.  Block size is 2K.  "The Programmers CP/M Handbood"  
  179. ; by Johnson/Laird has a good discussion of the elements of dpb.  Don't 
  180. ; alter the values below unless you know what you are doing.
  181.      if    not (rd256 or rd512 or rd768 or rd1024)
  182. ; RAM disk DPB
  183. ;
  184. spt    equ    40
  185. bsh    equ    4
  186. blm    equ    15
  187. exm    equ     0
  188. dsm    equ    466    ;465 for 64K print buffer, 480 for 32K buffer
  189. drm    equ    255     ;drm equ 495 for 4K buffer
  190. al0    equ    0f0h
  191. al1    equ    0
  192. cks    equ    0
  193. offtrk    equ    0
  194.      endif
  195.  
  196.  
  197.  
  198. ; ADDITIONAL INFORMATION
  199. ; ======================
  200. ;
  201. ; In the Advent system image (.sys file) the system components
  202. ; appear at the following addresses (assuming 0100h at start of
  203. ; file):
  204. ;     cold boot code    0900h
  205. ;     CCP or ZCPR    0B00h
  206. ;     BDOS or ZRDOS    1300h
  207. ;     BIOS        2100h
  208. ;     end of image    24FFh
  209. ; This version of the BIOS does not support the Plu*Perfect
  210. ; datestamper.
  211. ;
  212. ; * END OF TBMSBIOS.HDR *
  213.