Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Bubble Bobble (NES)/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Added all special item counters + general clean up)
(Added a few more variables)
Line 3: Line 3:
== Global Variables ==
== Global Variables ==


*'''0401''' - Current Level (Level 1 = $01)
*'''001F''' - Permanent Frame Counter
*'''0401''' - Current Level (01 = Level 1)
*'''045D''' - Super Bubble Bobble switch
*'''045D''' - Super Bubble Bobble switch
*'''04C4''' - Altering this changes the enemy sprites. Probably an offset position for reading data from the pattern image.


== Menu Variables ==
== Menu Variables ==


*'''0402''' - Option selected on main menu
*'''0402''' - Option selected on main menu
*'''0502-0506''' - Password letters (A-J = $00-$09)
*'''0502-0506''' - Password letters (A-J = 00-09)


== Player Variables ==
== Player Variables ==
Line 21: Line 21:
== Counter Variables ==
== Counter Variables ==


Counter variables determine what kind of special item will appear at the start of the next level, according to specific player actions. When a counter reaches a certain threshold (from a table in ROM), the corresponding item code is loaded in $40B and the counter is reset to 0. If more than one counter reach their threshold, the lowest in the list has priority.
Counter variables determine what kind of special item will appear at the start of the next level, according to specific player actions. When a counter reaches a certain threshold (from a table in ROM), the corresponding item code is loaded in $040B and the counter is reset to 0. If more than one counter reach their threshold, the lowest in the list has priority.


*'''435''' - Bubbles Blown
*'''435''' - Bubbles Blown
Line 45: Line 45:
*'''0431''' - P1 treasures collected in Bonus Round
*'''0431''' - P1 treasures collected in Bonus Round
*'''0433''' - P2 treasures collected in Bonus Round
*'''0433''' - P2 treasures collected in Bonus Round
*'''045F''' - Bonus Round switch (set to $01+ to activate the bonus game, as if picking up the bottle)
*'''045F''' - Bonus Round Switch (01 = Bonus Round Activated)


== Level Variables ==
== Level Variables ==


*'''0405''' - Queue for EXTEND letters (Only 3 will come per level, any queue excess will be cleared at the beginning of the next level with openings)
*'''0405''' - Queue for EXTEND letters (Only 3 will come per level, any queue excess will be cleared at the beginning of the next level with openings)
*'''040D''' - Timer countdown until "Hurry!" appears. This set to 040E at the beginning of each level.  
*'''040B''' - Special Item Code
*'''040D''' - Timer countdown until "Hurry Up!" appears. This set to 040E at the beginning of each level.  
*'''040E''' - What the "Hurry!" timer countdown (040D) is set to at the beginning of a level. Varies from level to level.
*'''040E''' - What the "Hurry!" timer countdown (040D) is set to at the beginning of a level. Varies from level to level.
*'''044D''' - Remaining levels to be skipped by an umbrella. If > 0 when all the enemies on the level are defeated, you will being skipping levels. You can only skip 31 levels max. If the variable is set above $1F(31), skipping will occur again after the defeat of the enemies. This will continue until the variable = 0.
*'''044D''' - Remaining levels to be skipped by an umbrella. If > 0 when all the enemies on the level are defeated, you will begin skipping levels. You can only skip 31 levels max. If the variable is set above 1F (31), skipping will occur again after the defeat of the enemies. This will continue until the variable = 0.
*'''045E''' - Timer going up (Item appearances/disappearances may be relative to it)
*'''045E''' - Timer for Items (ascending, counts seconds)
*'''04CD''' - Point Item position [on Level 1, it positions the item diagonally from the upper-left corner ($00) to the lower-right corner ($FF)]
*'''0492''' - Enemy Anger Level Code
*'''04CE''' - Appearance of Elemental Bubbles ($00-$1F = Nothing/????, $20-$3F = Water Bubbles, $40-$5F = Fire Bubbles, $60+ Fire Bubbles over Water Bubbles and other odd combinations)
*'''04CC''' - Special Item Position
*'''04CD''' - Point Item Position
*'''04CE''' - Appearance of Elemental Bubbles (bits 5-7)


