PDA

View Full Version : Doom on a 486DX



comradesean
January 8th, 2016, 02:01 AM
I'm experiencing significant slowdown when I enable sound and music. If I disable both, it runs very smoothly. This is on a 486DX with 4mb ram. Is this my CPU or does it seem like something else?

simplex
January 8th, 2016, 02:03 AM
I'm experiencing significant slowdown when I enable sound and music. If I disable both, it runs very smoothly. This is on a 486DX with 4mb ram. Is this my CPU or does it seem like something else?

Do you have any cache RAM? If you do, is it enabled either on jumpers on in BIOS?

Doom performance is affected hugely by cache RAM on my own 486 system. If I disable it, the system is significantly slower.

Scali
January 8th, 2016, 03:36 AM
Which sound card are you using?
It is normal that the sound effects take CPU time on a Sound Blaster or compatible card, because they require software mixing (you can limit the number of channels to improve performance).
Music shouldn't affect performance much, if at all.
If it does, that may be a configuration issue.

Even so, I used to play Doom on a 486DX2-66 with a Diamond SpeedStar Pro VLB and a Sound Blaster Pro 2.0, and it ran very smoothly even with 8 channels.

comradesean
January 8th, 2016, 05:15 AM
I'll have to check when I get home from work, but, if I remember correctly, the motherboard has a large section of empty sockets for cache in the upper-right. Might not be available without upgrading that, but I won't know for sure until I check it out.

Scale,
I'm using a Sound Blaster AWE32. I spent some time testing before work and it didn't seem to matter how many digital channels I set it to, it would bring the game to a crawl. Mines the DX1 33mhz though so the 486DX2 has a bit of a jump over me.

Also music wouldn't play without the sound set up for some strange reason, but I could have missed something since I was just in a rush to finish up at that point.

GiGaBiTe
January 8th, 2016, 03:15 PM
Do you have any cache RAM? If you do, is it enabled either on jumpers on in BIOS?

Doom performance is affected hugely by cache RAM on my own 486 system. If I disable it, the system is significantly slower.

Yep, having cache does make a difference.

I lost the spreadsheet I made, but I tested Quake on a Pentium 150 both with and without a 512k COAST module. In both 320x240 and 640x480 modes, the performance gain with cache was 12-15%.

comradesean
January 9th, 2016, 05:45 AM
Checked BIOS and it's got both internal and external cache enabled, but I'm fairly certain it's an optional upgrade for my motherboard.
I believe this is my motherboard, but they're dumping several versions into one group. (http://motherboards.mbarron.net/models/486vlb3/mb1433uc.html)

I ended up just purchasing a tested 486DX2 for 17 bucks on eBay. I figure I can always swap back and forth if I need to.

GiGaBiTe
January 9th, 2016, 06:23 AM
486 CPUs only have an internal 8/16KB L1 cache, they never had internal L2 cache, that was provided by SRAMs you install on the motherboard.

If you can find SRAMs and enough TAG SRAM to fill the slots on your board for cheap, you should do it.

Agent Orange
January 9th, 2016, 07:46 AM
486 CPUs only have an internal 8/16KB L1 cache, they never had internal L2 cache, that was provided by SRAMs you install on the motherboard.

If you can find SRAMs and enough TAG SRAM to fill the slots on your board for cheap, you should do it.

GiGaBite is right in his assessment, but in my experience, if you are in fact missing SRAM & TAG SRAM, you might be better off in the long run to look for another 486 motherboard. It might be a long and difficult search for your SRAM, but if you have the time, patience, and resources, then go for it.

comradesean
January 9th, 2016, 02:00 PM
486 CPUs only have an internal 8/16KB L1 cache, they never had internal L2 cache, that was provided by SRAMs you install on the motherboard.

If you can find SRAMs and enough TAG SRAM to fill the slots on your board for cheap, you should do it.

This will be a first time for me for this sort of upgrade. Is there a unique identifier I should be looking for, or will anything sold as sram and with the appropriate number of pins/dimensions be fine?

Ex:http://www.ebay.com/itm/262085771074?_trksid=p2057872.m2749.l2649

xjas
January 11th, 2016, 09:02 PM
Forget cache (well, feel free to upgrade that too ;) ) - 4MB main RAM isn't very much. I believe its the bare minimum.

