Skip to content
View in the app

A better way to browse. Learn more.

MSFN

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VxDs and related stuff help

Featured Replies

Since its summer vacation and I don't have too much to do, I thought on giving it a try and learn how VxDs work and maybe try my hand on making some crude tutorial-like drivers.

As far as I've managed to find out, a DDK is vital as its name suggests, but the problem is that I haven't managed to find anyone who happened by chance to upload the 98SE DDK on the "internets" .

As for licenses and forum rules, I don't know how the DDK is classified as. Is it legal for it to be uploaded/downloaded, because, like with any other 9x-related stuff, M$ retired most of the stuff, so any Win98 DDK links are dead.

Also, except for the DDK, are there any introductory documentations/tutorials on VxDs ? I'm asking this because although I know C++ syntax and how to code something, I have absolutely no practical experience with drivers. I don't know their code-"anatomy", I don't know nothing on this issue.

A summary of my knowledge on this area would be wikipedia's article on VxDs and some general knowledge of how INFs work and their syntax, so I'm practically a "tabula rasa" .

Any help on the matter is highly appreciated.

Thanks!


Dead links for the 98DDK : http://freenet-homepage.de/Power-Info/Windows98_DDK.htm

Have you tried the Wayback Machine ? We'll see what we can do if you can't find anything. :whistle:

Links for tuts and sample code I had collected :

Creating A Basic VxD : http://www.addict3d.org/news/120/feeds.php

Virtual Device Driver Basics : http://win32assembly.online.fr/vxd-tut1.html

Virtual Machine Manager : http://win32assembly.online.fr/vxd-tut2.html

Virtual Device Driver Skeleton : http://win32assembly.online.fr/vxd-tut3.html

VxD Programming: Primer : http://win32assembly.online.fr/vxd-tut4.html

VxD Example: MessageBox : http://win32assembly.online.fr/vxd-tut5.html

Dynamic VxD and DeviceIoControl Interface : http://win32assembly.online.fr/vxd-tut6.html

Application Time and Shell Functions : http://win32assembly.online.fr/vxd-tut7.html

Client Register Structure : http://win32assembly.online.fr/vxd-tut8.html

Virtual 8086 Memory Manager : http://win32assembly.online.fr/vxd-tut9.html

(.vxd) LINEAR-EXECUTABLE File Header Layout : http://faydoc.tripod.com/formats/exe-LE.htm

An assembly shell for creating dynamically loadable VxDs : http://www.matcode.com/win95vxd.txt

Examining VxD Service Hooking : http://www.ddj.com/184409878

Programming VXD’s using Assembler : http://www.vijaymukhi.com/vmis/vmchap8.htm

Windows Device Driver Development : http://www.newss.co.kr/solution/soft/driver.html#VirtualM

Virus oriented VxD writing tutorial : http://vx.netlux.org/lib/vgy05.html

Windows 3.1/95 Virtual Device Drivers (VxD) : http://www.dcee.net/Files/Programm/Windows/

Hooking Disk Access : http://www.geoffchappell.com/viewer.htm?do...=25&ts=66,0

DSDskInf.VxD - Retrieve Information from an ATA disk : http://skyscraper.fortunecity.com/virtuosi...f/dsdskinf.html

DSIdeInf.VxD - Retrieve IDE controller's Information : http://skyscraper.fortunecity.com/virtuosi...f/dsideinf.html

VxD W9x en ASM (French) : http://perso.numericable.fr/~fayjpier/vxdasm/vxdasm.php

WinIo - Direct Hardware Access Under Windows 9x/NT/2000/XP : http://www.internals.com/utilities/winio.zip

Sysinternal source code : http://doc.sch130.nsc.ru/www.sysinternals..../98source.shtml

If you want to write vxds in C/C++ you'll need expensive commercial tools I think (not 100% sure though):

VToolsD for VxD Development : http://www.ddj.com/184409684;jsessionid=B5...equestid=435152

VxDWriter - Develop VxD in C/C++ : http://www.techsoftpl.com/vxd/ ($429)

Also there is a an apparently good book about programming vxds : Writing Windows VxDs and device drivers By Karen Hazzah : http://books.google.com/books?id=F868yPHsA...=gbs_navlinks_s

All the best and good luck :hello:

And, if I may, a couple of possible fields/projects in which to express your newly acquired knowledge/experience (the following would actually be useful ;)):

http://www.boot-land.net/forums/?showtopic=2343

http://www.boot-land.net/forums/index.php?showtopic=623

http://www.boot-land.net/forums/index.php?showtopic=4353

http://www.boot-land.net/forums/index.php?...ic=2293&hl=

and more generally:

http://www.boot-land.net/forums/index.php?showforum=53

even if you are not interested in any of the above, the threads do contain some interesting/useful links related to VXD's. :)

About the Win 98 DDK:

http://www.msfn.org/board/index.php?showtopic=86312

it appears to have been cached by the Wayback Machine:

http://web.archive.org/web/20000823113036/...EN-US/98DDK.EXE

jaclaz

Oh how sweet of MS - after 1MB of download, they cut the link off. :realmad: However, I do have a 98DDK on my HDD - it's a RAR archive (45,460,335 bytes) and the readme inside says it's synced to Windows 98 build 1998.6. If it's OK with the mods, I could offer a temporary HTTP link for direct download.

Edited by Drugwash

Examining VxD Service Hooking - Monitoring, altering, or otherwise changing parts of Windows : http://www.ddj.com/architect/184409878?pgno=7

Fast Interrupt Processing in Windows 95 -Improving Windows' real-time performance : http://www.ddj.com/architect/184410045?pgno=11

Windows 95 Journaling and Playback - Using keyboard and mouse macros anywhere and anytime : http://www.ddj.com/architect/184409843

Building VxDs in Windows 95 - An assembly shell for creating dynamically loadable VxDs : http://www.ddj.com/architect/184410047

Examining the Windows 95 Layered File System - Adding functionality to block devices : http://www.ddj.com/architect/184409681?pgno=8

  • Author

Wow! That's more than enough to get me started ! Thanks a ton everybody and especially eidenk for the bounty of links !

Perhaps this is also of interest although it is geared at not writing a driver.

TVicPort Overview

TVicPort is a toolkit for direct port I/O from Win32 applications. TVicPort includes transparent support for Windows 95/98/Me and Windows NT/2000/XP/XP 64-bit, providing programmers with standard methods for real-time direct access to port and memory mapped I/O - without requiring you to write a custom virtual device driver for Windows 9x/Me or a kernel-mode driver for NT/2000/XP/XP 64-bit. Brand new 64-bit offers intelligent support for 64-bit solutions.

http://www.entechtaiwan.com/dev/port/index.shtm

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.