DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Support and general discussion.
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ruben_balea »

With MS-DOS versions 5.x and 6.x HIMEM.SYS fails to handle the gate A20 on DELL System 200, ending up without XMS enabled so DOS will have access to only 640Kb of conventional memory which after loading DOS, drivers, TSR's and so on you may end without enough memory to run most programs.

This happens also on many brands/models of real computers so I won't consider it a bug of PCem
I remember to have had at least a Compaq with this problem, a model with socket 5 Pentium, it was the only reason for knowing about this now...
Because the A20 line handling can vary from one system to another HIMEM.SYS tries to detect the correct hardware configuration but on some systems fails to do it.
OEM versions of DOS may have HIMEM.SYS modified for it's corresponding computer, but if you have only a retail version there's a switch for HIMEM.SYS to force some types of hardware, you can type both /M: or /MACHINE: also you can specify machine DESCRIPTION or NUMBER. It's not case sensitive and does not matter to use the NUMBER or the DESCRIPTION, the following examples will do all the same:

DEVICE=HIMEM.SYS /MACHINE:1
DEVICE=HIMEM.SYS /MACHINE:at
DEVICE=HIMEM.SYS /MACHINE:AT
DEVICE=HIMEM.SYS /M:1
DEVICE=HIMEM.SYS /M:at
DEVICE=HIMEM.SYS /M:AT

Bellow is the list of supported switches HIMEM.SYS from MS-DOS 6.22 seems that are the same for all versions of MS-DOS from 5.0 to 6.22 (HIMEM.SYS from MS-DOS 4.0 works fine on DELL System 200 without any switch)
By the way I don't know if it works or if it's an equivalent also for any version of HIMEM.SYS from other DOS 'clones' like Caldera, Datalight, Digital research, IBM, Novell...

Seems that most systems work with switch number 1, 11,12 or 13 (at, at1, at2 or at3) if your system is not listed you can try before those ones in that order instead of going from 1 to 17.
If you set an incompatible number the computer may not boot again or may boot without XMS, the MS-DOS Editor based on QBASIC executable may not load with low free memory, throwing the error 'Packed file is corrupt'
An easy solution is to use the EDIT.COM found in the recovery floppy made with windows 9x... put a Win 9x repair disk on the first floppy drive and type a:\edit.com c:\config.sys or if you are using only one floppy drive and no hard disk a:\edit.com b:\config.sys and exchange floppy by your MS-DOS boot floppy when asked.

DESCRIPTION or NUMBER [Intended computer type, may work for others too]
at or 1 [IBM AT or 100% compatible]
ps2 or 2 [IBM PS/2]
ptlcascade or 3 [Phoenix Cascade BIOS]
hpvectra or 4 [HP Vectra (A & A+)]
att6300plus or 5 [AT&T 6300 Plus]
acer1100 or 6 [Acer 1100]
toshiba or 7 [Toshiba 1600 & 1200XE]
wyse or 8 [Wyse 12.5 Mhz 286]
tulip or 9 [Tulip SX]
zenith or 10 [Zenith ZBIOS]
at1 or 11 [IBM PC/AT (alternative delay)]
at2 or 12 [IBM PC/AT (alternative delay)]
css or 12 [CSS Labs]
at3 or 13 [IBM PC/AT (alternative delay)]
philips or 13 [Philips]
fasthp or 14 [HP Vectra]
ibm7552 or 15 [IBM 7552 Industrial Computer]
bullmicral or 16 [Bull Micral 60]
dell or 17 [Dell XBIOS]

Hope this will help somebody but please don't ask me more about this or other HIMEM.SYS parameters because I won't know, sure that google will help a lot more.
Have fun with emulation!
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by SarahWalker »

Pretty certain the Dell System 200 is generally broken. I should probably remove it.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ppgrainbow »

I personally don't think that the Dell System 200 is broken and should be commented out. I can run MS-DOS 3.31 on the System 200 and then use HIMEM.SYS from MS-DOS 6.22 just fine without any A20 detection. :)

