News
Wolfenmaus 2026-05-25 20:42:17
Recently I added support for passing through the parallel port to ReflectionHLE so that it can interface with a real Disney Sound Source. There's no known compelling reason why you would want to do that, but it was a bit of a wart that despite ReflectionHLE trying to keep as much of the original code compiling as possible the DSS code was sitting there disabled. Given emulating the DSS would result in the same sound that is produced when selecting a monaural sound blaster model in the ReflectionHLE settings, I figured since modern computers can have parallel ports why not go full academic and just allow a real DSS to be driven. After getting that work merged, I wondered if that tied up the remaining loose ends or if there was any other code that has yet to be enabled. NY00123 pointed out that Wolfenstein 3D had support for a virtual reality head mounted display. We started brainstorming possible things to do with that code.
Of course VR headsets are a thing, but Wolf3D didn't do stereo rendering or anything fancy like that. All that happens is when the "virtual" parameter is passed it makes an interrupt call at init and shutdown, and when in game it adds the headset angle, sitting at a predetermine location in memory, to the player's angle. Really more like how many modern games support gyro aiming. That's when it clicked, we were looking at a third analog control axis that has been in the game this whole time.
Previously it was assumed that modern WASD controls was not possible in vanilla Wolf3D because the game's control structures only included two analog axes. These being the sum of keyboard, mouse, and joystick inputs, and how the horizontal axis is interpreted was determined by if the strafe button was pressed or not. You could get strafe left and right buttons with macros, but pressing them would disable the ability to turn. Only way around that is to modify the way input is handled, and there have been mods that do this.
Utilizing the VR support, no such modification is needed. Just a mouse driver that implements the headset API, and today I am releasing Wolfenmaus which does just that. Works with Wolfenstein 3D v1.4 and Spear of Destiny. Sadly the other games that licensed the engine either did not retain this code, or were given an earlier version of the source code which did not have it. However, since the VR code was in the public source release, it is included in many of the 16-bit DOS mods. (As the VR support was previously seen as vestigial support for hardware no one has, some of the more advanced mods removed it to reclaim a tiny amount of memory.) This does have some fairly minor quirks, so be sure to checkout the README.
The VR headset this was designed for was likely the one from Alternate Worlds Technology. They appear to have had a version of Blake Stone based on the materials shown by the folks who worked on it, but this would be a different build from any of the released version of Blake Stone. They also had their own game called Cybertag. If copies of either of these were found this would presumably just work with them.
I guess what I'm trying to say here is that sometimes it's worth writing the most useless code as you never know where it will lead.