   .if .not .def _SYSTEM_
_SYSTEM_ = 1

;; -------------------------------------------------------------
;;       SYSTEM EQUATES FOR ALL ATARI 8-BIT FAMILY COMPUTERS
;;            (--- excepting LYNX and 2600 (har har)---)
;;             version 0.2  --- 17.03.91 (C) Natrlich!
;; -------------------------------------------------------------
;; These defines are from  MAPPING THE ATARI  by Ian Chadwick
;; 
;; This file contains all the labels for:
;;       OS ROM Tables and entry points
;;       ANTIC
;;       POKEY
;;       GTIA
;;       PIA
;;       PAGE 2   OS RAM
;;       PAGE 3   OS RAM
;;       OS zero page RAM up to $7F
;;
;; If you want to use XL features as well set __XL to 1 before
;; including this file:
;;
;; __XL  = 1
;;    .include #system
;;
;; For the 1200XL use:
;; __1200XL = 1
;;    .include #system
;; -------------------------------------------------------------
;; I cannot guarantee that this file is free of typos/ommissions
;; -------------------------------------------------------------
                              ;; OS ZERO PAGE RAM
linzbs   =  $0
casini   =  $2
ramlo    =  $4
tramsz   =  $6
tstdat   =  $7
warmst   =  $8
boot?    =  $9
dosvec   =  $A
dosini   =  $C
appmhi   =  $E
pokmsk   =  $10
brkkey   =  $11
rtclok   =  $12
bufadr   =  $15
iccomt   =  $17
dskfms   =  $18
dskutl   =  $1A
ptimot   =  $1C
pbpnt    =  $1D
pbufsz   =  $1E
ptemp    =  $1F

ichidz   =  $20
icdnoz   =  $21
iccomz   =  $22
icstaz   =  $23
icbalz   =  $24
icbahz   =  $25
icptlz   =  $26
icpthz   =  $27
icbllz   =  $28
icblhz   =  $29
icax1z   =  $2A
icax2z   =  $2B
icax3z   =  $2C
icax4z   =  $2D
icax5z   =  $2E
icax6z   =  $2F

status   =  $30
chksum   =  $31
bufrlo   =  $32
bufrhi   =  $33
bfenlo   =  $34
cretry   =  $36
dretry   =  $37
bufrfl   =  $38
recvdn   =  $39
xmtdon   =  $3A
chksnt   =  $3B
nocksm   =  $3C
bptr     =  $3D
ftype    =  $3E
feof     =  $3F
freq     =  $40
soundr   =  $41
critic   =  $42
fmzspg   =  $43
zbufp    =  $43
zdrva    =  $45
zsba     =  $47
errno    =  $49
ckey     =  $4A
cassbt   =  $4B
dstat    =  $4C
atract   =  $4D
drkmsk   =  $4E
colrsh   =  $4F
tmpchr   =  $50               ;; I.C. sez TEMP but clashes w/$23E
hold1    =  $51
lmargn   =  $52
rmargn   =  $53
rowcrs   =  $54
colcrs   =  $55
dindex   =  $57
savmsc   =  $58
oldrow   =  $5A
oldcol   =  $5B
oldchr   =  $5D
oldadr   =  $5E
newrow   =  $60
newcol   =  $61
logcol   =  $63
adress   =  $64
mlttmp   =  $66
savadr   =  $68
ramtop   =  $6A
bufcnt   =  $6B
bufstr   =  $6C
bitmsk   =  $6E
shfamt   =  $6F
rowac    =  $70
colac    =  $72
endpt    =  $74
deltar   =  $76
deltac   =  $77
rowinc   =  $79
colinc   =  $7A
swpflg   =  $7B
holdch   =  $7C
insdat   =  $7D
countr   =  $7E

                              ;; OS RAM  PAGE 2
vdslst   =  $200
vprced   =  $202
vinter   =  $204
vbreak   =  $206
vkeybd   =  $208
vserin   =  $20A
vseror   =  $20C
vseroc   =  $20E
vtimr1   =  $210
vtimr2   =  $212
vtimr4   =  $214
vimirq   =  $216
cdtmv1   =  $218
cdtmv2   =  $21A
cdtmv3   =  $21C
cdtmv4   =  $21E
cdtmv5   =  $220
vvblki   =  $222
vvblkd   =  $224
cdtma1   =  $226
cdtma2   =  $228
cdtmf3   =  $22A
srtimr   =  $22B
cdtmf4   =  $22C
intemp   =  $22D
cdtmf5   =  $22E

sdmctl   =  $22F
sdlstl   =  $230
sskctl   =  $232
lpenh    =  $234
lpenv    =  $235
brkky    =  $236
cdevic   =  $23A
ccomnd   =  $23B
caux1    =  $23C
caux2    =  $23D
temp     =  $23E
errflg   =  $23F
dflags   =  $240
dbsect   =  $241
bootad   =  $242
coldst   =  $244
dsktim   =  $246
linbuf   =  $247
gprior   =  $26F

