;============================================================================
;                BBS Express! Professional Bulletin Board System
;
;                Copyright (c) 1987 by Keith Ledbetter
;
;               This module contains all of the system equates
;
; Compiler: XASM65 Cross Assembler (Orion Micro Systems)
;============================================================================

;

;          system equates
;        ~~~~~~~~~~~~~~~~~~

white           equ     0
red             equ     1
green           equ     2
black           equ     3

screen          equ     $bc40

B_300           equ     0               ;the baud rates we support
B_1200          equ     1               ;~~~~~~~~~~~~~~~~~~~~~~~~~
B_2400          equ     2
B_4800          equ     3
B_9600          equ     4
B_19200         equ     5

ccopen          equ     3
ccclose         equ     12
ccgetrec        equ     5
ccputrec        equ     9
ccgetch         equ     7
ccputch         equ     11
ccstat          equ     13
ccerase         equ     33
bytesin         equ     747
bytesout        equ     749
critic          equ     $42
attract         equ     $4D
lbuff           equ     $580
oldrow          equ     $5A
oldcol          equ     $5B
oldchr          equ     $5D
oldadr          equ     $5E
logcol          equ     $63
savadr          equ     $68
row             equ     $54
col             equ     $55
sdmctl          equ     559
;crsinh          equ     752


;       floating point data / routines
;       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

fr0             equ     $d4
fr1             equ     $e0
flptr           equ     $fc
inbuff          equ     $f3
cix             equ     $f2
afp             equ     $D800
fasc            equ     $D8E6
ifp             equ     $D9AA
fpi             equ     $D9D2
fadd            equ     $DA66
fsub            equ     $DA60
fmult           equ     $DADB
fdiv            equ     $DB28
zfr0            equ     $DA44
fld0r           equ     $DD89
fld1r           equ     $DD98
fst0r           equ     $DDA7
fmove           equ     $DDB6

ddevic          equ     $0300
dunit           equ     $0301
dcomnd          equ     $0302
dstats          equ     $0303
dbuflo          equ     $0304
dbufhi          equ     $0305
dtimlo          equ     $0306
dbytlo          equ     $0308
dbythi          equ     $0309
daux1n          equ     $030A
daux2           equ     $030B
daux3           equ     $030C
daux4           equ     $030D
memlo           equ     $02E7           ;low memory
hatabs          equ     $031A           ;handler table
dosvec          equ     $0a
comtab          equ     $0a
dosini          equ     $0c
srtimr          equ     $022B
ch              equ     764
ch1             equ     $02F2
keydel          equ     $02F1
ichid           equ     $0341
iccom           equ     $0342
icstat          equ     $0343
icbal           equ     $0344
icbah           equ     $0345
icbll           equ     $0348
icblh           equ     $0349
icaux1          equ     $034A
icaux2          equ     $034B
cio             equ     $E456           ;CIO entry..
ciov            equ     $E456
sio             equ     $E459           ;SIO entry
siov            equ     $E459
crsinh          equ     $02F0
consol          equ     53279
pokmsk          equ     $0010
rawkey          equ     $D209
vkeybd          equ     $0208
vmirq           equ     $0216           ;used to disable break key
irqen           equ     $D20E
irqst           equ     $D20E
invflg          equ     $02B6
shflok          equ     $02BE
setvbv          equ     $E45C
portb           equ     $D301



;        zero page pointers
;        ~~~~~~~~~~~~~~~~~~

in_ptr          equ     $80             ;used for input functions
s_ptr           equ     $82             ;work
d_ptr           equ     $84             ; pointers
fn_ptr          equ     $86             ;used for file functions
pr_ptr          equ     $88             ;used for print functions
freslo          equ     $a0             ;action function result
freshi          equ     $a1             ;action function result
parm4           equ     $a3             ;action parm #4
parm5           equ     $a4             ; ..     ..   5
parm6           equ     $a5             ; ..     ..   6
parm7           equ     $a6             ; ..     ..   7
parm8           equ     $a7             ; ..     ..   8
parm9           equ     $a8             ; ..     ..   9
parm10          equ     $a9             ; ..     ..   10
v_ptr           equ     $CA             ;used in VBI (only!)
st_ptr          equ     $CC             ;used for statline functions



;               Device definitions
;               ~~~~~~~~~~~~~~~~~~

disk_1          equ     $10
disk2           equ     $20
disk_2          equ     $20
kbd             equ     $30
msgbase         equ     $40
modem           equ     $50
printer         equ     $60
clock           equ     $60


;               Bit masks for individual flags
;               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

f_autoread      equ     1               ;auto read email at logon?
f_nonstop       equ     2               ;non-stop quickscan?
f_clear         equ     4               ;clear screen after each message?
f_hotkey        equ     8               ;auto-return on 1-key inputs?
f_filter        equ     16              ;filter out UPPERCASE messages?
f_autolmodem    equ     32              ;do auto-Lmodem downloads?

