; Z80DOS - Z80 Disk Operating System ; ; Version 1.0 - 05 Sept. 87 by Carson Wilson ; ; ------------------------------------------------------------------- ; ; Z80DHDR.LIB - Options and Standard Equates ; ; ------------------------------------------------------------------- ; ; Specify where in memory your BDOS begins and where your BIOS ends. ; The next two equates must be set for the particular system. ; You can use either kilobyte or page boundaries. ; ; The number for "MSize/MPages" is where your BIOS ENDS in memory. For ; standard 64k CP/M systems this is 64 kilobytes/256 pages. ; ; The number for "base" is where your CCP BEGINS in memory. This is ; computed using MSize and a value n which is the size in kilobytes/pages ; of your entire operating system (CCP+BDOS+BIOS). You should be able ; to get these values from the source code of your BIOS. ; ; 1 page = 256 bytes, so 4 pages = 1 kilobyte. ; ; Specify addresses using kilobyte boundaries: MSize equ 64 ; Standard 64k system size base equ 0e700h ; (MSize-n) where n is size of ; ..BIOS+DOS+CCP in kilobytes ; n varies with the length of ; ..your BIOS. ; Or, specify addresses using page boundaries: ;MPages equ 256 ; 256 page system size ;base equ (MPages-37)*256 ; (mpages-n) where n is size in ; ..pages of BIOS+DOS+CCP ; Standard system addresses - don't change the next three equates: RamLow equ 0000h ; Start address memory DOS equ base+800h ; Start address DOS BIOS equ DOS+00e00h ; Start address BIOS ; Time - give the offset in bytes of your BIOS time routine from your ; BIOS Boot routine. At least a minimal routine which points ; to a 4-byte BIOS time buffer is required for time stamping. ; See BIOSTIME.Z8D for an example BIOS implementation. ; If you don't have a BIOS time routine, leave the value for ; BIOStim set to 6, which calls the Console Status routine. BIOStim equ BIOS+0006 ; Offset of BIOS jump to BIOS ; ..get/set time routine, if ; ..implemented. ; ResDsk - You can optionally define an alternate disk for disk reset. ; This is useful in floppy systems with a virtual drive feature. ; By defining a non-virtual drive (drive B in Morrow MD3) as the ; reset disk, you avoid having to switch back to disk A every time a ; disk reset is performed. However, this requires that you always ; have a diskette in drive B:. ; ResDsk equ 0 ; CP/M default is disk A for resets ; ..0=A, 1=B, 2=C, etc. ; ; Options - Bit 0: public file enable(1)/disable(0) ; Bit 1: delay 256 characters active(1)/disable(0) ; Options equ 00000011B ; Enable public file and delay ; ------------------------------------------------------------- ; ; The remaining equates should stay the same for all systems: ; ; ------------------------------------------------------------- false equ 0 true equ not false ; Standard BIOS function offsets: Boot equ BIOS+00000h ; BIOS cold boot WBoot equ BIOS+00003h ; BIOS warm boot ConSt equ BIOS+00006h ; BIOS console status ConIn equ BIOS+00009h ; BIOS console input ConOut equ BIOS+0000ch ; BIOS console output list equ BIOS+0000fh ; BIOS list output punch equ BIOS+00012h ; BIOS punch output reader equ BIOS+00015h ; BIOS reader input home equ BIOS+00018h ; BIOS home disk SelDsk equ BIOS+0001bh ; BIOS select disk SetTrk equ BIOS+0001eh ; BIOS select track SetSec equ BIOS+00021h ; BIOS select sector SetDMA equ BIOS+00024h ; BIOS set DMA address read equ BIOS+00027h ; BIOS read 128 bytes write equ BIOS+0002ah ; BIOS write 128 bytes ListSt equ BIOS+0002dh ; BIOS list status SecTrn equ BIOS+00030h ; BIOS sector translation ; Internal definitions: ContC equ 003h ; Key to generate warm boot ContH equ 008h ; Backspace ContS equ 013h ; Control-S tab equ 009h ; Tab lf equ 00ah ; Line feed cr equ 00dh ; Carriage return ContP equ 010h ; Set/reset print flag ContX equ 018h ; Delete line (backspaces) DrvSep equ 03ah ; Drive seperator (:) rubout equ 07fh ; Delete last char ; MaxCmd equ 40 ; Number of valid DOS commands ; END Z80DHDR.LIB