Mapping a Quit button to a gamepad on JZINTV
Short question: can it be done without XBOXDRV?
(XBOXDRV is roughly a million times too scary for my current level of expertise.)
I have a PS3 gamepad set up through HACKFILE.CFG and that's all working well so far as playing the games goes - the only problem is that I can't quit out back to Retropie without using a keyboard, which is a total PITA. I can't figure out a way to map the F1 key to a button on the pad. Am I wasting my time even trying?
@SpudsMcToole You can add mappings to
HACKFILE.CFGto quit and reset. I have the following lines in my hack files that will let me quit with the Select button and reset with the PS button (required for some games to restart).
JS0_BTN_00 QUIT JS0_BTN_16 RESET
@dudleydes Works beautifully, thanks :)
dudleydes last edited by dudleydes
@dudleydes Yeah, I found that when I searched before posting the question, but like I said, XBOXDRV is absolutely terrifying :)
dudleydes last edited by dudleydes
@SpudsMcToole I agree xboxdrv isn't the most user-friendly application but the work has been done for jzIntv and PS3 controllers. It would be a case of placing text files in appropriate folders and editing existing files.
Like yourself, I used keyboard hack files to map my PS3 controller but I never found a satisfactory mapping to play Advanced Dungeons and Dragons Cloudy Mountain. Until, that is, @mediamogul posted his excellent xboxdrv guide.
I can now play Cloudy Mountain as a twin stick shooter, the left stick to walk/run and the right stick to fire arrows in 8 directions (as well as map navigation). I would say that this is a better experience than on the original Intellivision because it's now possible to run and fire arrows at the same time. I'm ready to take on the fastest Hero skill level!
I recommend you give it a go. I'm happy to advise so that you can set up without upsetting your existing hack file(s).
PS. The other game xboxdrv makes possible is Tron Deadly Discs.
I can now play Cloudy Mountain as a twin stick shooter
Very nice usage! It's always great when you think up a control scheme that improves on the original.
The other game xboxdrv makes possible is Tron Deadly Discs.
I have a mapping for this game that I like, but I can't help but think I could improve it. How did you go about mapping the keypad-directional firing? If it was all mapped to the right stick, how did you handle the diagonals?
@mediamogul By default, jzIntv, maps the first joystick's first hat's 8 directions to the numeric keypad on the right Intellivision controller. The d-pad on a Xbox controller registers as a hat so pressing up and left on the d-pad would be the same as pressing key 1 on an Intellivision controller.
The d-pad on a PS3 controller registers as buttons so using xboxdrv allows me access to the numeric keypad of an Intellivision controller. Now playing games with the d-pad and the left analog stick is difficult so I swapped the hat (d-pad) with the redundant right analog stick with the following in my xboxdrv config:
ABS_Z = DPAD_X ABS_RZ = DPAD_Y ABS_HAT0X = x2 ABS_HAT0Y = y2
I also removed the line
dpad-as-button = truefrom the config so that the d-pad inputs are read as hat axes.
The emulated Xbox controller is assigned JS1 so I created a hack file for jzIntv to interpret the inputs correctly. You can check my xboxdrv config and hack file here.
Kudos really goes to the developer of jzIntv for mapping the left analog stick to the left controller's disc and the hat to the right controller's numeric keypad, thereby removing the limitation of having to release the disc before pressing a key. Time to take those bloody winged dragons!
Very, very kool. I'm going to have fun reworking my Intellivision controls around this information. Thanks!
edmaul69 last edited by
@SpudsMcToole you can add PAUSE as well to your controller.
edmaul69 last edited by edmaul69
It's amazing what people come up with. I'll have to look that up.
dalves last edited by
Does anyone know what the JS0_BTN number would be if I wanted to be able to quit jzintv by pressing the select and start buttons together like with the other emulators?
@dalves Like most non-RetroArch emulators, jzIntv uses a single button to quit. To find the
JS0_BTNyou would like to assign to quit jzIntv, you can use the
event_diag.romrom. More info at: https://retropie.org.uk/docs/Mapping-a-Controller-for-Intellivision/
ts-x last edited by ts-x
Use Select as a hotkey equivalent (this example is for an Xbox360 controller, so Select is 8 and Start is 9)...
MAP 0 JS0_BTN_08 PSH1 MAP 1 JS0_BTN_08 PSH1 JS0_BTN_09 QUIT
Or define Select + Start as a combo button press (may need newest version of jzintv for this?)...
ADD_COMBO 0 JS0_BTN_08 JS0_BTN_09 COMBO0 QUIT
As a follow up to the discussion above, I recently discovered that it's also possible to use combo button presses as an alternative to the right stick for diagonal shooting in games like Cloudy Mountain & Tron Deadly Discs...
ADD_COMBO 0 JS0_BTN_02 JS0_BTN_03 ADD_COMBO 1 JS0_BTN_03 JS0_BTN_01 ADD_COMBO 2 JS0_BTN_00 JS0_BTN_01 ADD_COMBO 3 JS0_BTN_00 JS0_BTN_02 COMBO0 PD0L_KP1 COMBO1 PD0L_KP3 COMBO2 PD0L_KP9 COMBO3 PD0L_KP7 JS0_BTN_00 PD0L_KP8 JS0_BTN_01 PD0L_KP6 JS0_BTN_02 PD0L_KP4 JS0_BTN_03 PD0L_KP2
Using that mapping, X shoots west, Y shoots north, and X+Y shoots northwest. This also works really well in sports games requiring 1-9 keypad zone press e.g. Slam Dunk, Spiker & Super Pro Football.
Zazie last edited by
I did not understand anything. How do I map the reset on the emulator? And what does the PS3 have to do with it?
thedishking last edited by
Thank you for posting this! The combo allows JZINTV to respond to multiple buttons, while leaving discrete function for something else.
Appricate your help!
ts-x last edited by
@thedishking No problem, glad it was helpful. I actually added a more detailed version to the docs a few weeks back as well. My revisions include some other more advanced functions e.g. custom palettes, custom resolutions, and analog dead-zone tweaks.
I also have pre-configured keyboard hack files for about 140 games that I'm planning to upload to GitHub within the next few weeks. Kind of my interpretation of how to best map the 16-key Intellivision controller to modern controllers with dual analog sticks and shoulder/trigger buttons. Spent a ton of time getting things just right, as 30+ years later Intellivision is still one of my favorite systems!
SavedByZero last edited by SavedByZero
@dudleydes Hey there -- glad I found this. I've tried out your xboxdrv file that includes this snippet,and (EDIT) managed to map it to my Xbox controller after finding the right names for the analog sticks and whatnot. However, in Tron:Deadly Discs, I can no longer fire diagonally since the mimic-xpad setting kills the diagonal movements for the second stick. If I remove mimic-xpad, I get the diagonal disc throwing back, but the controls jam up and break if I try to map the disc throwing buttons to the fully enabled 8 directional R2 stick -- and weirdly, ONLY when I fire diagonally.
Anyone else have this issue?