VOGONS


First post, by f00f

User metadata
Rank Newbie
Rank
Newbie

Hi all! First post for me, though I've gotten a lot of good information off the VOGONS forums over the years.

I have recently assembled a win98/DOS gaming machine. It's working nicely in win98se, but I'm having problems with EMM386 under DOS (the one that comes with 98se).

First off, relevant hardware specs:
Chaintech 6BTM0 (440BX) with 500MHz P3 Katmai, 512MB RAM, TNT2, HighPoint HPT374 PCI IDE, 3c905 ethernet, vibra16 ISA

The problem is with the PCI HPT374 controller. When I boot the machine from it, EMM386 causes freezes during boot and/or disk errors in DOS (which one it is depends on what other drivers I load, it seems pretty random). If I remove the HPT374 and boot from onboard IDE, everything works fine. However since I have an SSD (through SATA-IDE bridge) in the machine, I'd really like to get it working so I can have UDMA/133 instead of the UDMA/33 the onboard controller is capable of.

If I don't load EMM386, DOS works well with the HPT374. I can load HIMEM and any other drivers, run games, etc. Only EMM386 causes this problem. I've tried with a minimal config.sys like so (autoexec.bat is empty):

DOS=high,umb
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE RAM

With this, the machine boots to a prompt. 'dir' works. 'cd windows' works, but a 'dir' in there causes a disk read failure error. 'cd games' from the root also causes disk read failure. Again, everything works if I remove EMM386, the filesystem and disk are fine.

I've tried excluding various address ranges from EMM386 using the x= parameter with no luck. The HPT374 has option ROM mapped at db000-dffff, excluding that made no difference (not surprising, EMM386 already scans for option ROMs and this one has a valid header).

I tried installing FreeDOS and it seems to work well with the out-of-the-box HIMEMX + JEMM386 configuration, I played some games there and it was stable, but unfortunately some of the games I wanted to try didn't work (not sure if it was JEMM386 or something else in FreeDOS), so I don't think that's a good choice for DOS gaming. Strangely, using HIMEMX and JEMM386 under MS-DOS using the exact same parameters as FreeDOS used causes similar lockups as regular EMM386.

Any ideas would be appreciated! I can run DOS with the onboard IDE controller, but would really like UDMA/133 for win9x, and I don't want to swap cables around all the time.

Reply 1 of 6, by NJRoadfan

User metadata
Rank Oldbie
Rank
Oldbie

If you are using EMM386 to enable upper memory blocks, try UMBPCI instead.

http://www.mdgx.com/umb.htm

See the above page about loading SMARTDRV high and using floppies. Most UMBs enabled by UMBPCI don't support DMA and will corrupt floppy drives being cached by SMARTDRV when it is loaded HIGH. Easiest way to avoid the problem is to disable caching to the floppy.

Reply 3 of 6, by TheDosPlace

User metadata
Rank Newbie
Rank
Newbie

Hi f00f,

You could also try JEMM instead: http://web.archive.org/web/20141011223727fw_/ … de:80/Jemm.html

Dave

^Dave from TheDosPlace
http://www.facebook.com/TheDosPlace

Reply 4 of 6, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
TheDosPlace wrote:

You could also try JEMM instead

That would be the JEMM386 mentioned repeatedly in the first post.

f00f wrote:

I am using EMM386 mostly for access to EMS and XMS.

Wouldn't XMS be provided exclusively by HIMEM/HIMEMX?

Anyway, a quick Google search suggests that this controller is known to have problems with EMS.
Cannot enable EMS under Win2K...

The thread links to this page, which suggests that you can try disabling certain non-essential BIOS features, or alternatively EMS Magic.
http://www.columbia.edu/~em36/wpdos/emsxp.html

Reply 5 of 6, by f00f

User metadata
Rank Newbie
Rank
Newbie

Thanks Jorpho. Those suggestions at the second site didn't help, but I read over the hpt374+win2k thread again. I don't think it's the same problem (there the problem is that the HPT374 just takes too many damn UMBs, no crashing or instability reported), but the discussion mentioned some interesting entries in the BIOS changelog related to memory allocation, so I tried downgrading. Turns out that fixed it!

For anyone else in the same situation, try to downgrade to BIOS v123 (the newest v1.xx HPT374 BIOS). In the changelog for the next version (v3.00) they say they rewrote the whole thing, I guess they stopped caring about DOS compatibility around that time. You might have to use the flasher (load.exe) from the newer BIOS to flash the older one, the v123 bundled flasher wouldn't recognise my cards flash chip but the v3.04 bundled one did.

With v123 BIOS running, the machine boots without problems and I have EMS available. Now that the machine is stable, my issue is similar to the win2k one, that there are barely any UMBs available, so my drivers get loaded in conventional memory. I'll have to look into that. 😀

Reply 6 of 6, by TheDosPlace

User metadata
Rank Newbie
Rank
Newbie
Jorpho wrote:

That would be the JEMM386 mentioned repeatedly in the first post.

My bad! Wasn't paying attention!

^Dave from TheDosPlace
http://www.facebook.com/TheDosPlace