hide results

    FAQ by GHall

    Version: 2.0 | Updated: 10/05/10 | Printable Version | Search Guide | Bookmark Guide

    Bubble Bobble FAQ Version 2.00         (by G. Hall)
    ------------------------------
    
    Welcome to my update of the Bubble Bobble FAQ. Since Bubble Bobble has
    now been emulated through the efforts of MAME a lot more information
    about the game has come to light, especially from the author of the
    MAME driver Chris Moore (chris.moore@writeme.com). He was able to
    delve deep into Bubble Bobble ROMs and extract all sort of wonderful
    information about my favourite game, stuff we all thought was random,
    but now we know better. Contact me ghall@eis.net.au if you ever have
    anything to add. If that address is no longer valid, you can always do
    a search for "Bubble Bobble Home Page" on any search engine and you
    should be able to locate me. This FAQ is based on the ARCADE version
    of the game only, which is perfectly emulated in MAME.
    
    What is Bubble Bobble ?
    -----------------------
    
    Bubble Bobble was an arcade game released by Taito in 1986. You have
    to guide the two heroes Bub and Bob through 100 levels of adventure to
    rescue their girlfriends. It was one of the first two player
    co-operation games (although all co-operation goes out the window when
    a 50,000 pt diamond goes down the middle of the screen and you race to
    see who can get the points first ). It was one of the first games to
    have joystick combinations that allow you to power-up your original
    characters. It has spawned a couple of sequels, Rainbow Islands ( a
    much better, but harder to find game ), Parasol Stars and in the last
    few years Bubble Symphony and Bubble Memories. There is also the
    Puzzle Bobble (Bust-A-Move) series of games that unite Bub and Bob
    together in a completely different, but just as playable games.
    
    Bubble Bobble gameplay
    ----------------------
    
    One of the great things about this game was all of the different
    hidden things that were discovered by playing the game. Basically you
    have to clear each room of all the enemies to let you advance to the
    next room. You did this by trapping the enemy inside your bubbles and
    then bursting the bubbles. Along the way you could pick up powerups
    and extra weapons that were only available for that room, some stayed
    with you until you died. As a rule only one food bonus and one weapon
    bonus per room.
    
    The basic power-ups are as follows :-
    
    Yellow bubblegum (sweeties)-increase bubble firing speed.
    Purple bubblegum (sweeties)- make the bubble travel further.
    Blue bubblegum (sweeties)-increase the bubble speed across screen.
    Red shoe-faster moving Bub and Bob.
    
    A complete list of items is available at the end of this FAQ.
    
    How to make the letters appear
    ------------------------------
    1. EXTEND-bubbles appear only on "open levels" (levels where bubbles fly
       in from a "hole" in the ceiling or the bottom)
    2. EXTEND-bubbles appear only when you've popped in the previous
       non-open-stages 3 or more enemy-trapped-bubbles at once. The more enemies
       popped at once, the more DIFFERENT EXTEND-bubbles will come. (I'm
       sure this is valid for ALL previous stages up to an "open-level";
       I hope I've described that well!)
    
       It goes something like this:
       Enemies popped at a time      Different EXTEND-bubbles to come
                2                                 none
                3                                 1
                4                                 2
                5                                 3
                6                                 4
                7                                 5
                8                                 ALL! (6)
    
    3. When you're on an "open stage" you may want to try to pop more than
       3 enemies at a time because the upper table applies to the CURRENT
       stage, too (if it is an "open stage" that is).
    4. Any EXTEND letters that you haven't collected by the end of a stage
       reappear on the next open level, but are randomly selected again.
       So if you are offered a letter that you don't need, it may be worth
       leaving it, and hoping it is reincarnated as a more useful letter on
       the next level.
    
    
    Secrets and hidden stuff
    ------------------------
    
    These codes must be entered on the title screen showing Bubble Bobble
    written inside a cloud.
    
    LEFT JUMP LEFT 1P LEFT BUBBLE LEFT 1P- it will say power up at the
    bottom of the screen and you will have fast feet, fast bubbles, etc
    
    BUBBLE JUMP BUBBLE JUMP BUBBLE JUMP RIGHT 1P-the screen will say
    original game mode and you will get the bonus doors whether you die or
    not.
    
    1P JUMP BUBBLE LEFT RIGHT JUMP 1P RIGHT-this gives you super on the
    title screen. You play the game in the same order as normal Bubble
    Bobble but with different monsters. This is the only mode that lets
    you see the "True Ending" to this game.
    
    
    High score table tricks
    -----------------------
    
    One of the first games to feature bonuses when you entered the right
    initials in the high score table. Just finish a game and enter the
    initials below, the effects are described next to the initials. They
    mainly effect the second bonus object that appears on the first
    set. The best way to reap the rewards is to bubble the 3 monsters and
    wait for the second bonus to appear, get the bonus and then blow as
    many bubbles as possible so you get the maximum points available. You
    might want to blow bubbles and burst them while you wait or run along
    the bottom of the screen to make certain bonuses appear on the next
    level, read further down to see what I mean.
    
    
    SEX  pitch fork-flying cakes/vegetables/etc across the screen, turn enemy
         into 6k diamonds (don't bubble them)
    TAK  octopus-turns bubbles into X's at end of level
    STR  flamingo-turns bubbles into smiling turds at end of level
    KTT  beer-turns bubbles into pizzas at end of level, what a perfect match !!!
    ...  knife-flying cakes/vegetables/etc across the screen, turns enemy into
         6k diamonds
    I.F coke can-flying sunflowers across the screen, turn enemies into 6k diamonds
    MTJ coke can-flying sunflowers across the screen, turn enemies into 6k diamonds
    NSO coke can-flying sunflowers across the screen, turn enemies into 6k diamonds
    KIM coke can-flying sunflowers across the screen, turn enemies into 6k diamonds
    YSH coke can-flying sunflowers across the screen, turn enemies into 6k diamonds
    
    
    Other tricks and tips
    ---------------------
    
    This is one of the coolest cheats in Bubble Bobble. You get this if
    you lose your last dino in a treasure room. Normally, you only get
    treasure rooms if you have reached levels 20, 30 and 40 without dying,
    and you exit a treasure room if you die once, so the only way to do
    this is if you are using the "original game" cheat that gives you
    treasure rooms anyway. When you lose your last dino in a treasure
    room, your level is recorded as 102, and then all the demo screens
    turn to treasure rooms and the next game you play you get a treasure
    room on level 1!
    
    Also, the fruit bonus is *not* random. If the hundreds and tens digits
    are the same when you kill the last enemy, all bubbles on the screen
    turn into fruit (levels 90-99 have different items, not fruit). A nice
    trick here: Have one player ready to pop the last enemies, and have
    the other player shoot bubbles into a wall until the digits match...
    THEN have the first player kill them.  You see, the game doesn't care
    WHOSE digits match - could be either.  Bonus fruit on every round!
    
    The items that you get for a score of the format abcdd0 are shown here:
    
    score item
    ...000  french fries
    ...110  double scoop ice cream cone
    ...220  creme caramel
    ...330  burger
    ...440  slice of cake
    ...550  cupcake
    ...660  mug of beer
    ...770  sausage on a stick
    ...880  white ice cream cone
    ...990  double blue lolly
    
    The items that you get for matching your tens and hundreds to your partner's
    are listed here. Although both the tens and hundreds column need to be
    matched, only the tens column affects what item appears. They turn out to be
    the lowest 10 food items (the vegetables). They are, of course, all worth
    700 points.
    
    points item
    ...00  green pepper
    ...10  aubergine
    ...20  carrot
    ...30  onion
    ...40  beetroot
    ...50  turnip
    ...60  parsnip
    ...70  marrow
    ...80  pea pod
    ...90  mushroom
    
    Bubbles also turn into fruit if the hundreds and tens digits of the
    scores of both players are the same (but the hundreds and tens not
    necessarily the same as eachother) eg BOTH players scores end in ...120.
       ...120.
    
    Bubbles turn to fruit all the time on levels 1,5,10,15,20,25,30,35,40,
    45,50,85,86,92,93,94
    
    Each treasure room has a secret message.  The messages can be decoded
    by recognising that the first 26 characters stand for the letters of
    the alphabet.  This code is needed to read the message you get at the
    end of the game that tells you how to do a Super BB power up.
    
    
    When time runs out, and the skels come out to get you, if you die,
    when you're brought back to life, and STILL FLASHING (vital!), run
    over and touch your friend's skel. POOF!  No more skel.
    
    "True Ending" to this game.
    -------------------------
    
    When you finish the game in normal mode you see a screen telling you
    "But it was not a true ending.....". To get the true ending to the game
    all you need to do is enter the Super Bubble Bobble cheat at the intro
    screen and finish the game with out losing a man (easier typed then
    done) when you finish the game you will see your parents rescued as
    well as your girlfriends. That's all there is too it.
    
    Bubble Bobble or Bobble Bobble
    ------------------------------
    
    Bubble Bobble is the original version of the game and Bobble Bobble is
    the pirate copy, if you look at the cloud in the background you can
    see the bad job they did of hacking the graphics. There is also some
    variation in game play. On my board you can choose a Japanese version
    of the game that comes up with a copyright notice at the beginning or
    an English version of the game. There is no difference in the
    gameplay. On the original board you can switch between BB and Super
    BB. I have played a version where you could pick original on the board
    and on level 6 , and subsequent levels, the guys in the white robes
    will roll rocks at you. There seems to be many variations of this
    game. Latest information suggest that there are at least 4 different
    ROM sets for this game, eventually MAME will hopefully support them
    all.
    
    Other platforms
    ---------------
    
    Bubble Bobble is available on the Apple II, IBM, Atari ST, C64/128,
    Amiga, Gameboy, Game Gear, Playstation, Saturn, MSX and NES.
    
    Rainbow Islands is available on C64/128, Playstation, Saturn, NES and Amiga.
    
    Parasol Stars is available on C64/128, Turbo Grafx16/Turbo Express
    Gameboy and Amiga.
    
    If you wish to play the actual arcade game on your PC/MAC/Linux etc go
    get a copy of mame and enjoy it, MAME is actually the arcade game
    running on your machine, don't waste your time with the pathetic
    conversions that are out there, unless you just want them for having
    them's sake.
    
    Pinouts
    -------
    
    SOLDER SIDE                             PARTS SIDE
    
    GND                     01              GND
    VIDEO RED               02              VIDEO GND
    VIDEO GREEN             03              VIDEO BLUE
    VIDEO SYNC              04              -5V
    SOUND +                 05              SOUND -
    POST                    06              POST
    +12V                    07              +12V
    COIN SWITCH A           08              COIN SWITCH B
    COIN METER A            09              COIN METER B
    COIN LOCKOUT A          10              COIN LOCKOUT B
    SERVICE SWITCH          11              TITLE SWITCH
    START PLAYER 1          12              START PLAYER 2
    SPARE                   13              SPARE
    SPARE                   14              SPARE
    1P RIGHT                15              2P RIGHT
    1P LEFT                 16              2P LEFT
    GND                     17              GND
    GND                     18              GND
    + 5V                    19              + 5V
    + 5V                    20              + 5V
    1P BUBBLE               21              2P BUBBLE
    1P JUMP                 22              2P JUMP
    
    
    Dip Switches
    ------------
    SWITCH A
                            1     2     3     4     5     6     7     8
    GAME TYPE
     BUBBLE BOBBLE          OFF
     SUPER BUBBLE BOBBLE    ON
    SCREEN
     NORMAL                       OFF
     REVERSE                      ON
    MODE
     PLAY                               OFF
     TEST                               ON
    ATTRACT SOUND
     YES                                      OFF
     NO                                       ON
    COIN A
     1 COIN 1 PLAY                                  OFF   OFF
     1 COIN 2 PLAY                                  ON    OFF
     2 COIN 1 PLAY                                  OFF   ON
     2 COIN 3 PLAY                                  ON    ON
    COIN B
     1 COIN 1 PLAY                                               OFF   OFF
     1 COIN 2 PLAY                                               ON    OFF
     2 COIN 1 PLAY                                               OFF   ON
     2 COIN 3 PLAY                                               ON    ON
    
                            
    SWITCH B
                    1     2     3     4     5     6     7     8
    DIFFICULTY
     NORMAL         OFF   OFF
     EASY           ON    OFF
     HARD           OFF   ON
     VERY HARD      ON    ON
    BONUS 1ST/2ND
     30000/100000               OFF   OFF
     20000/80000                ON    OFF
     40000/200000               OFF   ON
     50000/250000               ON    ON
    LIVES
     3                                      OFF   OFF
     5 (FREE PLAY)                          ON    OFF
     1                                      OFF   ON
     2                                      ON    ON
    SPARE (ALWAYS OFF)                                  OFF   OFF
    
    
    The following lists were made by Chris Moore, he wrote the driver for
    MAME and has found out much more than anyone could by just playing the
    game, for this we owe him our thanks. (chris.moore@writeme.com)
    
    SPECIAL ITEMS
    -------------
    
    The game maintains a bunch of counters which keep a record of how many
    times you have done various things.  Once a counter reaches its
    threshold, it is reset to zero and you get the item which that counter
    is associated with.  Counters are only checked at the beginning of
    each round.  If two or more counters reach their thresholds in the
    same round, the one which is associated with the highest numbered item
    is used.  The other(s) will keep their value for the next screen.  The
    counters aren't reset at the beginning of each game, which is why on
    the arcade game there is generally a special item on the first screen,
    but in the emulation the first game you play doesn't offer a special
    item, since the counters are all reset when the machine is first
    switched on.
    
    In the following, the ITEM_DATA line contains:
    
            XXXX ( AA BB CC DD ) EE
    
    XXXX is the address of the counter which is used
    
    AA BB CC and DD are the 4 possible thresholds which the counter must
    reach before you get the item.  Which one of the 4 values is used
    depends on the 'difficulty' setting that the game is currently running
    at:
    
         CC for difficulty 00-04
         DD for difficulty 05-07
         BB for difficulty 08-0B
         AA for difficulty 0C-1E
    
    initial difficulties are: 0D (v.hard), 0A (hard), 04 (easy) and 07
    (normal) for the 4 dip-switch settings.  The difficulty changes
    throughout the game, going higher when you gain extra lives, lower
    when you die, and other things affect it, too, which I don't know
    about.
    
    EE is non-zero if the bell should warn us that the item is around
    
    The ITEM_ACTION sections (where I've put them in) are useful for
    'cheating' in MAME.  Where it's like 'IX+$31', the address is E691+31
    for P1 and E6C3+31 for P2.  So, for example, a cheat would be:
            boblbobl:0:e6f4:80:0:Long Range Bubbles (P2)
    because e6c3+31 is e6f4.
    
    Special Items List:
    ------------------
    
         ITEM_NUMBER: 0/00
    ITEM_DESCRIPTION: red and white sweetie -> long-range bubbles
           ITEM_DATA: E5DF ( 23 23 23 23 ) 00
        ITEM_COUNTER: bubbles blown
         ITEM_ACTION: LD (IX+$31),$80
    
    e5df is incremented each time a bubble is blown (by either player) so
    blow 51 or more bubbles and get a purple and white 'long-range
    bubbles' sweetie on the next level
    
         ITEM_NUMBER: 1/01
    ITEM_DESCRIPTION: purple and cyan sweetie -> fast bubbles
           ITEM_DATA: E5E0 ( 23 23 23 23 ) 00
        ITEM_COUNTER: empty bubbles popped
         ITEM_ACTION: LD (IX+$2F),$06
    
    e5e0 is incremented each time an empty bubble is popped (by either
    player) (for 10 points) so pop 51 or more empty bubbles and get a
    purple and cyan 'fast bubbles' sweetie on the next level
    
         ITEM_NUMBER: 2/02
    ITEM_DESCRIPTION: orange and yellow sweetie -> rapid-fire bubbles
           ITEM_DATA: E5E4 ( 23 23 23 23 ) 00
        ITEM_COUNTER: jumps
         ITEM_ACTION: LD (IX+$2E),$05
    
    e5e4 is incremented each time either player jumps, so jump 51 or more
    times and get an orange and yellow 'rapid-fire bubbles' sweetie on the
    next level
    
         ITEM_NUMBER: 3/03
    ITEM_DESCRIPTION: running shoes -> run faster
           ITEM_DATA: E5E6 ( 0C 0C 0C 0C ) 00
        ITEM_COUNTER: distance run
         ITEM_ACTION: LD (IX+$30),$13
                      LD (IX+$2C),$01
                      LD (IX+$1F),$00
    
    e5e5 is incremented each time either play runs along the ground - it
    goes at twice the speed if both players are running.  when it reaches
    256, it wraps around to 0, and e5e6 is incremented.  if one player
    runs all the way across the bottom of the level about 15 times then
    there should be some running shoes on the next level
    
         ITEM_NUMBER: 4/04
    ITEM_DESCRIPTION: clock -> stop timer - no hurry up, no skels
           ITEM_DATA: E5E1 ( 0C 0C 0C 0C ) 00
        ITEM_COUNTER: lightning bubbles popped
         ITEM_ACTION: LD ($E341),$FF
                      LD ($FC7A),$FF
    
    e5e1 is incremented whenever you pop a lightning bubble - get 12
    of then for a clock on the next level
    
         ITEM_NUMBER: 5/05
    ITEM_DESCRIPTION: bomb -> 10k (free) or 6k (bubbled) diamonds
           ITEM_DATA: E5E2 ( 13 10 0A 0D ) 01
        ITEM_COUNTER: fire bubbles popped
         ITEM_ACTION: LD ($F59E),$01
    
    e5e2 is incremented whenever you pop a fire bubble - get 19/16/10/13
    of them for a bomb on the next level
    
         ITEM_NUMBER: 6/06
    ITEM_DESCRIPTION: orange umbrella -> skip 3 levels
           ITEM_DATA: E5E3 ( 0F 0F 0F 0F ) 00
        ITEM_COUNTER: water bubbles popped
         ITEM_ACTION: LD ($E350),$03
    
         ITEM_NUMBER: 7/07
    ITEM_DESCRIPTION: red umbrella -> skip 5 levels
           ITEM_DATA: E5E3 ( 14 14 14 14 ) 00
        ITEM_COUNTER: water bubbles popped
         ITEM_ACTION: LD ($E350),$05
    
         ITEM_NUMBER: 8/08
    ITEM_DESCRIPTION: purple umbrella -> skip 7 levels
           ITEM_DATA: E5E3 ( 19 19 19 19 ) 00
        ITEM_COUNTER: water bubbles popped
         ITEM_ACTION: LD ($E350),$07
    
    ITEM_DESCRIPTION: all three umbrellas and 'warp to 70'
         ITEM_ACTION: LD A,$04
                      RST $08         ; *$E004 = 00
                      LD A,$05
                      RST $08         ; *$E005 = 00
                      LD A,$02
                      RST $08         ; *$E002 = 00
                      CALL $18BB
                      LD A,$02
                      RST $10         ; *$E002 = 01
                      LD HL,$E34F
                      LD (HL),$01
                      LD HL,$F452
                      LD (HL),$01     ; create 'umb' points item next round
    
    e5e3 is incremented whenever you pop a water bubble - even if there's
    already water on the screen and it seems like the bubble didn't do
    anything, it's still counted.  get 15 of then for an orange umbrella,
    20 for a red one or 25 for a purple one
    
         ITEM_NUMBER: 9/09
    ITEM_DESCRIPTION: sunflower potion
           ITEM_DATA: E5E7 ( 0F 0F 0F 0F ) 00
        ITEM_COUNTER: wrap-arounds from bottom to top of screen
    
         ITEM_NUMBER: 10/0a
    ITEM_DESCRIPTION: flower potion
           ITEM_DATA: E5E7 ( 10 10 10 10 ) 00
        ITEM_COUNTER: wrap-arounds from bottom to top of screen
    
         ITEM_NUMBER: 11/0b
    ITEM_DESCRIPTION: clover potion
           ITEM_DATA: E5E7 ( 11 11 11 11 ) 00
        ITEM_COUNTER: wrap-arounds from bottom to top of screen
    
         ITEM_NUMBER: 12/0c
    ITEM_DESCRIPTION: rainbow potion
           ITEM_DATA: E5E7 ( 12 12 12 12 ) 00
        ITEM_COUNTER: wrap-arounds from bottom to top of screen
    
         ITEM_NUMBER: 13/0d
    ITEM_DESCRIPTION: musical potion
           ITEM_DATA: E5E7 ( 13 13 13 13 ) 00
        ITEM_COUNTER: wrap-arounds from bottom to top of screen
    
    e5e7 is a counter of how many times either player has fallen from the
    bottom of the screen and appeared back on the top, as if by *magic*!
    If you do this enough times, you get a potion - 15, 16, 17, 18 and
    19-or-more times for the different types of potions
    
         ITEM_NUMBER: 14/0e
    ITEM_DESCRIPTION: flashing heart - freezes monsters & makes you flash & go all
    invincible
           ITEM_DATA: E5E8 ( 41 3C 32 37 ) 01
        ITEM_COUNTER: dead-monster fruits eaten
    
         ITEM_NUMBER: 15/0f
    ITEM_DESCRIPTION: blue ring - points for running
           ITEM_DATA: E5E9 ( 03 03 03 03 ) 00
        ITEM_COUNTER: 'fast bubbles' sweeties eaten
         ITEM_ACTION: SET 0,(IX+$2D)
    
         ITEM_NUMBER: 16/10
    ITEM_DESCRIPTION: purple ring - points for jumping
           ITEM_DATA: E5EA ( 03 03 03 03 ) 00
        ITEM_COUNTER: 'rapid-fire bubbles' sweeties eaten
         ITEM_ACTION: SET 1,(IX+$2D)
    
         ITEM_NUMBER: 17/11
    ITEM_DESCRIPTION: red ring - points for bubbles
           ITEM_DATA: E5EB ( 03 03 03 03 ) 00
        ITEM_COUNTER: 'long-range bubbles' sweeties eaten
         ITEM_ACTION: SET 2,(IX+$2D)
    
         ITEM_NUMBER: 18/12
    ITEM_DESCRIPTION: blue cross - drowns monsters in water
           ITEM_DATA: E5F6 ( 0D 0C 0A 0B ) 01
        ITEM_COUNTER: special items eaten
         ITEM_ACTION: LD ($F590),$01
    
         ITEM_NUMBER: 19/13
    ITEM_DESCRIPTION: yellow and red cross - lightning kills monsters
           ITEM_DATA: E5F7 ( 10 0E 0A 0C ) 01
        ITEM_COUNTER: special fruits eaten
         ITEM_ACTION: CALL $A433
                      LD ($F595),$01
                      SET 4,(IX+$2D)
    
         ITEM_NUMBER: 20/14
    ITEM_DESCRIPTION: red and orange cross - breath fireballs for 9k diamonds
           ITEM_DATA: E5EE ( 07 06 04 05 ) 01
        ITEM_COUNTER: monsters drowned by water bubble
         ITEM_ACTION: SET 6,(IX+$2D)
                      LD (IX+$28),$10
    
         ITEM_NUMBER: 21/15
    ITEM_DESCRIPTION: cyan lantern - same as items 0x10, 0x11 and 0x0f
                      that's points for jumping, for bubbles and for running
           ITEM_DATA: E5EF ( 05 05 05 05 ) 00
        ITEM_COUNTER: times that p1 has joined a running game
    
         ITEM_NUMBER: 22/16
    ITEM_DESCRIPTION: red lantern - same as items 0x10,11,0f,00,01,02
                      that's points for jumping, for bubbles and for running
                         and long-range, fast, rapid-fire bubbles
           ITEM_DATA: E5F0 ( 05 05 05 05 ) 00
        ITEM_COUNTER: times that p2 has joined a running game
    
         ITEM_NUMBER: 23/17
    ITEM_DESCRIPTION: exploding purple lantern
           ITEM_DATA: E5EC ( 02 02 01 01 ) 01
        ITEM_COUNTER: umbrellas (items 6, 7 and 8) collected
    
         ITEM_NUMBER: 24/18
    ITEM_DESCRIPTION: yellow lantern - same as items 0, 1 and 2
                      that's long-range, fast, rapid-fire bubbles
           ITEM_DATA: E5ED ( 04 03 01 02 ) 00
        ITEM_COUNTER: clocks (item 4) collected
    
         ITEM_NUMBER: 25/19
    ITEM_DESCRIPTION: book - shakes screen for 6/8k diamonds
           ITEM_DATA: E5F3 ( 10 0E 0A 0C ) 01
        ITEM_COUNTER: monsters killed by fire bubble
         ITEM_ACTION: LD ($E720),$01
    
         ITEM_NUMBER: 26/1a
    ITEM_DESCRIPTION: silver ring - flying stars -> 6k diamonds
           ITEM_DATA: E5F4 ( 10 0E 0A 0C ) 01
        ITEM_COUNTER: monsters killed by lightning bubble
    
         ITEM_NUMBER: 27/1b
    ITEM_DESCRIPTION: red pearl necklace - give 10 free extend letters
           ITEM_DATA: E5D9 ( 1E 19 0F 14 ) 00
        ITEM_COUNTER: games started (2 player games count as 2)
         ITEM_ACTION: LD ($F676),$0A
    
         ITEM_NUMBER: 28/1c
    ITEM_DESCRIPTION: purple? pearl necklace for bouncing thing -> 6k diamonds
           ITEM_DATA: E5DA ( 1E 19 0F 14 ) 01
        ITEM_COUNTER: levels started
         ITEM_ACTION: LD ($F5AC),$01
    
         ITEM_NUMBER: 29/1d
    ITEM_DESCRIPTION: fork -> flying vegetables for 6k diamonds
           ITEM_DATA: F457 ( 01 01 01 01 ) 01
        ITEM_COUNTER: entries of 'SEX' into high score table
         ITEM_ACTION: CALL $8F54
                      LD ($F4CB),$01
    
         ITEM_NUMBER: 30/1e
    ITEM_DESCRIPTION: purple treasure chest -> 80k diamond
           ITEM_DATA: F458 ( 01 01 01 01 ) 00
        ITEM_COUNTER: times level 100 is finished (happy or not)
         ITEM_ACTION: LD ($F46D), $0A
                      LD ($F46B), $01
    
         ITEM_NUMBER: 31/1f
    ITEM_DESCRIPTION: pink/orange treasure chest -> 70k diamond
           ITEM_DATA: E601 ( 03 03 03 03 ) 00
        ITEM_COUNTER: books (item 0x19) collected
         ITEM_ACTION: LD ($F46D), $09
                      LD ($F46B), $01
    
         ITEM_NUMBER: 32/20
    ITEM_DESCRIPTION: brown treasure chest -> 60k diamond
           ITEM_DATA: E602 ( 03 03 03 03 ) 00
        ITEM_COUNTER: exploding purple lanterns (item 0x17) collected
         ITEM_ACTION: LD ($F46D), $08
                      LD ($F46B), $01
    
         ITEM_NUMBER: 33/21
    ITEM_DESCRIPTION: cyan treasure chest -> 50k diamond
           ITEM_DATA: E600 ( 03 03 03 03 ) 00
        ITEM_COUNTER: water crosses (item 0x12) collected
         ITEM_ACTION: LD ($F46D), $07
                      LD ($F46B), $01
    
         ITEM_NUMBER: 34/22
    ITEM_DESCRIPTION: grey treasure chest -> 40k diamond
           ITEM_DATA: E5FF ( 03 03 03 03 ) 00
        ITEM_COUNTER: yellow and red crosses (item 0x13) collected
         ITEM_ACTION: LD ($F46D), $06
                      LD ($F46B), $01
    
         ITEM_NUMBER: 35/23
    ITEM_DESCRIPTION: red/pink cane -> 30k pointy cake
           ITEM_DATA: E5FD ( 03 03 03 03 ) 00
        ITEM_COUNTER: 'D's collected
         ITEM_ACTION: LD ($F46D), $05
                      LD ($F46B), $01
    
         ITEM_NUMBER: 36/24
    ITEM_DESCRIPTION: red/brown cane -> 30k iced bun
           ITEM_DATA: E5FC ( 03 03 03 03 ) 00
        ITEM_COUNTER: 'N's collected
         ITEM_ACTION: LD ($F46D), $04
                      LD ($F46B), $01
    
         ITEM_NUMBER: 37/25
    ITEM_DESCRIPTION: red cane -> 20k melon
           ITEM_DATA: E5FB ( 03 03 03 03 ) 00
        ITEM_COUNTER: (middle) 'E's collected
         ITEM_ACTION: LD ($F46D), $03
                      LD ($F46B), $01
    
         ITEM_NUMBER: 38/26
    ITEM_DESCRIPTION: orange cane -> 20k orange
           ITEM_DATA: E5FA ( 03 03 03 03 ) 00
        ITEM_COUNTER: 'T's collected
         ITEM_ACTION: LD ($F46D), $02
                      LD ($F46B), $01
    
         ITEM_NUMBER: 39/27
    ITEM_DESCRIPTION: light brown cane -> 10k lolly
           ITEM_DATA: E5F9 ( 03 03 03 03 ) 00
        ITEM_COUNTER: 'X's collected
         ITEM_ACTION: LD ($F46D), $01
                      LD ($F46B), $01
    
         ITEM_NUMBER: 40/28
    ITEM_DESCRIPTION: cyan cane -> 10k double lolly
           ITEM_DATA: E5F8 ( 03 03 03 03 ) 00
        ITEM_COUNTER: (initial) 'E's collected
         ITEM_ACTION: LD ($F46D), $00
                      LD ($F46B), $01
    
         ITEM_NUMBER: 41/29
    ITEM_DESCRIPTION: bell
           ITEM_DATA: E5FE ( 0E 0C 08 0A ) 00
        ITEM_COUNTER: "hurry up!"s displayed
         ITEM_ACTION: LD ($E603), $01
    
         ITEM_NUMBER: 42/2a
    ITEM_DESCRIPTION: octopus (turns bubbles into X's at end of level?)
           ITEM_DATA: E604 ( 01 01 01 01 ) 00
        ITEM_COUNTER: entries of 'TAK' into high score table
         ITEM_ACTION: LD ($F464), $01
                      LD ($F465), $30
    
         ITEM_NUMBER: 43/2b
    ITEM_DESCRIPTION: flamingo (turns bubbles into smiling turds at end of level?)
           ITEM_DATA: E605 ( 01 01 01 01 ) 00
        ITEM_COUNTER: entries of 'STR' into high score table
         ITEM_ACTION: LD ($F464), $01
                      LD ($F465), $31
    
         ITEM_NUMBER: 44/2c
    ITEM_DESCRIPTION: lager (turns bubbles into pizzas at end of level?)
           ITEM_DATA: E606 ( 01 01 01 01 ) 00
        ITEM_COUNTER: entries of 'KTT' into high score table
         ITEM_ACTION: LD ($F464), $01
                      LD ($F465), $32
    
         ITEM_NUMBER: 45/2d
    ITEM_DESCRIPTION: knife for flying cakes/beer/etc and 6k diamonds)
           ITEM_DATA: E607 ( 01 01 01 01 ) 01
        ITEM_COUNTER: entries of '...' into high score table
         ITEM_ACTION: CALL $8F54
                      LD ($F4CB), $01
                      LD ($F4CD), $01
    
         ITEM_NUMBER: 46/2e
    ITEM_DESCRIPTION: crystal ball - points items and special items each
                      take 4 seconds to appear from now on, instead of 7
                      and 12 seconds
           ITEM_DATA: E609 ( 01 01 01 01 ) 00
        ITEM_COUNTER: got a crown
         ITEM_ACTION: LD ($F44D), $01
    
         ITEM_NUMBER: 47/2f
    ITEM_DESCRIPTION: pencil/cigar (makes next 3 special items be
                      potions), and acts like item 0c, the rainbow potion
           ITEM_DATA: E60A ( 01 01 01 01 ) 00
        ITEM_COUNTER: started 777 levels
         ITEM_ACTION: LD ($E612), $03
                      JP $88BD ; rainbow_potion
    
         ITEM_NUMBER: 48/30
    ITEM_DESCRIPTION: skull (immediate 'hurry up')
           ITEM_DATA: E611 ( 14 19 1E 1B ) 00
        ITEM_COUNTER: times the skel has come (+2 more sometimes if he catches you)
         ITEM_ACTION: LD ($F448), $81
    
         ITEM_NUMBER: 49/31
    ITEM_DESCRIPTION: treasure room door to 20
           ITEM_DATA: E60D ( 01 01 01 01 ) 00
        ITEM_COUNTER: get to level 19 without loss of life
         ITEM_ACTION: LD ($E724), $00
                      LD ($E723), $29
    
         ITEM_NUMBER: 50/32
    ITEM_DESCRIPTION: treasure room door to 30
           ITEM_DATA: E60E ( 01 01 01 01 ) 00
        ITEM_COUNTER: get to level 29 without loss of life
         ITEM_ACTION: LD ($E724), $01
                      LD ($E723), $29
    
         ITEM_NUMBER: 51/33
    ITEM_DESCRIPTION: treasure room door to 40
           ITEM_DATA: E60F ( 01 01 01 01 ) 00
        ITEM_COUNTER: get to level 39 without loss of life
         ITEM_ACTION: LD ($E724), $02
                      LD ($E723), $29
    
         ITEM_NUMBER: 52/34
    ITEM_DESCRIPTION: warp to 70
           ITEM_DATA: E610 ( 01 01 01 01 ) 00
        ITEM_COUNTER: get to level 49 without loss of life
         ITEM_ACTION: LD A,($E64B)          ; current screen/round number
                      CP $45
                      RET NC                ; return if already past level 69
                      LD B,A                ; B = current level
                      LD A,$45              ; A = 69
                      SUB B                 ; A = 69 - current level
                      LD ($E350),A
                      LD ($E5DC),$1E        ; difficulty
                      JP $883E              ; see "umbrellas and 'warp to 70'"
    
         ITEM_NUMBER: 53/35
    ITEM_DESCRIPTION: coke -> rains jam donuts for 6k diamonds (free)
                              or 500 point bananas (bubbled)
           ITEM_DATA: E608 ( 01 01 01 01 ) 01
        ITEM_COUNTER: entries of 'I.F', 'MTJ', 'NSO', 'KIM' or 'YSH' into
                      high score table
    
    POINTS ITEMS
    ------------
    
    (the 'notes':
            'umb' means the item may appear on the screen after you've got
                    an umbrella
            'skel' means the item may appear if a skel appeared on the
                    previous level
            'hurry' means the item may appear if the previous level told
                    you to 'hurry up', but no skel appeared.
            the '1p time' and '2p time' columns are the values in address
                    f456 - use the 'mame -cheat' option to view this
                    address as you play
    
    ID      score   description                     notes
    
    00/0      10    green pepper                                            skel
    01/1      20    aubergine                        umb                    skel
    02/2      30    carrot                                                  skel
    03/3      40    onion                                                   skel
    04/4      50    beetroot                         umb                    skel
    05/5      60    turnip                                                  skel
    06/6      70    parsnip                                                 skel
    07/7      80    marrow                           umb                    skel
    08/8      90    pea pod                                                 skel
    09/9     100    mushroom                                                skel
    0A/10    150    corn cob (lvl 35)                umb                    hurry
    0B/11    200    fried egg                                               hurry
    0C/12    250    red acorn thingy                                        hurry
    0D/13    300    apple                            umb                    hurry
    0E/14    350    lemon                                                   hurry
    0F/15    400    orange                                                  hurry
    10/16    450    peach                            umb                    hurry
    11/17    500    bananas                                 1p      2p      hurry
    12/18    550    pear                                   time    time     hurry
    13/19    600    watermelon                       umb                    hurry
    14/20    650    single brown lolly (lvl 15)             1D      27
    15/21    700    double blue lolly                       1C      26
    16/22    750    pink pudding (lvl 5)             umb    1B      25
    17/23    800    yellow pudding                          1A      24
    18/24    850    green pudding                           19      23
    19/25    900    green and brown pudding (lvl 40) umb    18      22
    1A/26    950    simple white ice cream cone             17      21
    
    1B/27  1,000    double scoop ice cream cone             16      20
    1C/28  1,000    donut (lvl 25)                   umb    15      1F
    1D/29  1,000    french fries                            14      1E
    
    1E/30  2,000    sausage on a stick                      13      1D
    1F/31  2,000    creme caramel                           12      1C
    20/32  2,000    burger                           umb    11      1B
    21/33  2,000    slice of cake (triangular)              10      1A
    
    22/34  3,000    cupcake (blobby)                        0F      19
    23/35  3,000    chicken leg                      umb    0E      18
    24/36  3,000    purple martini                          0D      17
    25/37  3,000    some variety of sushi?                  0C      16
    
    26/38  4,000    pinkish sweet (lvl 50)           umb    0B      15
    27/39  4,000    (brown or red?) eskimo pie              0A      14
    28/40  4,000    (brown or red?) eskimo pie              09      13
    29/41  4,000    mug of lager (lvl 45)            umb    08      12
    
    2A/42  5,000    purple crystals                         07      11
    2B/43  5,000    purple jewel                            06      10
    2C/44  5,000    yellow butterfly                 umb    05      0F
    2D/45  5,000    blue crystals                           04      0E
    
    2E/46  6,000    blue jewel                              03      0D
    2F/47  6,000    necklace with purple pendant     umb    02      0C
    30/48  6,000    purple shell                            01      0B
    
    31/49  7,000    red jewel                               00      0A
    32/50  7,000    necklace with blue pendant                      09
    33/51  7,000    bowl of rice                                    08
    
    34/52  8,000    necklace with red pendant                       07
    35/53  8,000    dinner                                          06
    36/54  8,000    red crown, blue gems, no cross                  05
    37/55  8,000    red crown, blue gems, red cross                 04
    
    38/56  9,000    cyan crown, red gems, no cross                  03
    39/57  9,000    blue crown, red gems, cyan cross                02
    3A/58 10,000    gold crown, red gems, no cross                  01
    3B/59 10,000    gold crown, red gems, white cross               00
    
    
    'time' is how long the previous level took to complete.
    It's stored in address f456, and can be displayed during the game
    using 'mame boblbobl -cheat' and the 'memory watch' facility off the
    'cheat' menu.
    
    if (in attract mode - a no player game) {
            item = random ($14...$33)       (gives range $14...$33)
    } else if (on level 1) {
            item = random ($15...$24)       (gives range $15...$24)
    } else if (skel appeared last level) {
            item = random(00 01 02 03 04 05 06 07 08 09 00 01 02 03 04 05)
    } else if ('hurry up' appeared last level) {
            item = random(0A 0B 0C 0D 0E 0F 10 11 12 13 0A 0B 0C 0D 0E 0F)
    } else if (got an umbrella last level) {
            item = random(01 04 07 0A 0D 10 13 16 19 1C 20 23 26 29 2C 2F)
    } else if (only one player in game) {
            if (time > 29) time = 29;
            item = $31/49 - time;           (gives range $14...$31)
    } else if (two players in game) {
            if (time > 39) time = 39;
            item = $3B/59 - time;           (gives range $14...$3B)
    }
    
    FIREBALL BUBBLE
    ---------------
    
    It appears that the fireball bubble is randomly created.  Whenever a
    bubble floats onto the screen, there is a 1 in 4096 chance that it is
    incarnated as a fireball bubble.  It looks as if at some point in the
    design of the game it was intended for this kind of randomness to
    happen more, since there is a routine which implements randomness with
    a whole bunch of preset odds:
    
           ID      odds               ID      odds
    
           01     1 in 1
           03     1 in 2              19     1 in 64
           05     1 in 3              1B     1 in 128
           07     1 in 4              1D     1 in 256
           09     1 in 5              1F     1 in 512
           0B     1 in 6              21     1 in 1024
           0D     1 in 7              23     1 in 2048
           0F     1 in 8              25     1 in 4096 (default)
           11     1 in 9              27     1 in 8192
           13     1 in 10             29     1 in 16384
           15     1 in 16             2B     1 in 32768
           17     1 in 32             2D     1 in 65535
    
    the odd thing is, though, that the routine is only ever used with an
    ID of 25, and only for the fireball bubble.  This table can be used to
    'tune' the rarity of the fireball bubble, by altering the content of
    location 6e30 of CPU 0.  MAME provides a convenient way of doing this,
    with its 'cheat' mechanism.
    
    MAME BOBLBOBL CHEATS
    --------------------
    
    First edit the 'cheat.dat' file, and add lines like this:
    
    boblbobl:0:6e30:01:0:fireball bubble - always!
    boblbobl:0:6e30:07:0:fireball bubble - 1 in 4
    boblbobl:0:6e30:15:0:fireball bubble - 1 in 16
    boblbobl:0:6e30:1d:0:fireball bubble - 1 in 256
    
    then run MAME using a command line like this:
    
            mame boblbobl -cheat
    
    then you'll find there's a new menu entry on the gui, called 'cheat',
    from which you can select the frequency you want!
    
    Here's a bunch of other cheats that I've played with - just a random
    selection that happen to be in my cheat.dat file - some are more
    useful than others, and most of the spoil the fun of the game...
    
    boblbobl:0:E645:6:0:Infinite Lives (P1)
    boblbobl:0:E64a:6:0:Infinite Lives (P2)
    boblbobl:0:e6c1:26:0:Extra Fast (P1)
    boblbobl:0:e6f3:26:0:Extra Fast (P2)
    boblbobl:0:e6c2:80:0:Long Range Bubbles (P1)
    boblbobl:0:e6f4:80:0:Long Range Bubbles (P2)
    boblbobl:0:e6c2:ff:0:Extra Long Range Bubbles (P1)
    boblbobl:0:e6f4:ff:0:Extra Long Range Bubbles (P2)
    boblbobl:0:F44D:1:0:Bonus appear instantly
    boblbobl:0:E5FA:03:0:apple or orange?  you decide!
    boblbobl:0:e608:01:0:coke can item
    boblbobl:0:6e30:01:0:fireball bubble - always!
    boblbobl:0:6e30:03:0:fireball bubble - 1 in 2
    boblbobl:0:6e30:05:0:fireball bubble - 1 in 3
    boblbobl:0:6e30:07:0:fireball bubble - 1 in 4
    boblbobl:0:6e30:15:0:fireball bubble - 1 in 16
    boblbobl:0:6e30:1d:0:fireball bubble - 1 in 256
    boblbobl:0:6e30:25:0:fireball bubble - 1 in 4096
    boblbobl:0:E60A:1:0:Lipstick
    boblbobl:0:5C2B:C9:0:Disable Bubbles?
    boblbobl:0:E6BB:5:1:Fireballs for 5 levels
    boblbobl:0:E6BE:40:0:Fireballs
    boblbobl:0:E5EE:07:0:Fireball Cross
    boblbobl:0:e5db:1:0:'Super' (1JBLRJ1R)
    boblbobl:0:e5d1:1:0:'Original Game' (BJBJBJR1)
    boblbobl:0:e5d2:1:0:'Power Up' (LJL1LBL1)
    boblbobl:0:F676:1:0:Constant Extend Letters
    boblbobl:0:e603:1:0:Always Warn (Bell Item)
    boblbobl:0:25f6:1:0:Cut Journey Time (LSB)
    boblbobl:0:25f7:0:0:Cut Journey Time (MSB)
    boblbobl:0:e64b:e:0:Level 15 (lolly at end)
    boblbobl:0:e64b:45:0:Level 70 (lolly at end?)
    boblbobl:0:e64b:13:0:Level 20
    boblbobl:0:e64b:18:0:Level 25 (Fire Bubbles)
    boblbobl:0:e64b:1d:0:Level 30 (Lightning Bubbles)
    boblbobl:0:e64b:27:0:Level 40
    boblbobl:0:e64b:31:0:Level 50
    boblbobl:0:e64b:59:0:Level 90
    boblbobl:0:e64b:50:0:Level 91
    boblbobl:0:e64b:5a:0:Level 92
    boblbobl:0:e64b:5b:0:Level 93
    boblbobl:0:e64b:5c:0:Level 94
    boblbobl:0:e64b:5d:0:Level 95
    boblbobl:0:e64b:5e:0:Level 96
    boblbobl:0:e64b:5f:0:Level 97
    boblbobl:0:e64b:61:0:Level 98
    boblbobl:0:e64b:62:0:Level 99
    boblbobl:0:e64b:63:0:Level 100 (Big Baddie)
    boblbobl:0:e5E7:F:1:Sunflower Potion
    boblbobl:0:e5E7:10:1:Flower Potion
    boblbobl:0:e5E7:11:1:Clover Potion
    boblbobl:0:e5E7:12:1:Rainbow Potion
    boblbobl:0:e5E7:13:1:Musical Potion
    boblbobl:0:F590:1:1:Drown 'em All!
    boblbobl:0:E720:1:1:Throw The Book At Them
    boblbobl:0:F44C:2A:0:Fruit 2A
    boblbobl:0:F44C:2B:0:Fruit 2B
    boblbobl:0:F44C:2C:0:Fruit 2C
    boblbobl:0:F44C:2D:0:Fruit 2D
    boblbobl:0:F44C:2E:0:Fruit 2E
    boblbobl:0:F44C:2F:0:Fruit 2F
    boblbobl:0:F44C:30:0:Fruit 30
    boblbobl:0:F44C:31:0:Fruit 31
    boblbobl:0:F44C:32:0:Fruit 32
    boblbobl:0:F44C:33:0:Fruit 33
    boblbobl:0:F44C:34:0:Fruit 34
    boblbobl:0:F44C:35:0:Fruit 35
    boblbobl:0:F44C:36:0:Fruit 36
    boblbobl:0:F44C:37:0:Fruit 37
    boblbobl:0:F44C:38:0:Fruit 38
    boblbobl:0:F44C:39:0:Fruit 39
    boblbobl:0:F44C:3A:0:Fruit 3A
    boblbobl:0:F44C:3B:0:Fruit 3B
    
    (note that the 'power-up' cheat does this:
        LD (IX+$2E),$05 ; rapid-fire bubbles
        LD (IX+$2F),$06 ; fast bubbles
        LD (IX+$30),$14 ; fast running
     where IX=E691 for P1 and IX=E6C3 for P2)
    
    If you want to try any level just edit the line below
    boblbobl:0:e64b:XX:0:Level XX where XX is the level number in HEX format