VOGONS


First post, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t

The game could have used the generic kernel functions, but instead decided to implement a mouse driver with the game on Win95.

Why was that a case, did it improve some parts of the game that Windows wouldn't? Did it increase control over the mouse functions against what the kernel would otherwise allow?

previously known as Discrete_BOB_058

Reply 1 of 14, by zuldan

User metadata
Rank Oldbie
Rank
Oldbie
BEEN_Nath_58 wrote on 2024-11-03, 19:58:

The game could have used the generic kernel functions, but instead decided to implement a mouse driver with the game on Win95.

Why was that a case, did it improve some parts of the game that Windows wouldn't? Did it increase control over the mouse functions against what the kernel would otherwise allow?

Ask the guy who was in the team that ported Doom to Doom95. https://youtu.be/n1Q_JGcXVTA?si=M1BcuoG73BNB163G

I’m sure he will respond in YouTube comments.

Reply 2 of 14, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Maybe some predecessor to DirectInput? 🤷‍♂️

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 3 of 14, by Trashbytes

User metadata
Rank Oldbie
Rank
Oldbie
BEEN_Nath_58 wrote on 2024-11-03, 19:58:

The game could have used the generic kernel functions, but instead decided to implement a mouse driver with the game on Win95.

Why was that a case, did it improve some parts of the game that Windows wouldn't? Did it increase control over the mouse functions against what the kernel would otherwise allow?

Microsoft did the port themselves to showcase Direct X so pretty much everything the game did used Direct X, this includes controls. You could make the case that the kernel could handle the controls better but that's not how MS thinks, its a Direct X showcase so it must use Direct X.

So its not surprising it only uses Direct X and ignores systems already in place to handle stuff, IIRC Direct X came about because of Doom95 and MS wanting windows to be a gaming platform.

Reply 4 of 14, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
Jo22 wrote on 2024-11-03, 21:18:

Maybe some predecessor to DirectInput? 🤷‍♂️

Even if so I am surprised there is very little information on it, a "DMOUSE" search online brings up other results

Trashbytes wrote on 2024-11-04, 00:05:

So its not surprising it only uses Direct X and ignores systems already in place to handle stuff, IIRC Direct X came about because of Doom95 and MS wanting windows to be a gaming platform.

But there is no documentation (that I read or saw) that defines DMOUSE as a mouse API or a framework. Nor does the DirectX1 SDK (Game SDK) or the later SDKs have any "DMOUSE" or relevant files and information

previously known as Discrete_BOB_058

Reply 5 of 14, by Trashbytes

User metadata
Rank Oldbie
Rank
Oldbie
BEEN_Nath_58 wrote on 2024-11-04, 04:49:
Even if so I am surprised there is very little information on it, a "DMOUSE" search online brings up other results […]
Show full quote
Jo22 wrote on 2024-11-03, 21:18:

Maybe some predecessor to DirectInput? 🤷‍♂️

Even if so I am surprised there is very little information on it, a "DMOUSE" search online brings up other results

Trashbytes wrote on 2024-11-04, 00:05:

So its not surprising it only uses Direct X and ignores systems already in place to handle stuff, IIRC Direct X came about because of Doom95 and MS wanting windows to be a gaming platform.

But there is no documentation (that I read or saw) that defines DMOUSE as a mouse API or a framework. Nor does the DirectX1 SDK (Game SDK) or the later SDKs have any "DMOUSE" or relevant files and information

Technically Doom95 predates full direct X specifications so its likely Dmouse got rolled into Direct input but Doom95 had dependencies for it so it got left in for that game. As for no paperwork well I expect there wouldn't be any if it became part of Direct Input, we are talking about a game developed before the release of DirectX 1.0 that was developed using a bunch of pre release Direct X drivers. The fact it happened to be compatible with most of DirectX 1 was just a bonus for MS as it allowed them to use the game to show off what Direct X could do. (Seems Doom95 came out after DX1, digging to see if I can find when it began development for porting to Win95. Gabe Newell was involved .. wonder if he would answer some questions! he seem pretty approachable.)

Digging around and from what little I can find Dmouse.VXD seems to be a programmer kludge to get the game to communicate directly with the mouse hardware via serial and PS2, the game doesn't actually require it as there are patches to allow mouse control in Win2k and later that dont use Dmouse.VXD so why they went that route will forever be a mystery.

My guess ..DOOM95 still uses a lot of DOOM DOS code and might not be able to communicate directly with the mouse via Win 95 so they kludged a driver together for this game to get mouse control working.

The question then is ..was it ever intended to be part of Direct X ? I dont think so as Direct Input should handle that, really does feel like a workaround by the DOOM95 team to get the mouse working on time to show the game off. It being a driver workaround would also explain lack of information on it as it was only required for this game.

HAve a look at DOOM Portable it might give some clues since its a full repack of DOOM95 for modern windows. (Win 8 and later removed a lot of Direct X that Doom95 needs to run)

Digging even deeper ...found a vague reference to Direct Mouse being part of Direct Input, kinda confirms my suspicion of it getting rolled into Direct Input.

Reply 6 of 14, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
Trashbytes wrote on 2024-11-04, 06:06:
Digging around and from what little I can find Dmouse.VXD seems to be a programmer kludge to get the game to communicate directl […]
Show full quote

Digging around and from what little I can find Dmouse.VXD seems to be a programmer kludge to get the game to communicate directly with the mouse hardware via serial and PS2, the game doesn't actually require it as there are patches to allow mouse control in Win2k and later that dont use Dmouse.VXD so why they went that route will forever be a mystery.