paddl0   =  $270
paddl1   =  $271
paddl2   =  $272
paddl3   =  $273
paddl4   =  $274
paddl5   =  $275
paddl6   =  $276
paddl7   =  $277
stick0   =  $278
stick1   =  $279
stick2   =  $27A
stick3   =  $27B
ptrig0   =  $27C
ptrig1   =  $27D
ptrig2   =  $27E
ptrig3   =  $27F
ptrig4   =  $280
ptrig5   =  $281
ptrig6   =  $282
ptrig7   =  $283
strig0   =  $284
strig1   =  $285
strig2   =  $286
strig3   =  $287

cstat    =  $288
wmode    =  $289
blim     =  $28A
txtrow   =  $290
txtcol   =  $291
tindex   =  $293
txtmsc   =  $294
txtold   =  $296
tmpx1    =  $29C
hold3    =  $29D
subtmp   =  $29E
hold2    =  $29F
dmask    =  $2A0
tmplbt   =  $2A1
escflg   =  $2A2
tabmap   =  $2A3
logmap   =  $2B2
invflg   =  $2B6
filflg   =  $2B7
tmprow   =  $2B8
tmpcol   =  $2B9
scrflg   =  $2BB
hold4    =  $2BC
hold5    =  $2BD
shflok   =  $2BE
botscr   =  $2BF

pcolr0   =  $2C0
pcolr1   =  $2C1
pcolr2   =  $2C2
pcolr3   =  $2C3
color0   =  $2C4
color1   =  $2C5
color2   =  $2C6
color3   =  $2C7
color4   =  $2C8

glbabs   =  $2E0
runad    =  $2E0
initad   =  $2E2
ramsiz   =  $2E4
memtop   =  $2E5
memlo    =  $2E7
dvstat   =  $2EA
cbaudl   =  $2EE
cbaudh   =  $2EF
crsinh   =  $2F0
keydel   =  $2F1
ch1      =  $2F2
chact    =  $2F3
chbas    =  $2F4
char     =  $2FA
atachr   =  $2FB
ch       =  $2FC
fildat   =  $2FD
dspflg   =  $2FE
ssflag   =  $2FF

                              ;; OS RAM  PAGE 3
ddevic   =  $300
dunit    =  $301
dcomnd   =  $302
dstats   =  $303
dbuflo   =  $304
dbufhi   =  $305
dtimlo   =  $306
dunuse   =  $307
dbytlo   =  $308
dbythi   =  $309
daux1    =  $30A
daux2    =  $30B

timer1   =  $30C
addcor   =  $30E
casflg   =  $30F
timer2   =  $310
temp1    =  $312
temp2    =  $314
temp3    =  $315
savio    =  $316
timflg   =  $317
stackp   =  $318
tstat    =  $319
hatabs   =  $31A

ichid    =  $340
icdno    =  $341
iccom    =  $342
icsta    =  $343
icbal    =  $344
icbah    =  $345
icptl    =  $346
icpth    =  $347
icbll    =  $348
icblh    =  $349
icax1    =  $34A
icax2    =  $34B
icax3    =  $34C
icax4    =  $34D
icax5    =  $34E
icax6    =  $34F

iocb0    =  $340
iocb1    =  $350
iocb2    =  $360
iocb3    =  $370
iocb4    =  $380
iocb5    =  $390
iocb6    =  $3A0
iocb7    =  $3B0

prnbuf   =  $3C0
casbuf   =  $3FD
                              ;; GTIA
hposp0   =  $D000
m0pf     =  hposp0
hposp1   =  $D001
m1pf     =  hposp1
hposp2   =  $D002
m2pf     =  hposp2
hposp3   =  $D003
h3pf     =  hposp3
hposm0   =  $D004
p0pf     =  hposm0
hposm1   =  $D005
p1pf     =  hposm1
hposm2   =  $D006
p2pf     =  hposm2
hposm3   =  $D007
p3pf     =  hposm3
sizep0   =  $D008
m0pl     =  sizep0
sizep1   =  $D009
m1pl     =  sizep1
sizep2   =  $D00A
m2pl     =  sizep2
sizep3   =  $D00B
m3pl     =  sizep3
sizem    =  $D00C
p0pl     =  sizem
grafp0   =  $D00D
p1pl     =  grafp0
grafp1   =  $D00E
p2pl     =  grafp1
grafp2   =  $D00F
p3pl     =  grafp2
grafp3   =  $D010
trig0    =  grafp3
grafm    =  $D011
trig1    =  grafm
colpm0   =  $D012
trig2    =  colpm0
colpm1   =  $D013
trig3    =  colpm1
colpm2   =  $D014
pal      =  colpm2
colpm3   =  $D015
colpf0   =  $D016
colpf1   =  $D017
colpf2   =  $D018
colpf3   =  $D019
colbk    =  $D01A
prior    =  $D01B
gractl   =  $D01D
hitclr   =  $D01E
consol   =  $D01F

                              ;; POKEY
