Puzzle Bobble with rotary controls

city41

Aero Fighters Flyboy
10 Year Member
Joined
Dec 27, 2010
Posts
2,085
I have hacked Puzzle Bobble to have rotary controls. The hack requires a custom controller, which is a bit of a pain but also worth it IMO. The game is just so much better this way. It's how the game should have always been if you ask me, and how I always wished it was from the first time I played it.

Here is an early video I made on it


I have since finished the hack and have a working prototype controller made. I've ordered a custom pcb that should arrive in a couple of weeks which I will use to make a better, but still kinda prototypish, controller.

Oh the video says there is jitter in the controls, I have resolved that by switching from a Pico to an Arduino.

The repo for it is here: https://github.com/city41/rotary-bobble

The hack has
- rotary controls for player one and two, single and versus mode
- rotary input for high score name entry
- toggle between rotary/joystick input by holding start
- the how to play screen has a little dial instead of a joystick :)
- works very well. I work with the game and don't fight it, I just quietly slip in a new angle value based on what the controller sends in.

And just to head off a question I know is coming, this is a little different from Nightmare Tony's device. His used a rotary encoder that would send left and right joystick inputs. Mine uses a potentiometer to send exact angles to the game. That is why I also needed to hack the game, so it could read the angle coming in on the controller port. Is it better? Not sure, as I've never used Tony's device. This approach means each angle on the dial always maps to an exact angle in the game.

I also wrote up a guide on Neo Geo ROM hacking. This was mostly for me, to remember how I did all this down the road. But maybe others will find it useful/interesting

 
Last edited:

city41

Aero Fighters Flyboy
10 Year Member
Joined
Dec 27, 2010
Posts
2,085
Oh and one request I've gotten is to port over the SNES version's slow inputs. Pressing L and R moves the shooter by one position at a time. This has nothing to do with rotary, it'd be a regular Neo hack. Let me know if there is interest in a hack that adds that, as it'd be pretty easy to make while all this stuff is fresh in my head.
 

Neo Alec

Ned's Ninja Academy Dropout
20 Year Member
Joined
Dec 7, 2000
Posts
11,975
It's not possible to use the existing Hypernoid NG Spinner Board, which is built to the correct specs for Pop'n Bounce? I already have one, and it would be better to not need two aftermarket spinners.

 

city41

Aero Fighters Flyboy
10 Year Member
Joined
Dec 27, 2010
Posts
2,085
That won't work out of the box, just based on reading its user manual. It says it uses UDLR and ABC, so if nothing else it would fire bubbles haphazardly in PB. It's hard to tell how this works just from the manual though, is it an absolute encoder? If it is an incremental encoder, then no, it won't work. If it's absolute, it might be doable.

Does anyone have any more tech specs on the NG Spinner?
 
Last edited:

city41

Aero Fighters Flyboy
10 Year Member
Joined
Dec 27, 2010
Posts
2,085
My guess is it won't work, but that's just a guess. I think a breakout style game would be perfectly happy with incremental input, and those spinners are also geared towards it (they spin forever, where a pot has a start and a stop)
 

city41

Aero Fighters Flyboy
10 Year Member
Joined
Dec 27, 2010
Posts
2,085
Very cool project! What kind of spinner are you using for your custom controller?
Just a cheap ol' potentiometer I got off Amazon driven by an Arduino.
 

Ralfakick

J. Max's Chauffeur,
20 Year Member
Joined
Jul 9, 2001
Posts
3,746
Could something like these be hacked?

 

WingMantis

n00b
Joined
Feb 17, 2024
Posts
1
Oh and one request I've gotten is to port over the SNES version's slow inputs. Pressing L and R moves the shooter by one position at a time. This has nothing to do with rotary, it'd be a regular Neo hack. Let me know if there is interest in a hack that adds that, as it'd be pretty easy to make while all this stuff is fresh in my head.

You could also just do one button held down as 'slow' then still use the joystick for adjustments. The advantage of this is that players only work one row or line of buttons instead of being split and would integrate perfectly with the NG Spinner design as well.

