My guess is the GART issue is at boot since the GARTLO register is programmed then, Windows allocates virtual
memory to it then too. 98 also throws a resource conflict on a fresh install on the AGP Target device. It's easily correctable by manually changing it, but 98's memory manger might be part of the issue.
Maybe Joseph_Joestar can load a clean install of 98 on his working system and see if it's still creating a conflict?
There was no resource conflict on my MSI K8T Neo V, before or after installation of drivers (NVidia, VIA).
Having recently picked up a Socket 754 system for cheap, this thread caught my attention. I decided to see if my Asus K8VSEDX also had this bug. I had flashed it to the 1008 beta BIOS and the system worked perfectly with Windows XP. When I installed Win98, the 3D Mark 2000 and 2001 scores dropped precipitously. So I decided to flash the first BIOS and work my way up until it had a problem. Windows 98 SE worked perfectly with BIOS 1001 through 1005. Then I tried BIOS 1006, and ran into issues. When I entered the CMOS settings to disable the usual things that were enabled by default by flashing the BIOS, it would lock up. I finally hit F2 to save the defaults rather than F1 to enter the CMOS, and only then was I able to get past it. I noticed that I no longer had the option to disable the full screen POST display, and I could only get to the desktop in Safe Mode. I finally gave up on doing any benchmarks and flashed to BIOS 1007. And that BIOS has the Win98 performance issue. so if you want to run Win98 on an Asus K8VSEDX, you need to use 1001 through 1005. I'm not sure about 1006 - you can try it if you really need to, the problem might have been solved by flashing it again, I just didn't care enough to spend any more time on it.
This turned out to be more work that I anticipated - though this board does have a built in flash utility, Asus warns against using it for certain BIOS flashes (both for 1003 and 1004), so I stuck with using a Rufus formatted USB drive for BIOS flashing. This turned out to be a problem because my main computer (Asus X470 Ryzen 7 3700) has a very weird issue with certain USB drives. Quite some time ago I was inserting a USB drive, and a visible static electricity spark shot from the drive to the front USB port that I was plugging it into. At first I thought the drive was damaged, but after a moment all seemed normal. But I've had strange issues crop up from time to time ever since, then yesterday made it clear that the USB 3.0 on this machine is damaged. After formatting a drive with Rufus, it will work normally, but then when I would plug it back in to this computer to load another BIOS file, you'd hear the Windows sound when you inserted the drive, but no drive would appear in This PC and after a long wait it would finally tell you that the USB device you plugged in wasn't recognized. The only way to get it back was to go to the command prompt and use Diskpart to clean the drive. But then I tested it in my laptop, and everything was fine. I tried deleting everything USB related in Device Manager and reloading the latest drivers, but the problem remains (I spent hours on this yesterday). Luckily I have a USB 3.0 card I can try.
Edit: The USB 3.0 card changed nothing, but it was good to have one handy since it allowed me to rule out a hardware issue. I tried this, and the Rufus formatted USB showed up in My Computer properly.
"Windows 10: Unknown USB Device (Device Descriptor Request Failed)
Solution #3:
1. Go to Control Panel and view by large icons.
2. Go to Power Options.
3. Click on Choose when to turn off the display.
4. Click on Change Advanced Power Settings.
5. Expand USB Settings.
6. Expand USB Selective Suspend setting.
7. Disable it.
8. Restart your PC."
Maybe it's time to try Windows 11.
Last edited by Repo Man11 on 2022-08-26, 00:59. Edited 3 times in total.
"We do these things not because they are easy, but because we thought they would be easy."
I went back to BIOS 1005, and swapped back to the hard drive with Windows XP. It works perfectly with both Win98 and XP with this BIOS so I'll leave it as is.
"We do these things not because they are easy, but because we thought they would be easy."
If I was to do a clean install of Win98SE (with no chipset or GPU drivers) I would see a resource conflict in Device Manager? On which device specifically?
There was no resource conflict on my MSI K8T Neo V, before or after installation of drivers (NVidia, VIA).
I guess it's specific to PT880 or my motherboard, but on a clean install I get a memory resource conflict with one of the Host Bridges, specifically the one that stores the AGP configuration registers. I guess the AMD boards don't get that.
Having recently picked up a Socket 754 system for cheap, this thread caught my attention. I decided to see if my Asus K8VSEDX also had this bug. I had flashed it to the 1008 beta BIOS and the system worked perfectly with Windows XP. When I installed Win98, the 3D Mark 2000 and 2001 scores dropped precipitously. So I decided to flash the first BIOS and work my way up until it had a problem. Windows 98 SE worked perfectly with BIOS 1001 through 1005. Then I tried BIOS 1006, and ran into issues. When I entered the CMOS settings to disable the usual things that were enabled by default by flashing the BIOS, it would lock up. I finally hit F2 to save the defaults rather than F1 to enter the CMOS, and only then was I able to get past it. I noticed that I no longer had the option to disable the full screen POST display, and I could only get to the desktop in Safe Mode. I finally gave up on doing any benchmarks and flashed to BIOS 1007. And that BIOS has the Win98 performance issue. so if you want to run Win98 on an Asus K8VSEDX, you need to use 1001 through 1005. I'm not sure about 1006 - you can try it if you really need to, the problem might have been solved by flashing it again, I just didn't care enough to spend any more time on it.
This turned out to be more work that I anticipated - though this board does have a built in flash utility, Asus warns against using it for certain BIOS flashes (both for 1003 and 1004), so I stuck with using a Rufus formatted USB drive for BIOS flashing. This turned out to be a problem because my main computer (Asus X470 Ryzen 7 3700) has a very weird issue with certain USB drives. Quite some time ago I was inserting a USB drive, and a visible static electricity spark shot from the drive to the front USB port that I was plugging it into. At first I thought the drive was damaged, but after a moment all seemed normal. But I've had strange issues crop up from time to time ever since, then yesterday made it clear that the USB 3.0 on this machine is damaged. After formatting a drive with Rufus, it will work normally, but then when I would plug it back in to this computer to load another BIOS file, you'd hear the Windows sound when you inserted the drive, but no drive would appear in This PC and after a long wait it would finally tell you that the USB device you plugged in wasn't recognized. The only way to get it back was to go to the command prompt and use Diskpart to clean the drive. But then I tested it in my laptop, and everything was fine. I tried deleting everything USB related in Device Manager and reloading the latest drivers, but the problem remains (I spent hours on this yesterday). Luckily I have a USB 3.0 card I can try.
Looking at the CPU compatibility list, the only differences between the CPUs added in BIOS 1005 and 1006 was the implementation of SSE3. However, the 4CoreDual series supported SSE3 CPUs (Prescott) from the beginning. I haven't seen a working example of a PT880 though, so I can't assume that early BIOS versions of my board don't have this AGP bug.
I guess it's specific to PT880 or my motherboard, but on a clean install I get a memory resource conflict with one of the Host Bridges, specifically the one that stores the AGP configuration registers. I guess the AMD boards don't get that.
I've never experienced that kind of an issue on my system.
The Venice core Athlon64 was the first CPU from AMD which used SSE3 instructions, at least per Wikipedia. So maybe this bug was first introduced on AMD systems when Venice support was added.
The AGP issue has been on the back burner for me, but I have some other goodies to present. Picked up a cheap new-old stock XFX GeForce 7950 GT off of eBay. They are still available too.
Spoiler
The attachment IMG_20220930_145046519_HDR.jpg is no longer available
After changing the BIOS setting to default to the PCIe port for graphics, the card is 100% functional. (I didn't even reinstall 98)
The attachment 3DMark01-7950_98.png is no longer available
The attachment 3DMark03-7950_98.png is no longer available
This is a 512 MB video card and I initially had only 512 MB of RAM installed. RLoew's NVSZ patch could cut the VRAM down to 256 MB but I wanted the full 512 MB. So I installed 2 GB of RAM, Unofficial Nvidia 82.69 display driver, RLoew's PATCHMEM, as well as his NVSZ VBIOS patch to expose all 512 MB of VRAM to Windows. It all works perfectly. I also had to lock the PCIE bus clock to the CPU and disabled "PCIE Downstream Pipeline" and "PCIE VC1 Request Queue", under the chipset settings, to get the GPU to work properly.
I haven't tested many games yet, but System Shock 2 and Half-Life work almost perfectly. Half-Life has some small corruptions on some of the walls, it looks kind of like z-fighting, but I hardly notice it. 98 itself is perfectly stable with no corruptions in the GUI.
Thermal paste seems to have held up well in storage, highest temperature I recorded so far was 89 C in 3D Mark 03. No re-paste necessary.
And unlike the AGP port, the PCIe port performs almost the same between 98 and XP.
Benchmarks in XP: single core affinity
The attachment 3DMark01-7950_XP.png is no longer available
The attachment 3DMark03-7950_XP.png is no longer available
I thought I would lose DOS sound compatibility after installing the 2 GB of RAM and the PCIe GPU, but after a lot of experimenting with EMM386 and HIMEMSX I retained SB16 emulation. (In retrospect HIMEMX would have also worked here, but whatever)
My CONFIG.SYS file with RLoew's PATCHMEM, with the /M switch, for 2 GB RAM support:
Installing the PCIe card prevented EMM386 from running unless I excluded C000-CFFF, and I finally figured out that excluding D000-D3FF will let me use EMM386 with a SATA drive plugged in, while in RAID mode. That was a big headache for dual-booting XP. Maybe now I'll try installing 98 on a pair of SSDs in RAID 0 for fun.
I also thought that the 7950 GT wouldn't be able to play DOS games, because of (possible) truncated VBE instructions in the VBIOS, but it actually works perfectly. Duke Nukem 3D, Wolfenstein 3D, and the DOS version of SimCity all work smoothly.
Later, I want to investigate how much this PCIe 1.0 x4 bus is bottlenecking the 7950 GT if at all.
Still trying to get CD audio to work. Maybe get a different soundcard too. This SB Live! has been acting very flakey lately. Simply unplugging an audio cable will cause it to make a terrible screeching sound and lock up Windows. I think there might be a cracked joint somewhere if that amount physical disturbance is enough to compromise the card. Or the PCI slots are super flimsy.
At Some Point(tm) I'll debug that AGP memory issue in 98. I have a USB to DB-9 cable that works in a virtual machine. I plan on spinning up a VM of NT 4.0 with the 98 DDK to try and trace out the issue, downgrading the BIOS and installing an older CPU if necessary.
Unfortunately using GeForce PCIe graphics cards is not the best idea to solve the AGP performance problem as they don't work with 45.23 driver which is very compatible with Windows 98 games unlike the later ones. I could not get Need For Speed Porsche 2000 or Thief 2 work with 81.98. Old Fifa/Nhl games are crashing too. This restricts Windows 98/XP dual boot rigs to GeForce FX 5800/5900. My FX 5600 scores just 8548 on my Athlon 3400+ rig in Windows XP so it's really just for very early Windows XP games while 7600GT scores 18569 in 3D Mark 2001 which is much more acceptable.
Unfortunately using GeForce PCIe graphics cards is not the best idea to solve the AGP performance problem as they don't work with 45.23 driver which is very compatible with Windows 98 games unlike the later ones. I could not get Need For Speed Porsche 2000 or Thief 2 work with 81.98. Old Fifa/Nhl games are crashing too. This restricts Windows 98/XP dual boot rigs to GeForce FX 5800/5900. My FX 5600 scores just 8548 on my Athlon 3400+ rig in Windows XP so it's really just for very early Windows XP games while 7600GT scores 18569 in 3D Mark 2001 which is much more acceptable.
I know, this is just a fun experiment. But now that I know 98 is happy with the PCIe slot, a Quadro FX 1300 (PCIe) might be the best of both worlds if I can't figure out the AGP memory bug. I'd get a PCX 5950 but those seem very rare.
I just tried Thief Gold and Thief 2 and they both work for me. Thief Gold has no EAX for whatever reason but I remember that game being very picky with audio acceleration. NFS: PU does not work though. Maybe with a Glide wrapper it would.
Edit: NFS: PU ver. 3.5 works on XP with Nvidia driver 307.83 (Feb 2013). Who would have thought. ¯\_(ツ)_/¯
NFS: HS works if I use the NFS 3 Modern Patch's dx8a.dll, replacing the d3da.dll file in the game's directory.
I still can't get CD audio to work. VxD or WDM drivers both produce no sound, not even with CD digital audio that WDM drivers offer. Windows will detect an audio CD and play it, but no sound is made. The analog audio cable I know is good after I tested it with a multimeter. So now I'm wondering if it's an issue with the card or with the DVD drive I have.
Yup, I confirmed the ASUS drive cannot read Redbook audio. Replaced it with a NEC ND-3550A, now I finally have CD audio. Tested it with Half-Life and it works great with digital out.
Yup, I confirmed the ASUS drive cannot read Redbook audio. Replaced it with a NEC ND-3550A, now I finally have CD audio. Tested it with Half-Life and it works great with digital out.
The 3550A is a nice drive. I'm currently using one in my AthlonXP system as well.
The only issue I had with it was that I needed to flash the latest official firmware so that it would recognize DVD+RW discs. Now, it works perfectly.
I was sent to this thread from Re: Best Slot 1 Chipsets/Motherboards? . As far as I know, Windows 2000 and better are able to fix up invalid PCI/AGP configurations set up by the BIOS, but Windows 98 relies on the BIOS doing its job correctly. To validate the configuration, I would need to take a look at the assigned / forwarded resources of the host bridge (for the AGP aperture), the AGP bridge (for the addresses forwarded to the AGP) and the video card configuration (for the addresses assigned to the card). Values obtained in Windows 2000/XP do not help, because you get the view of how Windows XP cleaned up the situation.
I attached the dumps from various graphics cards on my MSI K8T Neo V when booting into DOS - FX5600 (the main one that should be working), 7600GT, Riva TNT2
I attached the dumps from various graphics cards on my MSI K8T Neo V when booting into DOS - FX5600 (the main one that should be working), 7600GT, Riva TNT2
Thanks for the dump. Interestingly, the tool doesn't report the aperture range, which should be configured in "register 10 in device 0" as indicated by the data sheet, and that should be displayed as "MEM" below the 00:00.0 header. That might be a bug in my tool are an issue with the system. The remaining address ranges look consistent, at least. For the FX5600 I checked the the mappings, and I got to the conclusion that possible AGP aperture bases are f0000000 in the 128MB case and fa000000 in the 32MB case.
Please add the output of
1PCI 00:00.0 10.L fd 84 94.W
for both FX5600 configurations and post the output. That should print the AGP aperture base address, the AGP mode selection v2 vs. v3, and the registers to select the aperture size for each of the modes.
for both FX5600 configurations and post the output. That should print the AGP aperture base address, the AGP mode selection v2 vs. v3, and the registers to select the aperture size for each of the modes.
Here it is. AGP aperture setting in BIOS is definitely having an effect on AGP memory displayed in Sisoft Sandra and 3D Mark 2001 in Windows XP.
It seems like the aperture base configuration is also fine. It's exactly at the addresses I guessed. The issue seems to be fundamentally different from the Socket 7 / Slot 1 board problem. It would be interesting to compare the full config space, as set by an old BIOS that is compatible with Windows 98 and a new BIOS that is incompatible with Windows 98.
I was sent to this thread from Re: Best Slot 1 Chipsets/Motherboards? . As far as I know, Windows 2000 and better are able to fix up invalid PCI/AGP configurations set up by the BIOS, but Windows 98 relies on the BIOS doing its job correctly. To validate the configuration, I would need to take a look at the assigned / forwarded resources of the host bridge (for the AGP aperture), the AGP bridge (for the addresses forwarded to the AGP) and the video card configuration (for the addresses assigned to the card). Values obtained in Windows 2000/XP do not help, because you get the view of how Windows XP cleaned up the situation.
AFAIK this bug is present in Windows 2000 too. It was fixed in the first release of XP.
I've provided dumps of the AGP Target registers already and, on my board at least, everything checks out with the official Intel AGP spec. and VIA's data sheet on the PT880.
Now, here comes the kicker: I have (what appeared to be) two identical K8V-X SE motherboards - same revision and all. However, only one of them worked with the old K8V-X BIOS versions, the other failed to POST after the BIOS update (froze at a memory related post code). So I took off the north bridge heatsinks, and lo and behold, even though both motherboards look identical, their north bridges certainly are not (the North bridge with the round, grey metalic area appears to be a newer revision).
When I was looking for the reasons for the instability of the AGP Radeon with the REALto bridge, I came across the schematic of the ECS K8M800 motherboard.
Yes, there are two revisions of the K8T800, which differ in the supply voltage of the core logic - 1.5V or 2.5V.
I have revision B, which all utilities define for some reason as K8T800 PRO
the North bridge with the round, grey metalic area appears to be a newer revision.
If that's important to choose from, then the package with the metal heatsink is an old revision of the bridge.
Completely plastic - new revision.