Not sure if Doom uses any kind of virtual memory... If it's dynamically loading sounds off of disk as you're playing that could be the cause of the slowdown. (Does Doom do that?? I'm basing this opinion off other games like ROTT which certainly do.)

Not sure if you're using 30- or 72-pin RAM already. My recommendation is to grab some cheap 72-pin SIMMs (70ns, FPM would be fine) and upgrade to 8 or 16MB. Nothing you can run on a 486/33 would be unhappy with 16MB.

bear
January 11th, 2016, 09:15 PM
I'm surprised nobody's mentioned turning off EMS support if you're loading EMM386.EXE. I was skeptical when I got that advice from Media Vision back in the day, but it made a huge difference to whatever it was I was doing at the time.

Scali
January 12th, 2016, 03:11 AM
I'm surprised nobody's mentioned turning off EMS support if you're loading EMM386.EXE. I was skeptical when I got that advice from Media Vision back in the day, but it made a huge difference to whatever it was I was doing at the time.

I'll go one further:
For Doom, or any other game using a DOS extender, just don't load anything. No EMM386.EXE, no HIMEM.SYS, no nothing.
You don't need it.

The problem with EMM386.EXE is that it emulates EMS via the v86 mode, and virtualizing certain IO ports to emulate an EMS controller.
This v86-mode can get in the way of a lot of software, slowing it down, or not working at all.

A DOS extender can take care of all memory by itself, so you shouldn't load anything you don't need. There's also no need to worry about how much conventional memory you have free, because the DOS extender uses 32-bit flat addressing anyway.

You generally don't need any drivers for mouse or sound cards or anything either, because the game has its own 32-bit drivers built in. So no need for 16-bit TSRs that just get in the way.

comradesean
January 12th, 2016, 07:39 AM
Yeah, 4mb is bare minimum and I'm gonna look into that next. I've been booting by holding the shift key to skip autoexec though, so I'm not running anything in memory besides Doom.

I didn't even think about it loading sounds from the hdd, but I don't think that'd be an issue as I'm using a CF card attached to my ide. I'm gonna upgrade my cache when it arrives and if it's still slow I'll look for additional memory.

On that note, does adding memory to my sound card help gaming at all or is that only for sound editing?

Scali
January 12th, 2016, 08:35 AM
On that note, does adding memory to my sound card help gaming at all or is that only for sound editing?

The AWE32? I don't think there's a lot of software that even makes use of the memory (probably because it wasn't standard).
What you could try is to run the game in SBPro or SB16 mode instead. It may improve performance.

Eudimorphodon
January 12th, 2016, 08:46 AM
On that note, does adding memory to my sound card help gaming at all or is that only for sound editing?

The RAM on the AWE32 is slaved to the synthesizer chip and is used to store instrument samples. (IE, "soundfonts".) If you're running a game that supports the AWE32's advanced synth then upgrading the RAM on the card and loading a nicer-sounding soundfont into the onboard RAM using the appropriate Soundblaster utilities can make your music sound nicer, but it won't make *any* difference to digitized audio/sound effects or how fast the game plays. All the parts of the card that handle that are identical to a SB16.(*)

(Maybe there's *slightly* more CPU load using the AWE synth compared to OPL-3, I think it supports more channels, but it's going to be pretty minor if noticeable at all.)

EDIT: In addition to native support I believe there was a utility included with the AWE32 that you could use to fool games that supported external MIDI synth devices like the Roland MT-32 to output through the AWE synth instead and that there *were* some compatibility/performance gotchyas with trying to use that. But you'd probably know if that's what you were doing.

Scali
January 13th, 2016, 12:32 AM
but it won't make *any* difference to digitized audio/sound effects or how fast the game plays. All the parts of the card that handle that are identical to a SB16.(*)

That depends on what settings Doom chose to use. They may choose lower mixing rate or bit depth on lower-end cards. Not sure if there's a difference between AWE32 and SB16, but SB Pro is only capable of 22 KHz 8-bit in stereo, so if they use 44 KHz 16-bit for the SB16, the SB Pro setting may be lighter on the CPU.

Eudimorphodon
January 13th, 2016, 08:35 AM
Doom uses the same 8 bit sound samples on all cards; while the DMX format used in the WAD file theoretically supports arbitrary sample rates in practice they're basically all recorded at 11khz. Granted I don't *know*, maybe there could be a reason, but I can't imagine why it would be more expensive in terms of CPU time to push the same sound sample through a SB16's "native" mode vs. its SB Pro emulation. (Don't you generally use DMA to output digitized sound on an SB?)

Actually, looking at a screenshot of the setup screen DOOM doesn't make a distinction between Soundblaster cards on the "sound" screen, the only option is "Soundblaster", so it looks like Doom *always* just runs as if it were a plain Soundblaster so far as digitized effects go. The "Music Card" screen is where you can select between "Sound Blaster" and "Sound Blaster AWE" (among other). Likewise there is no distinction on this screen between SB and SB16 so I'd assume that when running on an SB16 it just uses the OPL-2/Adlib emulation, not OPL-3.

The OP could of course try changing from AWE to Soundblaster on the music screen (or disable it entirely) to see if that speeds anything up, but I'm skeptical. The AWE synth is completely hardware and shouldn't be any more expensive than running a MIDI stream. (IE, cheap.)

Scali
January 13th, 2016, 09:00 AM
Doom uses the same 8 bit sound samples on all cards; while the DMX format used in the WAD file theoretically supports arbitrary sample rates in practice they're basically all recorded at 11khz. Granted I don't *know*, maybe there could be a reason, but I can't imagine why it would be more expensive in terms of CPU time to push the same sound sample through a SB16's "native" mode vs. its SB Pro emulation. (Don't you generally use DMA to output digitized sound on an SB?)

A Sound Blaster has only a single stereo output channel. Doom supports up to 8 sound effects at a time (turning those down will make it run faster as well, by the way). In order to do so, it uses software mixing. Which means that all audio played by Doom will pass through the CPU first, before it is output via DMA.
Now, if you use 16-bit audio instead of 8-bit audio, that means twice as much data for the CPU to process. Likewise, mixing the sound effects at a higher frequency would also mean more data for the CPU.

Anyway, I'm just suggesting to try different settings, because I don't know whether or not it makes a difference, but it's easy to find out.
Same with AWE synth vs OPL3. Maybe there's a difference, maybe there isn't. It's worth a try.
Even if the hardware doesn't give you reason to believe there may be a difference, there could always be something screwy in the code, or some corner case in your configuration that makes it run slower than it should.

Eudimorphodon
January 13th, 2016, 09:32 AM
Yeah, wasn't disputing that turning down the number of voices would lower the CPU load, mostly just questioning that there's any *hardware* difference between an SB and SB16 that would make a difference with this application.

One thing I might wonder about is if the OP's system has some sort of DMA or IRQ conflict that's causing things to really slow down, although I'd think that would be more likely to just cause a hard crash. The 486/33 I had back in the day's Opti chipset had defective 16 bit DMA channels so using 16 bit sound on the ProAudio Spectrum 16 card I had was sort of a crapshoot, meaning most of the time I relied on the SB Pro emulation. That said I think it ran Doom just fine otherwise.

Scali
January 13th, 2016, 10:46 AM
Yeah, wasn't disputing that turning down the number of voices would lower the CPU load, mostly just questioning that there's any *hardware* difference between an SB and SB16 that would make a difference with this application.

As I already said, that depends on whether or not Doom uses 16-bit samples and/or higher sample rate on the SB16 (there's your hardware difference). I don't know what it does exactly. In theory it could.

Eudimorphodon
January 13th, 2016, 11:40 AM
As I already said, that depends on whether or not Doom uses 16-bit samples and/or higher sample rate on the SB16 (there's your hardware difference). I don't know what it does exactly. In theory it could.

Well, like I said the samples are all hardcoded as 8-bit 11k so if it is using 16 bit samples when it "detects" a Soundblaster 16 (and it would have to be *detecting* one since you can't choose) it must also be using software to "upscale" them somehow.

(And, again, since you can't choose the only way the OP would have to "force" SB Pro instead would be to swap cards.)

comradesean
January 21st, 2016, 08:58 AM
The DX2-66 I ordered came in and it's recognized by the system, but not the case display, I think I need to play with the jumpers on it?

Unfortunately, the faster cpu has had zero effect on the issues I was having with Doom. Smooth without sound, but jittery and nearly unplayable with. If I could see the fps, I'd guess it'd be nearly identical before and after.
Because of some shipping issues, I had to order another set of sram cache, but I'm now waiting on that, extra memory and a different soundcard without PNP to be delivered.

SpidersWeb
January 21st, 2016, 10:09 AM
Yes, the case display doesn't actually measure or detect anything, it's just a light that is configured with jumpers.
On a 486 I generally set the turbo mode to the frequency of the processor (66) and set the turbo off to "Lo" - many others just use HI and Lo, but I like the number, no matter if it's pointless :)

modem7 put up a great page that can help with jumpers - http://www.minuszerodegrees.net/led_speed_display/led_speed_display.htm

The last one I did I just guessed, but it took quite some time.

Different sound card sounds like a good plan.

Eudimorphodon
January 21st, 2016, 10:42 AM
A different soundcard without PNP to be delivered.

Hrm. Maybe I missed where PNP was mentioned earlier. Are you positive that the configuration of the sound card in terms of chosen IRQ and DMA settings actually matches your BLASTER DOS environment variable? I remember some weird stuff going down when that wasn't set up right with my SB32 PnP back in the day, but it's been too long ago to be very specific.

comradesean
January 21st, 2016, 03:11 PM
Hrm. Maybe I missed where PNP was mentioned earlier. Are you positive that the configuration of the sound card in terms of chosen IRQ and DMA settings actually matches your BLASTER DOS environment variable? I remember some weird stuff going down when that wasn't set up right with my SB32 PnP back in the day, but it's been too long ago to be very specific.

Yeah, I matched it up with the settings given by the creative pnp manager. Was mucking around with Elder Scrolls Arena so I already knew what the settings were by heart. I did try it both with and without the manager being run and environment variables being set as I usually run doom by booting with the shift key held down.

comradesean
January 22nd, 2016, 12:51 PM
Got my replacement Sound Card in the mail. I hooked it up and got it running, but the slowdown in Doom is still there.
I fiddled with the IRQ and Address, but performance didn't change. I also have a NIC installed, but removing it didn't change anything. (Heard there might be an IRQ conflict.)

Waiting on extra RAM and sram cache now.

comradesean
January 25th, 2016, 10:25 AM
Adding cache worked! I noticed when I was looking at the jumpers it was actually already configured for cache. Maybe that caused some slowdown as well?
It's still a teensy bit choppy maxed out, but I'd say it's definitely in the 30fps-ish range which is what I was expecting.

While I'm writing this, I've got some questions regarding my controller card and my CF card reader. What originally got me to crack down on this system is that I discovered my CF Card was corrupting my partition rather slowly during usage. I "resolved" this by switching it from the furthest connector on the cable to the closer one and it's so far been fine. *taps on wood* Though, It's caused me to be paranoid and run checkdisk before every shutdown. Anyone know anything of this issue?

And the last thing is that Sierra's CPC Copy Protection (http://agi.sierrahelp.com/CopyProtection/index.html) hangs my system. I've tried running it with Turbo enabled and disabled and both 5.25'' and 3.5'', but nothing seems to work. When I was having the issues with my CF Card Reader I would sometimes get errors during boot about my controller card, etc. (Can't remember what they were off the top of my head) Could this be related and or just be a problem with my controller card?

pearce_jj
January 25th, 2016, 11:22 AM
Adding cache worked! I noticed when I was looking at the jumpers it was actually already configured for cache. Maybe that caused some slowdown as well? It's still a teensy bit choppy maxed out, but I'd say it's definitely in the 30fps-ish range which is what I was expecting.

CPU cache is entirely a processor hardware thing; the cache would be unconfigured due to being not detected by the CPU I guess. It wouldn't work at all in any other state since a cache hit would always return nothing (probably FFh).


While I'm writing this, I've got some questions regarding my controller card and my CF card reader. What originally got me to crack down on this system is that I discovered my CF Card was corrupting my partition rather slowly during usage. I "resolved" this by switching it from the furthest connector on the cable to the closer one and it's so far been fine. *taps on wood* Though, It's caused me to be paranoid and run checkdisk before every shutdown. Anyone know anything of this issue?

CompactFlash is a 3V3 or 5V CMOS standard, whilst IDE is probably 3.3V TTL on a Pentium. If your CF card adapter is set for 5V supply, the signal may be barely enough to register a high. Try your card jumpered to 3V3 supply and/or connect it directly to the Mobo header using a cable-less CF adapter. Some CF Card adapters also have VERY poor voltage regulator implementation, meaning at 5V the card actually sees about 4.3V.