VOGONS


First post, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

Have here this TSR to share, intended to perform key swapping for realmode DOS games.
It started out as a study in "can one write a TSR easily this days" - and thanks to the work of C. Masloch, one definitely can! - and the initial demo was adding next/previous weapons keys to Wolf 3D.
Since then I came into possession of a wireless Mouse-Pad Pro Controller As Keyboard and Mouse Combo Set by IINE and repurposed the tool to perform swapping of WASD or 1432 keypresses with cursor keys, and YZ keypresses with ZX to play DOS games that don't provide keyboard configuration of their own, primarily xLand/Chaos games.

Few other realmode games also work - I checked Hocus Pocus, Wolf 3D, Titus the Fox, Black Thorne (2012 online re-release), Bio Menace (GOG release) but some others had problems. Out of curiosity I checked protected mode as well (and even added compatibility mode /Z to avoid crashing), and while the tool is generally useless Tyrian 2000 works in menus, and WackyWheels in setup routine. Of course the moment the games installs its PM ISR routine it's keyboard input is no longer influenced in any way.

Now, there are also some issues - problems with running this tool with pure MSDOS, even when Win9X or FreeDOS 1.3 work fine, and EMS driver loaded influencing its operation.

So, while the use case remains rather narrow I though I might as well share what I have in its "alpha" stage, and of course will appreciate feedback from other curious retro fellows.

AND on a tangentially relate note, also sharing a patch for Tyrian 2000 (GOG version) which allows binding S and M to games controls - at the expense of removing keyboard toggle for sound and music ingame. This is in case you would not bear the tyranny of these M S over your personal control style freedom anymore and wand to use WASD 😉

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)
Beetle/M/i815+ICH2 - Celeron 566Mhz - Opti 924 (Typhoon Media)

Reply 1 of 1, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

After more testing, fixing a bug and and doing more mapping changes to allow remapping of Simarils idiosyncratic controls scheme, I seem to have stopped making progress. So far the configurations that I have seem to behave very differently.

DosBOX-X - all good
i815/ICH2 desktop machine with MS DOS 6.0 - doesn't work
ICH7 desktop machine with Windows 98SE/FreeDOS - all good
TP300LD laptop with FreeDOS - doesn't work

Surprisingly the TSR starts to work on the "doesn't work" configurations if JEMMEX+QPIEMU+VDPMI combo is loaded (which is something that comes with SBEMU 1.1 pre-alphas). But the combo is not 100% stable and not all games start fine with it.

Then comes game compatibility. I've listed some working games in the OP and added Robbo's Adventures, Electro Man, Black Zone to the list, and am using the TSR with them for couch style playing with the IINE controller. In Tyrian for example I use it to control both action and menus with WASD (with the patched version of the game executable shared above). Some games have issues though, e.g. aforementioned Silmarils games like like Metal Mutant. The latter works in DosBOX-X, but in the "all good" ICH-based real hardware configuration, doesn't.

Since I couldn't get the TSR fool Metal Mutant I ended up making a detour and patching it and Targhan to move direction and special action buttons more in agreement with the IINE controller, which luckily uses Shift as one of the two trigger buttons. This brought me a bit of joy to me, so I decided to post this and share the patches.

Otherwise, I have been playing around with JOYKEYS by Bret Johnson (of USB DOS drivers fame), which offers no fewer than 3 methods of scan keys insertion, and since source is available for it, I may eventually figure out how to make this tool of mine more agreeable as well...

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)
Beetle/M/i815+ICH2 - Celeron 566Mhz - Opti 924 (Typhoon Media)