VOGONS


First post, by appiah4

User metadata
Rank l33t
Rank
l33t

I am finalizing the setup of my 486 DX33 and I'm having a strange issue.

Windows 3.x won't start with EMM386 loaded unless I exclude the ENTIRETY of C000-F7FF range.

Believe me, I've tried trimming that block from either end, or trying to find holes in it, it doesn't work.

I've used MSD to check and it shows C000-C7FF and F7FF-FFFF as reserved for ROM and the rest being available for UMB, and the computer works perfectly with just NOEMS HIGHSCAN X=C0000-C7FF but Windows 3.x won't load, it hangs after splash screen.

The only ways I got Windows to work are:

A) X=C000-F7FF
B) WIN /S

Neither of which is ideal. I tried 3.1 and 3.11 for Workgroups.

I'm using Ontrack Disk Manager if that's relevant.

Otherwise, I'm completely stumped.

(The CPU I am using is lacking one pin, S1 (A27) in case that's also relevant)

Someone please help 🙁

AUTOEXEC.BAT and CONFIG.SYS below..

@ECHO OFF
PROMPT $p$g
PATH C:\WINDOWS;C:\DOS;C:\UTILS\VC;C:\COMPRESS\PKZIP250
SET TEMP=C:\DOS
LH C:\DOS\MSCDEX.EXE /S /D:OPTICAL
LH C:\DRIVERS\CTMOUSE.EXE /R2
LH C:\DOS\DOSKEY.COM
LH C:\DOS\SMARTDRV.EXE /X
BUFFERS=40,0
FILES=40
DOS=UMB
LASTDRIVE=H
FCBS=4,0
DOS=HIGH
STACKS=9,256
DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE NOEMS HIGHSCAN X=C000-C7FF
DEVICEHIGH=C:\DRIVERS\VIDECDD.SYS /D:OPTICAL

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 1 of 15, by Jo22

User metadata
Rank l33t
Rank
l33t

"X=C000-F7FF"

That's the best I found in this respect.. 🙁
https://www.atarimagazines.com/compute/issue1 … tine_memory.php

Edit: Windows 3.x also needs some free KB below 1MB for itself, you know.
In Enhanced mode, it uses several virtual device handlers, for HDD, keyboard, display, etc.
which perhaps require the space below under 1MB for double buffering, too, etc.
That being said, I'm speaking under correction here.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 2 of 15, by appiah4

User metadata
Rank l33t
Rank
l33t
Jo22 wrote:
"X=C000-F7FF" […]
Show full quote

"X=C000-F7FF"

That's the best I found in this respect.. 🙁
https://www.atarimagazines.com/compute/issue1 … tine_memory.php

Edit: Windows 3.x also needs some free KB below 1MB for itself, you know.
In Enhanced mode, it uses several virtual device handlers, for HDD, keyboard, display, etc.
which perhaps require the space below under 1MB for double buffering, too, etc.
That being said, I'm speaking under correction here.

I've tried pretty much everything that guide says..

Ended up making a menu; one option boots with 526K Conventional Memory and can boot Windows, the other with 601K Conventional Memory but Windows hangs..

Maybe I should try an EMM386 alternative like QEMM or JEMM386..

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 3 of 15, by Jo22

User metadata
Rank l33t
Rank
l33t

Hi, additionally, you could also try Netroom by Helix.
It "cloakes" drivers and includes special mouse/keyboard drivers that take up no conventional/UMB memory.
Furthermore, it includes a special BIOS (by Award) that replaces your existing PC's PC BIOS in RAM.

More information here:
Re: Which memory manager is better? Memmaker, QEMM or 386max.
Re: Tiny mouse driver ?

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 4 of 15, by jaZz_KCS

User metadata
Rank Oldbie
Rank
Oldbie

I can say that in these situations, QEMM helped me out a lot because its Stealth test was successfully able to detect the ranges that would be necessary to be excluded.

Be sure to run the setup and optimize procedures from within Windows.

Reply 5 of 15, by NJRoadfan

User metadata
Rank Oldbie
Rank
Oldbie

Post your CONFIG.SYS/AUTOEXEC.BAT
What chipset is on the motherboard?
What option ROMs are being used by cards? 486 machines should normally have C800-EFFF UMBs free with just the VGA and main BIOS present.

Don't forget the "RAM" option on EMM386. Also SMARTDRV can cause weird problems as well.

Another option to consider is a shadow memory unlocker for UMBs. There were a few utilities like UMBPCI that worked on 486 boards.

Reply 6 of 15, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

Sounds like a buggy board or chipset. Have you checked newsgroups?

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 7 of 15, by appiah4

User metadata
Rank l33t
Rank
l33t

I never heard of Netroom but it's also worth a try. I will start out by giving QEMM8 a try first though.

NJRoadfan wrote:
Post your CONFIG.SYS/AUTOEXEC.BAT What chipset is on the motherboard? What option ROMs are being used by cards? 486 machines sho […]
Show full quote

Post your CONFIG.SYS/AUTOEXEC.BAT
What chipset is on the motherboard?
What option ROMs are being used by cards? 486 machines should normally have C800-EFFF UMBs free with just the VGA and main BIOS present.

Don't forget the "RAM" option on EMM386. Also SMARTDRV can cause weird problems as well.

Another option to consider is a shadow memory unlocker for UMBs. There were a few utilities like UMBPCI that worked on 486 boards.

I posted the CONFIG.SYS and AUTOEXEC.BAT files in the original post.

Motherboard is an ECS 486UL-P101 with UMC UM82C491F/UM82C493F chipset:

ECS-486-UL-P101.jpg

Expansion cards currently on the system are Cirrus Logic CL-GD5428 VLB 2MB, Sound Blaster 16 CT2290 ISA (with Dreamblaster S2), and a UMC UM82C863F/UM82C865F Multi-IO ISA

Cirrus-Logic-CL-GD5428.jpg Creative-Sound-Blaster-16-CT2290.jpg Multi-I-O-ISA-UMC-UM82-C863-F-UM82-C865-F.jpg

(Ignore the busted cap on the CT2290, it has since been replaced and works 100% fine)

REMing SMARTDRV out fixes nothing.

I though UMBPCI only worked for Intel 4x0 PCI chipsets, does it work with VLB 486 boards?

Anonymous Coward wrote:

Sounds like a buggy board or chipset. Have you checked newsgroups?

Hmm, that's possible.. Maybe I should also try to find a BIOS upgrade for my board, though those tend to be elusive for pre-Pentium stuff 😒

The BIOS string for mine is: 02/07/94-UMC-491-2C4X2C31-00, which is strange because according to this site, Wimsbios and this site it belogs to an unidentified Chaintech.. The ECS 486UL-P101 is probably a clone.

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 8 of 15, by appiah4

User metadata
Rank l33t
Rank
l33t

I've done a 40 minute long system scan using F-PROT 3.16f and 2009 definitions, just in case a virus was blocking the bootblock and no, that's not the case.

Interestingly, when I launch NSSI it complains about a virus in the memory..

I'm starting to feel more and more like it's Ontrack Disk Overlay that's causing my issues?

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 9 of 15, by jaZz_KCS

User metadata
Rank Oldbie
Rank
Oldbie

EZ-Drive overlay does NOT show up in NSSI / does not get NSSI annoyed about a possible virus in memory. I do not know about On-Track, though. This is one of the reasons I do recommend EZDrive instead of ontrack. That and the facts that both the 32Bit drive access driver is far better, and it uses far less memory.
Normally, if NSSI is annoyed by a possible memory virus, I always run F-Prot with newest definitions and usually find something like a Tai-Pan Virus that is either in memory or at the end of EXE files (sometimes even in NSSI itself.)

Reply 11 of 15, by appiah4

User metadata
Rank l33t
Rank
l33t

Major update: The problem was resolved by

1. Replacing the motherboard with a Chicony CH471A
2. Enabling DRAM Hidden Refresh in the BIOS (a setting that did not exist on the ECS 486UL-P101)

Now the question is, what does Hidden Refresh do and why would it solve my issues with Windows not loading with TSRs resident in UMB?

I once had another UMC chipset 486 (with again, a UMC U5S-SUPER33) that wouldn't produce PCM sound (hard lockup) unless Hidden Refresh was enabled.

What the hell is Hidden Refresh?

Looking at BIOS Companion I see this:

If using a Cyrix chip, you may need to increase the refresh interval or enable Hidden Refresh (below) if your BIOS has no special handling facilities.

I guess this might also apply for UMC CPUs..

This is what it says for Hidden Refresh:

Normally, a refresh takes up a CPU cycle. When enabled, the DRAM controller seeks the most opportune moment for a refresh, regardless of CPU cycles.

When CAS is low, RAS is made high, then low. Since CAS is low before RAS, you get a CBR refresh. The "hidden" part comes from the fact that data out stays on the line while refresh is being carried out, otherwise this is the same as CBR. If CAS is hidden, you can eliminate a CPU cycle whilst maintaining the cache status if the system starts power saving.

Best system performance is naturally obtained with this enabled, as no HOLD cycles will be asserted to the CPU, but expect to disable it if you are using 4Mb DRAMs (or certain SIMMs), or you get problems. Most of the effects of this are masked if you have a cache.

Not sure how this can cause so much stability issues when not enabled, can someone explain?

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 12 of 15, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

Wait, the first post said you're using a DX-33, but further down I get the impression that it's a UMC Super33. Is that correct?

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 13 of 15, by appiah4

User metadata
Rank l33t
Rank
l33t
Anonymous Coward wrote:

Wait, the first post said you're using a DX-33, but further down I get the impression that it's a UMC Super33. Is that correct?

I started out with a DX33, then switched to a U5S-33 just in case it was an issue with the CPU itself. The behavior was the same for both CPUs.

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 14 of 15, by Anonymous Coward

User metadata
Rank l33t
Rank
l33t

I don't think hidden refresh should be necessary for an Intel DX-33. Not sure about the Super33. Hidden refresh was somewhat necessary on Cyrix 486DLC chips, because those used 386 sockets which were often used in boards that didn't have dedicated circuitry to flush the cache. Cyrix used some trickery in such cases via hidden refresh to keep the cache current. It shouldn't be an issue with 486s that use a 168 pin socket.

UMC made some pretty good 386 and 486 chipsets. The board must be damaged in some way.

"Will the highways on the internets become more few?" -Gee Dubya
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium

Reply 15 of 15, by appiah4

User metadata
Rank l33t
Rank
l33t
Anonymous Coward wrote:

I don't think hidden refresh should be necessary for an Intel DX-33. Not sure about the Super33. Hidden refresh was somewhat necessary on Cyrix 486DLC chips, because those used 386 sockets which were often used in boards that didn't have dedicated circuitry to flush the cache. Cyrix used some trickery in such cases via hidden refresh to keep the cache current. It shouldn't be an issue with 486s that use a 168 pin socket.

UMC made some pretty good 386 and 486 chipsets. The board must be damaged in some way.

Both my ECS and Chicony boards have exhibited the same behavior with Intel and UMC CPUs, with VLB and ISA Multi IO cards and CHIPS and CL VLB cards as well as a variety of sound cards and RAM.

Both systems were very picky about RAM though.

Im really stumped for ideas as to why Hidden Refresh was necessay to make it stable but just glad it finally works..

Retronautics: A digital gallery of my retro computers, hardware and projects.