APPENDIX B

OPERATING SYSTEM EQUATES


     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

[PREV] [NEXT] [CONTENTS]
Craig Lisowski (clisowsk@mcs.kent.edu)