I'm not gonna change the SS1 mapping for me as I find it pretty well thought out but this is still interesting. Thanks for the link Obeejw!![]()
I've been getting back into System Shock lately, and I found this great little program on the net for re-mapping keyboard keys. I'm a bit clumsy with the default movement keys in SS1, on this keyboard anyway, so it's come in really handy. It's called Tradekeys and is based off ZDnet keymap.
Compared to the old version, which was a chore to use, Tradekeys is infinitely better. The interface is much clearer, it runs as it's own program and you can save and load configs (yes!). It basically just takes your keystrokes and turns them into something else, and it works perfectly in DOS.
Download link: http://freyder.net/dist/trdkeys.zip
It was released in 2002 by PC magazine and runs on Windows 95/98/NT/XP, so you XP players can use it too. I've tested it in SS enhanced at 640x480 and it works fine. In Win 95/98, remapping is instant as soon as you press OK, but in XP, you'll need to log out and then log back in because of registry issues.
Here's my mappings:
W = S(forward)
S = X(back)
A = A(turn left
D = D(turn right)
Q = Z(step left)
E = C(step right)
Z = Q(lean left
X = W(lean center)
C = E(lean right)
R = R(look up)
F = V(look down)
V = F(look centre)
That allows you to use WASD for moving and turning, Q and E for when you need to sidestep, Z X and C for leaning (previously Q W and E) and R/F for easy looking up and down (I found center being in the middle was slow). I also add G to the CTRL key, giving me quick access to crouch, but also allowing me full height control through T, G and B if I need it.
I'm not gonna change the SS1 mapping for me as I find it pretty well thought out but this is still interesting. Thanks for the link Obeejw!![]()
The keybindings in SS1 feel quite natural to me after spending too much time using DromEd...
Nice idea though; does it remap the keys all the time, though? Or only while the chosen app is running?
Yep, it works all the time. The app just modifies the registry or something, so once you remapped a key and pressed the OK button, you can close the program and the key is set until you re-open Tradekeys and modify it again. Mappings remain the same after restarting as well.
It's mainly for new players really, and because it works so well with SS I thought it was thread worthy![]()
I wouldn't dream of remapping the controls in System Shock, but at least this program might be useful in stopping all the constant whining we get from new players regarding the controls![]()
"Awesome program for re-mapping SS1 keys"
Not to be a kill-joy...
Has anything really changed since the same discovery came up in this previous thread from late January of this year?
dvwjr
It's a new version of the rogram mentioned in that thread.![]()
But you're right. Every once in a while someone points at one of these tools as the solution to map keys in SS1. And shortly after I have forgotten about it because I never use it.![]()
What is it with you people? There's a method to remap ss1's keys so those of us who haven't played it on end can enjoy it and all the community gives it is a 'meh'?
Can I get anybody to back me on wanting to get this thing put in the FAQ for SS1 so people that're just now findng out about that little gem can remap their keys to taste?
Yeah - I was just thinking this should be mentioned in the FAQ.
The ability to save/load configs actually makes it useful this time. ZD keymap required you to remap every single key each time you wanted to play, as you had to undo all the re-maps one you were back in Windows (to type properly).
Really, there's no other remapping program that compares to the usefulness of this, not just in SS1 but in other old games. I do understand what people are saying, this kind of thing pops-up every once in a while, but I think Tradekeys covers everyones needs so that they don't need something else, and thus, don't need to create more threads.
Last edited by Obeejw; 30th Aug 2006 at 23:26.
I think for the Win9x family you have again provided the same solution as in previous 'finds'. I think it is FINE for Win9x systems. Congrats.Originally Posted by Obeejw
However for WinNT/2K/XP/2003 its usefulness is again, debatable. Why? Because it does not apply 'per user'. It does not allow a log-off/logon to activate and then a log-off/logon UserID to de-activate. No, it requires a re-boot - then a logon. Play System Shock with custom keys. Then change back to original keys, with a re-boot, again to de-activate. Log back in, back to normal. Just as in the other thread, OK if you don't mind a dedicated System Shock custom keyboard and PC during that entire time...
Here is the part of the source code for TradeKeys, from the ZIP file included with the download. Unlike Win9x - this is how the scancodes are modified for the WinNT/2K/XP/2003 family of operating systems. Just like all the other solutions for WinNT/2K/XP/2003 - it is merely a front-end for the registry changes necessary to re-map scancodes. Nothing more.
Line 455 of TradeKeysDlg.cpp:
What does Microsoft say about the use of the Registry to re-map scancodes on Win2K, WinXP, Win2003?Code:lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Control\\Keyboard Layout", 0, KEY_SET_VALUE, &hKey);
Source: Scan Code Mapper for Windows Windows Hardware Developer Central - Device Fundamentals>Input and HID TechnologiesThe following disadvantages are recognized:
• Once the map is stored in the registry, a system reboot is required to activate it.
• The mappings stored in the registry work at system level and apply to all users. These mappings cannot be set to work differently depending on the current user.
• The current implementation restricts the functionality of the map such that mappings always apply to all keyboards connected to the system. It is not currently possible to create a map on a per-keyboard basis.
dvwjr
My reply to this is:
Why not just install Windows 98SE on a second hard-drive and save yourself a HUGE amount of trouble with old games?. I did it and I've never looked back. The information on how to setup a dual-boot config is easy to find on the web, and a 10gb HDD is like $5. Seriously, being able to simply install a game and then play it without any mucking around (besides setting up sound and memory for DOS games) is heaven. It bewilders me why people go to such excessive lengths with like 5 programs and hacks to get SS1 to run.
It's usefulness in Windows NT/XP is debatable. Infact it's probably not practical at all. But I don't care, I've got Win98 :P. Thanks for the technical info though, it's definitely useful in understanding how these things work.
-let's sign our posts
Last edited by Obeejw; 1st Sep 2006 at 13:56.
Well if you want to look at it that way, I think a lot of people would agree that buying another hard drive and installing an entire OS just to play System Shock with custom controls counts as excessive lengths as well![]()
Obeejw: Since you have win98 .... could you download SS-Portable and test if it works on 98?
Regardless of how great it is once running, having to reboot your computer every time you want to play a game gets old real fast.
Well, five additional programs for the enhanced CD-ROM version of SYSTEM SHOCK on WinXP - much of that is 'urban' myth that happens on this (and other) forums. The only real problem with SYSTEM SHOCK running properly with the WinNT family NTVDM environment is what Mok discovered (and patched) in 2003 - the SYSTEM SHOCK code wrote to memory that it did not allocate from a DPMI server. This was masked in the DOS environment when it was first released because the less stringent Dos/4GW DPMI host portion of the DPMI host/client extender built into SYSTEM SHOCK did not GPF when this programming error occured. Mok found out that when the DOS/4GW client was operating under the stricter Windows DPMI v0.9 host this coding error was exposed as the game would GPF. (All hail Mok!) If this coding error had NOT been present then SYSTEM SHOCK would have functioned in the WinNT family NTVDM environment from Day One. Patch the code once and you are fixed forever.Originally Posted by Obeejw
WinXP(SP2) provides a fair SoundBlaster 2.0 emulation with General MIDI to boot. VDMsound for SB16 emulation is an option, not a requirement (though a nice one). No programs required here.
The ever mentioned 'slow mouse' in the NTVDM environment is not a SYSTEM SHOCK problem - it is a Microsoft NTVDM problem due to the failure to properly implement the Mouse API Int33h AX=000Fh function call. So use of the crippled MOUSE2KV.EXE is to correct an NTVDM problem, not a SYSTEM SHOCK code problem - though the user just knows he has a 'slow mouse' outside the default 320x200 video resolution. The code could be fixed to mask the NTVDM API errors.
The supposed necessity for NOLFB.COM is another comforting myth. The purpose of NOLFB is to mask a VESA BIOS from reporting its LFB support. The SYSTEM SHOCK code makes no attempt to use the Linear Frame Buffer method to manipulate video memory. It is all Int 10h AX=4F05h calls - in other words 'bank select'. SYSTEM SHOCK was written in 1993/1994 when the VESA VBE v1.2 standard was in effect. VBE 2.0 and its API support for LFB did not happen until after SYSTEM SHOCK shipped in 1994. Another program not needed.
The only other need for 'extra' programs/hacks comes from extending past the 640x480 VESA mode 101h video resolution. Then one has to play with VGA.SYS so that one can use VESA modes 103h and 105h because the default VGA.SYS won't let a full-screen NTVDM use the Video BIOS to touch certain registers. If the video adapter driver writers had let a full-screen NTVDM touch all video registers when it handed-off control to the full-screen session - none of this mucking around with the default VGA.SYS would be necessary. One time patch and all VESA games work for NVIDIA adapters. Not so on Matrox, not sure about ATI.
FYI,
dvwjr
But I didn't say that
What about the hundreds of other classic games that can run with no trouble on Win98?. Do I really have to cover everything in my response so that you know exactly what I'm thinking?. I think it's pretty obvious that you should assume I didn't mean just SS1.
I wish I could Kolya, but I can't download 60mb right now as I'm on 56k dialup. I could give a go in a day or two though. It looks really cool, would it work on one of those new USB keys that you can run programs off without modifying the host computer's HDD?
Well, I'm certainly not saying meh. Though I figured programs like this existed, I never bothered to find them, but now... well now I have no excuse not to play SS1. I'm a numberpad guy; I like my meese axes inverted and my left hand unWASD'd.
Yeah, it was obvious, and I was being deliberately obtuse, but on the other hand there's a shrinking selection of worthwhile games that won't run perfectly well in DOSBox on a relatively recent computer; essentially, 1994-1996 DOS titles like SS2 and Terra Nova (hell, I even get playable performance out of Crusader, which definitely does not run in Win98). On top of which, SS-Portable allows most (we hope) WinXP users to run System Shock without any fussing around at all. The argument that setting up and maintaining a separate installation of Win98 now will save you time is of dwindling utility.
what the hell do people have against virtual machines?
dosbox?
ms virtual pc?
That's not the kind of valuable information that justifies bumping an old thread I think. Especially since it's not like we never discussed dosbox or msvpc here.
Hey, don't be so hard on him. This thread took five months for him to download on his 1-baud modem. It's made of coconuts and powered by a monkey!
And yet another post! Run Modem-Monkey run!!!
While Modem-Monkey downloads this post we bring you:
The Legend of Monkey Fight
The Legend of Monkey Fight (Modem version)