VOGONS


First post, by teh_Foxx0rz

User metadata
Rank Newbie
Rank
Newbie

I'm getting a lot of errors doing things that had previously working before, from several invalid page faults trying to run various software, to a bluescreen. They all seem to be at 016F.

I'm running a PIII Tualatin 1.4GHz on a VIA mainboard, with a Geforce FX 5700, SB Audigy 2, plus a USB 2 card, network card and ISA sound card, with 1GB of RAM using LIMITMEM to keep it at 512KB in Win98/DOS (I have a different hard drive with XP on I sometimes play around with on this system too).

I've tried reducing and replacing the RAM, but the errors didn't change, so it doesn't seem to be the RAM chips or configuration at all.
I've tried changing my Nvidia drivers - I initially installed 56.64, but went and tried (through forcing) 45.23, and just got corruption and a restart into safe mode (not unexpected when doing unofficial workarounds), then tried 52.04, but found it would freeze on a black screen when changing the desktop resolution in Windows. I then tried going back to 56.64 - yet while it had been working previously, this time, it also froze on a black screen when changing Windows' desktop resolution, and then I got the bluescreen I mentioned at the beginning.

This system has previously been working just fine in a essentially identical configuration - I since had to replace the FX 5700 cus the other went bad, I swapped to an Audigy 2 from a 2ZS so I could have the CD digital input, and I changed the ISA sound card to a different SB Pro compatible one I have, but these don't seem like hugely consequential changes to me. I've tested with the original configuration besides the new graphics card too, anyway, and got the same errors when trying to run the same games.

I've tried reinstalling Windows 98 over this installation, but the same issues still occur.
However, it seems I'm able to play these games with no problem under Windows XP, so it doesn't appear to me to be a hardware issue, such as RAM, the graphics card, or something on the mainboard.

Might anyone have any clue as to what the issue is, or what these errors are saying? I've looked in System Information in case there's some kind of memory address or I/O conflict and saw nothing too. It feels like my troubleshooting is a wild goose chase so far, and it would be very helpful to at least be able to narrow it down perhaps. Thanks very much.
Errors below.

