;
; DEFS.ASM - Definitions
;
; Global variables
;
LINSIZ	= 78
;
PL	= $80	; End of low sect
PU	= $82	; Beg. of hi sect
PT	= $84	; Set point
PS	= $86	; Beg. of screen
;
FILCOL	= $88	; Col for text fill
LASTFN	= $89	; Previous function ID
;
FUNCID	= $8A	; Function number
XSAV	= $8B	; SAV/RES X
;
TEMP1	= $8C	; and 8D
TEMP2	= $8E	; and 8F
CHARAC	= $90
REDRFG	= $91	; Redraw screen aft ctl
UDCOL	= $92
MODIFY	= $93
;
;Boundaries of current text buffer
TEXBOT	= $94
TEXTOP	= $96
;
LITFLG	= $98	; To force-insert a key
ERRCOD	= $99	; Error code
KILLTOP	= $9A	; and 9B - Pointer to end of kbuf
;
REDTTL	= $9C	; Redraw title bar when nonzero
YSAV	= $9D
SUSOUT	= $9E
;
FLAG	= $9F	; Flag to use in local context
;
INITX	= $B0	; Bottom of locals stack
;
; Strings and buffer descriptor filenames and pointers
;
KBDMAC	= $BC40
KYMC$L	= 128
INBUF	= $BF00
INBF$L	= 112
FNAMES	= $BD00		;16 names of well 13 bytes each
TFNAM	= $BDE2		;#14 and 15 used for temp filename
BUFDEF	= $BE00		;16 sets of pointers
SLEN	= $BCC0		;Search str len
SBUF	= $BCC1		;Search text
SBUF$L	= 31
RLEN	= $BCE0
RBUF	= $BCE1
RBUF$L	= 31
DEFALT	= $BF80		;Default directory
DFLT$L	= 112
KILLBOT	= $A0	; 2 bytes - Pointer to kill buf
COUNT	= $A2	; 2 bytes - iteration counter
CURBUF	= $A4	; 1 byte - Current open buffer
SELBUF	= $A5	; 1 byte - Selected buffer #
KBDTOP	= $A6	; 1 byte - top of kbd macro
KBDFG	= $A7	; 1 byte - lsb set when def mac
KBDVAL	= $A8	; 1 byte - when 0 kb mac not val
PUSHCF	= $A9 ; when <>0 a char is pushed back
PUSHCH	= $AA	; pushed char
OLDSHF	= $AB	; old shift context
MACNT	= $AC	; 2 bytes - Macro execution count
; Free from AE-AF
bflg	= BUFDEF
bufpll	= bflg+16	;pointer into buf
bufplh	= bufpll+16
bufbtl	= bufplh+16	;pointer to bufs beg.
bufbth	= bufbtl+16
bufptl	= bufbth+16	;mark in buf
bufpth	= bufptl+16
;There's space for 7 bytes per buffer.
;
; System definitions
;
LMARGN	= 82
RMARGN	= 83
ROWCRS	= 84
COLCRS	= 85 ; and 86
MEMLO	= 743 ; and 744
CH	= 764
CONSOL	= 53279
;
ESC	= $1B
CUP	= $1C
CDN	= $1D
CLF	= $1E
CRT	= $1F
SPC	= $20
CLS	= $7D
BAK	= $7E
TAB	= $7F
EOF     = $88
EOL     = $9B
DLL	= $9C	;delete line
ISL	= $9D	;insert line
CLT	= $9E	;clear tab
STT	= $9F
BEL	= $FD
DEL	= $FE	;del char
INS	= $FF

IOCB0	= $00
IOCB1	= $10
IOCB2	= $20
IOCB3	= $30
IOCB4	= $40
IOCB5	= $50
IOCB6	= $60
IOCB7	= $70

ICHID	= $0340
ICDNO	= ICHID+1
ICCOM	= ICDNO+1
ICSTA	= ICCOM+1
ICBA	= ICSTA+1
ICBAL	= ICSTA+1
ICBAH	= ICBAL+1
ICPT	= ICBAH+1
ICPTL	= ICBAH+1
ICPTH	= ICPTL+1
ICBL	= ICPTH+1
ICBLL	= ICPTH+1
ICBLH	= ICBLL+1
ICAX1	= ICBLH+1
ICAX2	= ICAX1+1

OPEN	= $03	; I/O functions
GETREC	= $05
GETCHR	= $07
PUTREC	= $09
PUTCHR	= $0B
CLOSE	= $0C

OREAD	= $04	; OPEN access
ODIR	= $06
OWRIT	= $08
OAPP	= $09
ORW	= $0C

NMIEN	= $D40E
PORTB	= $D301

;Status codes

TOOLRG	= 200	;Input file too large
NOMOBF	= 201	;No more buffers
STRNFD	= 202	;String not found
;
