🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.windows.ms
Article #11315

HIMEM.SYS: Can't disable A20

#11315
From: Rich Messenger
Date: Sat, 27 Apr 1991 04:57
41 lines
2585 bytes
I recently bought a generic clone 386SX with 4MB RAM.  When I tried to
install HIMEM.SYS, I get the diagostic WARNING: Can't disable A20, but
then HIMEM goes ahead and says the High Memory Area is available.  My
(sketchy) understanding of A20 is that this addressing line must be
enabled to access extended memory or the HMA.  However, you are
supposed to *disable* A20 when you are not accessing extended memory
or the HMA because some program rely on the behavior when A20 is
disabled, which causes memory accesses above 1MB to wrap to zero.  The
upshot, then, of being unable to disable A20 is that any program which
relies on this wrapping behavior will trash memory in the HMA.

I thought I would submit several questions to the wisdom of the net:

1) What evil brain-damaged part of my clone is likely responsible for
the inability to disable A20?  I ran a clean boot with nothing but
HIMEM, so I'm sure it isn't software.  My best guess is that it is the
BIOS or some chip on the mother board.  Or could it be some plug in
board of mine?

2) If the answer to (1) is the BIOS, is there anyone else out there
who has my problem, or even better a solution to my problem?  On boot,
I get the message:
    386SX-BIOS (C) American Megatrends Inc
    NEATSX V1.1 05-31-90
Does anyone know a technical support address or number for AMI?

3) Is my analysis of the pitfalls of the non-disabling A20 correct?
If not, what's a good pointer to a book which discusses these issues.
I browsed through a computer book store today for an hour without any
success in finding a reference to A20.

4) It seems to me that HIMEM should disable the HMA if the A20 line
cannot be disabled, so that if there is a program which relies on
memory access wrapping, it will at least not trash another program's
data in the HMA.  Is disabling the HMA the safe thing to do?  How can
I do that?
-- 
     _ __
    ' )  )      /                      ... Rich Messenger
     /--' o _. /_                          rich@wilbur.coyote.trw.com
    /  \_(_(__/ /_                         {uunet,cit-vax,trwrb}!wiley!rich
Technical Details
Message-ID: <2819049E.5D03@deneva.sdd.trw.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!aero-c!gumby.dsd.trw.com!deneva!rich

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!aero-c!gumby.dsd.trw.com!deneva!rich
From: rich@coyote.trw.com (Rich Messenger)
Newsgroups: comp.windows.ms,comp.windows.ms.programmer
Subject: HIMEM.SYS: Can't disable A20
Keywords: HIMEM XMS HMA A20 brain-damaged
Message-ID: <2819049E.5D03@deneva.sdd.trw.com>
Date: 27 Apr 91 04:57:02 GMT
Sender: news@deneva.sdd.trw.com
Organization: MASDR Project, Redondo Beach, CA
Lines: 41