(Impossible Creatures, Rome: Total War and Creative's remote control enabling software thing)

IC caused an invalid page fault in
module ~DECC24.TMP at 016f:0209699e.
Registers:
EAX=020d1ff9 CS=016f EIP=0209699e EFLGS=00010206
EBX=00b9f234 SS=0177 ESP=00b9f0ac EBP=00b9f0cc
ECX=00000000 DS=0177 ESI=00000000 FS=19cf
EDX=81bd1971 ES=0177 EDI=020d1ff9 GS=0000
Bytes at CS:EIP:
8b 50 04 8b 3d 50 b2 0a 02 74 03 87 c9 90 b8 39
Stack dump:
020d1ff9 022068d0 00b9f234 fe55cef8 244cf433 3fab1a32 9a44822d 9e3779b9 00b9f118 02096b27 020d1ff9 020b7460 020d09ac 020d0ef9 02099b9c 020d0ef9

ROMETW caused an invalid page fault in
module ~DE786E.TMP at 016f:1001a18e.
Registers:
EAX=03621ff9 CS=016f EIP=1001a18e EFLGS=00010216
EBX=029af0e4 SS=0177 ESP=029aeef0 EBP=029aef10
ECX=00000000 DS=0177 ESI=00000000 FS=1917
EDX=5a48a1d8 ES=0177 EDI=03621ff9 GS=0000
Bytes at CS:EIP:
8b 50 04 8b 3d 50 32 03 10 74 03 87 c9 90 b8 39
Stack dump:
03621ff9 0220b218 029af0e4 c2937025 7902d284 b96d8dd7 8eb4608e 9e3779b9 029aef5c 1001a317 03621ff9 10043060 036209ac 03620ef9 1001f82c 03620ef9

RCMAN caused an invalid page fault in
module RCMAN.EXE at 016f:00414437.
Registers:
EAX=80004002 CS=016f EIP=00414437 EFLGS=00010282
EBX=ffffffff SS=0177 ESP=0065f894 EBP=0065f8d4
ECX=00000000 DS=0177 ESI=00421835 FS=4a0f
EDX=00000000 ES=0177 EDI=00000020 GS=0000
Bytes at CS:EIP:
8b 11 8b 45 cc 50 ff 52 04 8b 4d cc 8b 11 8b 45
Stack dump:
004215f8 00000000 00000022 00000000 ffffffff 00000002 00000022 00000020 00421835 00414196 00990ec0 00418b80 0065f8cc 004215f8 00000000 00000000

The bluescreen error on changing resolution attached.

Attachments

Reply 1 of 15, by weedeewee

User metadata
Rank l33t
Rank
l33t

Has the mainboard been re-capped ? ie have its old capacitors replaced ?

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 3 of 15, by leonardo

User metadata
Rank Member
Rank
Member

You could try dropping the amount of RAM down to 512 MB or even 256 MB just to see if the issue stems from the fact that Win9x is not "supposed to" work with 1 GB. That's a clear separator between XP and 98 at least.

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 4 of 15, by teh_Foxx0rz

User metadata
Rank Newbie
Rank
Newbie

I did try with less RAM, as mentioned. Reducing it to physically 512MB and removing LIMITMEM. I didn't try 256MB but I've not had problems using 512MB before. Nor had I had issues with using 1GB and LIMITMEM. I also tried replacing the RAM with 512MB of entirely different sticks, but still had the same errors.

Reply 5 of 15, by bakemono

User metadata
Rank Oldbie
Rank
Oldbie

8b 50 04 8b 3d 50 32 03 10 74 03 87 c9 90 b8 39

Since your first two crashes happened on this same bogus code snip (except bytes 5-8 are different because there is an address relocation there), my guess is that it may be a corrupt DLL file. I don't know what would make the module name come up as a temporary file. But if you search your HDD (use XSearch or something) for a file containing some of these bytes (eg. bytes 9-15) you might be able to identify the file.

again another retro game on itch: https://90soft90.itch.io/shmup-salad

Reply 6 of 15, by Garrett W

User metadata
Rank Oldbie
Rank
Oldbie

Are you using any of the unofficial Service Packs for Win98SE? Also, which DirectX version are you using?
If I may also suggest removing the USB2.0 card entirely, at least for a while, to observe if this behavior stops occurring.

Reply 7 of 15, by teh_Foxx0rz

User metadata
Rank Newbie
Rank
Newbie

In the interest of ruling things out, I tried a different graphics card, my spare "test" Fx 5200, just in case maybe the RAM on the graphics card had an issue, but of course, no change.

bakemono wrote on 2022-12-30, 10:59:

8b 50 04 8b 3d 50 32 03 10 74 03 87 c9 90 b8 39

Since your first two crashes happened on this same bogus code snip (except bytes 5-8 are different because there is an address relocation there), my guess is that it may be a corrupt DLL file. I don't know what would make the module name come up as a temporary file. But if you search your HDD (use XSearch or something) for a file containing some of these bytes (eg. bytes 9-15) you might be able to identify the file.

I tried searching the hexadecimal with XSearch but it didn't come up with anything. I tried searching "exact phrase" for the first or last five (the ones common to the first two errors in my original post), but XSearch doesn't do anything, and so I searched for "all of the words" and it comes up with COMMAND.COM, IO.SYS and LOGO.SYS, but those just seem to have isolated instances of each hex pair (like, happening to contain one 8B somewhere).

Garrett W wrote on 2022-12-30, 11:17:

Are you using any of the unofficial Service Packs for Win98SE? Also, which DirectX version are you using?
If I may also suggest removing the USB2.0 card entirely, at least for a while, to observe if this behavior stops occurring.

The only unofficial Windows 98 extension thing I've been using is the unofficial USB driver. My DirectX is 9.0c.

I've removed the USB card, disabled the onboard USB ports, removed all the USB devices in Device Manager, and uninstalled the unofficial USB driver. I still get the error. However, it is slightly different now, though contains the same byte snippet.

IC caused an invalid page fault in
module ~DECC24.TMP at 0187:0209699e.
Registers:
EAX=020d1ff9 CS=0187 EIP=0209699e EFLGS=00010206
EBX=00b9f234 SS=018f ESP=00b9f0ac EBP=00b9f0cc
ECX=00000000 DS=018f ESI=00000000 FS=18ef
EDX=81bd1971 ES=018f EDI=020d1ff9 GS=0000
Bytes at CS:EIP:
8b 50 04 8b 3d 50 b2 0a 02 74 03 87 c9 90 b8 39
Stack dump:
020d1ff9 022093a3 00b9f234 fe55cef8 244cf433 3fab1a32 9a44822d 9e3779b9 00b9f118 02096b27 020d1ff9 020b7460 020d09ac 020d0ef9 02099b9c 020d0ef9

(I have since earlier restored an earlier installation, from when I know things had been working, since the freezing on changing the resolution was clearly not healthy. This earlier installation doesn't freeze when changing resolution, at least, though the other issue is still present (as you can see). Not sure if this caused this minor change in error or the removal of the USB things, though it's still the same error fundamentally, so it's probably not consequential.)

Reply 8 of 15, by Garrett W

User metadata
Rank Oldbie
Rank
Oldbie

Which USB driver would that be? nusb3.3 ?

If I may suggest something, since I understand you're dual-booting WinXP along with 98SE and because DirectX versions beyond 7.0a have been known to cause weird issues under 98SE, would you consider keeping 98SE strictly at 7.0a?
I would also suggest removing that USB 2.0 card all together, they are more trouble than they are worth in my opinion. Internal USB usually works fine, especially on a system as fast as yours, but if you want more speed and immediacy, you already have a network card in there which you can use, I personally have an FTP server setup on my main rig and have retro systems connect to it and grab files. I am not a networking guy at all and found this an absolute breeze to set up a couple of years ago, to the point where I've disabled USB completely on all my retro systems running Win9x.

Also, there is actually one unofficial Service Pack that you should perhaps consider installing, and that's 2.1a. If anything, because it is likely the easiest way to install all official Win98SE updates in one go. It has a few (selectable) tweaks and utilities as well and it changes some GUI elements with ones from Win2000/ME (regrettably) without an option to avoid doing so. It's worth it IMO.

Finally, what networking card are you using out of curiosity?

Reply 9 of 15, by teh_Foxx0rz

User metadata
Rank Newbie
Rank
Newbie

Alright. I've had some time to do more troubleshooting.

- I've taken all the expansion cards out of this system except for the FX 5700. Also removed the 512MB RAM stick, leaving 512MB in there.
- Did a completely fresh install of Windows 98.
- I've installed only the drivers for the chipset (Apollo Pro 133T), graphics (Nvidia 53.04, then tried updating to 81.98 with the same result), and DirectX 9.0a. Nothing else. No USB drivers, sound card, network or anything (and the motherboard's USB is still disabled)
- I then installed the game I'm using to test this, Impossible Creatures, and...it worked! It all played just fine. I went into the campaign and loaded a map, played around a bit for a moment and all was well. I exited the game, feeling ready to go on with putting cards and things back into this to see which had the problem.
- I decided to not rest on my laurels, and double check. I immediately went to start up Impossible Creatures again; the last thing I did was quit the game, I'd not shut down or anything. However, this time...the error came up again. It looks a bit different, with 0167 this time, but it's still the same DECC24 file mentioned. A Kernel32 error came up immediately after exiting the error one time though.
- I installed and tried Rome: Total War as the other game that was having the error (and even updated DirectX to 9.0b that came with it), and as expected, the error occurred as it had done previously.

I then decided to put all the cards and RAM back in and change over to XP, and sure enough, these games still worked perfectly fine on there.
(And no, this isn't a dual-boot, this is completely isolated on a separate hard drive, and I just swap the cables over.) a sound or network card issue. I've also previously tried a different graphics card, RAM and hard drive, and still got the same error.

I didn't try installing a lower version of DirectX, but from my limited testing of games it really only seems to be in games which need DX8 or later that have the issue, and even then not all of them by any means. For example, Jedi Outcast still works just fine on this system in Windows 98.
I should maybe also mention that I did get a similar-looking error with the basic version of Anachronox, which uses OpenGL instead. However, patching the game fixed that, so it stopped being a practical issue, and I'm not sure if it even would be related. I'll try it again at some point perhaps, though.

And as well, part of what I had been using this system for was these end-of-era Windows 98 games requiring DX8 or 9, regardless of actual performance. I have other systems for older games, and wanted to be able get the most out of the Tualatin and Geforce FX 5700, even if they struggled a little bit.

TL;DR:
I'm still getting this error. After a lot of testing and fresh installs, I can safely say it's not a USB issue, nor is it a video driver issue, or a sound or network card issue. I've also previously tried a different graphics card, RAM and hard drive, and still got the same error.
This system had been running these games just fine, without this error, until recently. It doesn't seem compelling to me that this is some kind of inherent incompatibility or quirkiness in Windows 98.

Things that still seem plausible to me:
- A hardware issue. Perhaps there is something going bad about this motherboard, or maybe even the CPU. It's just really strange that the games still run completely fine under Windows XP, but perhaps there's some way that they interact with the hardware differently when running exactly the same games?
- Maybe a DLL did get corrupted, in the DirectX folder I always use to install it from, but I'm finding this quite unlikely in the scheme of things. Sometime I'll try and install it directly from a disc just to completely rule it out. As mentioned earlier here, I did update DirectX with 9.0b from Rome: Total War with no change.
- Maybe there's some kind of resource issue occurring that's hard to notice? I wouldn't expect that kind of thing on such a minimal install as I've just done, however. One single expansion card for video, I might have had one COM port enabled, but no USB or anything beyond that and other essentials. Not even sound, and definitely not ISA sound.

Feeling like I'm approaching a frustrating dead end. Fortunately I can still (for now?) play many of the games I'm wanting to on here, but it's a real big head-scratcher that these certain games that had been working now aren't.

I hope this additional testing and information might help narrow some things down. I appreciate all the help even if it seems like I've been dismissing a lot of it so far.

Reply 10 of 15, by Garrett W

User metadata
Rank Oldbie
Rank
Oldbie

The system hang is a bit perplexing, but I have a few follow-up questions:

a) which Apollo Pro 133T drivers are you installing under Win98?
b) at which point during this testing did you install Nvidia drivers 81.98? Later drivers (I forget if 81.98 are the last ones) are notoriously broken under Win9x.
c) you say that this was a non-issue until recently, did you change your Nvidia drivers recently or were you always on 53.04?
d) lastly, have you tried doing a BIOS reset to defaults while keeping conservative settings?
setting your RAM to CL3 and perhaps even PC100 speed rating and underclocking your videocard in both core and memory a little bit would help make 100% sure the problem does not lie in one of these components
You never know, XP being NT based is far less likely to have an instability take the whole system down, compared to anything Win9x. I'd give it a try.

