It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like:Chrome,Firefox,Internet Explorer orOpera

×
arrow-down2arrowcart2close4fat-arrow-leftfat-arrow-rightfeedbackfriends2happy-facelogo-gognotificationnotifications-emptyownedremove-menusad-facesearch2wishlist-menuwishlisted2own_thingsheartstartick
Windows 10 doesn't let you set a default MIDI device. I'd like to play System Shock Enhanced Edition with a real MIDI synth, but the game seems to default to either the built-in Windows software synthesizer or VirtualMIDISynth.

Is there some way to tell System Shock Enhanced Edition which device to use? DOSBox lets you do this.
Bump!
Update: I made some inquiries and inspired someone to make a helpful tool.

Coolsoft MIDIMapper is from the author of VirtualMIDISynth and on Windows 8+ is a MIDI routing device that takes over as default and lets you choose which other MIDI device to route MIDI data to.

I've been using this to play System Shock: EE with my Roland SC-88 synth (sounds perfect in SC-55 mode) and just completed the game.

I also figured out on my own how to hex edit the game to hard-code it to a specific MIDI device number if anyone would rather do that.
avatar
HunterZ: I also figured out on my own how to hex edit the game to hard-code it to a specific MIDI device number if anyone would rather do that.
Could you post instructions for how to do this?
I've installed the CoolSoft MIDI Mapper, but it doesn't seem to work with SSEE on Windows 10.
Other applications play to my SC-55 when using the default device but not SSEE for some reason.
Well this was a good learning experience at least.
I barely know what I'm doing, but I was able to use IDA 5.0 Freeware to find out where the MIDI Device was being set.
I still couldn't figure out how to actually edit sshock.exe with IDA (I'm sure it must be possible, but perhaps not in the freeware version?) so I ended up editing the file with HxD Hex Editor.

1. Open up DOSBox and run "mixer /listmidi" to get a list of your MIDI devices.
2. Open up sshock.exe in HxD and search for "6A 00 6A 00 6A 00 6A 00" The offset for this should be 000019C0
3. Set the last two digits to match the ID of your MIDI device. In my case it was #5 so it now reads "6A 00 6A 00 6A 00 6A 05"

(P.S. I would have included links to IDA and HxD, but I don't think I have enough posts on the forum yet to include links)
Post edited July 10, 2016 by 6834287868
I think I used OllyDbg to trace where the game was making the call to the Windows DLL function to open the MIDI device, and then HxD to edit where I thought the device ID parameter was being passed to the function.

Details are here: http://www.vogons.org/viewtopic.php?p=504927#p504927