Main > Main Forum
SNK Rotary joystick controller project
(1/5) > >>
brooksware2000:
I am working on a rotary joystick encoder project that I will release to the boards for the Ikari warriors style rotary joystick. Functionality will be similar in function to the druins controller currently selling for $45. I am not expecting to make money off this project, just want to present it to the board if anyone is interested in helping out with the project. I will be using Microchip 16F628 chips because that is what I have lying around.

Hit me up if anyone is interested in working with me on this project. I am really close to a working prototype on paper, just need to start coding and tesing.
geekbrain:
Brooksware2000

This was debated around Christmas.  A little bit of a pissing contest ensued.  I have written code for a PIC16F84 (because that's what I had laying around) for a friend.  Works with an IPAC and seems to catch all the keystrokes in something like Wordpad but jumpy in MAME32.  I can email if your interested.  I was going to share on the board as well but haven't done so until I figure jumpy problem out.

Geekbrain
Tiger-Heli:

--- Quote from: geekbrain on March 20, 2004, 05:05:29 pm ---Brooksware2000

This was debated around Christmas.  A little bit of a pissing contest ensued.  I have written code for a PIC16F84 (because that's what I had laying around) for a friend.  Works with an IPAC and seems to catch all the keystrokes in something like Wordpad but jumpy in MAME32.  I can email if your interested.  I was going to share on the board as well but haven't done so until I figure jumpy problem out.

Geekbrain

--- End quote ---
Jumpy Problem (My Guess) - The true SNK rotaries are set up so each click was one turn of the character (not sure if it was 30 or 45 degrees).  This is a pain to work with a keyboard or mouse, so MAME is set-up so that the character rotates from when the key is initially pressed until the key is released.

What this means is that rotating the stick slowly causes the switch to be closed too long, and the character over-rotates, and rotating the switch too quickly causes the character to under-rotate.

Mc-Escher and JerryJanis added code to make the rotary games a true one-increment per button press option.  Urebelscum added this into MAME Analog Plus.

Try your interface with MAME analog plus, and map the outputs from your interface to Button 4 and Button 5 in MAME analog plus instead of the DIAL inputs.

For example, MAME currently has DIAL set to something like Z and X on the default codeset.  Assuming you have you I-PAC and interface set so rotation is Z and X, go into the TAB menu in MAME analog Plus and set Dial to "NONE" (or some unused key) and set P1B4 to Z and P1B5 to X (P1B4 and P1B5 inputs will not be available in the official MAME version).
brooksware2000:

--- Quote from: Tiger-Heli on March 20, 2004, 05:21:01 pm ---
--- Quote from: geekbrain on March 20, 2004, 05:05:29 pm ---Brooksware2000

This was debated around Christmas.  A little bit of a pissing contest ensued.  I have written code for a PIC16F84 (because that's what I had laying around) for a friend.  Works with an IPAC and seems to catch all the keystrokes in something like Wordpad but jumpy in MAME32.  I can email if your interested.  I was going to share on the board as well but haven't done so until I figure jumpy problem out.

Geekbrain

--- End quote ---
Jumpy Problem (My Guess) - The true SNK rotaries are set up so each click was one turn of the character (not sure if it was 30 or 45 degrees).  This is a pain to work with a keyboard or mouse, so MAME is set-up so that the character rotates from when the key is initially pressed until the key is released.

What this means is that rotating the stick slowly causes the switch to be closed too long, and the character over-rotates, and rotating the switch too quickly causes the character to under-rotate.

Mc-Escher and JerryJanis added code to make the rotary games a true one-increment per button press option.  Urebelscum added this into MAME Analog Plus.

Try your interface with MAME analog plus, and map the outputs from your interface to Button 4 and Button 5 in MAME analog plus instead of the DIAL inputs.

For example, MAME currently has DIAL set to something like Z and X on the default codeset.  Assuming you have you I-PAC and interface set so rotation is Z and X, go into the TAB menu in MAME analog Plus and set Dial to "NONE" (or some unused key) and set P1B4 to Z and P1B5 to X (P1B4 and P1B5 inputs will not be available in the official MAME version).

--- End quote ---

Yeah, send me what ya got and I'll take a look at it. I've gotten it to work pretty well using LED's to test the output but I am still refining things a bit. I'd love to take a look at what you have as well. email me at chbrooks@srt.com
brooksware2000:

--- Quote from: brooksware2000 on March 20, 2004, 09:36:55 pm ---
--- Quote from: Tiger-Heli on March 20, 2004, 05:21:01 pm ---
--- Quote from: geekbrain on March 20, 2004, 05:05:29 pm ---Brooksware2000

This was debated around Christmas.  A little bit of a pissing contest ensued.  I have written code for a PIC16F84 (because that's what I had laying around) for a friend.  Works with an IPAC and seems to catch all the keystrokes in something like Wordpad but jumpy in MAME32.  I can email if your interested.  I was going to share on the board as well but haven't done so until I figure jumpy problem out.

Geekbrain

--- End quote ---

That's great information, I have not tried analog mame yet so I will be testing with that as well. I figure that we can work on something that all can benefit from without it costing to much. Heck, I think I paid about $1.00 a piece for the pic chips.
Jumpy Problem (My Guess) - The true SNK rotaries are set up so each click was one turn of the character (not sure if it was 30 or 45 degrees).  This is a pain to work with a keyboard or mouse, so MAME is set-up so that the character rotates from when the key is initially pressed until the key is released.

What this means is that rotating the stick slowly causes the switch to be closed too long, and the character over-rotates, and rotating the switch too quickly causes the character to under-rotate.

Mc-Escher and JerryJanis added code to make the rotary games a true one-increment per button press option.  Urebelscum added this into MAME Analog Plus.

Try your interface with MAME analog plus, and map the outputs from your interface to Button 4 and Button 5 in MAME analog plus instead of the DIAL inputs.

For example, MAME currently has DIAL set to something like Z and X on the default codeset.  Assuming you have you I-PAC and interface set so rotation is Z and X, go into the TAB menu in MAME analog Plus and set Dial to "NONE" (or some unused key) and set P1B4 to Z and P1B5 to X (P1B4 and P1B5 inputs will not be available in the official MAME version).

--- End quote ---

Yeah, send me what ya got and I'll take a look at it. I've gotten it to work pretty well using LED's to test the output but I am still refining things a bit. I'd love to take a look at what you have as well. email me at chbrooks@srt.com


--- End quote ---
Navigation
Message Index
Next page

Go to full version