Also, I'm not sure you've answered my previous question. The scenario in which the Win98SE setup is aimed at titles up to and including DX7 games, and WinXP takes care of anything above and beyond that, is that unappealing to you? It could lead to less issues down the line, even if this particular issue you're experiencing is proven to be unrelated.
I should add that AFAIR Aquanox is a DX8 game and Aquanox 2 DX9. Jedi Outcast is an OpenGL game, it's running on idtech3, the engine that powers Quake 3.

Reply 12 of 15, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie

The way that the error is occuring in a temporary file definitely points towards a software issue, not hardware. Something seems to be injecting itself/hooking into other apps - maybe a virus, or maybe something by design e.g. a third party mouse util or other background app. Grab a copy of the referenced tmp file and examine it to figure out exactly what it is.

Reply 13 of 15, by teh_Foxx0rz

User metadata
Rank Newbie
Rank
Newbie

Alright everyone

I've found the cause of the problem.

I admit, I hadn't touched the settings in the BIOS after "optimising" them some time ago. Because, the system itself didn't seem erratic, "unstable", and nor did they seem too much (RAM CL was still at 3 for instance), and perhaps I'd also changed something there and didn't test thoroughly before forgetting. But I had a bit more time today to sit down and reset and comb through them.

Enabling optimisations one-by-one and testing each time, I came upon the setting causing the issue: "IDE Secondary Prefetch".

