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.
|
|||
|
|
|||
|
|