don't click here

Dr Robotnik's Mean Bean Machine Hacking Thread

Discussion in 'Engineering & Reverse Engineering' started by E-122-Psi, May 29, 2015.

  1. E-122-Psi

    E-122-Psi

    Member
    2,469
    611
    93
    Decided to look a little into this game which is largely underlooked (even 3D Blast's had more exposure). Though my skills at looking into games are very limited, I did find a few interesting entries, most of them leftover from the original Puyo Puyo game (note the sprites were edited because their original palettes were not in Mean Bean Machine):

    [​IMG]

    Arle's cutscene sprites are still in the game. Most of them even load in cutscene mode, suggesting some data for a playable character there may still exist. The fact she is completely unmodified would also suggest that there was never any plans to put Sonic or anyone else in her place.

    [​IMG]

    High Score font from the original game. Note it isn't replaced by Mean Bean Machine's own score font when loaded (Puyo Puyo had an odd scrolling background for it's High Score screen). The Japanese text for the name entry font is also there.

    [​IMG]

    The Cutting Room Floor site beat me to this one, but the entire tile set for the toy block arena from Puyo Puyo is still there (the Options screen loads it for it's background tiles). The Japanese text is also there. Curiously the remains of Lesson Mode don't load this tile set, suggesting it was modified before it got omitted.

    [​IMG]

    Again TCRF found it first, but it's worth showing for those who don't know. Puyo Puyo was ported from it's arcade variant and some remains exist even in Mean Bean Machine.

    I don't know if anyone else wants to contribute, but it's worth fishing for interest.
     
  2. nineko

    nineko

    I am the Holy Cat Tech Member
    6,289
    475
    63
    italy
    Well, there was this...

    I still feel bad for dropping the Cube project, it's somewhere on my huge pile of procrastinated projects :(
     
  3. E-122-Psi

    E-122-Psi

    Member
    2,469
    611
    93
    You had me at procrastinated. :P

    I know someone also found Game Genie cheats to unlock the discarded Sound Test and Lesson Mode. The former works efficiently and even has a few unused tracks, not all of them from Puyo Puyo.



    Oh and there's this. Ever wonder why Robotnik has that isolated transition for his stage that's not with Satan's in Puyo Puyo?



    Hmm. Maybe there's a bit more research than I thought.
     
  4. MotorRoach

    MotorRoach

    Member
    249
    1
    18
    The screen transfer would've been perfect if it wasn't for the messy palette and the broken Scratch and Grounder sprites. Still, this is all very interesting content, I didn't even know about these.
     
  5. E-122-Psi

    E-122-Psi

    Member
    2,469
    611
    93
    The broken sprites seem to be because the gameplay background is overwriting Scratch and Grounder. There's a lot loaded in that particular cutscene compared to in Puyo Puyo.

    The palette could have been gotten around if they perhaps made new backgrounds to fit it like Puyo Puyo did. Mean Bean Machine only ever used the stone well background (likely because the others didn't fit the Aosth aesthetics and they couldn't be bothered to make any new ones). The 8 bit version added a new one for later levels though and worked around the Puzzle Mode background to make it fit in.
     
  6. E-122-Psi

    E-122-Psi

    Member
    2,469
    611
    93
    Another find from The Cutting Room Floor. Apparently the mapping pointers for the original Exercise and 1P VS 2P backgrounds still exist, meaning they managed to do this:

    [​IMG]

    Not mentioned if the art for the 1P VS 2P background is still there though.

    http://jul.rustedlogic.net/thread.php?pid=440316#440316
     
  7. redhotsonic

    redhotsonic

    Also known as RHS Tech Member
    1,587
    10
    18
    United Kingdom
    YouTuber
    Quite an interesting find. As soon as I saw that shot, I thought a older beta had been found, haha. I wonder how much Puyo Puyo leftovers are in there?
     
  8. E-122-Psi

    E-122-Psi

    Member
    2,469
    611
    93
    From what I've looked it seems like they just edited what was needed and then left the rest discarded in the game. I wouldn't be surprised if the other backgrounds and anything else they didn't draw over or replace still exists in there (hell for some stuff they DID replace, there's still stuff there, eg. the High Score screen, the Japanese fonts).

    I'd be more interested to see some stuff the actual Mean Bean Machine revision didn't use.

    There's something I've wondered about however, does anyone know what causes the ending text box to glitch up the background?

    [​IMG]

    This tile deletion doesn't occur with the other cutscene text boxes or in Puyo Puyo and Kirby's Ghost Trap's ending. Would it count as something to put on a bugs list?
     
  9. Interesting... Nonetheless, Dr. Robotnik's Mean Bean Machine isn't really a Sonic The Hedgehog game. It's pretty much normal to find leftovers from Puyo Puyo since it's actually Puyo Puyo, but more "Americanized" I think some people tried to convince SoA to change the name of the game to Puyo Puyo but they decided to maintain the original name.

    In the words of TCRF:

    "Dr. Robotnik's Mean Bean Machine is a Westernized Puyo Puyo based on the syndicated cartoon Adventures of Sonic the Hedgehog."

    Even the Checksum error from Puyo Puyo is still there. If I recall well, it also has a proto which lets you access the unused sound tracks otherwise unaccessible on the original game, and only accessible with a Game Genie on the original version as already mentioned above. The proto is also region-free.
     
  10. E-122-Psi

    E-122-Psi

    Member
    2,469
    611
    93
    It's technically not Sonic, but it's usually classified as one. It's in Sonic Mega Collection and promoted with the other Sonic titles and the Sonic (not SEGA) Retro wiki lists it.

    From what I've heard the sound test regional lock out was something inherited from Puyo Puyo, for some reason you can only unlock it in Japanese (likely because the game was made for Japan so regional optimisation for everything wasn't really a concern for it). Also for some reason, the unused songs vanish if you unlock the Sound Test but revert to western settings.

    I'm left wondering if the Sound Test's omission is the result of mere laziness or intentional as a result of some issue (perhaps copyright only went so far with some Puyo tracks thus the used ones were altered slightly, Stage 9-12's theme was also altered to be less blatant a Kraftwerk rip off than the unused premix).
     
  11. Retroman

    Retroman

    Member
    733
    2
    18
    Scratch is all like "Deal with it, Fatso"
     
  12. D.A. Garden

    D.A. Garden

    Sonic CD's Sound Test Member

    I am led to believe that the text box (and profile image box) have a higher priority than the plane they are put in front of. This effect actually happens on the other characters' text boxes and profile images as well. It's just not as obvious.

    I do not know for certain, but I believe that the background in these cases is made up of 2 different planes. In the Dr Robotnik screen example, the purple rock background is one plane, whereas the broken machine and flooring are on the other. The text box and profile image are then loaded on top, but with high priority.
     
  13. redhotsonic

    redhotsonic

    Also known as RHS Tech Member
    1,587
    10
    18
    United Kingdom
    YouTuber
    Sir Fuzzy-Logik is obvious (from the top of my head, pretty sure it's him. All I know is one of the otehr characters also shows this glitch).
     
  14. E-122-Psi

    E-122-Psi

    Member
    2,469
    611
    93
    I know it occurs with the other characters, just it was most obvious for Robotnik due to the larger foreground that gets more of it deleted.

    It seemed odd though because none of the other text boxes have that effect outside the cast cutscene, and even then only in the Mean Bean Machine version of the game.

    Admittedly a lazy error is that they didn't add a 'beaten down and simpering' Scratch and Grounder sprite for that cutscene. Nor did they interject with their usual 'Your sliminess/evilness/maliciousness/esteemed eggness' routine at any point. Know your AoSth, SoA. XD


    One thing I've wondered, is there any info on the unique compression format used for a lot of the Puyo art in the game? Finding a de/compressor for it would open a lot more potential in editing the game.
     
  15. Devon

    Devon

    I think I'm paranoid Tech Member
    1,175
    1,319
    93
    your mom
    Massive bump, but I made an update to the wiki's hacking page with my current findings. Still digging through the game.

    Findings include bytecode with its instructions documented (kinda) and other RAM addresses.
     
  16. Devon

    Devon

    I think I'm paranoid Tech Member
    1,175
    1,319
    93
    your mom
    Fun fact: You can bypass the region lockout screen!

    You enter this code with player 2's controller at the lockout screen:

    Code (Text):
    1. A A Up Right Down Left B B Right Down Left Up C C Down Left Up Right Start Start
    Do note that you can only attempt to enter this once. Mess up and you'll need to restart your console to try again.

    Here's the code that handles this:
    Code (Text):
    1.  
    2. ROM:0002253E @@ChkCode:                              ; CODE XREF: ObjLockoutBypass+2Cj
    3. ROM:0002253E                 lea     (r_P2_Data).l,a1
    4. ROM:00022544                 lea     (LockoutBypassCode).l,a2
    5. ROM:0002254A                 move.w  $26(a0),d0
    6. ROM:0002254E                 move.b  (a2,d0.w),d0
    7. ROM:00022552                 cmpi.b  #$FF,d0
    8. ROM:00022556                 beq.s   @@BypassLockout
    9. ROM:00022558                 move.b  1(a1),d1
    10. ROM:0002255C                 beq.s   @@NoButton
    11. ROM:0002255E                 cmp.b   d0,d1
    12. ROM:00022560                 bne.s   @@NoMatch
    13. ROM:00022562                 addq.w  #1,$26(a0)
    14. ROM:00022566
    15. ROM:00022566 @@NoButton:                             ; CODE XREF: ObjLockoutBypass+52j
    16. ROM:00022566                 rts
    17. ROM:00022568 ; ---------------------------------------------------------------------------
    18. ROM:00022568
    19. ROM:00022568 @@BypassLockout:                        ; CODE XREF: ObjLockoutBypass+4Cj
    20. ROM:00022568                 move.b  #0,(r_BC_Stop).l
    21. ROM:00022570                 rts
    22. ROM:00022572 ; ---------------------------------------------------------------------------
    23. ROM:00022572
    24. ROM:00022572 @@NoMatch:                              ; CODE XREF: ObjLockoutBypass+1Aj
    25. ROM:00022572                                         ; ObjLockoutBypass+26j ...
    26. ROM:00022572                 jsr     (ObjDelay).l
    27. ROM:00022578                 nop
    28. ROM:0002257A                 rts
    29.  
    30.             ...
    31.  
    32. ROM:00023520 LockoutBypassCode:dc.b $40              ; DATA XREF: ObjLockoutBypass+3Ao
    33. ROM:00023521                 dc.b $40
    34. ROM:00023522                 dc.b 1
    35. ROM:00023523                 dc.b 8
    36. ROM:00023524                 dc.b 2
    37. ROM:00023525                 dc.b 4
    38. ROM:00023526                 dc.b $10
    39. ROM:00023527                 dc.b $10
    40. ROM:00023528                 dc.b 8
    41. ROM:00023529                 dc.b 2
    42. ROM:0002352A                 dc.b 4
    43. ROM:0002352B                 dc.b 1
    44. ROM:0002352C                 dc.b $20
    45. ROM:0002352D                 dc.b $20
    46. ROM:0002352E                 dc.b 2
    47. ROM:0002352F                 dc.b 4
    48. ROM:00023530                 dc.b 1
    49. ROM:00023531                 dc.b 8
    50. ROM:00023532                 dc.b $80
    51. ROM:00023533                 dc.b $80
    52. ROM:00023534                 dc.b $FF
    53. ROM:00023535                 dc.b 0
    54.  
     
    Last edited: Jan 16, 2024
  17. biggestsonicfan

    biggestsonicfan

    Model2wannaB Tech Member
    1,603
    405
    63
    ALWAYS Sonic the Fighters
    Holy shit, nice find!
     
  18. ICEknight

    ICEknight

    Researcher Researcher
    Oh wow, now that's something unheard of.
     
  19. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,201
    954
    93
    Long-term happiness
    >"onry"

    Dear oh dear...

    That said - yes, awesome find! It does make you wonder how many other games have hidden bypasses like this, between this cheat code and Mickey Mania's "oh this console has somehow become another region's console" code...
     
  20. E-122-Psi

    E-122-Psi

    Member
    2,469
    611
    93
    That's a cool find.

    One thing that bewilders me however is why they'd bother to make a code for region unlocking but wouldn't bother to make any method of unlocking the Sound Test in standard region.