Legacy Driver

Hi,

I’m writing a Windows 95 driver. (I can already imagine the questions being asked, but it’s something I want to do.)

Any driver experience I have is mostly based on XP+

Is there any reliable example drivers still around? I have heard most of the example code was buggy and all I am looking for at the moment is an example which I can load up, and communicate with via a user app.

I also need to ask, as I am looking for a Windows 95 SDK download to install the DDK I have got hold of, does anyone know of any links?

Is it still possible to write DDK 95 in Case, a couple of very few examples I have seen are almost purely in ASM and I’m middle ground on knowing assembly.

Thank you for any information you might be able to give me.

Sorry, I meant in C, not case.

xxxxx@gmail.com wrote:

I’m writing a Windows 95 driver. (I can already imagine the questions being asked, but it’s something I want to do.)

In my opinion, Windows 98 SE was the pinnacle of the 16-bit Windows
systems.  Even Win 95 OSR2 represented a pretty big leap.  That, at
least, added USB support.  Without USB support, how are you going to
copy stuff in and out?  You can’t run Win95 on today’s hardware.  Do you
intend to use a VM?

 

Is there any reliable example drivers still around? I have heard most of the example code was buggy and all I am looking for at the moment is an example which I can load up, and communicate with via a user app.

Remember that your 16-bit drivers were all just normal user-mode DLLs. 
No magic involved.  “Communicate” meant linking to a DLL.  Not very
interesting.

I also need to ask, as I am looking for a Windows 95 SDK download to install the DDK I have got hold of, does anyone know of any links?

Several of the abandonware and beta archives include it.  It’s not very
big (60MB).  Remember that the SDK does not include the compiler.

Is it still possible to write DDK 95 in Case, a couple of very few examples I have seen are almost purely in ASM and I’m middle ground on knowing assembly.

It depends on what you mean.  Win95 was a somewhat schizophrenic system,
with lots of different things called “drivers”.  Your basic drivers were
just normal user-mode DLLs.  Remember that 16-bit user-mode code in
Win95 had the capability of doing interrupts and I/O port stuff.  They
were often written in MASM just because dealing with the segmented
memory was such a pain.

Doing a 32-bit kernel driver in Win95 meant writing a VXD, and most VXDs
were written in C.  If you have the DDK, it includes a bunch of samples.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

>I’m writing a Windows 95 driver.

Well, you’re going to win the prize for the most UNUSUAL post of the week… I think that’s pretty much guaranteed.

Is there any reliable example drivers still around

GIYF.

Gad… Windows Ninety FIVE. Shit… I had a whole, long, involved (and, I thought, very clever and helpful) answer written. And then I realized that *I* was writing about Windows Ninety EIGHT.

So, yeah… Having deleted my really great reply, I’ve got nothing.

Unlike Mr. Roberts, *I* seem to remember VXDs mostly being in Assembler… and there was one dude who pioneered writing VxDs in C. Gosh, I wish I could remember his name. His was such a big contribution to the community…

Peter
OSR
@OSRDrivers

> and there was one dude who pioneered writing VxDs in C. Gosh, I wish I could remember his name.

Are you referring to VToolsD which go swallowed up by Compuware / NuMega?

I can?t remember names either. Just vaguely that they were in Stowe MA or there about.

The VxDs that interacted with pre-PnP stuff that were hoisted nearly verbatim from Windows 386 / Windows 3.1x were pretty much MASM.

As Win95 emerged some of the PnP sub-systems evolved C based VxDs built directly with the DDK (like NDIS 3.0 drivers for example).

Win98+ expanded on that further. But VxDs in C were possible with the DDK. You just needed the C8 compiler, some not well documented command line switches, and the right linker.

Ah, the good old days. I probably still have all that crap laying about here ? (and need to send it to the dumpster).

OP: Do you really mean Win95 or do you mean something later. In later releases of the Win95 (OSR2) and into Win98+ / WinME the system started to support PE (e.g. normal NT drivers) for certain device stacks and you actually used an NT DDK to build them.

So it really matters what kind of ?driver? you need to make and what OS version you really are targeting.

Good Luck (you are going need all you can get),
Dave Cattley

Wishing I was fishing at 41?36’17.4"N 70?47’31.5"W

> In my opinion, Windows 98 SE was the pinnacle of the 16-bit Windows systems

Well, in my opinion it was Windows 95…

In fact, Windows 95 was,IMHO, the pinnacle of anything that ever came from Redmond, despite all its obvious shortcomings (like, for example, a possibility of crashing the OS from the userland)., at least in terms of popularity…

It was, apparently, the only system that was truly popular with the users - I know it may sound incredible (at least from the modern PC user’s perspective), but people were buying Pentiums and extending the RAMs of their computers for the sole purpose of being able to run Windows95.

In fact,I think it was “the golden age” of computer repair shop business, at least here in Europe…

Anton Bassov