wudsn-ide/com.wudsn.ide.ref/ASM/Atari8/MADS/PONG.wrong_warnings/ATARI.ASM
2018-12-30 16:52:33 +01:00

522 lines
9.7 KiB
NASM

; System equates
;
; OS EQUATES
; ----------
;
; Syntax:
; Use '=' for addresses
; and '<' for read addresses (ex: KBCODE)
; and '>' for write addresses (ex: STIMER)
; and '#' for values
;
; IO EQUATES
;
ICHID = $0000
ICDNO = $0001
ICCOM = $0002
ICSTA = $0003
ICBAL = $0004
ICBAH = $0005
ICPTL = $0006
ICPTH = $0007
ICBLL = $0008
ICBLH = $0009
ICAX1 = $000A
ICAX2 = $000B
ICAX3 = $000C
ICAX4 = $000D
ICAX5 = $000E
ICAX6 = $000F
;
; DISPLAY LIST EQUATES
;
ADLI = $0080
AVB = $0040
ALMS = $0040
AVSCR = $0020
AHSCR = $0010
AJMP = $0001
AEMPTY1 = $0000
AEMPTY2 = $0010
AEMPTY3 = $0020
AEMPTY4 = $0030
AEMPTY5 = $0040
AEMPTY6 = $0050
AEMPTY7 = $0060
AEMPTY8 = $0070
;
; OS VARIABLES FOR XL/XE
;
; PAGE 0
;
NGFLAG = $0001
CASINI = $0002
RAMLO = $0004
TRAMSZ = $0006
CMCMD = $0007
WARMST = $0008
BOOT = $0009
DOSVEC = $000A
DOSINI = $000C
APPMHI = $000E
POKMSK = $0010
BRKKEY = $0011
RTCLOK = $0012
BUFADR = $0015
ICCOMT = $0017
DSKFMS = $0018
DSKUTL = $001A
ABUFPT = $001C
ICHIDZ = $0020
ICDNOZ = $0021
ICCOMZ = $0022
ICSTAZ = $0023
ICBALZ = $0024
ICBAHZ = $0025
ICPTLZ = $0026
ICPTHZ = $0027
ICBLLZ = $0028
ICBLHZ = $0029
ICAX1Z = $002A
ICAX2Z = $002B
ICAX3Z = $002C
ICAX4Z = $002D
ICAX5Z = $002E
ICAX6Z = $002F
STATUS = $0030
CHKSUM = $0031
BUFRLO = $0032
BUFRHI = $0033
BFENLO = $0034
BFENHI = $0035
LTEMP = $0036
BUFRFL = $0038
RECVDN = $0039
XMTDON = $003A
CHKSNT = $003B
NOCKSM = $003C
BPTR = $003D
FTYPE = $003E
FEOF = $003F
FREQ = $0040
SOUNDR = $0041
CRITIC = $0042
FMSZPG = $0043
ZCHAIN = $004A
DSTAT = $004C
ATRACT = $004D
DRKMSK = $004E
COLRSH = $004F
TEMP = $0050
HOLD1 = $0051
LMARGN = $0052
RMARGN = $0053
ROWCRS = $0054
COLCRS = $0055
DINDEX = $0057
SAVMSC = $0058
OLDROW = $005A
OLDCOL = $005B
OLDCHR = $005D
OLDADR = $005E
FKDEF = $0060
PALNTS = $0062
L0062 = $0062
LOGCOL = $0063
L0063 = $0063
ADRESS = $0064
MLTTMP = $0066
SAVADR = $0068
RAMTOP = $006A
BUFCNT = $006B
BUFSTR = $006C
BITMSK = $006E
SHFAMT = $006F
ROWAC = $0070
COLAC = $0072
ENDPT = $0074
DELTAR = $0076
DELTAC = $0077
KEYDEF = $0079
SWPFLG = $007B
HOLDCH = $007C
INSDAT = $007D
COUNTR = $007E
LOMEM = $0080
;
; PAGE 2
;
VDSLST = $0200
VPRCED = $0202
VINTER = $0204
VBREAK = $0206
VKEYBD = $0208
VSERIN = $020A
VSEROR = $020C
VSEROC = $020E
VTIMR1 = $0210
VTIMR2 = $0212
VTIMR4 = $0214
VIMIRQ = $0216
CDTMV1 = $0218
CDTMV2 = $021A
CDTMV3 = $021C
CDTMV4 = $021E
CDTMV5 = $0220
VVBLKI = $0222
VVBLKD = $0224
CDTMA1 = $0226
CDTMA2 = $0228
CDTMF3 = $022A
SRTIMR = $022B
CDTMF4 = $022C
INTEMP = $022D
CDTMF5 = $022E
SDMCTL = $022F
SDLSTL = $0230
SDLSTH = $0231
SSKCTL = $0232
SPARE = $0233
LPENH = $0234
LPENV = $0235
BRKKY = $0236
VPIRQ = $0238
CDEVIC = $023A
CCOMND = $023B
CAUX1 = $023C
CAUX2 = $023D
TMPSIO = $023E
ERRFLG = $023F
DFLAGS = $0240
DBSECT = $0241
BOOTAD = $0242
COLDST = $0244
RECLEN = $0245
DSKTIM = $0246
PDVMSK = $0247
SHPDVS = $0248
PDMSK = $0249
RELADR = $024A
PPTMPA = $024C
PPTMPX = $024D
CHSALT = $026B
VSFLAG = $026C
KEYDIS = $026D
FINE = $026E
GPRIOR = $026F
PADDL0 = $0270
PADDL1 = $0271
PADDL2 = $0272
PADDL3 = $0273
PADDL4 = $0274
PADDL5 = $0275
PADDL6 = $0276
PADDL7 = $0277
STICK0 = $0278
STICK1 = $0279
STICK2 = $027A
STICK3 = $027B
PTRIG0 = $027C
PTRIG1 = $027D
PTRIG2 = $027E
PTRIG3 = $027F
PTRIG4 = $0280
PTRIG5 = $0281
PTRIG6 = $0282
PTRIG7 = $0283
STRIG0 = $0284
STRIG1 = $0285
STRIG2 = $0286
STRIG3 = $0287
HIBYTE = $0288
WMODE = $0289
BLIM = $028A
IMASK = $028B
JVECK = $028C
NEWADR = $028E
TXTROW = $0290
TXTCOL = $0291
TINDEX = $0293
TXTMSC = $0294
TXTOLD = $0296
CRETRY = $029C
HOLD3 = $029D
SUBTMP = $029E
HOLD2 = $029F
DMASK = $02A0
TMPLBT = $02A1
ESCFLG = $02A2
TABMAP = $02A3
LOGMAP = $02B2
INVFLG = $02B6
FILFLG = $02B7
TMPROW = $02B8
TMPCOL = $02B9
SCRFLG = $02BB
HOLD4 = $02BC
DRETRY = $02BD
SHFLOC = $02BE
BOTSCR = $02BF
PCOLR0 = $02C0
PCOLR1 = $02C1
PCOLR2 = $02C2
PCOLR3 = $02C3
COLOR0 = $02C4
COLOR1 = $02C5
COLOR2 = $02C6
COLOR3 = $02C7
COLOR4 = $02C8
RUNADR = $02C9
HIUSED = $02CB
ZHIUSE = $02CD
GBYTEA = $02CF
LOADAD = $02D1
ZLOADA = $02D3
DSCTLN = $02D5
ACMISR = $02D7
KRPDER = $02D9
KEYREP = $02DA
NOCLIK = $02DB
HELPFG = $02DC
DMASAV = $02DD
PBPNT = $02DE
PBUFSZ = $02DF
RUNAD = $02E0
INITAD = $02E2
RAMSIZ = $02E4
MEMTOP = $02E5
MEMLO = $02E7
HNDLOD = $02E9
DVSTAT = $02EA
CBAUDL = $02EE
CBAUDH = $02EF
CRSINH = $02F0
KEYDEL = $02F1
CH1 = $02F2
CHACT = $02F3
CHBAS = $02F4
NEWROW = $02F5
NEWCOL = $02F6
ROWINC = $02F8
COLINC = $02F9
CHAR = $02FA
ATACHR = $02FB
CH = $02FC
FILDAT = $02FD
DSPFLG = $02FE
SSFLAG = $02FF
;
; PAGE 3
;
DDEVIC = $0300
DUNIT = $0301
DCOMND = $0302
DSTATS = $0303
DBUFLO = $0304
DBUFHI = $0305
DTIMLO = $0306
DUNUSE = $0307
DBYTLO = $0308
DBYTHI = $0309
DAUX1 = $030A
DAUX2 = $030B
TIMER1 = $030C
ADDCOR = $030E
CASFLG = $030F
TIMER2 = $0310
TEMP1 = $0312
TEMP2 = $0314
TEMP3 = $0315
SAVIO = $0316
TIMFLG = $0317
STACKP = $0318
TSTAT = $0319
HATABS = $031A
PUPBT1 = $033D
PUPBT2 = $033E
PUPBT3 = $033F
IOCB0 = $0340
IOCB1 = $0350
IOCB2 = $0360
IOCB3 = $0370
IOCB4 = $0380
IOCB5 = $0390
IOCB6 = $03A0
IOCB7 = $03B0
PRNBUF = $03C0
SUPERF = $03E8
CKEY = $03E9
CASSBT = $03EA
CARTCK = $03EB
DERRF = $03EC
ACMVAR = $03ED
BASICF = $03F8
MINTLK = $03F9
GINTLK = $03FA
CHLINK = $03FB
CASBUF = $03FD
;
; HARDWARE REGISTERS
;
; GTIA
;
M0PF = $D000
HPOSP0 = $D000
M1PF = $D001
HPOSP1 = $D001
M2PF = $D002
HPOSP2 = $D002
M3PF = $D003
HPOSP3 = $D003
P0PF = $D004
HPOSM0 = $D004
P1PF = $D005
HPOSM1 = $D005
P2PF = $D006
HPOSM2 = $D006
P3PF = $D007
HPOSM3 = $D007
M0PL = $D008
SIZEP0 = $D008
M1PL = $D009
SIZEP1 = $D009
M2PL = $D00A
SIZEP2 = $D00A
M3PL = $D00B
SIZEP3 = $D00B
P0PL = $D00C
SIZEM = $D00C
P1PL = $D00D
GRAFP0 = $D00D
P2PL = $D00E
GRAFP1 = $D00E
P3PL = $D00F
GRAFP2 = $D00F
TRIG0 = $D010
GRAFP3 = $D010
TRIG1 = $D011
GRAFM = $D011
TRIG2 = $D012
COLPM0 = $D012
TRIG3 = $D013
COLPM1 = $D013
PAL = $D014
COLPM2 = $D014
COLPM3 = $D015
COLPF0 = $D016
COLPF1 = $D017
COLPF2 = $D018
COLPF3 = $D019
COLBK = $D01A
PRIOR = $D01B
VDELAY = $D01C
GRACTL = $D01D
HITCLR = $D01E
CONSOL = $D01F
;
; POKEY
;
POT0 = $D200
AUDF1 = $D200
POT1 = $D201
AUDC1 = $D201
POT2 = $D202
AUDF2 = $D202
POT3 = $D203
AUDC2 = $D203
POT4 = $D204
AUDF3 = $D204
POT5 = $D205
AUDC3 = $D205
POT6 = $D206
AUDF4 = $D206
POT7 = $D207
AUDC4 = $D207
ALLPOT = $D208
AUDCTL = $D208
KBCODE = $D209
STIMER = $D209
RANDOM = $D20A
SKREST = $D20A
POTGO = $D20B
SERIN = $D20D
SEROUT = $D20D
IRQST = $D20E
IRQEN = $D20E
SKSTAT = $D20F
SKCTL = $D20F
;
; 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
NMIST = $D40F
NMIRES = $D40F
;
; FLOATING POINT ROUTINES
;
AFP = $D800
FASC = $D8E6
IFP = $D9AA
FPI = $D9D2
ZFR0 = $DA44
ZF1 = $DA46
FSUB = $DA60
FADD = $DA66
FMUL = $DADB
FDIV = $DB28
PLYEVL = $DD40
FLD0R = $DD89
FLD0P = $DD8D
FLD1R = $DD98
FLD1P = $DD9C
FSTOR = $DDA7
FSTOP = $DDAB
FMOVE = $DDB6
EXP = $DDC0
EXP10 = $DDCC
LOG = $DECD
LOG10 = $DED1
;
; ROM VECTORS
;
DSKINV = $E453
CIOV = $E456
SIOV = $E459
SETVBV = $E45C
SYSVBV = $E45F
XITVBV = $E462
SIOINV = $E465
SENDEV = $E468
INTINV = $E46B
CIOINV = $E46E
SELFSV = $E471
WARMSV = $E474
COLDSV = $E477
RBLOKV = $E47A
CSOPIV = $E47D
PUPDIV = $E480
SELFTSV = $E483
PENTV = $E486
PHUNLV = $E489
PHINIV = $E48C
GPDVV = $E48F