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 >
Wrap
Text File
|
1991-02-10
|
5KB
|
164 lines
;
; Z80DOS - Z80 Disk Operating System
;
; Version 2.4 Maskable disk reset's using variable fixdrv
; Now can assemble with Z80MR if Z80MR equate
; set to -1.
; Gene Nolan 4/9/89
;
;--------------------------------------------------------------
;
; Z80DOS - Z80 Disk Operating System
;
; Version 2.3 Fast directory lookup, ZRL compatiblity
; Date: 4 Nov 88
; Update: Eugene Nolan
;
;-------------------------------------------------------------
; Version 2.0a - BETA TEST VERSION - 6 Nov 87 by Carson Wilson
;
; Support file: Z80DHDR.LIB
; Version: 2.0
; Date: 6 Nov 87
; Author: Carson Wilson
; Changes: Added RTC equate. If false, use internal DOS routine
; instead of BIOS call for get/set time. Default address
; for buffer is 50 hex.
;
; Description: 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:
; NOTE: Definition of BASE not used if creating a .ZRL file
;MSize equ 64 ; Standard 64k system size
;base equ (MSize-9)*1024 ; (MSize-n) where n is size of
; BIOS+DOS+CCP in kilobytes
base equ 0d400h ; 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
; N varies with the length of
; ..your BIOS.
; Standard addresses and equates - don't change the next five equates:
RamLow equ 0000h ; Start address memory
;****** Comment out the following 2 lines if making a .ZRL file
DOS equ base+800h ; Start address DOS
BIOS equ DOS+00e00h ; Start address BIOS
false equ 0
true equ -1
; RTC - Real Time Clock
;
; Set to true if you are using a Real Time Clock as the
; source for your time, and fill in the address at BIOStim below.
;
; Set to false to use a 5 byte buffer in protected memory
; as a substitute for a Real Time Clock, and give the address of
; the 5 byte buffer at label TimeBuf below.
;
; NOTE: If making a ZRL and RTC is TRUE, it may be necessary to
; POKE the RTC JMP into NZCOM's psuedo BIOS BEFORE loading the
; Z80DOS.ZRL file.
RTC equ true ;Real time clock
if RTC
; IF USING Z80MR, then put NO SPACES
; on the following line between
; BIOS, the '+', and the address!!!!
BIOStim equ BIOS+57 ; Address of BIOS jump or RTC driver
else
TimeBuf equ 50h ; Address of 5-byte buffer
endif ; RTC
; 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:
;
; -------------------------------------------------------------
; 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