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