I figure this enables prefetching for the secondary IDE controller? Perhaps that doesn't work for the CD drive, or the CD drive in this PC, or something. Anyway, all my other optimisations seem to work now, and so do these games.

Garrett W wrote on 2023-01-04, 23:50:

Also, I'm not sure you've answered my previous question. The scenario in which the Win98SE setup is aimed at titles up to and including DX7 games, and WinXP takes care of anything above and beyond that, is that unappealing to you? It could lead to less issues down the line, even if this particular issue you're experiencing is proven to be unrelated.
I should add that AFAIR Aquanox is a DX8 game and Aquanox 2 DX9. Jedi Outcast is an OpenGL game, it's running on idtech3, the engine that powers Quake 3.

I wanted to use this hardware as a Windows 98 "powerhouse" to play the end-of-era stuff on, while still providing much of the typical Windows 98 features such as native DOS backwards compatibility (for the less-sensitive titles), with only perhaps changing the FSB being necessary. The Tualatin is a Pentium III, so being a powerful Windows 98 system feels much more fitting for it than being a really low-end/early Windows XP system. I just put XP on because I could and I was curious, and there were a handful of games that ought to work on 98 that have some other strange issues, that I still wanted to test with the hardware. I have other systems that are more suitable for XP.
Also, I was talking about Anachronox, not "Aquanox". And, Jedi Outcast lists DX8 as a requirement on its box, and that's what I was going off of. Perhaps that just provides a necessary OpenGL driver, too.

