MiSTer-devel / Apple-II_MiSTer

Apple II+ for MiSTer
48 stars 18 forks source link

Super Bunny - Joystick Control Problems #31

Closed ransom1122 closed 1 month ago

ransom1122 commented 3 months ago

Super Bunny - Apple II Mister FPGA

Using - Apple-II_20240423

There is an issue with this core with this game - Super Bunny

Any version of this game. Press "P" When Game Starts to enable "Joystick Mode"

Now the game is forcing the Bunny to the left which is incorrect...

Bunny should face right, and fire button is to jump in the facing direction

On The Joystick Pressing "Left" turn turn the bunny around to Face Left and Pressing "Right"

I have used 2 different Xbox One Controllersd and both have the same problem I have used the same game on a windows appleii emulator and it doesnt create this problem.

Game Links

Total Replay v5.1.hdv https://archive.org/download/TotalReplay/Total%20Replay%20v5.1.hdv

Super Bunny (19xx)(Datamost)[cr].dsk https://archive.org/download/zm_Super_Bunny/Super_Bunny.dsk

Can this be fixed?

Newsdee commented 1 month ago

I can confirm the behavior with the game, but this is a problem with how the game is coded rather than the core.

Apple II uses an analog joystick (actually 2 paddles) that report the position with a number from 0 to 255 (0xFF) for each axis. I can see from a test program that the core defaults the joystick at 127 (0x7F) which is exactly the middle. So the core is fine.

The problem is that Super Bunny does not interpret that value (127) as the middle... instead it thinks it's a value to the left. A different game, Sneakers, interprets 127 to be more to the right (the ship is not centered at all). Yet other games such as Wavy Navy or Minit Man, are fine with this value being the middle.

This behavior was a problem back in the day too; but at least the original joysticks had a couple of potentiometers to manually calibrate each axis, allowing to compensate for when games behaved this way. What i'd suggest here is to use a real joystick with such option (+ an USB adapter), which would suit the core better than a PS3/4 controller anyway.

ransom1122 commented 1 month ago

Thanks for testing, such a shame you can't play it then without a real controller

Newsdee commented 1 month ago

I just tried in real hardware and I get the exact same problem if my joystick is calibrated at the middle. So even a real controller will make it behave in the way you describe.

Fine-tuning with AppleWin, I see that Super Bunny will face right if you just adjust the X axis by +1 (while Sneakers needs an adjustment of -55 (!) to be centered - talk about bad paddle handling...)

But even with that +1 adjustment, there is no "neutral" positioning of the Bunny; it will always face left or right all the time.

I can suggest instead to play with the keyboard option, but mapping keyboard buttons to your controller (using MiSTer's mapping feature in OSD menu). That will probably make gameplay much more enjoyable than having to hold the stick in one direction all the time...

Newsdee commented 1 month ago

@sorgelig this issue can be closed