diff --git a/res/CACHE00.IDX b/res/CACHE00.IDX index 2a6968404..3155b87f1 100644 Binary files a/res/CACHE00.IDX and b/res/CACHE00.IDX differ diff --git a/res/CACHE01.IDX b/res/CACHE01.IDX index 256c37372..6305ff967 100644 Binary files a/res/CACHE01.IDX and b/res/CACHE01.IDX differ diff --git a/res/CACHE10.IDX b/res/CACHE10.IDX index ee23678a6..133f9aa93 100644 Binary files a/res/CACHE10.IDX and b/res/CACHE10.IDX differ diff --git a/res/CACHE11.IDX b/res/CACHE11.IDX index b3e6d2829..8c8c78503 100644 Binary files a/res/CACHE11.IDX and b/res/CACHE11.IDX differ diff --git a/res/GAMES.CONF b/res/GAMES.CONF index 42d076f72..f54e26a9a 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -90,6 +90,7 @@ 00011,BB=Brainteaser Boulevard 10110,BRUCE.LEE=Bruce Lee 10010,BUBBLE.BOBBLE=Bubble Bobble +00030,BUBBLE.HEAD=Bubble Head 00070,BR=Buck Rogers: Planet of Zoom 00071,BUG.ATTACK=Bug Attack 00011,BUG.BATTLE=Bug Battle diff --git a/res/TITLE.HGR.UNPACKED/BUBBLE.HEAD b/res/TITLE.HGR.UNPACKED/BUBBLE.HEAD new file mode 100644 index 000000000..d67a63e70 Binary files /dev/null and b/res/TITLE.HGR.UNPACKED/BUBBLE.HEAD differ diff --git a/res/TITLE.HGR/BUBBLE.HEAD b/res/TITLE.HGR/BUBBLE.HEAD new file mode 100644 index 000000000..e0e476c66 Binary files /dev/null and b/res/TITLE.HGR/BUBBLE.HEAD differ diff --git a/res/dsk/bubble head PRODOS (san inc pack).po b/res/dsk/bubble head PRODOS (san inc pack).po new file mode 100644 index 000000000..521429f96 Binary files /dev/null and b/res/dsk/bubble head PRODOS (san inc pack).po differ diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index f8f35f96d..e6116ba66 100644 --- a/src/index/artwork.idx.a +++ b/src/index/artwork.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15118764 + !be24 15110305 !le16 5108 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index 54fc565d0..f7a020b15 100644 --- a/src/index/attract.idx.a +++ b/src/index/attract.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15065947 + !be24 15057452 !le16 5593 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index f9632d58d..d82bc5fd5 100644 --- a/src/index/cache00.idx.a +++ b/src/index/cache00.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15001292 - !le16 3970 + !be24 14992603 + !le16 3990 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index 3e8b9b9ab..c33b87689 100644 --- a/src/index/cache01.idx.a +++ b/src/index/cache01.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15015275 - !le16 4392 + !be24 15006640 + !le16 4412 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index 2f68e787f..f0c091933 100644 --- a/src/index/cache10.idx.a +++ b/src/index/cache10.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15032745 - !le16 5574 + !be24 15024164 + !le16 5591 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index f7989f733..91cd8d6b5 100644 --- a/src/index/cache11.idx.a +++ b/src/index/cache11.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15052720 - !le16 6193 + !be24 15044190 + !le16 6210 diff --git a/src/index/count00.a b/src/index/count00.a index def64fa9d..93ed6adac 100644 --- a/src/index/count00.a +++ b/src/index/count00.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 299 +!word 300 diff --git a/src/index/count01.a b/src/index/count01.a index 5b4a19eae..b22904bbf 100644 --- a/src/index/count01.a +++ b/src/index/count01.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 326 +!word 327 diff --git a/src/index/count10.a b/src/index/count10.a index 855ce3bf6..26219b933 100644 --- a/src/index/count10.a +++ b/src/index/count10.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 422 +!word 423 diff --git a/src/index/count11.a b/src/index/count11.a index b08e2e904..9bb6d1077 100644 --- a/src/index/count11.a +++ b/src/index/count11.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 464 +!word 465 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index 59bac8cca..3e9c00eb7 100644 --- a/src/index/coverfade.idx.a +++ b/src/index/coverfade.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15123872 + !be24 15115413 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index c471e4a68..24c2a71bd 100644 --- a/src/index/credits.idx.a +++ b/src/index/credits.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15124626 + !be24 15116167 !le16 448 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index 08302cc99..52dc17de8 100644 --- a/src/index/decrunch.idx.a +++ b/src/index/decrunch.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15125074 + !be24 15116615 !le16 303 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index fcc069aec..699d14019 100644 --- a/src/index/dfx.idx.a +++ b/src/index/dfx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15074180 + !be24 15065685 !le16 1640 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index f37aa6ca1..c4fa0b8a8 100644 --- a/src/index/dgr.fizzle.idx.a +++ b/src/index/dgr.fizzle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15124358 + !be24 15115899 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index d4371b773..2c3036290 100644 --- a/src/index/dgr.idx.a +++ b/src/index/dgr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15118705 + !be24 15110246 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index fc58e01aa..d63c15a20 100644 --- a/src/index/dhgr.idx.a +++ b/src/index/dhgr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15117171 + !be24 15108712 !le16 1437 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index 24f518759..69604d3d6 100644 --- a/src/index/dtitle.idx.a +++ b/src/index/dtitle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15102083 + !be24 15093624 !le16 537 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index deaec0934..130392a88 100644 --- a/src/index/fx.idx.a +++ b/src/index/fx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15071540 + !be24 15063045 !le16 2640 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index 903aaa054..1cab47120 100644 --- a/src/index/gamehelp.idx.a +++ b/src/index/gamehelp.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15076178 - !le16 7034 + !be24 15067683 + !le16 7052 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index 6e9ffb823..fe26ac3f1 100644 --- a/src/index/gr.fizzle.idx.a +++ b/src/index/gr.fizzle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15124282 + !be24 15115823 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index a68dad8b7..05ca28d70 100644 --- a/src/index/gr.idx.a +++ b/src/index/gr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15118608 + !be24 15110149 !le16 97 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index 91c85a19b..7d918284d 100644 --- a/src/index/helptext.idx.a +++ b/src/index/helptext.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15124425 + !be24 15115966 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index 55f4cb4ed..4fb649958 100644 --- a/src/index/hgr0.idx.a +++ b/src/index/hgr0.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15102620 + !be24 15094161 !le16 4684 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index c3438f665..fe6217c8f 100644 --- a/src/index/hgr1.idx.a +++ b/src/index/hgr1.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15107304 + !be24 15098845 !le16 1702 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index a42efe148..2e88f34c7 100644 --- a/src/index/hgr2.idx.a +++ b/src/index/hgr2.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15109006 + !be24 15100547 !le16 1129 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index 4c2f125de..9b141b9bc 100644 --- a/src/index/hgr3.idx.a +++ b/src/index/hgr3.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15110135 + !be24 15101676 !le16 3388 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index d261b8d97..24e7af7f4 100644 --- a/src/index/hgr4.idx.a +++ b/src/index/hgr4.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15113523 + !be24 15105064 !le16 3055 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index 7a308793f..31e0d85c3 100644 --- a/src/index/hgr5.idx.a +++ b/src/index/hgr5.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15116578 + !be24 15108119 !le16 479 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index 9f54a0eba..21131840f 100644 --- a/src/index/hgr6.idx.a +++ b/src/index/hgr6.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15117057 + !be24 15108598 !le16 114 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index 197b7f052..b6c28e9e3 100644 --- a/src/index/joystick.idx.a +++ b/src/index/joystick.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15125377 + !be24 15116918 !le16 2370 diff --git a/src/index/miniattract0.idx.a b/src/index/miniattract0.idx.a index 77c9dc8dc..5215207f7 100644 --- a/src/index/miniattract0.idx.a +++ b/src/index/miniattract0.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15088466 + !be24 15079989 !le16 4710 diff --git a/src/index/miniattract1.idx.a b/src/index/miniattract1.idx.a index 19923d662..88b2fb592 100644 --- a/src/index/miniattract1.idx.a +++ b/src/index/miniattract1.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15093176 + !be24 15084699 !le16 2328 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index aab1a2fc1..9a8ee54af 100644 --- a/src/index/prelaunch.idx.a +++ b/src/index/prelaunch.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15058913 - !le16 7034 + !be24 15050400 + !le16 7052 diff --git a/src/index/res.cover.idx.a b/src/index/res.cover.idx.a index 9226b996c..36ee468c0 100644 --- a/src/index/res.cover.idx.a +++ b/src/index/res.cover.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 3985408 + !be24 3993088 !le16 8192 diff --git a/src/index/res.help.idx.a b/src/index/res.help.idx.a index cc0ec8c9f..7271307d5 100644 --- a/src/index/res.help.idx.a +++ b/src/index/res.help.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 4001792 + !be24 4009472 !le16 8192 diff --git a/src/index/res.title.idx.a b/src/index/res.title.idx.a index 2636f3078..0ac9615a6 100644 --- a/src/index/res.title.idx.a +++ b/src/index/res.title.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 3993600 + !be24 4001280 !le16 8192 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index 6bb952304..460a2e2b0 100644 --- a/src/index/search00.idx.a +++ b/src/index/search00.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 14992153 - !le16 9139 + !be24 14983430 + !le16 9173 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index 012e10ab8..482dd68e6 100644 --- a/src/index/search01.idx.a +++ b/src/index/search01.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15005262 - !le16 10013 + !be24 14996593 + !le16 10047 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index 99acaa7d2..0f1d7c556 100644 --- a/src/index/search10.idx.a +++ b/src/index/search10.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15019667 - !le16 13078 + !be24 15011052 + !le16 13112 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index c13b2e75f..2594961fe 100644 --- a/src/index/search11.idx.a +++ b/src/index/search11.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15038319 - !le16 14401 + !be24 15029755 + !le16 14435 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index c7a4f1203..f91c54fd0 100644 --- a/src/index/sfx.idx.a +++ b/src/index/sfx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15075820 + !be24 15067325 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index c5a34eba0..ef79b9f27 100644 --- a/src/index/slideshow.idx.a +++ b/src/index/slideshow.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15083212 + !be24 15074735 !le16 5254 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index 66d1d1aa2..90982939a 100644 --- a/src/index/title.idx.a +++ b/src/index/title.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15095504 - !le16 6579 + !be24 15087027 + !le16 6597 diff --git a/src/index/xsingle.idx.a b/src/index/xsingle.idx.a index 46ff0c01e..76af3fba6 100644 --- a/src/index/xsingle.idx.a +++ b/src/index/xsingle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 14988190 - !le16 3963 + !be24 14979486 + !le16 3944 diff --git a/src/prelaunch/bubble.head.a b/src/prelaunch/bubble.head.a new file mode 100644 index 000000000..a8a3c3082 --- /dev/null +++ b/src/prelaunch/bubble.head.a @@ -0,0 +1,34 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/BUBBLE.HEAD",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $19FD + jsr $199B ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $642F ; patch - don't decrease lives + sta $78D8 ; patch - don't increase lives + sta $71E8 ; patch - don't decrease bombs ++ + +NEW_RESET_VECTOR $80 + lda #$80 + sta $6001 + asl + sta $6006 + jsr DisableAccelerator + +READ_ROM_NO_WRITE + jmp $6000 + +!if * > $1C0 { + !error "code is too large, ends at ", * +}