Unlimited lives:

Load or reset the game, then execute the following BASIC commands before running or restarting the program. 

POKE 1240,189

SYS 58518 

Unlimited lives (alternate):

Load or reset the game, then execute the following BASIC commands before running or restarting the program. 

POKE 1240,184

          Bubble Bobble Special Items List Version 2.01

            ---------------------------------------------

 

                 Chris Moore    (This email address is being protected from spambots. You need JavaScript enabled to view it.)

 

                 14 April 1998

 

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 35 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 35 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 35 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: orange potion (sunflower)

       ITEM_DATA: E5E7 ( 0F 0F 0F 0F ) 00

    ITEM_COUNTER: wrap-arounds from bottom to top of screen

 

     ITEM_NUMBER: 10/0a

ITEM_DESCRIPTION: red potion (flower)

       ITEM_DATA: E5E7 ( 10 10 10 10 ) 00

    ITEM_COUNTER: wrap-arounds from bottom to top of screen

 

     ITEM_NUMBER: 11/0b

ITEM_DESCRIPTION: green potion (clover)

       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: cyan potion (musical note)

       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

 

If bubble'n jumps on the top step, he appears from the bottom for a

moment. That is counted as "fallen from the bottom".  So you can earn

the counter easily on every round (whether there is a warp hole or

not)

 

     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

 

Monsters change to the following fruits:

 Zen-chan  ---> Banana

 Monsta    ---> Strawberry

 Invader   ---> Diamond

  :

  :

 

     ITEM_NUMBER: 15/0f

ITEM_DESCRIPTION: cyan ring - points for running - 10 points per pixel moved

       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 - 500 points per jump

       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 - 100 points per bubble

       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 - the heros

                  can be defeated by monsters until the level is

                  completely filled with water.  Diamonds are worth

                  6000/7000 pts.

       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 -

                  monsters that are hit by lightning become 8k

                  diamonds, unless they were bubbled at the time, in

                  which case they become bananas.  Of course.  :o)

       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 16 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 of Death" - shakes screen for 6/8k diamonds.

                  This item comes from "Fairy Island Story".

       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: "Star Tiara" - flying stars -> 6k diamonds.  This

                  item comes from "Fariry Island Story".

       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: silver 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

 

This item also appears when bubble'n is zapped to level 50-75 after

clear of solo-playing. So "whenever you clear the level 100" seems

better.

 

     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 cake

       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 watermelon

       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 - the screen flashs if you can get "attack

                  item" in this round.  The screen never flashes for

                  holy water (potions).

       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: crayon (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') - A shooting star goes

                  across the screen (Cool!)

       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    cucumber                         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    strawberry shaved ice (lvl 5)    umb    1B      25

17/23    800    lemon (yellow) shaved ice               1A      24

18/24    850    japanese tea ("Maccha" in Japanese)

                (green) shaved ice                      19      23

19/25    900    Japanese tea and sweep-bean-paste ("Ogura-Maccha") (green

                and brown) shaved ice (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    sushi (a kind of omelet on rice block)  0C      16

 

26/38  4,000    sushi (boiled shrimp on

                       rice block)               umb    0B      15

27/39  4,000    sushi (raw tuna on rice block)?         0A      14

28/40  4,000    sushi (raw tuna on rice block)?         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

---------------

 

The fireball bubble appears from an air vent of top (or bottom) of the

screen. You get 100,000 pts. when you break it.

 

The bubble has same effect as red cross, but the effect of this item

continues for 5 rounds!  Namely, bubble'n can blow 16 fireballs in

each round.

 

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

 

REVISION HISTORY

----------------

 

12/12/97 - v2.00: First public release.

 

14/04/98 - v2.01: Added corrections and notes from Mr. IWAMOTO Kouichi

                  and Mr. NAKANISHI Masamichi, translated by YONEDA

                  Mitsunori - check out his signature below!  :o)

 

     +-----------------------------------------------------------------++

     | YONEDA Mitsunori                           rcn    _ _    _A__   ||

     | This email address is being protected from spambots. You need JavaScript enabled to view it.                 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