I started working through the games from A-Z, the first two I hit were 2060 BC, which needs buttons for flapping and picking/dropping things and Alerion which needs two fire buttons. So...off the back of those two games I completely rewrote the * command for mapping Joysticks to keys, so it supports up to 8 fire buttons.
I've also modified the direction key mapping, so it also checks the 16bit Joystick interface which USBJoystick maps to thumb wheels if available. So on XB360 controllers you can use the thumb sticks, or D-Pad to move.
Alerion has however thrown up an issue I need to investigate. When Joystick keymapping is enabled, Alerion randomly crashes which appears to be down to ADFFS calling the KeyV vector to trigger the key press. I've tried various workarounds, such as calling KeyV via CallBack, checking for threading etc. None of which worked.
I think what I'm going to do is continue adding Joystick key mapping to games and see just how many are affected - its possible it is simply a re-entry bug in Alerion which needs patching.
Abuse and Blood Lust pose another challenge as they use the mouse for the fire direction, so I need to figure out a solution. I did try using the mouse mapping in USBJoystick, but couldn't get it working - I've not had a chance yet to figure out why that didn't work.
Games with Joystick support added (2.74):
- F10001 2067 BC (1993) (Oregan Developments)
- F10006 Aggressor (1992) (Atomic Software)
- F10643 Aggressor Macho Edition (1992) (Matt Black)
- F10706 Alien Invasion (1990) (Alien Images)
- F10010 Alerion (1988) (DABS Press)
- F10015 Alone In the Dark (1995) (Krisalis Software)
- F10231 Ballarena (1990) (Sisteme)
- F10036 Ballarena (1994) (Uffenkamp Computer Systeme)
- F10038 Battle Chess (1993) (Krisalis Software)
- F10041 Big Bang (1996) (Psycore)
- F10046 Blitz! (1991) (Arxe Systems)
- F10048 Blood Sport (1993) (Matt Black)
- F10047 BloodLust (1998) (The Fourth Dimension)
- F10052 Bobby Blockhead vs The Dark Planet (1991) (Atomic Software)
- F10053 Boogie Buggy (1991) (The Fourth Dimension)
- F10058 Bubble Impact [demo version] (1997) (Moving Pixels)
- F10059 Bug Hunter & Moondash (1990) (Minerva)
- F10060 Bug Hunter in Space (1990) (Minerva)
- F10065 Cannon Fodder (1994) (Krisalis Software)
- F10067 Carnage Inc. (1993) (The Fourth Dimension)
- F10355 Cascade (1992) (Milo Shaffer and Richard Norman)
- F10071 Cataclysm (1991) (The Fourth Dimension)
- F10482 Cataclysm [SA version] (1998) (The Fourth Dimension)
- F10072 Caverns (1991) (Minerva)
- F10624 Chequered Flag [RO3 version] (1992) (Cambridge International Software) (steering only reliable when stick pulled down)
- F10089 Confusion (1989) (Cambridge International Software)
- F10095 Crisis (1990) (Cambridge International Software)
- F10157 Fireball II (1990) (Cambridge International Software)
- F10202 Hoverbod (1988) (Minerva)
- F10565 Humanoids and Robotix (1993) (Cambridge International Software) (Humanoids not ideal, as left/right need to switch direction. Robotix not ideal, as it needs the right thumbstick as the fire direction)
- F10204 Ibix the Viking (1989) (Minerva)
- F10213 Jet Fighter (1988) (Minerva) (needs to ignore a centred Joystick)
- F10220 KerBang! (1991) (Eterna)
- F10253 Missile Control (1988) (Minerva)
- F10270 Orion (1988) (Minerva) (not ideal, as left/right need to switch direction)
- F10289 Provocator (1991) (Computer Tutorial Services)
- F10303 Redshift (1990) (Minerva)
- F10327 Serpents (1993) (Cambridge International Software)
- F10362 Talisman (1989) (Minerva)
- F10366 Terramex (1988) (Grandslam Entertainments)
- F10367 Thundermonk (1989) (Minerva)
- F10402 Zarch (1987) (Superior Software) (needs to ignore a centred Joystick)
- F10153 Fine Racer (1991) (Eterna) (previously expected the Joystick on RTFM port 2)