To use a game controller with jzIntv, you need to create keyboard hackfiles. To create these, you need to know how jzIntv recognises game controller inputs. The event_diag.rom will show you the events sent by your joystick. You can download it from the binaries package at the jzIntv project page at the link below. Check the rom folder.
Place event_diag.rom in the intellivision roms folders for now and run the following command from the console.
/opt/retropie/emulators/jzintv/bin/jzintv -z1 -f1 -p /home/pi/RetroPie/BIOS /home/pi/RetroPie/roms/intellivision/event_diag.rom"
Make a note of the output. I found the button bindings to be the same as those used in RetroArch. The disc was bound to the left analogue stick so I didn’t map these in my hackfile. You can delete event_diag.rom now if you wish.
Documentation at the link below will tell you how to use these event names to bind them to controller inputs in jzIntv.
Below is a hackfile for a PS3 controller that I use for a lot of arcade-style games (Astrosmash, Beauty and the Beast, Bump’n’Jump, BurgerTime, Chip Shot, Defender, Lock’N’Chase, Star Strike). Select is used to exit the emu.
MAP 0 ; Game interface JS0_BTN_00 QUIT ; Quit jzintv JS0_BTN_16 RESET ; Reset game ; Keypad JS0_BTN_04 PD0L_KP1 ; Key press 1 JS0_BTN_05 PD0L_KP2 ; Key press 2 JS0_BTN_06 PD0L_KP3 ; Key press 3 JS0_BTN_07 PD0L_KP4 ; Key press 4 JS0_BTN_01 PD0L_KP5 ; Key press 5 JS0_BTN_03 PD0L_KPE ; Key press Enter JS0_BTN_13 PD0L_KPC ; Key press Clear ; Action Side Button JS0_BTN_11 PD0L_A_T ; Top Action Button JS0_BTN_14 PD0L_A_L ; Lower Left Action button JS0_BTN_15 PD0L_A_R ; Lower Right Action button
Copy and paste the above into a text editor. Save it as arcade.kbd and place it in the Intellivision roms folder.
To make use of the hackfile, you need to use the kbdhackfile flag. I use arcade.kbd for the majority of games but some games require more complex bindings (e.g. B17 Bomber) so I use custom hackfiles for these. As I have a few Intellivision games (20-25), I have created shell scripts to launch each game mapped to its relevant hackfile.
The shell script below is for Lock and Chase. Note I have changed the name of the rom.
#!/bin/bash /opt/retropie/supplementary/runcommand/runcommand.sh 0 "/opt/retropie/emulators/jzintv/bin/jzintv -z1 -f1 -p /home/pi/RetroPie/BIOS -q --kbdhackfile=/home/pi/RetroPie/roms/intellivision/arcade.kbd /home/pi/RetroPie/roms/intellivision/locknchase.int"
Place the script in Intellivision roms folder. Edit es_systems.cfg so that only .sh and .SH extensions are included in ES. Restart ES and you’re good to go.
If this works for you, please let me know and I’ll add it to the Wiki.
Is there anyway to get ES to just see the shell script so there isn’t a duplicate populated in the rom list for both the rom and the shell script?