Having separate L and R micro adjustment buttons would require less wear and tear on the stick or rotary encoder. It would also even-out button wear. If you really wanted to drill down you could look at the most unused button(s) in the Neo Geo library and change the controls to use those ones.
 

city41

Aero Fighters Flyboy
10 Year Member
Joined
Dec 27, 2010
Posts
2,085
Could something like these be hacked?

Technically, probably, yeah. But that is way outside of my skill set. That uses USB and inside probably has some kind of rotary encoder. Getting that working on the Neo would probably require an electronics wizard.
 

city41

Aero Fighters Flyboy
10 Year Member
Joined
Dec 27, 2010
Posts
2,085
You could also just do one button held down as 'slow' then still use the joystick for adjustments
Yeah that's how I was thinking to do it.

Strangely when pressing, B, C or D some values in memory change. I am pretty sure those values don't do anything though.

The game is also doing some extra stuff when reading inputs during the high score initials entry phase. I'm wondering if SNK just gave Taito some code snippets that got slapped in largely unchanged or something. The first two C ROM pairs are from Power Spike 2, which also has me wondering if the P ROM has some PS2 code in it as well. Why PS2 of all games???

To be around at these companies when all this was happening would have been so cool.
 

Neo Alec

Ned's Ninja Academy Dropout
20 Year Member
Joined
Dec 7, 2000
Posts
11,975
Yeah that's how I was thinking to do it.

Strangely when pressing, B, C or D some values in memory change. I am pretty sure those values don't do anything though.

The game is also doing some extra stuff when reading inputs during the high score initials entry phase. I'm wondering if SNK just gave Taito some code snippets that got slapped in largely unchanged or something. The first two C ROM pairs are from Power Spike 2, which also has me wondering if the P ROM has some PS2 code in it as well. Why PS2 of all games???

To be around at these companies when all this was happening would have been so cool.
The Power Spikes II roms aren't used for anything, are they? The carts were built out of leftover stock.
 

city41

Aero Fighters Flyboy
10 Year Member
Joined
Dec 27, 2010
Posts
2,085
The Power Spikes II roms aren't used for anything, are they?
I don't think so. I whipped up a script that records which CROM tiles are being used and all come from the third pair. That does make sense they just reused PS2 boards.

Now I'm curious about the CD version, does it have bogus tiles too, or did they fix this there?
 

Neo Alec

Ned's Ninja Academy Dropout
20 Year Member
Joined
Dec 7, 2000
Posts
11,975
So the Power Spikes 2 roms are actually visible to the cartridge game? I guess I had always thought they just jumpered the boards somehow to only have that third spot visible.

I remember checking this at some point. The CD version doesn't have the extra data. The .SPR file (C roms) only totals 832 KB. That's much less than the total for all 6 C roms.

1708534707848.png
 
Last edited:

city41

Aero Fighters Flyboy
10 Year Member
Joined
Dec 27, 2010
Posts
2,085
I remember checking this at some point. The CD version doesn't have the extra data. The .SPR file (C roms) only totals 832 KB. That's much less than the total for all 6 C roms.
haha, I just did this check.
So the Power Spikes 2 roms are actually visible to the cartridge game?
Well, they are visible in MAME. And a MAME PB rom has the PS2 croms in it. On real hardware? I don't know. Possibly they had a way to make it so reading from the ps2 roms would fail or always return zero or something? But I doubt it, because the game will never do that, so why go to the extra trouble?

1708538426321.png

Here in MAME when the game asks for the first half of his "PUSH 2P" graphic, I force it to use a PS2 tile instead.
 

city41

Aero Fighters Flyboy
10 Year Member
Joined
Dec 27, 2010
Posts
2,085
You could also just do one button held down as 'slow' then still use the joystick for adjustments
I've now made this, as it was super simple

Patch file is here: https://github.com/city41/pb-precise-controls-hack/tree/main/bps

It will be on romhacking.net eventually (just submitted it)

With this patch, when holding down B, left and right go into "precise mode" where they only move by one position at a time. There's no indication or hint the patch is there, if you don't press B, it's identical to the original game.
 
Top