mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-26 09:54:20 +00:00
114 lines
4.5 KiB
Plaintext
114 lines
4.5 KiB
Plaintext
;**************************************************************
|
||
; *
|
||
; BDOS symbols: *
|
||
; *
|
||
;**************************************************************
|
||
;
|
||
;
|
||
dvers EQU 22h ;version 2.2
|
||
;
|
||
on EQU 0ffffh
|
||
off EQU 00000h
|
||
testf EQU off
|
||
;
|
||
; Special 8086 symbols:
|
||
;
|
||
b equ byte ptr 0
|
||
w equ word ptr 0
|
||
;
|
||
; bios value defined at end of module
|
||
;
|
||
ssize EQU 96 ;96 level stack
|
||
;
|
||
;
|
||
cseg cpmsegment
|
||
;
|
||
; BIOS routines
|
||
;
|
||
org biosoffset
|
||
bios:
|
||
bootf EQU BIOS+3*0 ;cold boot function
|
||
wbootf EQU BIOS+3*1 ;warm boot function
|
||
constf EQU BIOS+3*2 ;console status function
|
||
coninf EQU BIOS+3*3 ;console input function
|
||
conouf EQU BIOS+3*4 ;console output function
|
||
listf EQU BIOS+3*5 ;list output function
|
||
punchf EQU BIOS+3*6 ;punch output function
|
||
readerf EQU BIOS+3*7 ;reader input function
|
||
homef EQU BIOS+3*8 ;disk home function
|
||
seldskf EQU BIOS+3*9 ;select disk function
|
||
settrkf EQU BIOS+3*10 ;set track function
|
||
setsecf EQU BIOS+3*11 ;set sector function
|
||
setdmf EQU BIOS+3*12 ;set dma function
|
||
readf EQU BIOS+3*13 ;read disk function
|
||
writef EQU BIOS+3*14 ;write disk function
|
||
liststf EQU BIOS+3*15 ;list status function
|
||
sectran EQU BIOS+3*16 ;sector translate
|
||
setdmbf EQU BIOS+3*17 ;set base for disk I/O
|
||
getsegtabf EQU BIOS+3*18 ;get segment table address
|
||
nbiosfuncs equ 19 ;number of BIOS functions
|
||
;
|
||
; equates for non graphic characters
|
||
ctlc EQU 03h ;control c
|
||
ctle EQU 05h ;physical eol
|
||
ctlh EQU 08h ;backspace
|
||
ctlp EQU 10h ;prnt toggle
|
||
ctlr EQU 12h ;repeat line
|
||
ctls EQU 13h ;stop/start screen
|
||
ctlu EQU 15h ;line delete
|
||
ctlx EQU 18h ;=ctl-u
|
||
ctlz EQU 1ah ;end of file
|
||
rubout EQU 7fh ;char delete
|
||
tab EQU 09h ;tab char
|
||
cr EQU 0dh ;carriage return
|
||
lf EQU 0ah ;line feed
|
||
ctl EQU 5eh ;up arrow
|
||
;
|
||
;
|
||
; module addresses
|
||
;
|
||
; literal constants
|
||
true EQU 0ffh ;constant true
|
||
false EQU 000h ;constant false
|
||
enddir EQU 0ffffh ;end of directory
|
||
;
|
||
;
|
||
; file control block (fcb) constants
|
||
empty EQU 0e5h ;empty directory entry
|
||
lstrec EQU 127 ;last record# in extent
|
||
recsiz EQU 128 ;record size
|
||
fcblen EQU 32 ;file control block size
|
||
dirrec EQU recsiz/fcblen ;directory elts / record
|
||
dskshf EQU 2 ;log2(dirrec)
|
||
dskmsk EQU dirrec-1
|
||
fcbshf EQU 5 ;log2(fcblen)
|
||
;
|
||
extnum EQU 12 ;extent number field
|
||
maxext EQU 31 ;largest extent number
|
||
ubytes EQU 13 ;unfilled bytes field
|
||
modnum EQU 14 ;data module number
|
||
maxmod EQU 15 ;largest module number
|
||
fwfmsk EQU 80h ;file write flag is high
|
||
;order modnum
|
||
namlen EQU 15 ;name length
|
||
reccnt EQU 15 ;record count field
|
||
dskmap EQU 16 ;disk map field
|
||
lstfcb EQU fcblen-1
|
||
nxtrec EQU fcblen
|
||
ranrec EQU nxtrec+1 ;random record field (2 bytes)
|
||
;
|
||
; reserved file indicators
|
||
rofile EQU 9 ;high order of first type char
|
||
invis EQU 10 ;invisible file in dir command
|
||
; equ 11 ;reserved
|
||
;
|
||
; Memory management symbols:
|
||
;
|
||
membase equ word ptr 0
|
||
memlg equ word ptr 2
|
||
memdescrlg equ 4
|
||
;
|
||
;
|
||
;********************* end of BDOS symbols ***********************
|
||
end
|
||
|