VOGONS


Source Code for NUSB?

Topic actions

First post, by benbini

User metadata
Rank Newbie
Rank
Newbie

Hi there, I'd like to use NUSB targeting a language version of Windows 98SE for which I cannot find precompiled binaries. I'm able to get USB mostly working by restoring the three critical files that the English-target NUSB overwrites, but there are still non-breaking UI changes to the OS that I'd like to avoid.

Does anyone have access to the source of NUSB or can offer insight as to how it works? I'd ideally like to build a new version of NUSB that results in fewer UI (and perhaps other subtler) changes to the system.

Reply 1 of 4, by BolenB

User metadata
Rank Newbie
Rank
Newbie

Reverse engineering NUSB:
https://msfn.org/board/topic/184159-nusb-37-b … comment=1236222
Latest developments in the field of usb stack:
http://forum.ru-board.com/topic.cgi?forum=62& … 3&start=3900#18
http://forum.ru-board.com/topic.cgi?forum=62& … 24&start=560#19
my version of nusb based on them: (Minimum required set of files to support USB flash and USB-CD drives. USB-FDD are not supported).
Added auto-mounting of USB flash and USB-CD drives.
Support for composite devices (USB keyboards, mice).
(edit by Dominus: link removed because it pointed to an abandonware site)

Added files

Last edited by BolenB on 2024-04-29, 03:13. Edited 2 times in total.

Reply 2 of 4, by 1541

User metadata
Rank Member
Rank
Member

If you can't find the appropriate files in your native language, take the English version of that file and edit them with "Reshack" (for 32bit files) and "eXescope" (for 16bit files).

That way you can change the language resources of the new file version (which is basically a copy and paste job, if you compare it with the old file version in your native language).

If you need more information of how to create a self extracting exe file using the installer "iexpress" for executing the .inf routines, let me know.

💾 Windows 9x resources (drivers, tools, NUSB,...) 💾

Reply 3 of 4, by Golffies

User metadata
Rank Newbie
Rank
Newbie
BolenB wrote on 2024-04-27, 16:57:

Added auto-mounting of USB flash and USB-CD drives. Support for composite devices (USB keyboards, mice).

Your work adds support for the Intel ICH10 SouthBridge USB 2.0 controller (DEV_3A3A). Thank you! I won't wait long to try installing it, rather than attempting a manual update of the NUSB3.3 INF files.

Reply 4 of 4, by Golffies

User metadata
Rank Newbie
Rank
Newbie

@BolenB, I tried your 2024 version of the NUSB3.3 driver. Thank you for sharing it. Your INF correctly identifies the USB 2.0 controllers Dev_3A3A and 3A3C. However once the driver for the mass storage class has also been installed, inserting a USB memory stick causes a BSOD.

The attachment Win98SE-InstallMassStorage.jpg is no longer available
The attachment Wind98SE-VxD dynamic link call from NTMAPHLP.jpg is no longer available

Here is Gemini's diagnosis:

Why does this happen? Since NTMAPHLP.PDR is missing from the BolenB archive, Windows uses your original version (1999). However, BolenB's USBSTOR.SYS file (probably from Windows Me) requires a more recent translation layer (NTMAP) and kernel (NTKERN) to function. You have a mix of generations: a ‘modern’ storage layer trying to rely on an ‘old’ foundation that does not understand its instructions.

Should I follow Gemini's advice and copy the NTMAP, NTMAPHLP and NTKERN files from WinME to Win98SE? Or have I missed something obvious?