It should work if I have at least 2 MB of RAM allocated to the emulated machine or if I set mem_size parameter to 1432.
Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by Battler »

I actually agree with removing or at least commenting out the Dell System 200.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ppgrainbow »

The Dell System 200 does work with MS-DOS 3.31/MS-DOS 4.0x. I would be really shameful to permanent remove the Dell System 200 emulation. :(
dells200.png
dells200.png (55.95 KiB) Viewed 20529 times
Just not with DOS 5.0+. :(
vbdasc
Posts: 37
Joined: Tue 21 Mar, 2017 10:53 am

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by vbdasc »

ppgrainbow wrote:The Dell System 200 does work with MS-DOS 3.31/MS-DOS 4.0x.
Does it work with Windows 3.1? Does it work with any protected mode software at all? If not and it can't be repaired then really there is not much reason to keep it, IMHO.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ppgrainbow »

vbdasc wrote:
ppgrainbow wrote:The Dell System 200 does work with MS-DOS 3.31/MS-DOS 4.0x.
Does it work with Windows 3.1? Does it work with any protected mode software at all? If not and it can't be repaired then really there is not much reason to keep it, IMHO.
The Dell System 200 does work with Windows 3.0 and Windows 3.0a. I can only test this on PCem right now.

I will be testing Windows 3.1 to see if it works on the Dell System 200 sometime tomorrow.
vbdasc
Posts: 37
Joined: Tue 21 Mar, 2017 10:53 am

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by vbdasc »

ppgrainbow wrote: The Dell System 200 does work with Windows 3.0 and Windows 3.0a. I can only test this on PCem right now.
Does Windows 3.0 run in real or protected mode? What happens when you run "win /r" and "win /s"? Did you check if HIMEM.SYS from Windows 3.0 works?
altheos
Posts: 72
Joined: Wed 24 Feb, 2016 7:27 pm

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by altheos »

Ruben_balea provide a fix for this : put HIMEM.SYS /MACHINE:1 and XMS is enabled.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ppgrainbow »

vbdasc wrote:
ppgrainbow wrote: The Dell System 200 does work with Windows 3.0 and Windows 3.0a. I can only test this on PCem right now.
Does Windows 3.0 run in real or protected mode? What happens when you run "win /r" and "win /s"? Did you check if HIMEM.SYS from Windows 3.0 works?
Windows 3.0 runs in Standard Mode if 2 MB or more memory is available to the Dell System 200. Here's the screenshot of Windows 3.0 on the emulated machine:
win3_dells200.png
win3_dells200.png (38.63 KiB) Viewed 20458 times
I kinda admit that it was premature to completely remove the Dell System 200 from the code. :)

In short, the Dell System 200 DOES indeed work as it is. :)

Also, the System 200 can read 1.44 MB floppies, just can't boot from them due to a error.
Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by Battler »

What chipset does the System 200 use anyway? PCem uses the generic at_init() for it, but that may or may not be correct.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ppgrainbow »

Battler wrote:What chipset does the System 200 use anyway? PCem uses the generic at_init() for it, but that may or may not be correct.
I can't find any information regarding what chipset the System 200 uses. I'll have to do a search for the Dell System 200 and the motherboard specs.

I thought that the Dell System 200 was broken and should be permanently removed, but I was wrong. The System 200 still works.
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ruben_balea »

Windows 3.1 does work in Standard mode, Enhanced mode needs a 386+ CPU and Real mode not available anymore since 3.0
HD controller fails first boot but works after exiting BIOS SETUP and warm reboots, on 86Box only fails a few times with AT Fixed Disk Adapter and works fine with XTIDE.
Some captures of MS-DOS5.0 and Windows 3.1...
HIMEM OK.png
HIMEM OK.png (44.8 KiB) Viewed 20440 times
MS-DOS 5.0.png
MS-DOS 5.0.png (43.19 KiB) Viewed 20440 times
SMARTDRV OK.png
SMARTDRV OK.png (45.6 KiB) Viewed 20440 times
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ruben_balea »