== End Boss Variables ==
== End Boss Variables ==
Line 63: Line 66:
== Miscellaneous Variables ==
== Miscellaneous Variables ==


*'''0445-044B''' - Variables representing each digit of the last scorer's score. <br>
*'''445''' - Score Digit x..... (1,000,000s)
- 0445 is millions <br>
*'''446''' - Score Digit .x....
- 0446 is hundred thousands <br>
*'''447''' - Score Digit ..x...
- 0447 is ten thousands <br>
*'''448''' - Score Digit ...x..
- 0448 is thousands <br>
*'''449''' - Score Digit ....x.
- 0449 is hundreds <br>
*'''44A''' - Score Digit .....x (10s)
- 044A is tens <br>
- 044B is ones <br>

Revision as of 08:38, 23 October 2013

Chip tiny.png The following article is a RAM map for Bubble Bobble (NES).

Global Variables

  • 001F - Permanent Frame Counter
  • 0401 - Current Level (01 = Level 1)
  • 045D - Super Bubble Bobble switch

Menu Variables

  • 0402 - Option selected on main menu
  • 0502-0506 - Password letters (A-J = 00-09)

Player Variables

  • 002E - P1 remaining lives
  • 003F - P1 invincibility timer (odd = invisible, even = visible)
  • 0042 - P2 remaining lives
  • 0053 - P2 invincibility timer (odd = invisible, even = visible)

Counter Variables

Counter variables determine what kind of special item will appear at the start of the next level, according to specific player actions. When a counter reaches a certain threshold (from a table in ROM), the corresponding item code is loaded in $040B and the counter is reset to 0. If more than one counter reach their threshold, the lowest in the list has priority.

  • 435 - Bubbles Blown
  • 436 - Empty Bubbles Popped
  • 437 - Jumps on Bubble
  • 438 - Fire Bubbles Popped
  • 439 - Water Bubbles Popped
  • 43A - Times Fallen Through Floor
  • 43B - Enemy Items Taken
  • 43C - Enemies Killed by Water
  • 43D - Enemies Killed by Lightning
  • 43E - Enemies Killed by Fire
  • 43F - Special Items Taken
  • 440 - Lightning Bubbles Popped
  • 441 - Enemy Combo Kills (2 or more)
  • 442 - Point Items Taken
  • 443 - Letter Bubbles Popped

Bonus Round Variables

  • 042F - Amount of remaining treasures during Bonus Game
  • 0430 - Bonus Round timer
  • 0431 - P1 treasures collected in Bonus Round
  • 0433 - P2 treasures collected in Bonus Round
  • 045F - Bonus Round Switch (01 = Bonus Round Activated)

Level Variables

  • 0405 - Queue for EXTEND letters (Only 3 will come per level, any queue excess will be cleared at the beginning of the next level with openings)
  • 040B - Special Item Code
  • 040D - Timer countdown until "Hurry Up!" appears. This set to 040E at the beginning of each level.
  • 040E - What the "Hurry!" timer countdown (040D) is set to at the beginning of a level. Varies from level to level.
  • 044D - Remaining levels to be skipped by an umbrella. If > 0 when all the enemies on the level are defeated, you will begin skipping levels. You can only skip 31 levels max. If the variable is set above 1F (31), skipping will occur again after the defeat of the enemies. This will continue until the variable = 0.
  • 045E - Timer for Items (ascending, counts seconds)
  • 0492 - Enemy Anger Level Code
  • 04CC - Special Item Position
  • 04CD - Point Item Position
  • 04CE - Appearance of Elemental Bubbles (bits 5-7)

End Boss Variables

  • 006F - Super Drunk's HP

Miscellaneous Variables

  • 445 - Score Digit x..... (1,000,000s)
  • 446 - Score Digit .x....
  • 447 - Score Digit ..x...
  • 448 - Score Digit ...x..
  • 449 - Score Digit ....x.
  • 44A - Score Digit .....x (10s)