Atari 800-XL-XE System Label Listing

ATARI 800 EQUATE LISTING

This listing is based on the original release of Operating System, version A.  The vectors shown here were not changed in version B. New equates for XL and XE models are included and noted.  Changes from version B to XL/XE are also noted.

Most of the equate names given below are the official Atari names.  They are in common use but are not mandatory.

     0100 ;
     0101 ;                    ATARI 800 EQUATE LISTING
     0102 ;
     0103 ;
     0104 ;
     0105 ;This listing is based on the original release of Operating System,
     0106 ;version A.  The vectors shown here were not changed in version B.
     0107 ;New equates for XL and XE models are included and noted.  Changes
     0108 ;from version B to XL/XE are also noted.
     0109 ;
     0110 ;Most of the equate names given below are the official Atari
     0111 ;names.  They are in common use but are not mandatory.
     0112 ;
     0113 ;
     0114 ;       DEVICE NAMES
     0115 ;
     0116 ;
     0117 ;SCREDT = "E"   SCREEN EDITOR
     0118 ;KBD    = "K"   KEYBOARD
     0119 ;DISPLY = "S"   DISPLAY
     0120 ;PRINTR = "P"   PRINTER
     0121 ;CASSET = "C"   CASSETTE
     0122 ;DISK   = "D"   DISK DRIVE
     0123 ;
     0124 ;
     0125 ;
     0126 ;       STATUS  CODES  
     0127 ;
     0128 ;
     0129 SUCCES = $01        1
     0130 BRKABT = $80      128 BREAK KEY ABORT
     0131 PRVOPN = $82      130 IOCB ALREADY OPEN
     0132 NONDEV = $82      130 NONEXISTANT DEVICE
     0133 WRONLY = $83      131 OPENED FOR WRITE ONLY
     0134 NVALID = $84      132 INVALID COMMAND
     0135 NOTOPN = $85      133 DEVICE OR FILE NOT OPEN
     0136 BADIOC = $86      134 INVALID IOCB NUMBER
     0137 RDONLY = $87      135 OPENED FOR READ ONLY
     0138 EOFERR = $88      136 END OF FILE
     0139 TRNRCD = $89      137 TRUNCATED RECORD
     0140 TIMOUT = $8A      138 PERIPHERAL TIME OUT
     0141 DNACK  = $8B      139 DEVICE DOES NOT ACKNOWLEDGE
     0142 FRMERR = $8C      140 SERIAL BUS FRAMING ERROR
     0143 CRSROR = $8D      141 CURSOR OUT OF RANGE
     0144 OVRRUN = $8E      142 SERIAL BUS DATA OVERRUN
     0145 CHKERR = $8F      143 SERIAL BUS CHECKSUM ERROR
     0146 DERROR = $90      144 PERIPHERAL DEVICE ERROR
     0147 BADMOD = $91      145 NON EXISTANT SCREEN MODE
     0148 FNCNOT = $92      146 FUNCTION NOT IMPLEMENTED
     0149 SCRMEM = $93      147 NOT ENOUGH MEMORY FOR SCREEN MODE
     0150 ;
     0151 ;
     0152 ;
     0153 ;
     0154 ;  COMMAND CODES FOR CIO
     0155 ;
     0156 ;
     0157 OPEN   = $03        3
     0158 OPREAD = $04        4 OPEN FOR INPUT
     0159 GETREC = $05        5 GET RECORD
     0160 OPDIR  = $06        6 OPEN TO DISK DIRECTORY
     0161 GETCHR = $07        7 GET BYTE
     0162 OWRITE = $08        8 OPEN FOR OUTPUT
     0163 PUTREC = $09        9 WRITE RECORD
     0164 APPEND = $09        9 OPEN TO APPEND TO END OF DISK FILE
     0165 MXDMOD = $10       16 OPEN TO SPLIT SCREEN (MIXED MODE)
     0166 PUTCHR = $0B       11 PUT-BYTE
     0167 CLOSE  = $0C       12
     0168 OUPDAT = $0C       12 OPEN FOR INPUT AND OUTPUT AT THE SAME TIME
     0169 STATUS = $0D       13
     0170 SPECIL = $0E       14 BEGINNING OF SPECIAL COMMANDS
     0171 DRAWLN = $11       17 SCREEN DRAW
     0172 FILLIN = $12       18 SCREEN FILL
     0173 RENAME = $20       32
     0174 INSCLR = $20       32 OPEN TO SCREEN BUT DON'T ERASE
     0175 DELETE = $21       33
     0176 DFRMAT = $21       33 FORMAT DISK (RESIDENT DISK HANDLER (RDH))
     0177 LOCK   = $23       35
     0178 UNLOCK = $24       36
     0179 POINT  = $25       37
     0180 NOTE   = $26       38
     0181 PTSECT = $50       80 RDH PUT SECTOR
     0182 GTSECT = $52       82 RDH GET SECTOR
     0183 DSTAT  = $53       83 RDH GET STATUS
     0184 PSECTV = $57       87 RDH PUT SECTOR AND VERIFY
     0185 NOIRG  = $80      128 NO GAP CASSETTE MODE
     0186 CR     = $9B      155 CARRIAGE RETURN (EOL)
     0187 ;
     0188 IOCBSZ = $10       16 IOCB SIZE
     0189 MAXIOC = $80      128 MAX IOCB BLOCK SIZE
     0190 IOCBF  = $FF      255 IOCB FREE
     0191 ;
     0192 LEDGE  = $02        2 DEFAULT LEFT MARGIN
     0193 REDGE  = $27       39 DEFAULT RIGHT MARGIN
     0194 ;
     0195 ;       OS VARIABLES
     0196 ;
     0197 ;          PAGE 0
     0198 ;
     0199 LINZBS = $00        0 (800) FOR ORIGINAL DEBUGGER
     0200 ;        $00        0 (XL) RESERVED
     0201 NGFLAG = $01        1 (XL) FOR POWER-UP SELF TEST
     0202 CASINI = $02        2
     0203 RAMLO  = $04        4 POINTER FOR SELF TEST
     0204 TRAMSZ = $06        6 TEMPORARY RAM SIZE
     0205 TSTDAT = $07        7 TEST DATA
     0206 WARMST = $08        8
     0207 BOOT?  = $09        9 SUCCESSFUL BOOT FLAG
     0208 DOSVEC = $0A       10 PROGRAM RUN VECTOR
     0209 DOSINI = $0C       12 PROGRAM INITIALIZATION
     0210 APPMHI = $0E       14 DISPLAY LOW LIMIT
     0211 POKMSK = $10       16 IRQ ENABLE FLAGS
     0212 BRKKEY = $11       17 FLAG
     0213 RTCLOK = $12       18 3 BYTES, MSB FIRST
     0214 BUFADR = $15       21 INDIRECT BUFFER ADDRESS
     0215 ICCOMT = $17       23 COMMAND FOR VECTOR
     0216 DSKFMS = $18       24 DISK FILE MANAGER POINTER
     0217 DSKUTL = $1A       26 DISK UTILITY POINTER (DUP.SYS)
     0218 PTIMOT = $1C       28 (800) PRINTER TIME OUT REGISTER
     0219 ABUFPT = $1C       28 (XL) RESERVED
     0220 PBPNT  = $1D       29 (800) PRINTER BUFFER POINTER
     0221 ;        $1D       29 (XL) RESERVED
     0222 PBUFSZ = $1E       30 (800) PRINTER BUFFER SIZE
     0223 ;        $1E       30 (XL) RESERVED
     0224 PTEMP  = $1F       31 (800) TEMPORARY REGISTER
     0225 ;        $1F       31 (XL) RESERVED
     0226 ZIOCB  = $20       32 ZERO PAGE IOCB
     0227 ICHIDZ = $20       32 HANDLER INDEX NUMBER (ID)
     0228 ICDNOZ = $21       33 DEVICE NUMBER
     0229 ICCOMZ = $22       34 COMMAND
     0230 ICSTAZ = $23       35 STATUS
     0231 ICBALZ = $24       36 BUFFER POINTER LOW BYTE
     0232 ICBAHZ = $25       37 BUFFER POINTER HIGH BYTE
     0233 ICPTLZ = $26       38 PUT ROUTINE POINTER LOW
     0234 ICPTHZ = $27       39 PUT ROUTINE POINTER HIGH
     0235 ICBLLZ = $28       40 BUFFER LENGTH LOW
     0236 ICBLHZ = $29       41
     0237 ICAX1Z = $2A       42 AUXILIARY INFORMATION BYTE 1
     0238 ICAX2Z = $2B       43
     0239 ICSPRZ = $2C       44 TWO SPARE BYTES (CIO USE)
     0240 ICIDNO = $2E       46 IOCB NUMBER X 16
     0241 CIOCHR = $2F       47 CHARACTER BYTE FOR CURRENT OPERATION
     0242 ;
     0243 STATUS = $30       48 STATUS STORAGE
     0244 CHKSUM = $31       49 SUM WITH CARRY ADDED BACK
     0245 BUFRLO = $32       50 DATA BUFFER LOW BYTE
     0246 BUFRHI = $33       51
     0247 BFENLO = $34       52 ADDRESS OF LAST BUFFER BYTE +1 (LOW)
     0248 BFENHI = $35       53
     0249 CRETRY = $36       54 (800) NUMBER OF COMMAND FRAME RETRIES
     0250 LTEMP  = $36       54 (XL) LOADER TEMPORARY STORAGE, 2 BYTES
     0251 DRETRY = $37       55 (800) DEVICE RETRIES
     0252 BUFRFL = $38       56 BUFFER FULL FLAG
     0253 RECVDN = $39       57 RECEIVE DONE FLAG
     0254 XMTDON = $3A       58 TRANSMISSION DONE FLAG
     0255 CHKSNT = $3B       59 CHECKSUM-SENT FLAG
     0256 NOCKSM = $3C       60 CHECKSUM-DOES-NOT-FOLLOW-DATA FLAG
     0257 BPTR   = $3D       61
     0258 FTYPE  = $3E       62
     0259 FEOF   = $3F       63
     0260 FREQ   = $40       64
     0261 ;
     0262 SOUNDR = $41       65 0=QUIET I/O
     0263 CRITIC = $42       66 CRITICAL FUNCTION FLAG, NO DEFFERED VBI
     0264 FMSZPG = $43       67 DOS ZERO PAGE, 7 BYTES
     0265 CKEY   = $4A       74 (800) START KEY FLAG
     0266 ZCHAIN = $4A       74 (XL) HANDLER LOADER TEMP, 2 BYTES
     0267 CASSBT = $4B       75 (800) CASSETTE BOOT FLAG
     0268 DSTAT  = $4C       76 DISPLAY STATUS
     0269 ;
     0270 ATRACT = $4D       77
     0271 DRKMSK = $4E       78 ATTRACT MASK
     0272 COLRSH = $4F       79 ATTRACT COLOR SHIFTER (EORed WITH GRAPHICS)
     0273 ;
     0274 TMPCHR = $50       80
     0275 HOLD1  = $51       81
     0276 LMARGN = $52       82 SCREEN LEFT MARGIN REGISTER
     0277 RMARGN = $53       83 SCREEN RIGHT MARGIN
     0278 ROWCRS = $54       84 CURSOR ROW
     0279 COLCRS = $55       85 CURSOR COLUMN, 2 BYTES
     0280 DINDEX = $57       87 DISPLAY MODE
     0281 SAVMSC = $58       88 SCREEN ADDRESS
     0282 OLDROW = $5A       90 CURSOR BEFORE DRAW OR FILL
     0283 OLDCOL = $5B       91
     0284 OLDCHR = $5D       93 DATA UNDER CURSOR
     0285 OLDADR = $5E       94 CURSOR ADDRESS
     0286 NEWROW = $60       96 (800) DRAWTO DESTINATION
     0287 FKDEF  = $60       96 (XL) FUNCTION KEY DEFINATION POINTER
     0288 NEWCOL = $61       97 (800) DRAWTO DESTINATION, 2 BYTES
     0289 PALNTS = $62       98 (XL) EUROPE/NORTH AMERICA TV FLAG
     0290 LOGCOL = $63       99 LOGICAL LINE COLUMN POINTER
     0291 MLTTMP = $66      102
     0292 OPNTMP = $66      102 TEMPORARY STORAGE FOR CHANNEL OPEN
     0293 SAVADR = $68      104
     0294 RAMTOP = $6A      106 START OF ROM (END OF RAM + 1), HIGH BYTE ONLY
     0295 BUFCNT = $6B      107 BUFFER COUNT
     0296 BUFSTR = $6C      108 POINTER USED BY EDITOR
     0297 BITMSK = $6E      110 POINTER USED BY EDITOR
     0298 SHFAMT = $6F      111
     0299 ROWAC  = $70      112
     0300 COLAC  = $72      114
     0301 ENDPT  = $74      116
     0302 DELTAR = $76      118
     0303 DELTAC = $77      119
     0304 ROWINC = $79      121 (800)
     0305 KEYDEF = $79      121 (XL) KEY DEFINATION POINTER, 2 BYTES
     0306 COLINC = $7A      122 (800)
     0307 SWPFLG = $7B      123 NON 0 IF TEXT AND REGULAR RAM IS SWAPPED
     0308 HOLDCH = $7C      124 CH MOVED HERE BEFORE CTRL AND SHIFT
     0309 INSDAT = $7D      125
     0310 COUNTR = $7E      126
     0311 ;
     0312 ZROFRE = $80      128 FREE ZERO PAGE, 84 BYTES
     0313 FPZRO  = $D4      212 FLOATING POINT RAM, 43 BYTES
     0314 FR0    = $D4      212 FP REGISTER 0
     0315 FRE    = $DA      218
     0316 FR1    = $E0      224 FP REGISTER 1
     0317 FR2    = $E6      230 FP REGISTER 2
     0318 FRX    = $EC      236 SPARE
     0319 EEXP   = $ED      237 VALUE OF E
     0320 NSIGN  = $ED      237 SIGN OF FP NUMBER
     0321 ESIGN  = $EF      239 SIGN OF FP EXPONENT
     0322 FCHFLG = $F0      240 FIRST CHARACTER FLAG
     0323 DIGRT  = $F1      241 NUMBER OF DIGITS RIGHT OF DECIMAL POINT
     0324 CIX    = $F2      242 INPUT INDEX
     0325 INBUFF = $F3      243 POINTER TO ASCII FP NUMBER
     0326 ZTEMP1 = $F5      245
     0327 ZTEMP4 = $F7      247
     0328 ZTEMP3 = $F9      249
     0329 DEGFLG = $FB      251
     0330 RADFLG = $FB      251 0=RADIANS, 6=DEGREES
     0331 FLPTR  = $FC      252 POINTER TO BCD FP NUMBER
     0332 FPTR2  = $FE      254
     0333 ;
     0334 ;
     0335 ;          PAGE 1
     0336 ;
     0337 ;        65O2 STACK
     0338 ;
     0339 ;
     0340 ;
     0341 ;
     0342 ;          PAGE 2
     0343 ;
     0344 ;
     0345 INTABS = $0200    512 INTERRUPT RAM
     0346 VDSLST = $0200    512 NMI VECTOR
     0347 VPRCED = $0202    514 PROCEED LINE IRQ VECTOR
     0348 VINTER = $0204    516 INTERRUPT LINE IRQ VECTOR
     0349 VBREAK = $0206    518
     0350 VKEYBD = $0208    520
     0351 VSERIN = $020A    522 SERIAL INPUT READY IRQ
     0352 VSEROR = $020C    524 SERIAL OUTPUT READY IRQ
     0353 VSEROC = $020E    526 SERIAL OUTPUT COMPLETE IRQ
     0354 VTIMR1 = $0210    528 TIMER 1 IRQ
     0355 VTIMR2 = $0212    530 TIMER 2 IRQ
     0356 VTIMR4 = $0214    532 TIMER 4 IRQ
     0357 VIMIRQ = $0216    534 IRQ VECTOR
     0358 CDTMV1 = $0218    536 DOWN TIMER 1
     0359 CDTMV2 = $021A    538 DOWN TIMER 2
     0360 CDTMV3 = $021C    540 DOWN TIMER 3
     0361 CDTMV4 = $021E    542 DOWN TIMER 4
     0362 CDTMV5 = $0220    544 DOWN TIMER 5
     0363 VVBLKI = $0222    546
     0364 VVBLKD = $0224    548
     0365 CDTMA1 = $0226    550 DOWN TIMER 1 JSR ADDRESS
     0366 CDTMA2 = $0228    552 DOWN TIMER 2 JSR ADDRESS
     0367 CDTMF3 = $022A    554 DOWN TIMER 3 FLAG
     0368 SRTIMR = $022B    555 REPEAT TIMER
     0369 CDTMF4 = $022C    556 DOWN TIMER 4 FLAG
     0370 INTEMP = $022D    557 IAN'S TEMP
     0371 CDTMF5 = $022E    558 DOWN TIMER FLAG 5
     0372 SDMCTL = $022F    559 DMACTL SHADOW
     0373 SDLSTL = $0230    560 DISPLAY LIST POINTER
     0374 SSKCTL = $0232    562 SKCTL SHADOW
     0375 ;        $0233    563 (800) UNLISTED
     0376 LCOUNT = $0233    563 (XL) LOADER TEMP
     0377 LPENH  = $0234    564 LIGHT PEN HORIZONTAL
     0378 LPENV  = $0235    565 LIGHT PEN VERTICAL
     0379 ;        $0236    566 2 SPARE BYTES
     0380 ;        $0238    568 (800) SPARE, 2 BYTES
     0381 RELADR = $0238    568 (XL) LOADER
     0382 CDEVIC = $023A    570 DEVICE COMMAND FRAME BUFFER
     0383 CAUX1  = $023C    572 DEVICE COMMAND AUX 1
     0384 CAUX2  = $023D    573 DEVICE COMMAND AUX 2
     0385 TEMP   = $023E    574 TEMPORARY STORAGE
     0386 ERRFLG = $023F    575 DEVICE ERROR FLAG (EXCEPT TIMEOUT)
     0387 DFLAGS = $0240    576 FLAGS FROM DISK SECTOR 1
     0388 DBSECT = $0241    577 NUMBER OF BOOT DISK SECTORS
     0389 BOOTAD = $0242    578 BOOT LOAD ADDRESS POINTER
     0390 COLDST = $0244    580 COLD START FLAG, 1 = COLD START IN
     PROGRESS
     0391 ;        $0245    581 (800) SPARE
     0392 RECLEN = $0245    581 (XL) LOADER
     0393 DSKTIM = $0246    582 (800) DISK TIME OUT REGISTER
     0394 ;        $0246    582 (XL) RESERVED, 39 BYTES
     0395 LINBUF = $0247    583 (800) CHARACTER LINE BUFFER, 40 BYTES
     0396 CHSALT = $026B    619 (XL) CHARACTER SET POINTER
     0397 VSFLAG = $026C    620 (XL) FINE SCROLL TEMPORARY
     0398 KEYDIS = $026D    621 (XL) KEYBOARD DISABLE
     0399 FINE   = $026E    622 (XL) FINE SCROLL FLAG
     0400 GPRIOR = $026F    623 P/M PRIORITY AND GTIA MODES
     0401 GTIA   = $026F    623
     0402 PADDL0 = $0270    624 (XL) 3 MORE PADDLES, (800) 6 MORE PADDLES
     0403 STICK0 = $0278    632 (XL) 1 MORE STICK, (800) 3 MORE STICKS
     0404 PTRIG0 = $027C    636 (XL) 3 MORE PADDLE TRIGGERS, (800) 6 MORE
     0405 STRIG0 = $0284    644 (XL) 1 MORE STICK TRIGGER, (800) 3 MORE
     0406 CSTAT  = $0288    648 (800)
     0407 WMODE  = $0289    649
     0408 BLIM   = $028A    650
     0409 ;        $028B    651 5 SPARE BYTES
     0410 NEWADR = $028E    654 (XL)  LOADER RAM
     0411 TXTROW = $0290    656
     0412 TXTCOL = $0291    657
     0413 TINDEX = $0293    659 TEXT INDEX
     0414 TXTMSC = $0294    660
     0415 TXTOLD = $0296    662 OLD ROW AND OLD COL FOR TEXT, 2 BYTES
     0416 ;        $0298    664 4 SPARE BYTES
     0417 TMPX1  = $029C    668 (800)
     0418 CRETRY = $029C    668 (XL)  NUMBER OF COMMAND FRAME RETRIES
     0419 SUBTMP = $029E    670
     0420 HOLD2  = $029F    671
     0421 DMASK  = $02A0    672
     0422 TMPLBT = $02A1    673
     0423 ESCFLG = $02A2    674
     0424 TABMAP = $02A3    675 15 BYTE BIT MAP FOR TAB SETTINGS
     0425 LOGMAP = $02B2    690 4 BYTE LOGICAL LINE START BIT MAP
     0426 INVFLG = $02B6    694
     0427 FILFLG = $02B7    695 FILL DIRING DRAW FLAG
     0428 TMPROW = $02B8    696
     0429 TMPCOL = $02B9    697
     0430 SCRFLG = $02BB    699 SCROLL FLAG
     0431 HOLD4  = $02BC    700
     0432 HOLD5  = $02BD    701 (800)
     0433 DRETRY = $02BD    701 (XL)  NUMBER OF DEVICE RETRIES
     0434 SHFLOC = $02BE    702
     0435 BOTSCR = $02BF    703 24 NORM, 4 SPLIT
     0436 PCOLR0 = $02C0    704 3 MORE PLAYER COLOR REGISTERS
     0437 COLOR0 = $02C4    708 4 MORE GRAPHICS COLOR REGISTERS
     0438 ;        $02C9    713 (800) 23 SPARE BYTES
     0439 RUNADR = $02C9    713 (XL) LOADER VECTOR
     0440 HIUSED = $02CB    715 (XL) LOADER VECTOR
     0441 ZHIUSE = $02CD    717 (XL) LOADER VECTOR
     0442 GBYTEA = $02CF    719 (XL) LOADER VECTOR
     0443 LOADAD = $02D1    721 (XL) LOADER VECTOR
     0444 ZLOADA = $02D3    723 (XL) LOADER VECTOR
     0445 DSCTLN = $02D5    725 (XL) DISK SECTOR SIZ
     0446 ACMISR = $02D7    727 (XL) RESERVED
     0447 KRPDER = $02D9    729 (XL) KEY AUTO REPEAT DELAY
     0448 KEYREP = $02DA    730 (XL) KEY AUTO REPEAT RATE
     0449 NOCLIK = $02DB    731 (XL) KEY CLICK DISABLE
     0450 HELPFG = $02DC    732 (XL) HELP KEY FLAG
     0451 DMASAV = $02DD    733 (XL) SDMCTL (DMA) SAVE
     0452 PBPNT  = $02DE    734 (XL) PRINTER BUFFER POINTER
     0453 PBUFSZ = $02DF    735 (XL) PRINTER BUFFER SIZE
     0454 GLBABS = $02E0    736 GLOBAL VARIABLES, 4 SPARE BYTES
     0455 RAMSIZ = $02E4    740 PERMANENT START OF ROM POINTER
     0456 MEMTOP = $02E5    741 END OF FREE RAM
     0457 MEMLO  = $02E7    743
     0458 ;        $02E9    745 (800) SPARE
     0459 HNDLOD = $02E9    745 (XL) HANDLER LOADER FLAG
     0460 DVSTAT = $02EA    746 DEVICE STATUS BUFFER, 4 BYTES
     0461 CBAUDL = $02EE    750 CASSETTE BAUD RATE, 2 BYTES
     0462 CRSINH = $02F0    752 1 = INHIBIT CURSOR
     0463 KEYDEL = $02F1    753 KEY DELAY AND RATE
     0464 CH1    = $02F2    754
     0465 CHACT  = $02F3    755
     0466 CHBAS  = $02F4    756 CHARACTER SET POINTER
     0467 NEWROW = $02F5    757 (XL) DRAW DESTINATION
     0468 NEWCOL = $02F6    758 (XL) DRAW DESTINATION
     0469 ROWINC = $02F8    760 (XL)
     0470 COLINC = $02F9    761 (XL)
     0471 CHAR   = $02FA    762
     0472 ATACHR = $02FB    763 ATASCII CHARACTER FOR CIO
     0473 CH     = $02FC    764
     0474 FILDAT = $02FC    764 COLOR FOR SCREEN FILL
     0475 DSPFLG = $02FE    766 DISPLAY CONTROL CHARACTERS FLAG
     0476 SSFLAG = $02FF    767 DISPLAY START/STOP FLAFG
     0477 ;
     0478 ;
     0479 ;           PAGE 3
     0480 ;
     0481 ;
     0482 ;     RESIDENT DISK HANDLER/SIO INTERFACE
     0483 ;
     0484 DCB    = $0300    768 DEVICE CONTROL BLOCK
     0485 DDEVIC = $0300    768
     0486 DUNIT  = $0301    769
     0487 DCOMND = $0302    770
     0488 DSTATS = $0303    771
     0489 DBUFLO = $0304    772
     0490 DBUFHI = $0305    773
     0491 DTIMLO = $0306    774
     0492 DBYTLO = $0308    776
     0493 DBYTHI = $0309    777
     0494 DAUX1  = $030A    778
     0495 DAUX2  = $030B    779
     0496 TIMER1 = $030C    780 INITIAL TIMER VALUE
     0497 ADDCOR = $030E    782 (800) ADDITION CORRECTION
     0498 JMPERS = $030E    782 (XL) OPTION JUMPERS
     0499 CASFLG = $030F    783 CASSETTE MODE WHEN SET
     0500 TIMER2 = $0310    784 FINAL VALUE, TIMERS 1 & 2 DETERMINE BAUD
     RATE
     0501 TEMP1  = $0312    786
     0502 TEMP2  = $0313    787 (XL)
     0503 TEMP2  = $0314    788 (800)
     0504 PTIMOT = $0314    788 (XL) PRINTER TIME OUT
     0505 TEMP3  = $0315    789
     0506 SAVIO  = $0316    790 SAVE SERIAL IN DATA PORT
     0507 TIMFLG = $0317    791 TIME OUT FLAG FOR BAUD RATE CORRECTION
     0508 STACKP = $0318    792 SIO STACK POINTER SAVE
     0509 TSTAT  = $0319    793 TEMPORARY STATUS HOLDER
     0510 HATABS = $031A    794 HANDLER ADDRESS TABLE, 38 BYTES
     0511 MAXDEV = $0321    801 MAXIMUM HANDLER ADDRESS INDEX
     0512 PUPBT1 = $033D    829 (XL) POWER-UP/RESET
     0513 PUPBT2 = $033E    830 (XL) POWER-UP/RESET
     0514 PUPBT3 = $033F    831 (XL) POWER-UP/RESET
     0515 ;
     0516 ;IOCB's
     0517 ;
     0518 IOCB   = $0340    832
     0519 ICHID  = $0340    832
     0520 ICDNO  = $0341    833
     0521 ICCOM  = $0342    834
     0522 ICSTA  = $0343    835
     0523 ICBAL  = $0344    836
     0524 ICBAH  = $0345    837
     0525 ICPTL  = $0346    838
     0526 ICPTH  = $0347    839
     0527 ICBLL  = $0348    840
     0528 ICBLH  = $0349    841
     0529 ICAX1  = $034A    842
     0530 ICAX2  = $034B    843
     0531 ICAX3  = $034C    844
     0532 ICAX4  = $034D    845
     0533 ICAX5  = $034E    846
     0534 ICAX6  = $034F    847
     0535 ;                     OTHER IOCB's, 112 BYTES
     0536 PRNBUF = $03C0    960 PRINTER BUFFER, 40 BYTES
     0537 ;        $03E8   1000 (800) 21 SPARE BYTES
     0538 SUPERF = $03E8   1000 (XL) SCREEN EDITOR
     0539 CKEY   = $03E9   1001 (XL) START KEY FLAG
     0540 CASSBT = $03EA   1002 (XL) CASSETTE BOOT FLAG
     0541 CARTCK = $03EB   1003 (XL) CARTRIDGE CHECKSUM
     0542 ACMVAR = $03ED   1005 (XL) RESERVED, 6 BYTES
     0543 MINTLK = $03F9   1017 (XL) RESERVED
     0544 GINTLK = $03FA   1018 (XL) CARTRIDGE INTERLOCK
     0545 CHLINK = $03FB   1019 (XL) HANDLER CHAIN, 2 BYTES
     0546 CASBUF = $03FD   1021 CASSETTE BUFFER, 131 BYTES TO $047F
     0547 ;
     0548 ;
     0549 ;            PAGE 4
     0550 ;
     0551 ;
     0552 USAREA = $0480   1152 128 SPARE BYTES
     0553 ;
     0554 ;  SEE APPENDIX C FOR PAGES 4 AND 5 USAGE
     0555 ;
     0556 ;
     0557 ;
     0558 ;
     0559 ;          PAGE 5
     0560 ;
     0561 PAGE5  = $0500   1280 127 FREE BYTES
     0562 ;        $057E   1406 129 FREE BYTES IF FLOATING POINT ROUTINES
                                    NOT USED
     0563 ;
     0564 ;FLOATING POINT NON-ZERO PAGE RAM, NEEDED ONLY IF FP IS USED
     0565 ;
     0566 LBPR1  = $057E   1406 LBUFF PREFIX 1
     0567 LBPR2  = $05FE   1534 LBUFF PREFIX 2
     0568 LBUFF  = $0580   1408 LINE BUFFER
     0569 PLYARG = $05E0   1504 POLYNOMIAL ARGUMENTS
     0570 FPSCR  = $05E6   1510 PLYARG+FPREC
     0571 FPSCR1 = $05EC   1516 FPSCR+FPREC
     0572 FSCR   = $05E6   1510 =FPSCR
     0573 FSCR1  = $05EC   1516 =FPSCR1
     0574 LBFEND = $05FF   1535 END OF LBUFF
     0575 ;
     0576 ;
     0577 ;           PAGE 6
     0578 ;
     0579 ;
     0580 PAGE6  = $0600   1536 256 FREE BYTES
     0581 ;
     0582 ;
     0583 ;           PAGE 7
     0584 ;
     0585 ;
     0586 BOOTRG = $0700   1792 PROGRAM AREA
     0587 ;
     0588 ;
     0589 ;       UPPER ADDRESSES
     0590 ;
     0591 ;
     0592 RITCAR = $8000  32768 RAM IF NO CARTRIDGE
     0593 LFTCAR = $A000  40960 RAM IF NO CARTRIDGE
     0594 C0PAGE = $C000  49152 (800) EMPTY, 4K BYTES
     0595 C0PAGE = $C000  49152 (XL) 2K FREE RAM IF NO CARTRIDGE
     0596 ;        $C800  51200 (XL) START OF OS ROM
     0597 CHORG2 = $CC00  52224 (XL) INTERNATIONAL CHARACTER SET
     0598 ;
     0599 ;
     0600 ;      HARDWARE REGISTERS
     0601 ;
     0602 ;
     0603 ;  SEE REGISTER LIST FOR MORE INFORMATION
     0604 ;
     0605 ;
     0606 HPOSP0 = $D000  53248
     0607 M0PF   = $D000  53248
     0608 SIZEP0 = $D008  53256
     0609 M0PL   = $D008  53256
     0610 SIZEM  = $D00C  53260
     0611 GRAFP0 = $D00D  53261
     0612 GRAFM  = $D011  53265
     0613 COLPM0 = $D012  53266
     0614 COLPF0 = $D016  53270
     0615 PRIOR  = $D01B  53275
     0616 GTIAR  = $D01B  53275
     0617 VDELAY = $D01C  53276
     0618 GRACTL = $D01D  53277
     0619 HITCLR = $D01E  53278
     0620 CONSOL = $D01F  53279
     0621 AUDF1  = $D200  53760
     0622 AUDC1  = $D201  53761
     0623 AUDCTL = $D208  53768
     0624 RANDOM = $D20A  53770
     0625 IRQEN  = $D20E  53774
     0626 SKCTL  = $D20F  53775
     0627 PORTA  = $D300  54016
     0628 PORTB  = $D301  54017
     0629 PACTL  = $D302  54018
     0630 PBCTL  = $D303  54019
     0631 DMACLT = $D400  54272
     0632 DLISTL = $D402  54274
     0633 HSCROL = $D404  54276
     0634 VSCROL = $D405  54277
     0635 CHBASE = $D409  54281
     0636 WSYNC  = $D40A  54282
     0637 VCOUNT = $D40B  54283
     0638 NMIEN  = $D40E  54286
     0639 ;
     0640 ; FLOATING POINT MATH ROUTINES
     0641 ;
     0642 AFP    = $D800  55296
     0643 FASC   = $D8E6  55526
     0644 IFP    = $D9AA  55722
     0645 FPI    = $D9D2  55762
     0646 ZFR0   = $DA44  55876
     0647 ZF1    = $DA46  55878
     0648 FSUB   = $DA60  55904
     0649 FADD   = $DA66  55910
     0650 FMUL   = $DADB  56027
     0651 FDIV   = $DB28  56104
     0652 PLYEVL = $DD40  56640
     0653 FLD0R  = $DD89  56713
     0654 FLD0P  = $DD8D  56717
     0655 FLD1R  = $DD98  56728
     0656 FLD1P  = $DD9C  56732
     0657 FSTOR  = $DDA7  56743
     0658 FSTOP  = $DDAB  56747
     0659 FMOVE  = $DDB6  56758
     0660 EXP    = $DDC0  56768
     0661 EXP10  = $DDCC  56780
     0662 LOG    = $DECD  57037
     0663 LOG10  = $DED1  57041
     0664 ;
     0665 ;
     0666 ;       OPERATING SYSTEM
     0667 ;
     0668 ;
     0669 ;     MODULE ORIGIN TABLE
     0670 ;
     0671 CHORG  = $E000  57344 CHARACTER SET, 1K
     0672 VECTBL = $E400  58368 VECTOR TABLE
     0673 VCTABL = $E480  58496 RAM VECTOR INITIAL VALUE TABLE
     0674 CIOORG = $E4A6  58534 CIO HANDLER
     0675 INTORG = $E6D5  59093 INTERRUPT HANDLER
     0676 SIOORG = $E944  59716 SIO DRIVER
     0677 DSKORT = $EDEA  60906 DISK HANDLER
     0678 PRNORG = $EE78  61048 PRINTER HANDLER
     0679 CASORG = $EE78  61048 CASSETTE HANDLER
     0680 MONORG = $F0E3  61667 MONITOR/POWER UP MODULE
     0681 KBDORG = $F3E4  62436 KEYBOARD/DISPLAY HANDLER
     0682 ;
     0683 ;
     0684 ;  VECTOR TABLE, CONTAINS ADDRESSES OF CIO ROUTINES IN THE
     0685 ;  FOLLOWING ORDER. THE ADDRESSES IN THE TABLE ARE TRUE ADDRESSES-1
     0686 ;
     0687 ;  ADDRESS + 0  OPEN
     0688 ;          + 2  CLOSE
     0689 ;          + 4  GET
     0690 ;          + 6  PUT
     0691 ;          + 8  STATUS
     0692 ;          + A  SPECIAL
     0693 ;          + C  JMP TO INITIALIZATION
     0694 ;          + F  NOT USED
     0695 ;
     0696 ;
     0697 EDITRV = $E400  58368 EDITOR
     0698 SCRENV = $E410  58384 SCREEN
     0699 KEYBDV = $E420  58400 KEYBOARD
     0700 PRINTV = $E430  58416 PRINTER
     0701 CASETV = $E440  58432 CASSETTE
     0702 ;
     0703 ;        ROM VECTORS
     0704 ;
     0705 DSKINV = $E453  58451
     0706 CIOV   = $E456  58454
     0707 SIOV   = $E459  58457
     0708 SYSVBV = $E45F  58463
     0709 VBIVAL = $E460  58464 ADR AT VVBLKI
     0710 XITVBV = $E462  58466 EXIT VBI
     0711 VBIXVL = $E463  58467 ADR AT VVBLKD
     0712 BLKBDV = $E471  58481 MEMO PAD MODE
     0713 WARMSV = $E474  58484
     0714 COLDSV = $E477  58487