Closed kikendo closed 3 years ago
Hey @kikendo!
Here's a rough test build with CD32 pad support mapped according to the above (hoping I've understood it properly) along with up/down/fire on the File Selector for convenience.
It assumes the joystick connected to the gameport is a CD32 pad and does no intelligent detection yet (but the detection code is there and ready to be worked into the program it when I work some other things out).
You might see the odd bit of graphical corruption here and there as a result of unfinished os-friendly changes/other work-in-progress stuff that this is built on, so this is known, just wanted to get this to you earlier.
Play with the controls and try to break it, basically! 👍 The code for this is done similar to my new keyboard routines which later on should allow everything to be completely remapped by the user - even the L/R shift buttons.
Holy molly! I'll test this today kamikaze style.
By the way, would it be hard to add another controller of the same type?
Awesome :)
I don't think it should be too hard; just need to get input.device
to let go of the mouse port pins so we can do the CD32 bit-banging on that port too. The code is set up to work on either port once I have that bit figured out! 😄
So currently this does not seem to work, having timing issues on real hardware making the interface randomly activate/deactivate elements as time goes on.
Here's an updated control scheme adding the shortcut I forgot about and changing loop cycling triggering:
L+R = shift keys
Pad Left: Nudge - Pad Right: Nudge + Pad Up: BPM + Pad Down: BPM -
R+Pad Left: Nudge Hard - R+Pad Right: Nudge Hard + R+Pad Up: Pattern Fwd R+Pad Down: Pattern Rwd
If we can do 3 key combos: L+R+Pad Up: File Menu (otherwise L+Pad Up: File Menu)
Red button: Loop FX on/off Blue button: loop length cycle + L+Blue button: loop length cycle - Green button: Slip mode Yellow button: Set Loop In/Out/Off L+Yellow button: Repitch on/off Start button: Play/Pause L+Start button: Play/Cue R+Start button: Set Cue
Test iso uploaded here: http://kikencorp.com/secret/cd32test.iso
I started this and maybe it's close or it to work. I am using JOTD's CD32 pad code found in the JST source here: http://jotd.pagesperso-orange.fr/amiga.html
I included his code and I am just unable to wire it to the rest of the program. Hoffman will have to look at my version of the code when I send it to him.
I already devised a preliminary control scheme fr CD32 pad control. It involves shift keying:
L+R = shift keys Pad Left: Nudge - Pad Right: Nudge + Pad Up: BPM + Pad Down: BPM - R+Pad Left: Nudge Hard - R+Pad Right: Nudge Hard + R+Pad Up: Pattern Fwd R+Pad Down: Pattern Rwd Red button: Loop FX on/off Blue button: loop length cycle Green button: slip mode Yellow button: Set Loop In/Out/Off L+Yellow button: Repitch on/off Start button: Play/Pause L+Start button: Cue R+Start button: Set Cue
Of course this will need intensive testing and redoing.
I have a controller board to create a CD32 pad. I could even turn this into a bespoke controller!