MiSTer-devel / Astrocade_MiSTer

Bally Astrocade for MiSTer
GNU General Public License v3.0
2 stars 9 forks source link

Paddle is broken on latest versions of core #7

Closed KremlingKuthroat19 closed 1 year ago

KremlingKuthroat19 commented 1 year ago

After doing extensive testing, the paddle feature appears to be broken on releases for the last couple of years. The left analog stick doesn't function at all for the paddle in the releases this decade.

The most recent release where the paddle works is Astrocade_20190927.rbf. The paddle functionality also works in all previous versions of the core too

sorgelig commented 1 year ago

I don't see the reason why paddles shouldn't work in newer builds. I only see that before analog joysticks were used as paddle while newer builds use dedicated paddle input. So you need a paddle input device.

KremlingKuthroat19 commented 1 year ago

The 7800, PSX, and SMS cores have dedicated paddle support for the left analog stick as long as you select the paddle controller as a device type. The difference with this core is that the paddle is the standard and only controller for the Astrocade afaik. The core is essentially unplayable w/out it on a modern controller since about half of the games use paddle support. I tested this with a DualSense and a SN30 Pro controller fyi.

The 7800 for example handles paddles perfectly. The older build that I listed has the paddle mapped to the left analog stick's Y axis. Ideally, this could be implemented like the Master System core where you can select a paddle or a joystick to control the paddle as an option on the OSD. If possible, adding the option to map the paddle to the X axis or Y axis through the OSD would be ideal, like how the AY-3-8500 core handles it.

Can this please be reimplemented? I'll test an RBF if you'd like :)

sorgelig commented 1 year ago

Yes, it can be added as an option. Give me some game names as i'm not familiar with this console.

If paddles are used very often, then it's better to get a dedicated paddle because analog stick as a paddle is not a good idea anyway.

KremlingKuthroat19 commented 1 year ago

Just tested the whole official library. It's not that much. Just about 40 games. I counted 15 games that use the paddle controller. Many games would be preferable to use the X axis while others the Y axis. It's about 50/50 in that regard.

Here's the list of games that use the paddles: -280 ZZZAP + Dodgem -Blackjack + Poker + Acey-Deucy -Bowling -Brickyard + Clowns -Conan the Barbarian -Dog Patch -Football -Gunfight + Checkmate + Calculator + Scribbling -ICBM Attack (game doesn't launch though so couldn't test :/) -Letter Match + Spell 'n Score + Crosswords -Music Maker -Red Baron + Panzer Attack -Sea Wolf + Missile -Soccer -Tornado Baseball + Tennis + Hockey + Handball

The reason for wanting to use a modern controller is convenience. I'm reluctant to buy a modern paddle controller of some kind because using paddles on a modern controller actually is decent if you have some good analog sticks :)

Maybe I'll get a paddle controller in the future, but using a DualSense has served me well in the 2600 core so far

birdybro commented 1 year ago

Since the previous sys update the dual analog stick stuff was added. The dual analog signals aren't hooked up to this core, maybe that's it?

sorgelig commented 1 year ago

try this build: Astrocade.zip I've added OSD option to select paddle controller.

KremlingKuthroat19 commented 1 year ago

try this build: Astrocade.zip I've added OSD option to select paddle controller.

Thank you! Just tested all the paddle games and they work brilliantly! Being able to switch between X and Y axis is a great feature too! The paddle works on all 4 controllers too. Thank you sir! :)

Don't want to push my luck too much but is it possible to have the option for the paddle be mapped to the right analog stick? I understand that may be more of a framework issue and all other cores may have to add support for that, but I thought it'd be worth asking. No big deal if it's too much work though. This is already an awesome build

sorgelig commented 1 year ago

It's possible. Many games with paddle need usually at least one button. For example steering the car on right stick with pressing A button is doubtful convenience...

KremlingKuthroat19 commented 1 year ago

It's possible. Many games with paddle need usually at least one button. For example steering the car on right stick with pressing A button is doubtful convenience...

For sure. Thinking about it, the Astrocade is the only core that I can think of that has this unique control scheme. If paddles for the right analog stick is implemented, it'd probably be best to just keep it exclusive to this core. The controller is a pistol grip with a trigger. The movement is both an 8-way joystick and a paddle in one. It's a very bizarre controller. https://www.videogameconsolelibrary.com/images/1970s/77_Bally_Home_Library_Computer/Bally_Professional_Arcade-03_small1.jpg

When pressing the A button or fire button with a right analog stick as a paddle is indeed bizarre and inconvenient. It does work though if you map the fire button to the right or left trigger for a DualSense. I use the triggers for the paddle buttons in the 7800 core and it actually works pretty great since your index finger naturally rests there when using the analog sticks.

Using the right analog stick as d-pad movement is counterintuitive to every other game. But if you could map the d-pad movement to the left stick and the paddle to the right stick while using the triggers as the fire buttons, then it becomes an ideal controller setup. For the numberpad, I map the d-pad and face buttons so I can easily navigate the menus. It's a neat controller configuration.

If it's not too much to ask, could you please make an RBF with the option to map the paddle to the right stick with the X and Y axis options? I'll gladly test it if you build it and promise I won't ask for anything else lol

sorgelig commented 1 year ago

added

KremlingKuthroat19 commented 1 year ago

You're amazing! This works perfectly. Thanks a million! :)