388 lines
9.6 KiB
Plaintext
388 lines
9.6 KiB
Plaintext
|
||
|
||
|
||
WHAT IS HIGH MEMORY, WHY DO I CARE, AND HOW CAN I USE IT?
|
||
BY CY ATKINSON
|
||
|
||
|
||
WHAT IS IT:
|
||
|
||
|
||
|
||
The 8088 chip, the engine in the PC and XT, can address one meg in 16
|
||
|
||
64K segments numbered 0 thru F. IBM has designed the hardware of the PC
|
||
|
||
and XT to make the first 640K available to PCDOS and the user, and
|
||
|
||
reserved the upper 360K for various hardware functions such as ROS and
|
||
|
||
screen buffers, etc. This upper portion of the 1 meg address capability
|
||
|
||
is refered to as HIGH MEMORY, and it is available for the user in 64K
|
||
|
||
segments IF THE SPECIFIC HARDWARE WHICH USES THAT SEGMENT IS NOT
|
||
|
||
INSTALLED.
|
||
|
||
|
||
|
||
With the exception of the area from 640 to 704K (the eleventh 64K seg-
|
||
|
||
ment, and hence segment 'A'), HIGH MEMORY can not be directly addressed
|
||
|
||
by DOS. But it can be used by various special programs. These programs
|
||
|
||
include RAMDISK programs such as HIGHDISK, which use a portion of HIGH
|
||
|
||
MEMORY as a virtual disk drive; DOS extenders, such as RAMADE, which
|
||
|
||
allow you to load DOS "extensions" into this normally unused space; and
|
||
|
||
simple "lid lifters" such as DOSMEM, which change the maximum size of
|
||
|
||
the DOS region from 640K to 704K (and even in some special circumstances,
|
||
|
||
to 736K).
|
||
|
||
|
||
|
||
WHY DO I CARE:
|
||
|
||
|
||
|
||
A COUPLE OF MONTHS AGO, A DISCUSSION WAS ENTERED IN AN INTERNAL IBM BBS
|
||
|
||
as to how storage addresses are decoded on the IBM PC XT motherboard.
|
||
|
||
The idea was advanced that it should be possible to replace all four
|
||
|
||
banks of 64K chips with 256K chips, plug in a "custom" prom at U44, and
|
||
|
||
depending on the system's hardware configuration, have up to 256K of
|
||
|
||
additional HIGH MEMORY available for ramdisk, print spooler, DOS
|
||
|
||
extensions, or whatever.
|
||
|
||
|
||
|
||
Well, it's been done. IT WORKS! IT'S EASY! IT INVOLVES NO SOLDERING
|
||
|
||
OR MODIFICATIONS TO THE MOTHERBOARD EXCEPT REPLACING SOCKETED CHIPS ---
|
||
|
||
AND IT'S *C*H*E*A*P*!* At current San Jose prices, the cost of taking
|
||
|
||
an XT from 640K to 896K is under $50. It would cost less than $95 to go
|
||
|
||
all the way from 256K to 896K.
|
||
|
||
|
||
|
||
On my PPC, I run a 360k ramdisk, a 96k ramdisk, a 30K print spooler,
|
||
|
||
and still have 410K left for DOS and applications. A friend runs 192K
|
||
|
||
of ramdisk, print spoolers, and DOS extensions, and still has a 704K DOS
|
||
|
||
address space.
|
||
|
||
|
||
|
||
HOW DO I DO IT:
|
||
|
||
|
||
|
||
The six 64K sebments above 640K are reserved as follows:
|
||
|
||
|
||
|
||
* Segment A is reserved for the fully expanded Enhanced Graphics Adapter.
|
||
|
||
|
||
|
||
* Segment B is reserved for the Mono and Color graphics adapters.
|
||
|
||
|
||
|
||
* Segment C is reserved for the Hard Disk Adapter, and the 3270 card.
|
||
|
||
|
||
|
||
* Segments D and E are reserved for extended/expanded memory
|
||
|
||
(In the PC Jr, this space is used for the rom cartridges.)
|
||
|
||
|
||
|
||
* Segment F is reserved for BIOS and Basic Rom, and is not available.
|
||
|
||
|
||
|
||
To access HIGH MEMORY (any combination of segments A C D E) on an IBM
|
||
|
||
PC XT which already has 640K on the motherboard, all you have to do is:
|
||
|
||
|
||
|
||
1. Replace the 64K chips in the appropriate banks with 256K chips.
|
||
|
||
(see the information below on options for programming the U44
|
||
|
||
decoder chip).
|
||
|
||
2. Replace the original U44 decoder ROM with one programmed to your
|
||
|
||
needs according to the information in this article.
|
||
|
||
3. Set the jumpers at E2, and SW2 positions 3 and 4, to select the
|
||
|
||
desired memory configuration (determined by how the new U44 is
|
||
|
||
programmed and by your hardware configuration).
|
||
|
||
|
||
|
||
(If you have not already expanded to 640K, you will also have to
|
||
|
||
insert a 74LS158 chip in the empty chip socket U84, and you may have to
|
||
|
||
install a jumper at E2, in addition to inserting the extra storage chips)
|
||
|
||
|
||
|
||
TELL ME ALL ABOUT U44:
|
||
|
||
|
||
|
||
U44 is a 256 X 4 bit prom. That is, it has 256 addresses, each of
|
||
|
||
which contains a single hex digit (four bits) of data. This data is
|
||
|
||
arranged into sixteen decoding tables, each of which has sixteen entries.
|
||
|
||
These tables are what tell the machine whether a particular 64K segment
|
||
|
||
of storage exists, and in which bank of chips it is located.
|
||
|
||
|
||
|
||
Which table is used is determined by the E2 jumpers and SW2 pos 3 & 4.
|
||
|
||
These comprise the four high order input bits to U44 (A7-A4). The two
|
||
|
||
jumpers (A7 & A6) select one of four sets of tables, and the switches
|
||
|
||
(A5 & A4) select the specific table within a given set.
|
||
|
||
|
||
|
||
Which entry in the selected table will be used to decode a specific
|
||
|
||
storage address is determined by the four high order bits of that storage
|
||
|
||
address (CA19-CA16 of the PC address bus), which are directed to the four
|
||
|
||
low order input bits to U44 (A3-A0).
|
||
|
||
|
||
|
||
Each entry in U44's decoding tables contains one of five hexidecimal
|
||
|
||
values: x'9' (select bank 0), x'B' (select bank 1), x'D' (select bank 2),
|
||
|
||
x'F' (select bank 3), or x'E' (segment not addressable). BY BUILDING A
|
||
|
||
TABLE WITH THE APPROPRIATE VALUES, IT IS POSSIBLE TO DECODE ANY COMBINA-
|
||
|
||
TION OF 64K AND/OR 256K STORAGE CHIPS UP TO ONE MEG -- SO LONG AS IT DOES
|
||
|
||
NOT CONFLICT WITH INSTALLED ADAPTERS!
|
||
|
||
|
||
|
||
|
||
|
||
THE FOURTH SET OF TABLES REPRESENTS A MAJOR BREAKTHROUGH FOR
|
||
|
||
OWNERS OF VERY OLD XT'S, WHICH HAVE 64K CHIPS SOLDERED INTO BANK 0
|
||
|
||
(NO SOCKETS). IT ENABLES THEM TO UPGRADE TO 640K BY INSTALLING 256K
|
||
|
||
CHIPS INTO BANKS 1 AND 2, AND LEAVING 64K CHIPS IN BANKS 0 AND 3.
|
||
|
||
OR, THEY MAY INSTALL 256K CHIPS INTO BANKS 1, 2, AND 3, AND ACCESS
|
||
|
||
640K PLUS UP TO 192K OF HIGH MEMORY. AGAIN, NO CHANGES ARE REQUIRED
|
||
|
||
AT THE E2 JUMPER BLOCK.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Using this program, you have switch selectable storage configurations
|
||
|
||
to accomodate the most common hardware configurations. However, if this
|
||
|
||
example isn't suitable for your particular case, it should be reasonably
|
||
|
||
easy, using the information provided, to develop a special version for
|
||
|
||
any particular circumstance. IBM usually uses a 24S10 for the U44 chip,
|
||
|
||
but any of several subs will work fine. Blank chips can be located in
|
||
|
||
most areas for well under two dollars. The only hard part is getting
|
||
|
||
them programmed.
|
||
|
||
|
||
|
||
IF I DO IT THIS WAY, HOW DO I SET THE SWITCHES:
|
||
|
||
|
||
|
||
With a chip programmed to my recommendations installed at U44, and a
|
||
|
||
jumper installed at E2 1 - 2, four new memory configurations are switch
|
||
|
||
selectable:
|
||
|
||
|
||
|
||
NOTE: in the tables which follow, "Closed" means that the switch is ON.
|
||
|
||
"Open" means that the switch is OFF.
|
||
|
||
|
||
|
||
|
||
SW2 4 & 3 = 00 (both closed)========> 640K plus Segments A, D, and E
|
||
|
||
(OK with Hard Disk only)
|
||
|
||
SW2 4 & 3 = 01 (4 closed, 3 open)===> 640K plus Segments C, D, and E
|
||
|
||
(OK with EGA only)
|
||
|
||
SW2 4 & 3 = 10 (4 open, 3 closed)===> 640K plus Segments D and E
|
||
|
||
(OK with EGA and Hard Disk)
|
||
|
||
SW2 4 & 3 = 11 (both open)==========> 640K (NO HIGH MEMORY)
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
HOW CAN I GET A REPLACEMENT U44 PROM LIKE THE ONE DESCRIBED HERE:
|
||
|
||
|
||
|
||
Of course, anyone who has access to a prom programmer, such as a
|
||
|
||
DATIO box, can make these proms up very easily, and is welcome to do so
|
||
|
||
using this information in any way he (or she) desires. But not every
|
||
|
||
one has the ability to do-it-himself. Enough of those who have already
|
||
|
||
been sent this information, or who have read my appends in PORTABLE
|
||
|
||
FORUM, have asked me for assistance in obtaining the chips that I have
|
||
|
||
been able to interest someone here in San Jose in making them up. Based
|
||
|
||
ON CURRENT LOCAL PRICES FOR THE BLANKS, WE ARE OFFERING U44 CHIPS PROGRAMMED
|
||
|
||
according to the listing in this article for $6.00.
|
||
|
||
|
||
|
||
HERES HOW WE'LL DO IT:
|
||
|
||
|
||
|
||
1. If you live in the U.S., please mail your order to:
|
||
|
||
|
||
|
||
Cy Atkinson (CHIPS)
|
||
|
||
5218 Running Bear Drive
|
||
|
||
San Jose, CA 95136
|
||
|
||
|
||
|
||
Please include a check in the amount of $6.00 for each chip ordered,
|
||
|
||
PLUS an additional $3.00 for postage and handling for 1 to 10 chips,
|
||
|
||
$6.00 for 11 to 20, etc.
|
||
|
||
|
||
|
||
2. If you live outside the U.S., mail your order to the same address,
|
||
|
||
but please include $6.00 for each chip, PLUS an additional $5.00 for
|
||
|
||
1 to 10 chips, etc.
|
||
|
||
|
||
|
||
Please don't forget to clearly indicate YOUR mailing address in your
|
||
|
||
order. We will attempt to handle all orders as promptly as possible.
|
||
|
||
|
||
|
||
THAT'S ALL:
|
||
|
||
|
||
|
||
I hope you've found this interesting and useful. Regardless of how
|
||
|
||
you obtain your U44 replacement, please feel free to write to me at the
|
||
|
||
address above if you run into any problems. It may take a while, but
|
||
|
||
I'll try to respond. Thanks, and Happy Computing!!
|
||
|
||
|
||
|
||
>>>>>>>>>>================>> Cy Atkinson
|
||
|
||
|
||
|
||
EDITOR'S NOTES:
|
||
|
||
|
||
|
||
1. Assistance on this upgrade can also be obtained from the microCHIP
|
||
|
||
editor who has also performed it on his portable PC.
|
||
|
||
|
||
|
||
2. IF YOU HAVE A PC1 OR PC2 (BUT NOT A PC Jr):
|
||
|
||
|
||
|
||
If your ps is not the 8-slot motherboard type, but is a 5-slot
|
||
|
||
motherboard, it is possible to put four banks of 256K chips on the
|
||
|
||
motherboard... BUT the modification is not for the faint of heart.
|
||
|
||
According to the author of the instructions for modifying 5-slot PCs,
|
||
|
||
distribution is limited to IBMers and their families. The instructions
|
||
|
||
for PC upgrades can be obtained from the microCHIP editor.
|
||
|
||
|