Windows 3.1 setup replaces HIMEM.SYS but keeps parameters form MS-DOS HIMEM.SYS
Windows 3.1 setup replaces HIMEM.SYS but keeps parameters form MS-DOS HIMEM.SYS.png
Windows 3.1 setup replaces HIMEM.SYS but keeps parameters form MS-DOS HIMEM.SYS.png (65.86 KiB) Viewed 20440 times
Enhanced mode requires 386 CPU, REAL mode only available in 3.0
Windows 3.1 Standard mode (Enhanced mode requires 386 CPU, REAL mode only available in 3.0).png
Windows 3.1 Standard mode (Enhanced mode requires 386 CPU, REAL mode only available in 3.0).png (59.64 KiB) Viewed 20440 times
Windows 3.11 FWG needs a 386
Windows 3.11 FWG needs a 386.png
Windows 3.11 FWG needs a 386.png (7.57 KiB) Viewed 20440 times
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ruben_balea »

Tested various cards and Bahamas drivers may require a 386 for 24bpp/True Color, works up to 16bpp/High Color
ET4000 and ET4000W32 drivers seems to work well at all modes supported by those drivers.

Windows 3.1 ET4000 W32 driver 800x600x16bpp Color palette
Windows 3.1 ET4000 W32 driver 800x600x16bpp Color palette.png
Windows 3.1 ET4000 W32 driver 800x600x16bpp Color palette.png (129.59 KiB) Viewed 20440 times
Windows 3.1 ET4000 W32 driver 800x600x16bpp another view
Windows 3.1 ET4000 W32 driver 800x600x16bpp another view.png
Windows 3.1 ET4000 W32 driver 800x600x16bpp another view.png (168.67 KiB) Viewed 20440 times
Windows 3.1 ET4000 W32 driver 800x600x16bpp
Windows 3.1 ET4000 W32 driver 800x600x16bpp.png
Windows 3.1 ET4000 W32 driver 800x600x16bpp.png (77.69 KiB) Viewed 20440 times
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ppgrainbow »

From the look of these screenhots, I believe that Windows for Workgroups 3.1 was the last to work on a 286. Windows for Workgroups 3.11 dropped Standard Mode support on all 286-based machines and required at least a 386 or better to run.

Thank you for the screenshots, btw.
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ruben_balea »

Windows 3.1 generic Super VGA driver 800x600x4bpp works with most cards
Windows 3.1 Super VGA driver 800x600x4bpp.png
Windows 3.1 Super VGA driver 800x600x4bpp.png (70.71 KiB) Viewed 20437 times
Micorosft TETRIS @ 800x600x16bpp with ET4000 W32 driver
Windows 3.1 ET4000 W32 driver 800x600x16bpp MS TETRIS.png
Windows 3.1 ET4000 W32 driver 800x600x16bpp MS TETRIS.png (176.92 KiB) Viewed 20437 times
MSD (Microsoft Diagnostics) report made from Windows 3.1:
MSD report from WIN31.TXT
(20 KiB) Downloaded 343 times
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ruben_balea »

And the same report made from MS-DOS 5.0 with Windows 3.1 installed but not running:
MSD report from DOS.TXT
(18.96 KiB) Downloaded 377 times
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ruben_balea »

:?: Maybe I should have put all this on another topic? If so please sorry for not thinking about it before... :oops:

On next days I will look for some 286 protected mode software to test directly in DOS and within Windows 3.1 to see if there are other problems.

BIOS may expect something non standard from the mainboard/chipset, some years ago when the CMOS battery ran out on my Olivetti PCS386SX (it has a Dallas REALTIME DS1287 clock chip with built in battery) I've had serious problems to revive it after wiring a new battery to the chip, because the BIOS won't configure any drives withouth a predefined bits on CMOS and on this system there is not a load CMOS defaults option.

