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.
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
Bubble Bobble (NES)/RAM map: Difference between revisions
Jump to navigation
Jump to search
m (Fixed formatting.) |
(Added all special item counters + general clean up) |
||
Line 2: | Line 2: | ||
== Global Variables == | == Global Variables == | ||
*'''0401''' - Current Level (Level 1 = $01) | *'''0401''' - Current Level (Level 1 = $01) | ||
*'''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. | *'''04C4''' - Altering this changes the enemy sprites. Probably an offset position for reading data from the pattern image. | ||
== 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 == | |||
*'''002E''' - P1 remaining lives | *'''002E''' - P1 remaining lives | ||
*'''003F''' - P1 invincibility timer (odd = invisible, even = visible) | *'''003F''' - P1 invincibility timer (odd = invisible, even = visible) | ||
*'''0042''' - P2 remaining lives | *'''0042''' - P2 remaining lives | ||
*'''0053''' - P2 invincibility timer (odd = invisible, even = visible) | *'''0053''' - P2 invincibility timer (odd = invisible, even = visible) | ||
== 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. | |||
*'''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 == | == Bonus Round Variables == | ||
*'''042F''' - Amount of remaining treasures during Bonus Game | *'''042F''' - Amount of remaining treasures during Bonus Game | ||
*'''0430''' - Bonus Round timer | *'''0430''' - Bonus Round timer | ||
Line 84: | Line 47: | ||
*'''045F''' - Bonus Round switch (set to $01+ to activate the bonus game, as if picking up the bottle) | *'''045F''' - Bonus Round switch (set to $01+ to activate the bonus game, as if picking up the bottle) | ||
== 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. | *'''040D''' - Timer countdown until "Hurry!" appears. This set to 040E at the beginning of each level. | ||
Line 94: | Line 57: | ||
*'''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) | *'''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) | ||
== End Boss Variables == | |||
*'''006F''' - Super Drunk's HP | *'''006F''' - Super Drunk's HP | ||
== Miscellaneous Variables == | |||
*'''0445-044B''' - Variables representing each digit of the last scorer's score. <br> | *'''0445-044B''' - Variables representing each digit of the last scorer's score. <br> | ||
- 0445 is millions <br> | - 0445 is millions <br> | ||
Line 108: | Line 71: | ||
- 044A is tens <br> | - 044A is tens <br> | ||
- 044B is ones <br> | - 044B is ones <br> | ||
Revision as of 22:34, 22 October 2013
The following article is a RAM map for Bubble Bobble (NES).
Global Variables
- 0401 - Current Level (Level 1 = $01)
- 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
- 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 $40B 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 (set to $01+ to activate the bonus game, as if picking up the bottle)
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)
- 040D - Timer countdown until "Hurry!" 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 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.
- 045E - Timer going up (Item appearances/disappearances may be relative to it)
- 04CD - Point Item position [on Level 1, it positions the item diagonally from the upper-left corner ($00) to the lower-right corner ($FF)]
- 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)
End Boss Variables
- 006F - Super Drunk's HP
Miscellaneous Variables
- 0445-044B - Variables representing each digit of the last scorer's score.
- 0445 is millions
- 0446 is hundred thousands
- 0447 is ten thousands
- 0448 is thousands
- 0449 is hundreds
- 044A is tens
- 044B is ones