Bubble Bobble Special Items List Version 2.01 --------------------------------------------- Chris Moore (zwaxy@bigfoot.com) 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__ || | fwik0826@mb.infoweb.ne.jp