I've had to patch first the BIOS to make it boot on Bochs because it does some strange communication with the keyboard controller, then tried a lot of CMOS configurations with an hex editor and after finding the critical bits (already forgot what ones) to write to cmos without having any drive available I've had to write a custom rom code for a VGA card.

:idea: Please note that I'm not the kind of programmer that knows about hardware and it took a whole week for me to bring my Olivetti back to life.
I had self learnt before something about VB for Windows and Delphi but a little of Qbasic and Turbo Pascal for DOS and nearly zero about C/C++, BIOS, assembler, ROMS...
This is mainly why I expect that System 200 continues to be supported instead of dropping it, this will serve as starting point and reference to other users of uncommon systems.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ppgrainbow »

ruben_balea wrote::?: Maybe I should have put all this on another topic? If so please sorry for not thinking about it before... :oops:

On next days I will look for some 286 protected mode software to test directly in DOS and within Windows 3.1 to see if there are other problems.

BIOS may expect something non standard from the mainboard/chipset, some years ago when the CMOS battery ran out on my Olivetti PCS386SX (it has a Dallas REALTIME DS1287 clock chip with built in battery) I've had serious problems to revive it after wiring a new battery to the chip, because the BIOS won't configure any drives withouth a predefined bits on CMOS and on this system there is not a load CMOS defaults option.

I've had to patch first the BIOS to make it boot on Bochs because it does some strange communication with the keyboard controller, then tried a lot of CMOS configurations with an hex editor and after finding the critical bits (already forgot what ones) to write to cmos without having any drive available I've had to write a custom rom code for a VGA card.

:idea: Please note that I'm not the kind of programmer that knows about hardware and it took a whole week for me to bring my Olivetti back to life.
I had self learnt before something about VB for Windows and Delphi but a little of Qbasic and Turbo Pascal for DOS and nearly zero about C/C++, BIOS, assembler, ROMS...
This is mainly why I expect that System 200 continues to be supported instead of dropping it, this will serve as starting point and reference to other users of uncommon systems.
You have a really good point there. I too expect the Dell System 200 to remain supported instead of dropping it completely without any further investigation.
User avatar
omarsis81
Posts: 945
Joined: Thu 17 Dec, 2015 6:20 pm

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by omarsis81 »

ruben_balea wrote::?: Maybe I should have put all this on another topic? If so please sorry for not thinking about it before... :oops:

On next days I will look for some 286 protected mode software to test directly in DOS and within Windows 3.1 to see if there are other problems.
Do you know any game that uses the 286 protected mode? Wolfenstein 3D maybe?
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by SarahWalker »

HIMEM.SYS issues fixed in rev 716. I'm still not sure what chipset is being used here; it's apparently a Chips & Technology one, but the BIOS doesn't access any of the NEAT or SCAT ports. I suspect it might be a CS8220 with some custom stuff on top, but as that doesn't define any registers it doesn't help much. I've guessed at enough of it to get HIMEM.SYS working, and eliminate the 'memory overlap' error on POST.
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by SarahWalker »

I'm not aware of any games that use protected mode on a 286 - it doesn't really gain you much over real mode other than a larger address space (but still with 64kb segments), and if you need that then it's probably easier just to use EMS/XMS rather than write a DOS extender.
Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by Battler »

Doesn't early OS/2 use 286 protected mode? That would make it a good candidate for testing.
User avatar
ppgrainbow
Posts: 479
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ppgrainbow »

SarahWalker wrote:HIMEM.SYS issues fixed in rev 716. I'm still not sure what chipset is being used here; it's apparently a Chips & Technology one, but the BIOS doesn't access any of the NEAT or SCAT ports. I suspect it might be a CS8220 with some custom stuff on top, but as that doesn't define any registers it doesn't help much. I've guessed at enough of it to get HIMEM.SYS working, and eliminate the 'memory overlap' error on POST.
Thank you very much for fixing the HIMEM.SYS issue and eliminating the memory overlap error on POST! I appreciate it! :)
vbdasc
Posts: 37
Joined: Tue 21 Mar, 2017 10:53 am

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by vbdasc »

