2000 | waitOnDraw | Cleared by alien-draw and set by next-alien. This ensures no alien gets missed while drawing. |
2001 | | |
2002 | alienIsExploding | Not-0 if an alien is exploding, 0 if not exploting |
2003 | expAlienTimer | Time (ISR ticks) left in alien-explosion |
2004 | alienRow | Row number of current alien (cursor) |
2005 | alienFrame | Animation frame number (0 or 1) for current alien (cursor) |
2006 | alienCurIndex | Alien cursor index (from 0 to 54) |
2007 | refAlienDYr | Reference alien delta Yr |
2008 | refAlienDXr | Reference alien deltaXr |
2009 | refAlienYr | Reference alien Yr coordinate |
200A | refAlienXr | Reference alien Xr coordinate |
200B | alienPosLSB | Alien cursor bit pos (LSB) |
200C | alienPosMSB | Alien cursor bit pos (MSB) |
200D | rackDirection | Value 0 if rack is moving right or 1 if rack is moving left |
200E | rackDownDelta | Constant value of alien rack dropping after bumping screen edge |
200F | | |
2010 | obj0TimerMSB | |
2011 | obj0TimerLSB | Wait 128 interrupts (about 2 secs) before player task starts |
2013 | obj0HanlderLSB | |
2014 | oBJ0HanlderMSB | Player handler code at 028E |
2015 | playerAlive | Player is alive (FF=alive). Toggles between 0 and 1 for blow-up images. |
2016 | expAnimateTimer | Time till next blow-up sprite change (reloaded to 5) |
2017 | expAnimateCnt | Number of changes left in blow-up sequence |
2018 | plyrSprPicL | Player sprite descriptor ... picture LSB |
2019 | plyrSprPicM | Player sprite descriptor ... picture MSB |
201A | playerYr | Player sprite descriptor ... location LSB |
201B | playerXr | Player sprite descriptor ... location MSB |
201C | plyrSprSiz | Player sprite descriptor ... size of sprite |
201D | nextDemoCmd | Next movement command for demo |
201E | hidMessSeq | Set to 1 after 1st of 2 sequences are entered for hidden-message display |
201F | | Appears to be unused |
2020 | obj1TimerMSB | |
2021 | obj1TimerLSB | |
2023 | obj1HandlerLSB | |
2024 | obj1HandlerMSB | Shot handler code at 03BB |
2025 | plyrShotStatus | 0 if available, 1 if just initiated, 2 moving normally, 3 hit something besides alien, 5 if alien explosion is in progress, 4 if alien has exploded (remove from active duty) |
2026 | blowUpTimer | Sprite blow-up timer |
2027 | obj1ImageLSB | |
2028 | obj1ImageMSB | Sprite image at 1C90 (just one byte) |
2029 | obj1CoorYr | Player shot Y coordinate |
202A | obj1CoorXr | Player shot X coordinate |
202B | obj1ImageSize | Size of shot image (just one byte) |
202C | shotDeltaX | Shot's delta X |
202D | fireBounce | 1 if button has been handled but remains down |
202E | | |
202F | | |
2030 | obj2TimerMSB | |
2031 | obj2TimerLSB | |
2033 | obj2HandlerLSB | |
2034 | obj2HandlerMSB | Handler code at 0476 |
2035 | rolShotStatus | |
2036 | rolShotStepCnt | |
2037 | rolShotTrack | A 0 means this shot tracks the player |
2038 | rolShotCFirLSB | Pointer to column-firing table LSB (not used for targeting) |
2039 | rolShotCFirMSB | Pointer to column-firing table MSB (not used for MSB counter |
203A | rolShotBlowCnt | |
203B | rolShotImageLSB | |
203C | rolShotImageMSB | |
203D | rolShotYr | |
203E | rolShotXr | |
203F | rolShotSize | |
2040 | obj3TimerMSB | |
2041 | obj3TimerLSB | |
2043 | obj3HandlerLSB | |
2044 | obj3HandlerMSB | Handler code at 04B6 |
2045 | pluShotStatus | |
2046 | pluShotStepCnt | |
2047 | pluShotTrack | A 1 means this shot does not track the player |
2048 | pluShotCFirLSB | Pointer to column-firing table LSB |
2049 | pluShotCFirMSB | Pointer to column-firing table MSB |
204A | pluShotBlowCnt | |
204B | pluShotImageLSB | |
204C | pluShotImageMSB | |
204D | pluShotYr | |
204E | pluSHotXr | |
204F | pluShotSize | |
2050 | obj4TimerMSB | |
2051 | obj4TimerLSB | |
2053 | obj4HandlerLSB | |
2054 | obj4HandlerMSB | Handler code at 0682 |
2055 | squShotStatus | |
2056 | squShotStepCnt | |
2057 | squShotTrack | A 1 means this shot does not track the player |
2058 | squShotCFirLSB | Pointer to column-firing table LSB |
2059 | squShotCFirMSB | Pointer to column-firing table MSB |
205A | squSHotBlowCnt | |
205B | squShotImageLSB | |
205C | squShotImageMSB | |
205D | squShotYr | |
205E | squShotXr | |
205F | squShotSize | |
2060 | endOfTasks | FF marks the end of the tasks list |
2061 | collision | Set to 1 if sprite-draw detects collision |
2062 | expAlienLSB | |
2063 | expAlienMSB | Exploding alien picture 1CC0 |
2064 | expAlienYr | Y coordinate of exploding alien |
2065 | expAlienXr | X coordinate of exploding alien |
2066 | expAlienSize | Size of exploding alien sprite (16 bytes) |
2067 | playerDataMSB | Current player's data-pointer MSB (21xx or 22xx) |
2068 | playerOK | 1 means OK, 0 means blowing up |
2069 | enableAlienFire | 1 means aliens can fire, 0 means not |
206A | alienFireDelay | Count down till aliens can fire (2069 flag is then set) |
206B | oneAlien | 1 when only one alien is on screen |
206C | temp206C | Holds the value ten ... number of characters in each "=xx POINTS" string but gets set to 18 in mem copy before game. |
206D | invaded | Set to 1 when player blows up because rack has reached bottom |
206E | skipPlunger | When there is only one alien left this goes to 1 to disable the plunger-shot when it ends |
206F | | |
2070 | otherShot1 | When processing a shot, this holds one of the other shot's info |
2071 | otherShot2 | When processing a shot, this holds one of the other shot's info |
2072 | vblankStatus | 80=screen is being drawn (don't touch), 0=blanking in progress (ok to change) |
2073 | aShotStatus | Bit 0 set if shot is blowing up, bit 7 set if active |
2074 | aShotStepCnt | Count of steps made by shot (used for fire reload rate) |
2075 | aShotTrack | 0 if shot tracks player or 1 if it uses the column-fire table |
2076 | aShotCFirLSB | Pointer to column-firing table LSB |
2077 | aShotCFirMSB | Pointer to column-firing table MSB |
2078 | aShotBlowCnt | Alen shot blow up counter. At 3 the explosion is drawn. At 0 it is done. |
2079 | aShotImageLSB | Alien shot image LSB |
207A | aShotImageMSB | Alien shot image MSB |
207B | alienShotYr | Alien shot delta Y |
207C | alienShotXr | Alien shot delta X |
207D | alienShotSize | Alien shot size |
207E | alienShotDelta | Alien shot speed. Normally -1 but set to -4 with less than 9 aliens |
207F | shotPicEnd | the last picture in the current alien shot animation |
2080 | shotSync | All 3 shots are synchronized to the GO-2 timer. This is copied from timer in the game loop |
2081 | tmp2081 | Used to hold the remember/restore flag in shield-copy routine |
2082 | numAliens | Number of aliens on screen |
2083 | saucerStart | Flag to start saucer (set to 1 when 2091:2092 counts down to 0) |
2084 | saucerActive | Saucer is on screen (1 means yes) |
2085 | saucerHit | Saucer has been hit (1 means draw it but don't move it) |
2086 | saucerHitTime | Hit-sequence timer (explosion drawn at 1F, score drawn at 18) |
2087 | saucerPriLocLSB | Mystery ship print descriptor ... coordinate LSB |
2088 | saucerPriLocMSB | Mystery ship print descriptor ... coordinate MSB |
2089 | saucerPriPicLSB | Mystery ship print descriptor ... message LSB |
208A | saucerPriPicMSB | Mystery ship print descriptor ... message MSB |
208B | saucerPriSize | Mystery ship print descriptor ... number of characters |
208C | saucerDeltaY | Mystery ship delta Y |
208D | sauScoreLSB | Pointer into mystery-ship score table (MSB) |
208E | sauScoreMSB | Pointer into mystery-ship score table (LSB) |
208F | shotCountLSB | Bumped every shot-removal. Saucer's direction is bit 0. (0=2/29, 1=-2/E0) |
2090 | shotCountMSB | Read as two-bytes with 208F, but never used as such. |
2091 | tillSaucerLSB | |
2092 | tillSaucerMSB | Count down every game loop. When it reaches 0 saucer is triggerd. Reset to 600. |
2093 | waitStartLoop | 1=in wait-for-start loop, 0=in splash screens |
2094 | soundPort3 | Current status of sound port (out $03) |
2095 | changeFleetSnd | Set to 1 in ISR if time to change the fleet sound |
2096 | fleetSndCnt | Delay until next fleet movement tone |
2097 | fleetSndReload | Reload value for fleet sound counter |
2098 | soundPort5 | Current status of sound port (out $05) |
209A | tilt | 1 if tilt handling is in progress |
209B | fleetSndHold | Time to hold fleet-sound at each change |
209C | | |
209D | | |
209E | | |
209F | | |
20A0 | | |
20A1 | | |
20A2 | | |
20A3 | | |
20A4 | | |
20A5 | | |
20A6 | | |
20A7 | | |
20A8 | | |
20A9 | | |
20AA | | |
20AB | | |
20AC | | |
20AD | | |
20AE | | |
20AF | | |
20B0 | | |
20B1 | | |
20B2 | | |
20B3 | | |
20B4 | | |
20B5 | | |
20B6 | | |
20B7 | | |
20B8 | | |
20B9 | | |
20BA | | |
20BB | | |
20BC | | |
20BD | | |
20BE | | |
20BF | | |
20C0 | isrDelay | Delay counter decremented in ISR |
20C1 | isrSplashTask | 1=In demo, 2=Little-alien and Y, 4=shooting extra 'C' |
20C2 | splashAnForm | Image form (increments each draw) |
20C3 | splashDeltaX | Delta X |
20C4 | splashDeltaY | Delta Y |
20C5 | splashYr | Y coordinate |
20C6 | splashXr | X coordinate |
20C7 | splashImageLSB | |
20C8 | splashImageMSB | Base image 1BA0 (small alien with upside down Y) |
20C9 | splashImageSize | Size of image (16 bytes) |
20CA | splashTargetY | Target Y coordinate |
20CB | splashReached | Reached target Y flag (1 when reached) |
20CC | splashImRestLSB | Base image for restore 1BA0 is small alien with upside down Y |
20CD | splashImRestMSB | |
20CE | twoPlayers | 1 for yes, 0 means 1 player |
20CF | aShotReloadRate | Based on the MSB of the player's score ... how fast the aliens reload their shots |
20D0 | | ; This is where the alien-sprite-carying-the-Y ... |
20D1 | | ; ... lives in ROM |
20D2 | | |
20D3 | | |
20D4 | | |
20D5 | | |
20D6 | | |
20D7 | | |
20D8 | | |
20D9 | | |
20DA | | |
20DB | | |
20DC | | |
20DD | | |
20DE | | |
20DF | | |
20E0 | | |
20E1 | | |
20E2 | | |
20E3 | | |
20E4 | | |
20E5 | player1Ex | Extra ship has been awarded = 0 |
20E6 | player2Ex | Extra ship has been awarded = 0 |
20E7 | player1Alive | 1 if player is alive, 0 if dead (after last man) |
20E8 | player2Alive | 1 if player is alive, 0 if dead (after last man) |
20E9 | suspendPlay | 1=game things are moving, 0=game things are suspended |
20EA | coinSwitch | 1=switch down, 0=switch up (used to debounce coin switch) |
20EB | numCoins | number of coin credits in BCD format (99 max) |
20EC | splashAnimate | 0 for animation during splash and 1 for not. This alternates after every cycle. |
20ED | demoCmdPtrLSB | pointer to demo commands LSB 1663 |
20EE | demoCmdPtrMSB | pointer to demo commands MSB |
20EF | gameMode | 1=game running, 0=demo or splash screens |
20F0 | | |
20F1 | adjustScore | Set to 1 if score needs adjusting |
20F2 | scoreDeltaLSB | Score adjustment (LSB) |
20F3 | scoreDeltaMSB | Score adjustment (MSB) |
20F4 | HiScorL | Hi-score descriptor ... value LSB |
20F5 | HiScorM | Hi-score descriptor ... value MSB |
20F6 | HiScorLoL | Hi-score descriptor ... location LSB |
20F7 | HiScorLoM | Hi-score descriptor ... location MSB |
20F8 | P1ScorL | Hi-score descriptor ... value LSB |
20F9 | P1ScorM | Hi-score descriptor ... value MSB |
20FA | P1ScorLoL | Hi-score descriptor ... location LSB |
20FB | P1ScorLoM | Hi-score descriptor ... location MSB |
20FC | P2ScorL | Hi-score descriptor ... value LSB |
20FD | P2ScorM | Hi-score descriptor ... value MSB |
20FE | P2ScorLoL | Hi-score descriptor ... location LSB |
20FF | P2ScorLoM | Hi-score descriptor ... location MSB |