VOGONS


Not Another Ultimate Windows 98 Build

Topic actions

Reply 80 of 106, by AlexZ

User metadata
Rank Member
Rank
Member
VDNKh wrote on 2022-08-24, 01:10:

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).

Pentium III 900E, ECS P6BXT-A+, 384MB RAM, NVIDIA GeForce FX 5600 128MB, Voodoo 2 12MB, 80GB HDD, Yamaha SM718 ISA, 19" AOC 9GlrA
Athlon 64 3400+, MSI K8T Neo V, 1GB RAM, NVIDIA GeForce 7600GT 512MB, 250GB HDD, Sound Blaster Audigy 2 ZS

Reply 81 of 106, by Repo Man11

User metadata
Rank l33t
Rank
l33t

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."

Reply 82 of 106, by Repo Man11

User metadata
Rank l33t
Rank
l33t

BIOS 1007 delivered the same result as 1008:

"We do these things not because they are easy, but because we thought they would be easy."

Reply 83 of 106, by Repo Man11

User metadata
Rank l33t
Rank
l33t

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."

Reply 84 of 106, by VDNKh

User metadata
Rank Newbie
Rank
Newbie
Joseph_Joestar wrote on 2022-08-24, 01:25:

I'm not sure I follow.

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?

AlexZ wrote on 2022-08-24, 07:07:

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.

Repo Man11 wrote on 2022-08-25, 19:34:

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.

Reply 85 of 106, by Joseph_Joestar

User metadata
Rank l33t
Rank
l33t
VDNKh wrote on 2022-08-25, 23:49:

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.

Looking at the CPU compatibility list, the only differences between the CPUs added in BIOS 1005 and 1006 was the implementation of SSE3.

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.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Athlon64 3400+ / Asus K8V-MX / 5900XT / Audigy2
PC#4: i5-3570K / MSI Z77A-G43 / GTX 970 / X-Fi

Reply 86 of 106, by VDNKh

User metadata
Rank Newbie
Rank
Newbie

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)

Benchmarks in 98: GPU Core: 570 MHz, GPU Memory: 730 MHz
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:

DEVICE=C:\WINDOWS\HIMEMSX.EXE /NUMHANDLES=128
DEVICE=C:\WINDOWS\EMM386.EXE M8 RAM H=128 X=C000-D3FF HIGHSCAN

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.

Reply 87 of 106, by AlexZ

User metadata
Rank Member
Rank
Member

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.

Pentium III 900E, ECS P6BXT-A+, 384MB RAM, NVIDIA GeForce FX 5600 128MB, Voodoo 2 12MB, 80GB HDD, Yamaha SM718 ISA, 19" AOC 9GlrA
Athlon 64 3400+, MSI K8T Neo V, 1GB RAM, NVIDIA GeForce 7600GT 512MB, 250GB HDD, Sound Blaster Audigy 2 ZS

Reply 88 of 106, by VDNKh

User metadata
Rank Newbie
Rank
Newbie
AlexZ wrote on 2022-10-08, 08:28:

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.

Reply 89 of 106, by VDNKh

User metadata
Rank Newbie
Rank
Newbie
Joseph_Joestar wrote on 2021-11-22, 05:26:
VDNKh wrote on 2021-11-22, 03:51:

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.

Yes, it could be the drive itself.

See this thread: When did optical drives stop support cd audio despite still having the connector for it? How to avoid buying one?

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.

Reply 90 of 106, by Joseph_Joestar

User metadata
Rank l33t
Rank
l33t
VDNKh wrote on 2022-10-16, 01:06:

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.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Athlon64 3400+ / Asus K8V-MX / 5900XT / Audigy2
PC#4: i5-3570K / MSI Z77A-G43 / GTX 970 / X-Fi

Reply 91 of 106, by deksar

User metadata
Rank Member
Rank
Member

Hi, okay, just wanted to try as VDNKh informed me about this post, under my own post, and I think I have the same bug.

But it was disappeared after downgrading the BIOS, from 1009.008 to 1005.

Here are the screenshots;

1.jpg
3DMark01: Before downgrading the BIOS, total AGP memory was: 0 bytes.

2.jpg
3DMark01: After downgrading the BIOS, total AGP memory is as shown above.

3.jpg
GPU Card Properties Window: Current AGP Speed: was Disabled, it's now 8x Enabled after downgrade.

4.jpg
Dxdiag: "AGP Texture Acceleration" was Disabled, it's now Enabled after downgrade.

Reply 92 of 106, by mkarcher

User metadata
Rank l33t
Rank
l33t

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.

You can obtain a dump of the PCI addressing configuration using my "pci" tool from https://github.com/karcherm/dostools/releases/tag/v1.1a or any other PCI configuration space dumping tool for DOS or Windows 98.

Reply 93 of 106, by AlexZ

User metadata
Rank Member
Rank
Member
mkarcher wrote on 2023-01-22, 10:38:

You can obtain a dump of the PCI addressing configuration using my "pci" tool from https://github.com/karcherm/dostools/releases/tag/v1.1a or any other PCI configuration space dumping tool for DOS or Windows 98.

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

Pentium III 900E, ECS P6BXT-A+, 384MB RAM, NVIDIA GeForce FX 5600 128MB, Voodoo 2 12MB, 80GB HDD, Yamaha SM718 ISA, 19" AOC 9GlrA
Athlon 64 3400+, MSI K8T Neo V, 1GB RAM, NVIDIA GeForce 7600GT 512MB, 250GB HDD, Sound Blaster Audigy 2 ZS

Reply 94 of 106, by mkarcher

User metadata
Rank l33t
Rank
l33t
AlexZ wrote on 2023-01-22, 13:28:

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

PCI 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.

Reply 95 of 106, by AlexZ

User metadata
Rank Member
Rank
Member
mkarcher wrote on 2023-01-22, 16:11:
Please add the output of […]
Show full quote

Please add the output of

PCI 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.

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.

Pentium III 900E, ECS P6BXT-A+, 384MB RAM, NVIDIA GeForce FX 5600 128MB, Voodoo 2 12MB, 80GB HDD, Yamaha SM718 ISA, 19" AOC 9GlrA
Athlon 64 3400+, MSI K8T Neo V, 1GB RAM, NVIDIA GeForce 7600GT 512MB, 250GB HDD, Sound Blaster Audigy 2 ZS

Reply 96 of 106, by mkarcher

User metadata
Rank l33t
Rank
l33t

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.

Reply 97 of 106, by deksar

User metadata
Rank Member
Rank
Member

Does that no-AGP texture problem happen only with VIA chipsets? Or the same problem happens with SiS and Intel as well?

Reply 98 of 106, by VDNKh

User metadata
Rank Newbie
Rank
Newbie
mkarcher wrote on 2023-01-22, 10:38:

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.

Reply 99 of 106, by shevalier

User metadata
Rank Member
Rank
Member
bloodem wrote on 2022-08-22, 05:36:

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.

Aopen MX3S, PIII-S Tualatin 1133, Radeon 9800Pro@XT BIOS, Diamond monster sound MX300
JetWay K8T8AS, Athlon DH-E6 3000+, Radeon HD2600Pro AGP, Audigy 2 Value