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

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png 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

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.