My guess ..DOOM95 still uses a lot of DOOM DOS code and might not be able to communicate directly with the mouse via Win 95 so they kludged a driver together for this game to get mouse control working.

The question then is ..was it ever intended to be part of Direct X ? I dont think so as Direct Input should handle that, really does feel like a workaround by the DOOM95 team to get the mouse working on time to show the game off. It being a driver workaround would also explain lack of information on it as it was only required for this game.

HAve a look at DOOM Portable it might give some clues since its a full repack of DOOM95 for modern windows. (Win 8 and later removed a lot of Direct X that Doom95 needs to run)

Digging even deeper ...found a vague reference to Direct Mouse being part of Direct Input, kinda confirms my suspicion of it getting rolled into Direct Input.

I found this:
https://www.doomworld.com/forum/topic/51269-d … &comment=882319
This patch doesn't do anything on my Windows 11 system, the mouse is still non-working. However the explanation explains it being a pretty simple feature that they un-simplified.

Doom95 ran on Win10 and Win11 well, after the DPLAY installation, I don't think anything the game needs is removed unless you are talking of the DMOUSE and its "fix" that does nothing on Win10 and 11

previously known as Discrete_BOB_058

Reply 7 of 14, by Trashbytes

User metadata
Rank Oldbie
Rank
Oldbie

there is a Win11 fix for the mouse its another different patch .. Win10/11 removed even more of legacy DX than Win8 did.

But like you suspect its likely just adding back the files for DX that got removed and patching the mouse driver to work on 11.

Reply 8 of 14, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
Trashbytes wrote on 2024-11-04, 13:49:

there is a Win11 fix for the mouse its another different patch .. Win10/11 removed even more of legacy DX than Win8 did.

But like you suspect its likely just adding back the files for DX that got removed and patching the mouse driver to work on 11.

I tried Doom95 today with the XP mouse patch and its working.

I also tried DOOM Portable to see what's different: it has a frontend that forwards the WADs to the main game, and structurally has no difference compared to Doom95. It includes dgVoodoo2 for the older version, and cnc ddraw for the newer version (this one works poorly on my Nvidia).

I don't think Win10/11 removed so much DX that would make it unplayable, at least in the DirectDraw and DPLAY side that the game has issues with, it's just the same. It didn't need ddraw.dll replacement for me since it wasn't invoking DWM to turn the game to 8/16 bit colours and was using 32-bit colours (wrongly rendered but it ran).

Edit: Turns out the mouse patch works on The Ultimate Doom as well.

previously known as Discrete_BOB_058

Reply 9 of 14, by Trashbytes

User metadata
Rank Oldbie
Rank
Oldbie
BEEN_Nath_58 wrote on 2024-11-05, 11:45:
I tried Doom95 today with the XP mouse patch and its working. […]
Show full quote
Trashbytes wrote on 2024-11-04, 13:49:

there is a Win11 fix for the mouse its another different patch .. Win10/11 removed even more of legacy DX than Win8 did.

But like you suspect its likely just adding back the files for DX that got removed and patching the mouse driver to work on 11.

I tried Doom95 today with the XP mouse patch and its working.

I also tried DOOM Portable to see what's different: it has a frontend that forwards the WADs to the main game, and structurally has no difference compared to Doom95. It includes dgVoodoo2 for the older version, and cnc ddraw for the newer version (this one works poorly on my Nvidia).

I don't think Win10/11 removed so much DX that would make it unplayable, at least in the DirectDraw and DPLAY side that the game has issues with, it's just the same. It didn't need ddraw.dll replacement for me since it wasn't invoking DWM to turn the game to 8/16 bit colours and was using 32-bit colours (wrongly rendered but it ran).

Edit: Turns out the mouse patch works on The Ultimate Doom as well.

I would honestly love to talk with Gabe about it, he was the team lead for porting it to Direct X, they did some interesting stuff to get it all working with how basic DX 1 was at the time. IIRC DX didnt actually become good till DX5 and then really took off with DX6.

Reply 10 of 14, by leileilol

User metadata
Rank l33t++
Rank
l33t++

he wasn't. Alex St. John was the Doom95 guy. Hexen95 is the same technology (and first thing to incorporate the WildTangent brand of his long before the web plugin)

apsosig.png
long live PCem

Reply 11 of 14, by UCyborg

User metadata
Rank Oldbie
Rank
Oldbie

I ran Doom95 with DxWnd on Win10 to deal with DirectDraw oddities, though I don't recall the mode I used.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 12 of 14, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
UCyborg wrote on 2024-11-09, 11:12:

though I don't recall the mode I used.

Mode? Which modes are you talking about?

previously known as Discrete_BOB_058

Reply 13 of 14, by UCyborg

User metadata
Rank Oldbie
Rank
Oldbie

Had to look it up since I forgot everything about it, I meant Renderer setting on DirectX tab:

W4Lvcru.png

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 14 of 14, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
UCyborg wrote on 2024-11-09, 13:35:
Had to look it up since I forgot everything about it, I meant Renderer setting on DirectX tab: […]
Show full quote

Had to look it up since I forgot everything about it, I meant Renderer setting on DirectX tab:

W4Lvcru.png

Oh yes that's fine. The game's colour setting is something basic that is fixed by almost any DDraw wrapper

previously known as Discrete_BOB_058