omarsis81 wrote: Do you know any game that uses the 286 protected mode?
Any game for Windows 3.1, for example (only joking, lol).
omarsis81 wrote: Wolfenstein 3D maybe?
Nope, it runs in real mode, AFAIK. Try "Syndicate" (1993) (I'm not actually sure, but there are indications that it might be built with a 286 extender)
vbdasc
Posts: 37
Joined: Tue 21 Mar, 2017 10:53 am

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by vbdasc »

SarahWalker wrote:I'm not aware of any games that use protected mode on a 286 - it doesn't really gain you much over real mode other than a larger address space (but still with 64kb segments), and if you need that then it's probably easier just to use EMS/XMS rather than write a DOS extender.
By that logic, Windows 3.x doesn't need to support protected mode, too. EMS/XMS may be good workarounds for the conventional memory limitations, but running code located in EMS/XMS memory is cumbersome, if at all possible, and that's why 286 extender were useful. IMHO, they would be around for much longer time, if their killers, the 386 extenders didn't appear soon afterwards :)
vbdasc
Posts: 37
Joined: Tue 21 Mar, 2017 10:53 am

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by vbdasc »

Battler wrote:Doesn't early OS/2 use 286 protected mode? That would make it a good candidate for testing.
Yes, OS/2 ver. 1.x uses 286 protected mode, as well as Microport System V/AT Unix, some versions of Xenix and even Minix, and others. But installing and using Windows 3.x is just easier :)
User avatar
SarahWalker
Site Admin
Posts: 2054
Joined: Thu 24 Apr, 2014 4:18 pm

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by SarahWalker »

OS/2 doesn't exactly fall under the previous post :
On next days I will look for some 286 protected mode software to test directly in DOS and within Windows 3.1 to see if there are other problems.
User avatar
ruben_balea
Posts: 191
Joined: Mon 08 May, 2017 11:24 pm
Location: Spain

Re: DELL System 200 (and others) HIMEM.SYS (MS-DOS 5.0+) GATE A20 ERROR

Post by ruben_balea »

Well, apart from these few operating systems seems that there was no much software designed to run in 286 protected mode
Lotus 1-2-3 v3.1 for DOS works fine also, I do think it runs in protected mode because it does not requires HIMEM.SYS to access the extended memory and does not run at all on 8086/8088 CPUs
Lotus 1-2-3 v4.0 for DOS hangs on splash screen, but this happens with all models and CPUs in PCEM, I tried a copy of the same virtual hard disk in Virtualbox and there runs OK...

Also tried the game 'Igor: Objective Uikokahonia' (CD version) but since I was unable to add CD-ROM and the game is copy protected it won't start.
Anyway it refused to load in first instance because DPMI16BI.OVL required and update for this hardware, got DPMIINST.EXE from Borland Turbo C++ 3.0 for DOS and ran it on the same directory to update DPMI16BI.OVL.
This should be done from raw DOS, withouth any memory manager because it changes between real and protected mode a few times. I guess it's to test for bugs preventing return back to real mode and to find the best / fastest settings.
I put all screenshots on the attached GIF, it delays 5 seconds between frames, you can copy the link and paste it on a new browser tab to see it undistorted.

This other attached file
286EMM.zip
(10.73 KiB) Downloaded 328 times
is the EMS driver from DELL System 210, maybe useful if somebody wants to get Expanded memory working on a physical 286 computer (or if any Pcem 286 system supports EMS) I don't know if it works also in other 286 boards :?:

:arrow: For me Dell System 200 emulation is now done, I do want to give many thanks to all who have helped to make this possible :D
Attachments
GIFANIM.gif
GIFANIM.gif (169.77 KiB) Viewed 20247 times
Post Reply