======================================================================= PEEK/POKE ADDRESSES FREQUENTLY USED (multi-byte values are LSB-MSB) ---------+--------+--------+------------------------------------------- Label |Decimal | Hex | Description ---------+--------+--------+------------------------------------------- DOSVEC 10-11 A-B Start vector for disk software, normally to start of DUP.SYS routine POKMSK 16 10 POKEY interrupt shadow. To disable BREAK key, poke this and 53774 ($D20E) w/ 112. BIT DECIMAL ENABLED INTERRUPT 7 128 break key 6 64 "other key" 5 32 serial input data ready 4 16 serial output data required 3 8 serial out xmit finished 2 4 POKEY timer 4 1 2 POKEY timer 2 0 1 POKEY timer 1 RTCLOCK 18-20 12-14 24-bit TV frame counter/real-time clock SOUNDR 65 41 Noisy I/O flag: 0=quiet, default=3 ATTRACT 77 4D 0 to suppress attract mode, 128 to start; incremented every time loc. 19 increments LMARGIN 82 52 Left screen margin, default 2 RMARGIN 83 53 Right screen margin, default 39 GRMODE 87 57 (BASIC) Graphics mode number RAMTOP 106 6A Top of RAM in 256-byte pages STOPLIN 186-7 BA-B Line number of STOP or TRAP (BASIC) ERRSAV 195 C3 (BASIC) Error number FR0 212-3 D4-5 Value returned by USR (BASIC) VBREAK 518-9 0206-7 Software break vector for 6502 BRK instruction SDMCTL 559 022F Shadow for DMA control register Playfield size: 1=narrow, 2=standard, 3=wide. Missile DMA=4, Player DMA=8. Player resolution: 0=double line, 16=single line. DMA enable=32 SDLSTL 560-1 0230-1 Points to display list COLDST 580 0244 Nonzero = reboot when RESET pressed KEYDIS 621 026D 0=keyboard enabled, 255=disabled (XL/XE) FINE 622 026E 0=course scroll, 255=fine scroll (XL/XE) GPRIOR 623 026F Player/Missile/PlayField priority: 1 = P0-3, PF0-3, BAK 2 = P0-1, PF0-2, P2-3, BAK 4 = PF0-3, P0-3, BAK 8 = PF0-1, P0-3, PF2-3, BAK 16 = allow 5th player (from missiles) 32 = allow 3rd color PADDL0-7 624-631 0270-7 values of paddles 0-7, 0-228 STICK0-3 632-5 0278-B values of joysticks 0-3 PTRIG0-7 636-643 027C-0283 values of paddle buttons 0-7 STRIG0-3 644-7 0284-7 values of joystick triggers 0-3 TXTROW 656 0290 Text cursor row TXTCOL 657-8 0291-2 Text cursor column INVFLG 694 02B6 Inverse character flag, XOR'ed w/ATASCII code 0=normal, 128=inverse; other values result in weirder stuff SHFLOK 702 02BE 0=lowercase (no shift), 64=uppercase (shift) 128=control key BOTSCR 703 02BF Number of text rows available for printing PCOLR0 704 02C0 Color of player/missile 0 PCOLR1 705 02C1 Color of player/missile 1 PCOLR2 706 02C2 Color of player/missile 2 PCOLR3 707 02C3 Color of player/missile 3 PF0 708 02C4 Color register 0 PF1 709 02C5 Color register 1 PF2 710 02C6 Color register 2 PF3 711 02C7 Color register 3 BAK 712 02C8 Color register 4 KRPDEL 729 02D9 Jiffies before key begins repeating (XL/XE) 0=no repeat KEYREP 730 02DA Jiffies between key repeats (XL/XE) 0=repeat only once NOCLIK 731 02DB Non-zero=no key click (XL/XE) HELPFG 732 02DC HELP key status: 17=HELP pressed alone, 81=SHIFT-HELP, 145=CTRL-HELP; must be manually cleared. (XL/XE) RUNAD 736-7 02E0-1 Run address of binary file INITAD 738-9 02E2-3 Initialization address of binary file MEMTOP 741-2 02E5-6 Top of free memory, below screen memory MEMLO 743-4 02E7-8 Bottom of free memory CRSINH 752 02F0 Cursor inhibit: 0=on, otherwise off CHACT 755 02F3 Character mode register, controls how characters are displayed: VALUE INVERSE CHARS ORIENTATION CURSOR 0 inverse upright absent 1 blank upright absent 2 normal upright transparent 3 solid upright opaque 4 inverse inverted absent 5 blank inverted absent 6 normal inverted transparent 7 solid inverted opaque CHBAS 756 02F4 Pointer to page of character set (even): default 224; 226=lowercase/graphics; 204=international (XL/XE) CH 764 02FC Keyboard code of last key pressed (255 to clear) FILLDAT 765 02FD Color data for XIO FILL command DSPFLG 766 02FE 0=control characters do their function, otherwise control characters display as characters (as if ESC pressed first) SSFLAG 767 02FF Start/stop display flag: 255=stop, 0=go; normally manipulated with CTRL-1 HPOSP0 53248 D000 (W) Horizontal position of player 0 M0PF " " (R) Missile 0/playfield collision HPOSP1 53249 D001 (W) Horizontal position of player 1 M1PF " " (R) Missile 1/playfield collision HPOSP2 53250 D002 (W) Horizontal position of player 2 M2PF " " (R) Missile 2/playfield collision HPOSP3 53251 D003 (W) Horizontal position of player 3 M3PF " " (R) Missile 3/playfield collision HPOSM0 53252 D004 (W) Horizontal position of missile 0 P0PF " " (R) Player 0/playfield collision HPOSM1 53253 D005 (W) Horizontal position of missile 1 P1PF " " (R) Player 1/playfield collision HPOSM2 53254 D006 (W) Horizontal position of missile 2 P2PF " " (R) Player 2/playfield collision HPOSM3 53255 D007 (W) Horizontal position of missile 3 P3PF " " (R) Player 3/playfield collision SIZEP0 53256 D008 (W) Size of player 0, 1=2X, 3=4X M0PL " " (R) Missile 0 to player collision SIZEP1 53257 D009 (W) Size of player 1, 1=2X, 3=4X M1PL " " (R) Missile 1 to player collision SIZEP2 53258 D00A (W) Size of player 2, 1=2X, 3=4X M2PL " " (R) Missile 2 to player collision SIZEP3 53259 D00B (W) Size of player 3, 1=2X, 3=4X M3PL " " (R) Missile 3 to player collision SIZEM 53260 D00C (W) Missile size, 1=2X, 3=4X P0PL " " (R) Player 0 to player collision P1PL 53261 D00D (R) Player 1 to player collision P2PL 53262 D00E (R) Player 2 to player collision P3PL 53262 D00F (R) Player 3 to player collision GRACTL 53277 D01D (W) 1=Missile DMA, 2=Player DMA HITCLR 53278 D01E (W) clear collision registers PMBASE 54279 D407 (W) Player/Missile base address WSYNC 54282 D40A (W) Wait for horizontal sync VCOUNT 54283 D40B (R) Vertical TV scan line counter NMIEN 54286 D40E (W) Non-maskable interrupt enable (192 for DLI)