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 / BEEHIVE / OS / Z80D24SR.ARC / Z80DHDR.LIB < prev    next >
Text File  |  1991-02-10  |  5KB  |  164 lines

  1. ;
  2. ; Z80DOS - Z80 Disk Operating System
  3. ;
  4. ; Version 2.4    Maskable disk reset's using variable fixdrv
  5. ;        Now can assemble with Z80MR if Z80MR equate
  6. ;        set to -1.
  7. ;        Gene Nolan 4/9/89
  8. ;
  9. ;--------------------------------------------------------------
  10. ;
  11. ; Z80DOS - Z80 Disk Operating System
  12. ;
  13. ; Version 2.3    Fast directory lookup, ZRL compatiblity
  14. ; Date:        4 Nov 88
  15. ; Update:    Eugene Nolan
  16. ;
  17. ;-------------------------------------------------------------
  18. ; Version 2.0a - BETA TEST VERSION - 6 Nov 87 by Carson Wilson
  19. ;
  20. ; Support file:    Z80DHDR.LIB
  21. ; Version:    2.0
  22. ; Date:        6 Nov 87
  23. ; Author:    Carson Wilson
  24. ; Changes:    Added RTC equate.  If false, use internal DOS routine
  25. ;        instead of BIOS call for get/set time.  Default address
  26. ;        for buffer is 50 hex.
  27. ;
  28. ; Description:    Options and Standard Equates
  29.         
  30. ; --------------------------------------------------------------------
  31.  
  32. ; Specify where in memory your BDOS begins and where your BIOS ends.
  33. ; The next two equates must be set for the particular system.
  34. ; You can use either kilobyte or page boundaries.
  35. ;
  36. ; The number for "MSize/MPages" is where your BIOS ENDS in memory.  For
  37. ; standard 64k CP/M systems this is 64 kilobytes/256 pages.
  38. ;
  39. ; The number for "base" is where your CCP BEGINS in memory.  This is
  40. ; computed using MSize and a value n which is the size in kilobytes/pages
  41. ; of your entire operating system (CCP+BDOS+BIOS).  You should be able
  42. ; to get these values from the source code of your BIOS.
  43. ;
  44. ; 1 page = 256 bytes, so 4 pages = 1 kilobyte.
  45. ;
  46.  
  47. ; Specify addresses using kilobyte boundaries:
  48.  
  49. ; NOTE: Definition of BASE not used if creating a .ZRL file
  50.  
  51. ;MSize    equ    64            ; Standard 64k system size
  52. ;base    equ    (MSize-9)*1024        ; (MSize-n) where n is size of
  53.                     ; BIOS+DOS+CCP in kilobytes
  54. base    equ    0d400h            ; N varies with the length of
  55.                     ; ..your BIOS.
  56.  
  57. ; Or, specify addresses using page boundaries:
  58.  
  59. ;MPages equ    256            ; 256 page system size
  60. ;base    equ    (MPages-37)*256     ; (mpages-n) where n is size in
  61.                     ; ..pages of BIOS+DOS+CCP
  62.                     ; N varies with the length of
  63.                     ; ..your BIOS.
  64.  
  65. ; Standard addresses and equates - don't change the next five equates:
  66.  
  67. RamLow    equ    0000h            ; Start address memory
  68.  
  69. ;****** Comment out the following 2 lines if making a .ZRL file
  70. DOS    equ    base+800h        ; Start address DOS
  71. BIOS    equ    DOS+00e00h        ; Start address BIOS
  72.  
  73.  
  74. false    equ    0
  75. true    equ    -1
  76.  
  77. ; RTC - Real Time Clock
  78. ;
  79. ;     Set to true if you are using a Real Time Clock as the 
  80. ; source for your time, and fill in the address at BIOStim below.  
  81. ;
  82. ;    Set to false to use a 5 byte buffer in protected memory 
  83. ; as a substitute for a Real Time Clock, and give the address of 
  84. ; the 5 byte buffer at label TimeBuf below.
  85. ;
  86. ; NOTE: If making a ZRL and RTC is TRUE, it may be necessary to
  87. ;    POKE the RTC JMP into NZCOM's psuedo BIOS BEFORE loading the
  88. ;    Z80DOS.ZRL file.
  89.  
  90. RTC    equ    true        ;Real time clock
  91.  
  92.      if    RTC
  93.                 ; IF USING Z80MR, then put NO SPACES
  94.                 ; on the following line between
  95.                 ; BIOS, the '+', and the address!!!!
  96. BIOStim    equ    BIOS+57        ; Address of BIOS jump or RTC driver
  97.  
  98.      else
  99. TimeBuf    equ    50h        ; Address of 5-byte buffer 
  100.      endif    ; RTC
  101.  
  102.  
  103. ; ResDsk - You can optionally define an alternate disk for disk reset.
  104. ;       This is useful in floppy systems with a virtual drive feature.
  105. ;       By defining a non-virtual drive (drive B in Morrow MD3) as the
  106. ;       reset disk, you avoid having to switch back to disk A every time a
  107. ;       disk reset is performed.  However, this requires that you always
  108. ;       have a diskette in drive B:.
  109. ;
  110.  
  111. ResDsk    equ    0    ; CP/M default is disk A for resets
  112.             ; ..0=A, 1=B, 2=C, etc.
  113.  
  114.  
  115. ; Options -    Bit 0: public file enable(1)/disable(0)
  116. ;        Bit 1: delay 256 characters active(1)/disable(0)
  117. ;
  118. Options    equ    00000011B        ; Enable public file and delay
  119.  
  120.  
  121. ; -------------------------------------------------------------
  122. ;
  123. ; The remaining equates should stay the same for all systems:
  124. ;
  125. ; -------------------------------------------------------------
  126.  
  127. ; Standard BIOS function offsets:
  128.  
  129. Boot    equ    BIOS+00000h        ; BIOS cold boot
  130. WBoot    equ    BIOS+00003h        ; BIOS warm boot
  131. ConSt    equ    BIOS+00006h        ; BIOS console status
  132. ConIn    equ    BIOS+00009h        ; BIOS console input
  133. ConOut    equ    BIOS+0000ch        ; BIOS console output
  134. list    equ    BIOS+0000fh        ; BIOS list output
  135. punch    equ    BIOS+00012h        ; BIOS punch output
  136. reader    equ    BIOS+00015h        ; BIOS reader input
  137. home    equ    BIOS+00018h        ; BIOS home disk
  138. SelDsk    equ    BIOS+0001bh        ; BIOS select disk
  139. SetTrk    equ    BIOS+0001eh        ; BIOS select track
  140. SetSec    equ    BIOS+00021h        ; BIOS select sector
  141. SetDMA    equ    BIOS+00024h        ; BIOS set DMA address
  142. read    equ    BIOS+00027h        ; BIOS read 128 bytes
  143. write    equ    BIOS+0002ah        ; BIOS write 128 bytes
  144. ListSt    equ    BIOS+0002dh        ; BIOS list status
  145. SecTrn    equ    BIOS+00030h        ; BIOS sector translation
  146.  
  147. ; Internal definitions:
  148.  
  149. ContC    equ    003h            ; Key to generate warm boot
  150. ContH    equ    008h            ; Backspace
  151. ContS    equ    013h            ; Control-S
  152. tab    equ    009h            ; Tab
  153. lf    equ    00ah            ; Line feed
  154. cr    equ    00dh            ; Carriage return
  155. ContP    equ    010h            ; Set/reset print flag
  156. ContX    equ    018h            ; Delete line (backspaces)
  157. DrvSep    equ    03ah            ; Drive seperator (:)
  158. rubout    equ    07fh            ; Delete last char
  159. ;
  160. MaxCmd    equ    40            ; Number of valid DOS commands
  161.  
  162. ; END Z80DHDR.LIB
  163.  
  164.