Asteroids RAM Usage
00 | $00 | |
01 | $01 | |
02 | $02 | |
03 | $03 | |
04 | $04 | |
05 | $05 | |
06 | $06 | |
07 | $07 | |
08 | $08 | |
09 | $09 | |
0A | $0A | |
0B | $0B | |
0C | $0C | |
0D | $0D | |
0E | $0E | |
0F | $0F | |
10 | $10 | |
11 | $11 | |
12 | $12 | |
13 | $13 | |
14 | $14 | |
15 | $15 | |
16 | $16 | |
17 | $17 | |
18 | curPlayer | Current Player (0 = Player 1, 1 = Player 2) |
19 | $19 | |
1A | numPrevPlayers | Number Of Players In Previous Game (0 = None, 1 = Singleplayer, 2 = Multiplayer) |
1B | $1B | |
1C | numPlayers | Number Of Players In Current Game |
1D:30 | highScores | High Score Table (Scores) 2 Byte Format In Decimal. Byte 1 Tens, Byte 2 Thousands (In Decimal) |
31 | highScoreLetter | Current Letter On High Score Entry |
32 | ply1HighPlacement | Placement Of Player 1 High Score |
33 | ply2HighPlacement | Placement Of Player 2 High Score |
34:51 | highScoresInitials | High Score Table (Initials) 3 Byte Format |
52 | ply1ScoreTens | Player 1 Score Tens (In Decimal) |
53 | ply1ScoreThous | Player 1 Score Thousands (In Decimal) |
54 | ply2ScoreTens | Player 2 Score Tens (In Decimal) |
55 | ply2ScoreThous | Player 2 Score Thousands (In Decimal) |
56 | numShipsPerGame | Number Of Starting Ships Per Game |
57 | ply1CurShips | Current Number Of Ships, Player 1 |
58 | ply2CurShips | Current Number Of Ships, Player 2 |
59 | hyperSpaceFlag | Hyperspace Flag: 1 = Successful Hyperspace Jump, $80 = Unsuccessful Hyperspace Jump (DEATH), 0 = Hyperspace Not Currently Active |
5A | delayBeforePlay | Time before game starts/time in 2 player game before it switches from current player to next after current player death. Starts at #$80 and counts down to 0 |
5B | ??timeout?? | ?? Appears to be a timeout for the code. Game will lock up if this goes above 3. Checked in the NMI |
5C | fastTimer | Fast Timer |
5D | slowTimer | Slow Timer |
5E | $5E | |
5F | rndValue | "Random" Value |
60 | $60 | |
61 | direction | Ship Direction |
62 | saucerShotDir | Direction Shot Is Fired From Saucer |
63 | photomLimiter | Photon Input Limiter (0 = No Input, +128 Per Photon, 255 = Max Input Limit) can't shoot a photon if value is above 127. Also used for initials input length on high score entry |
64 | ship_thrust_dH | Ship Horizontal Velocity Low |
65 | ship_thrust_dV | Ship Vertical Velocity Low |
66 | sndTimePlayerFire | TIMER: Length Of Time To Play Player Fire Sound |
67 | sndTimeSaucerFire | TIMER: Length Of Time To Play Saucer Fire Sound |
68 | sndTimeBonusShip | TIMER: Length Of Time To Play Bonus Ship Sound |
69 | sndTimeExplosion | TIMER: Length Of Time To Play Explosion Sound |
6A | sndAltFirePlayer | Alternate Fire Sound Flag For Player |
6B | sndAltFireSaucer | Alternate Fire Sound Flag For Saucer |
6C | sndThump | Current Volume & Frequency Settings For THUMP Sound |
6D | sndThumpOn | TIMER: Time THUMP Sound Remains On |
6E | sndTHumpOff | TIMER: Time THUMP Sound Remains Off (Speeds Up As Game Progresses) |
6F | holdLampValues | Bitmap Of Changes To Be Made In $3200 |
70 | numCredits | Current Number Of Credits |
71 | holdDIP | Bitmap Of DIP Switches 4-8 |
72 | slamFlag | Slam Switch Flag |
73 | coinsToCredits | Total Coins (After Multipliers) To Be Converted To Credits |
74 | $74 | |
75 | $75 | |
76 | $76 | |
77 | $77 | |
78 | $78 | |
79 | $79 | |
7A | coin1InpLen | Coin 1 Input Length (31 = No Input) goes down by 1 until it hits 0, if input is released before 0 then credit is added |
7B | coin2InpLen | Coin 2 Input Length |
7C | coin3InpLen | Coin 3 Input Length |
7D:88 | $7D | Ship explosion pieces x offsets (byte 1 minor, byte 2 major) |
89:94 | $89 | Ship explosion pieces y offsets (byte 1 minor, byte 2 major) |
95:FF | $95 | |
0100:01FF | stack | Stack Space |
0200 - 02FF Current Player RAM
0200 - 0222 Status
0200:021A | statusAsteroids | Asteroids 27-1 |
021B | statusShip | Ship, 0 = No Ship Or Currently In Hyperspace, 1 = Alive, 0x160+ = Ship Currently Exploding |
021C | statusSaucer | Saucer, 0 = No Saucer, 1 = Small Saucer, 2 = Large Saucer |
021D:021E | saucerShotTimer | Saucer Shots 2-1 Countdown Timer |
021F:0222 | shipShotsTimer | Ship Shots 4-1 Countdown Timer |
0223 - 0245 Horizontal Velocity 0-255, (255-192) = Left, 1-63 = Right
0223:023D | horzVelAsteroids | Asteroids 27-1 |
023E | horzVelShip | Ship |
023F | horzVelSaucer | Saucer |
0240:0241 | horzVelSaucerShots | Saucer Shots 2-1 |
0242:0245 | horzVelShipShots | Ship Shots 4-1 |
0246 - 0268 Vertical Velocity 0-255, (255-192) = Down, 1-63 = Up
0246:0260 | vertVelAsteroids | Asteroids 27-1 |
0261 | vertVelShip | Ship |
0262 | vertVelSaucer | Saucer |
0263:0264 | vertVelSaucerShots | Saucer Shots 2-1 |
0265:0268 | vertVelShipShots | Ship Shots 4-1 |
0269 - 028B Horizontal Position High (0-31), 0 = Left, 31 = Right
0269:0283 | hposhAsteroids | Asteroids 27-1 |
0284 | hposhShip | Ship |
0285 | hposhSaucer | Saucer |
0286:0287 | hposhSaucerShots | Saucer Shots 2-1 |
0288:028B | hposhShipShots | Ship Shots 4-1 |
028C - 02AE Vertical Position High (0-23), 0 = Bottom, 23 = Top
028C:02A6 | vposhAsteroids | Asteroids 27-1 |
02A7 | vposhShip | Ship |
02A8 | vposhSaucer | Saucer |
02A9:02AA | vposhSaucerShots | Saucer Shots 2-1 |
02AB:02AE | vposhShipShots | Ship Shots 4-1 |
02AF - 02D1 Horizontal Position Low (0-255), 0 = Left, 255 = Right
02AF:02C9 | hposlAsteroids | Asteroids 27-1 |
02CA | hposlShip | Ship |
02CB | hposlSaucer | Saucer |
02CC:02CD | hposlSaucerShots | Saucer Shots 2-1 |
02CE:02D1 | hposlShipShots | Ship Shots 4-1 |
02D2 - 02F4 Vertical Position Low (0-255), 0 = Bottom, 255 = Top
02D2:02EC | vposlAsteroids | Asteroids 27-1 |
02ED | vposlShip | Ship |
02EE | vposlSaucer | Saucer |
02EF:02F0 | vposlSaucerShots | Saucer Shots 2-1 |
02F1:02F4 | vposlShipShots | Ship Shots 4-1 |
02F5 | asteroidsPerWave | Starting Asteroids Per Wave |
02F6 | curAsteroidCount | Current Amount Of Asteroids |
02F7 | saucerTimer | Countdown Timer For Saucer, At 0, Saucer Appears. Also Used For Time Between Saucer Shots While Saucer Is Alive |
02F8 | saucerTimeReload | Starting Value For Timer At 02F7 |
02F9 | asteroid_hit_timer | Goes Up After Explosion |
02FA | shipSpawnTimer | Timer For Ship Spawning |
02FB | astdWaveTimer | Timer For Asteroid Wave |
02FC | astWaveTimerReload | Starting Value For Timer At 6E |
02FD | max_rocks_for_ufo | Goes Up By One Every Wave |
02FE | $02FE | |
02FF | $02FF |
Holding area for "other player"
0300:03FF | otherPlayerRAM | Other Player RAM |