Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
01057 Documentation Typo Have not tried Feb 9, 2008, 04:22 Feb 6, 2019, 09:12
Tester stephh View Status Public Platform
Assigned To Resolution Open OS
Status [?] Acknowledged Driver
Version 0.107u1 Fixed in Version Build
Fixed in Git Commit Github Pull Request #
Summary 01057: bonzeadv, bonzeadvo: bonzeadv comparison.
Description Comparing 'bonzeadv' and 'bonzeado': This isn't a bug report, but sort of "orange file" or at least something to be copy/paste in asuka.c driver ...
First, the ROM checksum (can't remember at the moment where it is located) is different ... This isn't surprising as the code is different ...

Then, the ONLY true difference is that ONLY 3 words (6 bytes) of code have been added at location 00D218 in ROM area :

bonzeadv
00D214: 6000 00E0         bra     $d2f600D218: 08AD 0004 15DE    bclr    #, (de,A5)00D21E: 302D 15F0         move.w  (f0,A5), D000D222: 0C40 0040         cmpi.w  #, D000D226: 6400 000E         bcc     $d236
bonzeado
00D214: 6000 00DA         bra     $d2f000D218: 302D 15F0         move.w  (f0,A5), D000D21C: 0C40 0040         cmpi.w  #, D000D220: 6400 000E         bcc     $d230
Of course, because of the 6 new bytes, this affects some branches (see example at location 00D214in ROM area) ...

Because of this only change in the game code, this means that the ingame bug for "Lives" Dip Switch is still there and that the hidden map editor is still available if you patch the code ...

Before explaining what new code does, you need to understand what is at location 10D5DE.w in RAM ($15de,A5) :

. bit 0 : when 0, bonze faces right - when 1, bonze faces left
. bit 1 : unknown effect
. bit 2 : unknown effect
. bit 3 : when set to 1, bonze is on a ladder (new sprite displayed)
. bit 4 : when set to 1, bonze is crouching (down key)
. bit 5 : when set to 1, bonze is in the small boat (level 2)
. bit 6 : when set to 1, bonze is walking (left and right keys)
. bit 7 : when set to 1, bonze is under affluence of a geyser (level 2)
. bit 8 : when set to 1, bonze is hit and losing a life (only without invulneravility)
. bit 9 : unknown effect
. bit A : when set to 1, bonze is on skulls, platforms or hands/feets
. bit B : unknown effect
. bit C : when set to 1, bonze can use both up and down keys with a ladder
. bit D : when set to 1, bonze shows his back (only at top of ladders)
. bit E : unknown effect
. bit F : when set to 1, bonze is on sliding ice (level 5)

So the new code resets every frame bit 4 ... Why ? The thing to know is that when bonze is crouching, he can use his magic bubbles power if he has any of them (red, green or purple) by pressing the "Fire" button ... And under rare cicumstances I can't determine, this bit was not reset, so you could use all your magic bubbles power in less than than 4 frames ! Now, with this bugfix, there is no bad joke, you really need to crouch and press the "Fire" button multiple times if you want to use multiple magic bubble powers ...

A few adresses to know (taken from my cheat database) :
. 10D5D4.w : invulnerability timer (up to 0x00f0 = 4 seconds when starting a new level or a new life - up to 0x04f0 = 20 seconds when you get the mirror)
. 10D535.b : player 1 lives
. 10D545.b : player 2 lives
. 10CC42.w : timer (0x0000-0x5000)
. 10CC35.b : fire speed (0x02-0x05)
. 10CC37.b : bounce power (0x01-0x08)
. 10CC3D.b : magic bubble power (0x00-0x04) - purple bubbles
. 10CC3F.b : magic bubble power (0x00-0x04) - red bubbles
. 10CC41.b : magic bubble power (0x00-0x04) - green bubbles

Now, since 'bonzeadv', 'bonzeadu' and 'jigkmgri' share "b41-09-1.17" and "b41-11-1.26" files, I wonder why there couldn't be old versions of the US and Japanese sets sharing "b41-09.17" and "b41-11.26" files ... Something like this :

GAME( 1988, bonzeadu, bonzeadv, bonzeadv, jigkmgri, 0, ROT0, "Taito America Corporation", "Bonze Adventure (US, Newer)", 0 )
GAME( 1988, bonzeauo, bonzeadv, bonzeadv, jigkmgri, 0, ROT0, "Taito America Corporation", "Bonze Adventure (US, Older)", 0 )
GAME( 1988, jigkmgri, bonzeadv, bonzeadv, jigkmgri, 0, ROT0, "Taito Corporation", "Jigoku Meguri (Japan, Newer)", 0 )
GAME( 1988, jigkmgro, bonzeadv, bonzeadv, jigkmgri, 0, ROT0, "Taito Corporation", "Jigoku Meguri (Japan, Older)", 0 )

I hope that all this will help ... If you need/have any more information, don't be afraid to post Happy Bonze lives again !
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems bonzeadv, bonzeadvo
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
2
User avatar
No.16109
MetalGod
Senior Tester
Feb 6, 2019, 00:48
Is this still affecting the game after several fixes and its c-chip decap (removed simulation)?
User avatar
No.16111
Haze
Senior Tester
Feb 6, 2019, 09:12
edited on: Feb 6, 2019, 09:13
It isn't a bug report, it's something that could be used to determined an 'original game bug' that was fixed in the later version of the game. It's a comparison between the two sets, it has nothing to do with the c-chip.