audf1    =  $D200
pot0     =  audf1
audc1    =  $D201
pot1     =  audc1
audf2    =  $D202
pot2     =  audf2
audc2    =  $D203
pot3     =  audc2
audf3    =  $D204
pot4     =  audf3
audc3    =  $D205
pot5     =  audc3
audf4    =  $D206
pot6     =  audf4
audc4    =  $D207
pot7     =  audc4
audctl   =  $D208
allpot   =  audctl
stimer   =  $D209
kbcode   =  stimer
skrest   =  $D20A
random   =  skrest
potgo    =  $D20B
serout   =  $D20D
serin    =  serout
irqen    =  $D20E
irqst    =  irqen
skctl    =  $D20F
skstat   =  skctl

                              ;; PIA
porta    =  $D300
portb    =  $D301
pactl    =  $D302
pbctl    =  $D303

                              ;; ANTIC
dmactl   =  $D400
chactl   =  $D401
dlistl   =  $D402
dlisth   =  $D403
hscrol   =  $D404
vscrol   =  $D405
pmbase   =  $D407
chbase   =  $D409
wsync    =  $D40A
vcount   =  $D40B
penh     =  $D40C
penv     =  $D40D
nmien    =  $D40E
nmires   =  $D40F
nmist    =  nmires

                              ;; OS ROM entry points && tables
charset1 =  $E000             ;; OS character set (taken from XL)                              
editrv   =  $E400
screnv   =  $E410
keybdv   =  $E420
printv   =  $E430
casetv   =  $E440

dskiv    =  $E450
dskinv   =  $E453
ciov     =  $E456
siov     =  $E459
setvbv   =  $E45C
sysvbv   =  $E45F
xitvbv   =  $E462
sioinv   =  $E465
sendev   =  $E468
intinv   =  $E46B
cioinv   =  $E46E
blkbdv   =  $E471
warmsv   =  $E474
coldsv   =  $E477
rblokv   =  $E47A
cspoiv   =  $E47D
vctabl   =  $E480


                              ;; for 600XL + family
      .if .def __XL .or .def __1200XL  

         .undef   ptemp       ;; deleted locations
         .undef   linbuf
         .undef   cstat
         .undef   tmpx1
         .undef   hold5
         .undef   addcor
      
lnflg    =  $0
ngflag   =  $01
cmcmd    =  $07
abufpt   =  $1C
ltemp    =  $36
zchain   =  $4A
         .if .def __1200XL
fkdef    =  $60
         .endif
palnts   =  $62
keydef   =  $79


lcount   =  $233
         .if .def __1200XL
reladr   =  $238                 ; 1200XL
         .else
vpirq    =  $238                 ; all others and the following
reclen   =  $245                  
pdvmsk   =  $247
shpdvs   =  $248
pdmsk    =  $249
reladr   =  $24A
pptmpa   =  $24C
pptmpx   =  $24D
         .endif
         .if .def __1200XL
chsalt   =  $26B
         .endif
vsflag   =  $26C
keydis   =  $26D
fine     =  $26E
hibyte   =  $288
imask    =  $28B
jveck    =  $28C
newadr   =  $28E
         .undef cretry
         .undef dretry
cretry   =  $29C     
dretry   =  $29D
runadr   =  $2C9
hiused   =  $2CB
zhiuse   =  $2CD
gbytea   =  $2CF
loadad   =  $2D1
zloada   =  $2D3
dsctln   =  $2D5
acmisr   =  $2D7
krpdel   =  $2D9
keyrep   =  $2DA
noclik   =  $2DB
helpfg   =  $2DC
dmasav   =  $2DD
         .undef pbpnt
         .undef pbufsz
pbpnt    =  $2DE
pbufsz   =  $2DF
hndlod   =  $2E9
         .undef newrow
         .undef newcol
         .undef rowinc
         .undef colinc
newrow   =  $2F5
newcol   =  $2F6
rowinc   =  $2F8
colinc   =  $2F9

         .if .def __1200XL
jmpers   =  $30E
         .endif
         .undef temp2
temp2    =  $313     
         .undef ptimot
ptimot   =  $314
pupbt1   =  $33D
pupbt2   =  $33E
pupbt3   =  $33F
superf   =  $3E8
         .undef ckey
         .undef cassbt
ckey     =  $3E9
cassbt   =  $3EA
         .if .def __1200XL
cartck   =  $3EB
         .endif
derrf    =  $3EC
acmvar   =  $3ED
basicf   =  $3F8
mintlk   =  $3F9
gintlk   =  $3FA
chlink   =  $3FB          

         .undef blkbdv
selftst  =  $E471      
gpdvv    =  $E48F
      .endif
   .endif