bakemono wrote on 2023-01-05, 12:21:

Ollydbg works in Win98, maybe try launching the game with it and see if any useful hint comes up when the error occurs?

I've not heard of that, and perhaps I'll give it a try sometime to see why this BIOS setting causes this problem, if no one else would have any clue.

jmarsh wrote on 2023-01-05, 17:39:

The way that the error is occuring in a temporary file definitely points towards a software issue, not hardware. Something seems to be injecting itself/hooking into other apps - maybe a virus, or maybe something by design e.g. a third party mouse util or other background app. Grab a copy of the referenced tmp file and examine it to figure out exactly what it is.

It was really strange, when I tried to search for the file name, nothing showed up at all. I have hidden files set to be shown and everything.

But, at least I seem to have found the cause, even if I have no idea why it's causing the issue. I'd be curious if anyone has any suggestions for what could be going on there.
Thanks for the input everyone.

Reply 14 of 15, by javispedro1

User metadata
Rank Member
Rank
Member

These "temporary file names" remind me of some CD copy protection schemes, e.g. SafeDisc/SecuROM. I wouldn't have paid much attention to it, but since you mention the problem is related to an IDE controller setting...

Reply 15 of 15, by teh_Foxx0rz

User metadata
Rank Newbie
Rank
Newbie

It could indeed be that "IDE Secondary Prefetch" was breaking SafeDisc/SecuROM somehow... And that would explain why it only seemed to be the small niche of later Win98-compatible DX8/DX9 games, since, from what I understand, that's the era it started getting implemented.
I was checking DXDiag, and that was all working fine, and the error was occurring right on starting the game.

I don't know enough about CD DRM methods to know why prefetching would break them, but it seems quite probable now that you suggest it.