If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Bubble Bobble (NES, Famicom Disk System)/RAM map
Jump to navigation
Jump to search
The following article is a RAM map for Bubble Bobble (NES, Famicom Disk System).
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
These are the combined total for both players.
- 0435 - Counter for bubbles blown (E5DF)
- 0436 - Counter for empty bubbles popped (E5E0)
- 043A - Counter for number of times fallen through floor
- 043B - Counter for fruits eaten
- 0476 - Counter for filled bubbles popped
Here's a list of arcade counters for anyone who is curious; I'm not sure how many are in the NES version or what order they're in.
E5DF = Bubbles Blown (0435 NES) E5E0 = Empty Bubbles Popped (0436 NES) E5E1 = Lightning Bubbles Popped E5E2 = Fire bubbles popped E5E3 = Water bubbles popped E5E4 = Jumps E5E5 = Distance run E5E6 = Distance run 2 E5E7 = Wraparounds E5E8 = Monster fruits (043B) E5E9 = Fast sweeties E5EA = rapid fire E5EB = long range e5ec = umbrellas e5ed = clocks e5ee = monsters drowned e5ef = p1 joins e5f0 = p2 joins e5f3 = kills by fire bubble e5f4 = kills by lightning e5f6 = special items eaten e5f7 = special fruits eaten e5f8 = E e5f9 = X e5fa = T e5fb = E e5fc = N e5fd = D e5fe = hurry up e5ff = yellow/red crosses e600 = water cross e601 = books e602 = purple lanterns e604 = "JAX" on high score table e605 = flamingo e606 = kit e607 = ... e608 = entries of 'I.F', 'MTJ', 'NSO', 'KIM' or 'YSH' into high score table e609 = crown e60a = 777 levels e60d = level 19, no deaths e60e = level 29, no deaths e60f = level 39, no deaths e610 = level 49, no deaths e611 = skel
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
$27 seems to represent a blank space. These reset to $27 (36) at the beginning of each level. Could possibly be related to how the on-screen score information is redrawn.