896K-MEM

 
        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.