PCem USB support
PCem USB support
to allow controllers and network adapters including WiFi on windows 2000 and beyond
-
- Posts: 43
- Joined: Sat 22 Apr, 2017 3:26 pm
Re: PCem USB support
There is USB support in PCem, however it does not extend to adding interfacing with actual host ports of the same type (the same thing applies to the parallel and serial ports as well). The USB support is present in the FIC VA-503+ motherboard and its VIA VT82C586B southbridge chipset, after installing Windows 95 OSR 2.5 for testing, in addition to the VIA 4-in-1 chipset drivers, as well as the official Microsoft USB Supplement for Windows 95 OSR2, the USB controller is detected and installed by Windows 95 (I haven't tested it in Windows 98 or later versions of Windows 9x, but I may test it in those operating systems at a later date)
I have been attempting to port over the USB code from the VIA southbridge (which to the best of my knowledge, was the first VIA southbridge to support USB, using the same standard as the Intel PIIX3 southbridge, which used UHCI 1.x) with modifications, to an emulation of the competing Intel PIIX3 southbridge (which I have been attempting to add to PCem) that is meant to be paired with the 430HX, 430VX and 440FX northbridges. (This was the first Intel southbridge to support USB).
I have attached several screenshots of the Windows 95 Device Manager showing the USB controller of the FIC VA-503+ motherboard as installed and working after the chipset drivers and the USB Supplement were installed, as well as a screeenshot of the BIOS settings menu showing that the USB controller was enabled.
In addition, I have also attached screenshots of the results of my attempt to add the PIIX3 emulation (which is basically a reworking of the already existing PIIX code with different PnP device identifiers, as well as some new, and changed register values in other aspects of the existing code).
The attempted addition of the PIIX3 southbridge was tested using the Shuttle HOT-557, the ASUS P/I P55T2P4, the ASUS P/I P55TVP4, and the EPoX P55-VA.
This means that in theory, it could be possible to add USB support (within the interfacing limits mentioned above) to all of the motherboards which use the 430HX and 430VX chipsets (PCem currently emulates the ASUS P/I P55T2P4, ASUS P/I P55TVP4, EPoX P55-VA and Shuttle HOT-557).
I have been attempting to port over the USB code from the VIA southbridge (which to the best of my knowledge, was the first VIA southbridge to support USB, using the same standard as the Intel PIIX3 southbridge, which used UHCI 1.x) with modifications, to an emulation of the competing Intel PIIX3 southbridge (which I have been attempting to add to PCem) that is meant to be paired with the 430HX, 430VX and 440FX northbridges. (This was the first Intel southbridge to support USB).
I have attached several screenshots of the Windows 95 Device Manager showing the USB controller of the FIC VA-503+ motherboard as installed and working after the chipset drivers and the USB Supplement were installed, as well as a screeenshot of the BIOS settings menu showing that the USB controller was enabled.
In addition, I have also attached screenshots of the results of my attempt to add the PIIX3 emulation (which is basically a reworking of the already existing PIIX code with different PnP device identifiers, as well as some new, and changed register values in other aspects of the existing code).
The attempted addition of the PIIX3 southbridge was tested using the Shuttle HOT-557, the ASUS P/I P55T2P4, the ASUS P/I P55TVP4, and the EPoX P55-VA.
This means that in theory, it could be possible to add USB support (within the interfacing limits mentioned above) to all of the motherboards which use the 430HX and 430VX chipsets (PCem currently emulates the ASUS P/I P55T2P4, ASUS P/I P55TVP4, EPoX P55-VA and Shuttle HOT-557).
- Attachments
-
- PIIX3 implementation attempt on ASUS P/I P55TVP4 (Note the PIIX3 "7010" device ID of the IDE controller instead of the PIIX "1230" device ID).
- Screenshot from 2020-07-18 02-34-40.png (10.34 KiB) Viewed 12337 times
-
- PIIX3 implementation attempt on Shuttle HOT-557 (Note the PIIX3 "7010" device ID of the IDE controller instead of the PIIX "1230" device ID).
- Screenshot from 2020-07-18 02-18-07.png (10.34 KiB) Viewed 12337 times
-
- FIC VA-503+ BIOS showing USB controller as enabled
- Screenshot from 2020-07-18 02-06-40.png (14.17 KiB) Viewed 12337 times
-
- Windows 95 on FIC VA-503+ showing USB controller as installed and working (IRQ assignments listing)
- Screenshot from 2020-07-16 13-26-05.png (12.08 KiB) Viewed 12337 times
-
- Windows 95 on FIC VA-503+ showing USB controller as installed and working (Devices in system listing)
- Screenshot from 2020-07-16 13-25-24.png (11.35 KiB) Viewed 12337 times
-
- PIIX3 implementation attempt on ASUS P/I P55T2P4 (Note the PIIX3 "7010" device ID of the IDE controller instead of the PIIX "1230" device ID).
- Screenshot from 2020-07-18 01-59-24.png (10.3 KiB) Viewed 12337 times
Last edited by grommit2007 on Sat 18 Jul, 2020 6:29 pm, edited 1 time in total.
-
- Posts: 43
- Joined: Sat 22 Apr, 2017 3:26 pm
PCem USB support
Additional screenshots:
- Attachments
-
- Current PIIX emulation on EPoX P55-VA (Note the PIIX "1230" device ID of the IDE controller instead of the PIIX3 "7010" device ID).
- Screenshot from 2020-07-18 03-16-30.png (10.14 KiB) Viewed 12337 times
-
- Current PIIX emulation on Shuttle HOT-557 (Note the PIIX "1230" device ID of the IDE controller instead of the PIIX3 "7010" device ID).
- Screenshot from 2020-07-18 03-14-59.png (10.35 KiB) Viewed 12337 times
-
- Current PIIX emulation on ASUS P/I P55TVP4 (Note the PIIX "1230" device ID of the IDE controller instead of the PIIX3 "7010" device ID).
- Screenshot from 2020-07-18 03-12-46.png (10.33 KiB) Viewed 12337 times
-
- Current PIIX emulation on ASUS P/I P55T2P4 (Note the PIIX "1230" device ID of the IDE controller instead of the PIIX3 "7010" device ID).
- Screenshot from 2020-07-18 03-09-03.png (10.3 KiB) Viewed 12337 times
-
- PIIX3 implementation attempt on EPoX P55-VA (Note the PIIX3 "7010" device ID of the IDE controller instead of the PIIX "1230" device ID).
- Screenshot from 2020-07-18 02-58-09.png (10.12 KiB) Viewed 12337 times
-
- Posts: 43
- Joined: Sat 22 Apr, 2017 3:26 pm
PCem USB support
Additional screenshots:
- Attachments
-
- Windows 95 on Shuttle HOT-557 showing PIIX3 PCI to ISA bridge and IDE controller as installed and working
- Screenshot from 2020-07-18 04-27-02.png (14.34 KiB) Viewed 12329 times
-
- Windows 95 on Shuttle HOT-557 showing PIIX3 PCI to ISA bridge and IDE controller as installed and working
- Screenshot from 2020-07-18 04-26-22.png (13.62 KiB) Viewed 12329 times
-
- Windows 95 on ASUS P/I P55TVP4 showing PIIX3 PCI to ISA bridge and IDE controller as installed and working
- Screenshot from 2020-07-18 04-12-50.png (20.25 KiB) Viewed 12329 times
-
- Windows 95 on ASUS P/I P55TVP4 showing PIIX3 PCI to ISA bridge and IDE controller as installed and working
- Screenshot from 2020-07-18 04-12-21.png (19.47 KiB) Viewed 12329 times
-
- Windows 95 on ASUS P/I P55T2P4 showing PIIX3 PCI to ISA bridge and IDE controller as installed and working
- Screenshot from 2020-07-18 03-42-44.png (20.26 KiB) Viewed 12329 times
-
- Windows 95 on ASUS P/I P55T2P4 showing PIIX3 PCI to ISA bridge and IDE controller as installed and working
- Screenshot from 2020-07-18 03-43-10.png (19.49 KiB) Viewed 12329 times
-
- Posts: 43
- Joined: Sat 22 Apr, 2017 3:26 pm
PCem USB support
Additional screenshots:
- Attachments
-
- Windows 95 on EPoX P55-VA showing PIIX3 PCI to ISA bridge and IDE controller as installed and working
- Screenshot from 2020-07-18 04-48-08.png (20.25 KiB) Viewed 12329 times
-
- Windows 95 on EPoX P55-VA showing PIIX3 PCI to ISA bridge and IDE controller as installed and working
- Screenshot from 2020-07-18 04-47-20.png (19.48 KiB) Viewed 12329 times
-
- Posts: 6
- Joined: Tue 07 Jul, 2020 12:09 am
Re: PCem USB support
Did the i430VX have USB support? I had one back in the day and the pads were on the PCB, but they never soldered a header on the board. I don't recall seeing USB picking up in usage until the P2/P3 eras.
Re: PCem USB support
Yes, it does, but technically USB is on the southbridge (PIIX3) and USB support indeed begand on the 430HX/VX erasenileblue wrote: ↑Sun 19 Jul, 2020 12:16 pm Did the i430VX have USB support? I had one back in the day and the pads were on the PCB, but they never soldered a header on the board. I don't recall seeing USB picking up in usage until the P2/P3 eras.
-
- Posts: 6
- Joined: Tue 07 Jul, 2020 12:09 am
Re: PCem USB support
Interesting flashbacks indeed, looked around online for my motherboard (pc-chips m520) and it seems there was a revision that had the header soldered on, in addition to a ps2 port. I guess I got the short end of the stick in the mid 90s.
Re: PCem USB support
What would the USB 'connect' to? A host port?
Re: PCem USB support
If I'm reading properly what the person who started this thread wrote, to emulated USB devices. Who will write the emulation code for these devices? Now this is the real question
P.S. Another possibility is, of course, adding passthrough support for USB devices attached directly to the host, as in VirtualBox.
Re: PCem USB support
Passthrough USB would probably throw huge wrenches of complications into multiplatform and building. I'd think these patches were about getting some warning markings off some devices and prepping it for future potential USB device emulation (as in emulating Intellimouse and certain gamepads/joysticks, rather than a pass-through usb wifi fantasy)
Re: PCem USB support
Maybe it could be interesting to create "virtual" USB HID or MSD devices. Something like getting keyboard/mouse/joystick input and feed it into that virtual HID device. It would be a way to overcome the axis/buttons limitations of traditional gameport.
MSD devices could be emulated using a disk image... not very useful (unless you connect them to a block device in Linux). Note that USB support is pretty useless on most OSs (because USB was not supported or there were almost no device drivers, like Windows 95).
MSD devices could be emulated using a disk image... not very useful (unless you connect them to a block device in Linux). Note that USB support is pretty useless on most OSs (because USB was not supported or there were almost no device drivers, like Windows 95).
Re: PCem USB support
Yeah, but I would at least be interested in emulated USB as far as removable mass storage devices go, since that would end up being a simpler way (for me) to rapidly add or remove files from the system than I already use and probably gives me more flexibility while I'm at it.
-
- Posts: 43
- Joined: Sat 22 Apr, 2017 3:26 pm
PCem USB support
After a few weeks of work, I have managed to implement USB support on the PIIX3 southbridge similar to the implementation on the VIA southbridge which this program emulates.
The tests were performed with the Shuttle HOT-557 (BIOS dated 08/15/96), Windows 95 OSR2.0, and the rare 1996 version of the USB Supplement for Windows 95 from the OEM Preinstallation Kit for OSR2.x (It works with OSR 2.1 and 2.5's versions of the USB supplement on the installation CD).
A patch to add this to the release branch is being worked on, and will be added to the Patches forum when it is fully ready.
This emulation was accomplished by completely reworking the VT82C586B emulation into an emulation of the Intel PIIX3 southbridge, however I have trouble with adding the reset registers for the PIIX3 to the new emulation, I would appreciate any help with this, once I get past this hurdle, I can submit the patch (I would like to basically make it 100% on par with the existing PIIX emulation, and to minimize any bugs which may show up).
(Edit: I have managed to add the reset registers for the PIIX3 to the code, and I can say that the new southbridge is now 100% on par with the existing PIIX emulation, apart from using the code structure of the VIA southbridge, and having a USB controller, which the PIIX southbridge lacks).
The tests were performed with the Shuttle HOT-557 (BIOS dated 08/15/96), Windows 95 OSR2.0, and the rare 1996 version of the USB Supplement for Windows 95 from the OEM Preinstallation Kit for OSR2.x (It works with OSR 2.1 and 2.5's versions of the USB supplement on the installation CD).
A patch to add this to the release branch is being worked on, and will be added to the Patches forum when it is fully ready.
This emulation was accomplished by completely reworking the VT82C586B emulation into an emulation of the Intel PIIX3 southbridge, however I have trouble with adding the reset registers for the PIIX3 to the new emulation, I would appreciate any help with this, once I get past this hurdle, I can submit the patch (I would like to basically make it 100% on par with the existing PIIX emulation, and to minimize any bugs which may show up).
(Edit: I have managed to add the reset registers for the PIIX3 to the code, and I can say that the new southbridge is now 100% on par with the existing PIIX emulation, apart from using the code structure of the VIA southbridge, and having a USB controller, which the PIIX southbridge lacks).
- Attachments
-
- Shuttle HOT-557 Award BIOS System Configuration screen showing USB controller under "PCI device listing"
- Screenshot from 2020-08-01 00-20-58.png (10.41 KiB) Viewed 11602 times
-
- Windows 95 on Shuttle HOT-557 showing USB controller as installed and working (Device properties listing)
- Screenshot from 2020-08-01 00-13-30.png (15.64 KiB) Viewed 11602 times
-
- Windows 95 on Shuttle HOT-557 showing USB controller as installed and working (Device properties listing)
- Screenshot from 2020-08-01 00-13-14.png (17.82 KiB) Viewed 11602 times
-
- Windows 95 on Shuttle HOT-557 showing USB controller as installed and working (Device properties listing)
- Screenshot from 2020-08-01 00-13-01.png (16.32 KiB) Viewed 11602 times
-
- Windows 95 on Shuttle HOT-557 showing USB controller as installed and working (IRQ assignments listing)
- Screenshot from 2020-08-01 00-09-41.png (20.16 KiB) Viewed 11602 times
-
- Windows 95 on Shuttle HOT-557 showing USB controller as installed and working (Devices in system listing)
- Screenshot from 2020-08-01 00-03-02.png (20.52 KiB) Viewed 11602 times
Last edited by grommit2007 on Sun 02 Aug, 2020 5:09 am, edited 1 time in total.
-
- Posts: 43
- Joined: Sat 22 Apr, 2017 3:26 pm
PCem USB support
Additional screenshots:
(Edit: Tests were performed on the ASUS P/I P55T2P4, ASUS P/I P55TVP4 and the EPoX P55-VA motherboards in addition to the Shuttle HOT-557)
(Edit: Tests were performed on the ASUS P/I P55T2P4, ASUS P/I P55TVP4 and the EPoX P55-VA motherboards in addition to the Shuttle HOT-557)
- Attachments
-
- EPoX P55-VA BIOS showing USB controller as enabled
- Screenshot from 2020-08-01 01-46-09.png (11.93 KiB) Viewed 11593 times
-
- ASUS P/I P55TVP4 Award BIOS System Configuration screen showing USB controller under "PCI device listing"
- Screenshot from 2020-08-01 01-43-20.png (10.81 KiB) Viewed 11593 times
-
- ASUS P/I P55TVP4 BIOS showing USB controller as enabled
- Screenshot from 2020-08-01 01-42-43.png (12.43 KiB) Viewed 11593 times
-
- ASUS P/I P55T2P4 Award BIOS System Configuration screen showing USB controller under "PCI device listing"
- Screenshot from 2020-08-01 01-35-21.png (10.81 KiB) Viewed 11593 times
-
- ASUS P/I P55T2P4 BIOS showing USB controller as enabled
- Screenshot from 2020-08-01 01-36-01.png (12.44 KiB) Viewed 11593 times
-
- Shuttle HOT-557 BIOS showing USB controller as enabled
- Screenshot from 2020-08-01 00-23-18.png (12.3 KiB) Viewed 11601 times
-
- Posts: 43
- Joined: Sat 22 Apr, 2017 3:26 pm
PCem USB support
Additional screenshots:
- Attachments
-
- EPoX P55-VA Award BIOS System Configuration screen showing USB controller under "PCI device listing"
- Screenshot from 2020-08-01 01-49-20.png (11.08 KiB) Viewed 11591 times