Hardcoded/Keyboard Only Controls
-
I've been at it for a while and I'm finally getting close to deriving a universal gamepad control system for RetroPie. This includes games that usually only use mouse or keyboard input. The goal is to never need to pick up a keyboard or mouse outside of system maintenance purposes, allowing a more complete console-like feel to RetroPie during gameplay sessions. Since I want this to ultimately result in a guide explaining the setup, I'd like to gather as much information as possible so that I can consider as many use case scenarios as possible.
What I'm looking for here is an informal list of the emulators and ports that can only make use of keyboard input and also, which of them are non-configurable. I'm not asking anyone to do my homework for me, I'm just looking to see if I'm noticeably missing anything out of my own research. So far I have:
Emulators:
- Amiga - keyboard and mouse with hardcoded, keyboard only joystick controls
- Amstrad CPC - keyboard only
- Apple II - keyboard and mouse only
- Atari 800 and 5200 - keyboard with hardcoded, keyboard only joystick controls
- Coco - keyboard only
- Colecovision - keyboard only joystick controls that seem to be configurable
- Dragon 32 - keyboard only
- Intellivision - hardcoded, keyboard only joystick controls
- Macintosh - keyboard and mouse only
- Oric-1/Atmos - keyboard only
- SAM Coupé - keyboard only
- TI-99/4A - keyboard only
- TRS-80 - keyboard only
- Zmachine - keyboard only (No possible joystick control here unless a virtual keypad can be invoked)
Ports:
- Haven't started investigating yet. (The ones I use personally all have native joystick support)
Help in this would be appreciated, but it'll roll along regardless. I've been working on this since I started using RetroPie and after a ton of research, trial and error, I'm just glad to finally see some light at the end of the tunnel.
-
Depending on the Colecovision emulator you use: it might not be as configurable as we'd like. I use AdamEm (an emu of the Coleco Adam homecomputer that was fully compatible w/ the CV). Dunno 'bout the other one.
-
@Meneer-Jansen said in Hardcoded/Keyboard Only Controls:
Depending on the Colecovision emulator you use
Good to know. I'll look at both moving forward.
-
CoolCV can be installed easily in RetropPie if I'm not mistaken. AdamEm for Raspberry Pi, however, must be acquired from an AtariAge user named IntvDave. On a Pi 1B CoolCV runs too slow to be usable, AdemEm works fine though.
For info 'bout both see: http://atariage.com/forums/topic/240800-coolcv-emulator-for-mac-os-x-linux-windows-and-raspberry/page-14
-
Better controller support for the ColecoVision was the main reason I started working on this, so this will be very helpful.
-
My personal "help file" for AdamEm:
Adam Em
Contents
A. Joysticks
- Adamem.joy file
- Example
- Tips
B. Keyboard
C. Save/load
D. References
A. Joysticks
- Adamem.joy file
In the 'adamem.joy' file are the mappings for the joystick. On the left are the numbers that your joystick has in Linux (i.e. 0 = A button, 1 = B button, etc.) and on the right are ColecoVision's buttons (comma separated). I's hard to determine what the CV buttons exactly are, but for sure is the following [3]:
______________________________________________ Code | Coleco's button in .joy | ________|_____________________________________ p | Pause q | Quit r | Reset 1 ~ 10 | 1 to 10 on the CV controller f | Fire or left button a | Right button? b | ? Don't use, else AdemEm confused. c | Third button d | Fourth button ________|_____________________________________
Adamem looks for the 'adamem.joy' file and uses it. Because w/o it: no joystick support. However, if that file is empty then the joystick works too. Then axis 0 (the first analog or digital one) moves Mario and button "0" (usually a red button marked "A" on a controller) pauses the CV. There does not seem to be a way to make Mario jump w/ a controller then. These basic settings seem to be hard-coded. Trying to map button 0 to f (fire, jump) will NOT work. You MUST map another button to Fire on the CV!
-
Example
Example for mapping the iBuffalo Classic Gamepad (looks like an SNES controller). Use the following 'adamem.joy' file:1,f
4,q
5,r
7,1
This will let you choose 1 player mode w/ the Start button (button 7), exit w/ L1 (button 4) and reset w/ R1. The yellow B button (button 1) lets Mario jump/fire. Notice that there is NO mapping for button 0 (i.e. the red A button on the SNES controller). It seems to be hard coded to 'Pause emulator'.
- Tips
-
There may not be unmapped buttons in the adamem.joy file. You may skip a few, but
no "1, " (i.e. button 1 on your controller unmapped to the CV) entries. -
Determine your Linux controller codes w/:
jstest /dev/input/js0
(
sudo apt-get install joystick
)B. Keyboard
The mappings for a keyboard are [3]:
_____________________________________________ Arrow keys | Move ________________|_____________________________ Ctrl | Jump F5 | Sound on/off F10 | Exit Ctrl + F12 | Pause Crtl | Unpause F7 | Save state (make snapshot) -snap dkong.s00 | Load state -autosnap 1 | Auto load and save state F8 | Screenshot ________________|_____________________________
C. Save/load
Saving and loading is called making and loading a "snapshot". Make a snapshot w/ F7. Load a snapshot w/:
adamem dkong.col -snap dkong.s00
Another command line option:
-autosnap 1
Set snapshot mode to automatically load snapshot at start-up and write snapshot at shutdown [3].
D. References
[1] Atari age forum personal mail (PM):
http://atariage.com/forums/XXXXXX[2] Old AdemEm site:
www.komkon.org/~dekogel/adamem.html[3] Readme:
www.komkon.org/~dekogel/files/coleco/adamem.txt -
Very handy, thank you. I've been somewhat unwilling to test ColecoVision's presence in RetroPie due to it's lack of viable joystick options, so I look forward to testing it now.
-
@mediamogul said in Hardcoded/Keyboard Only Controls:
Very handy, thank you. I've been somewhat unwilling to test ColecoVision's presence in RetroPie due to it's lack of viable joystick options, so I look forward to testing it now.
Realize that the AdamEm emulator that I use is different from CoolCV which is supported by RetroPie. If you own a Pi 1B and want to try AdamEm you should contact froum member IntvDave at the Atariage forum (I might be so bold as to send you the executable if he has stopped following the AtariAge forum...).
Good luck! :-)
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.