Kingston MC64
mc64a01.PDF  KTM-MC64/X for IBM PS2 Model 70 and 80 
KTM8k386.PDF  KTM-PS64 for IBM PS/2 Model 70, 80, and 90
@71D0.ADF - Kingston 64MB Memory Expansion Adapter 
C71D0.ADF - Init file for @71D0.ADF 
3077.EXE ADF / Util disk for KTM-MC64 Memory Expansion (V3.9)


PS64 16-bit slot? Mine has a full 32-bit connector...

   The Kingston Technology KTM-PS64 Memory Expansion Board is capable of adding up to 64MB of Random Access Memory to IBM PS/2 Model 70, 80, and 90 personal computer systems. From one to four Single In-line Memory Modules (SIMMs) can be plugged into sockets on each
KTM-PS64 board, and can be combined in a wide variety of memory configurations. The KTM-PS64 board can be installed in any 16-bit expansion slot on the PS/2 system board.
   The KTM-PS64 supports both extended (linear) and expanded (paged) memory options, and also supports LIM EMS version 4.0 software to enable memory paging. 

   If you run OS/2, you should allocate all the new Kingston memory as extended memory, since OS/2 can address all added memory directly, and does not require expanded memory.
   If you run DOS, you can allocate the new Kingston memory as either extended or expanded or a combination of both. 

KTM2000/M70 2MB
KTM4000/M70 4MB
KTM0129 8MB
KTM4X36L-80 16MB

Carlyle Smith sez
Any SIMMs (no matter the size) on the MC64 board  _must_ be coded as 80ns, and they _must_ perform  as 80ns or faster (not slower). Just take 60ns parity SIMMs and solder a tiny (U-shaped is better) wire across the R4 pads. The 8570 requires at least one SIMM in the leftmost planar socket to work. 
   In another experiment, DonPeterWendt reported that with his AccuLogic add-in board on a P75, he had to leave one slot on the systemboard empty
 to realize the full value of the memory on the memory expansion board. What happens if you fill up the MC64 with 80ns SIMMs and leave one systemboard slot empty??

Regardless of how much extended memory your computer has, only a maximum 15MB can be allocated as expanded memory. In fact, to preserve your extended memory, you should only allocate the amount of expanded memory necessary to support your particular application.

Original from Peter Wendt (and then lifted from Fred Spencer's site)

> The trick is you must have an adapter in there somewhere with a BIOS or a CPU on it, I've forgot which.  The IBM memory or the SCSI adapters have these. 

This part is definitely misleading or misunderstood. 
- even busmaster adapters with 32-bit addressing width cannot substitute 
the missing DMA functions for the memory above 16MB 
- the ROM they supply is for their own function. 
   The BOPT-workaround works even with no other adapter installed in the system than the two memory cards. (BOPT = Bypasses One Problem 
Temporarily). Also the use of Kingston or Acculogic cards pushes the system over the 16MB-limit. 

   The problem is the 24-bit DMA-chip on Mod. 70 and 80 - since 2^24 = 
16.0MB addressing range. This is the range where DMA can be used to 
transfer data among the memory - if the DMA cannot be used direct 
adressing (PIO) must be used to transfer data to the locations above the 
DMA-adressing range. Works as well but is a little slower. 
   A problem on the older models might occur with detection of memory 
errors. The parity-informations are mainly transported with DMA to 
detect and handle bit-failures. (Mainly cause an NMI error though - and the system stops with 111 ?????? or such) 
   If the DMA cannot directly access the memory a parity error *might* be 
undetected. The memory handler invoked with the BOPT-workaround uses the PIO-mode for the error-detection ... the Kingston and Acculogic cards have own parity control integrated in their chipsets. 
   This however has nothing to do with the memory *refresh*, which is 
directly controlled by the memory subsystem on the planar and on the 
memory cards. 
   Let's say the system has 8MB on the planar and 16MB on a Kingston card. The planar-8MB are under full control of the boards DMA and parity 
logic. The 16MB on the Kingston card are on the control of the cards' parity control and the lower 8MB can be accessed directly by the systemboard DMA - the upper 8MB are used via normal 32-bit direct addressing bytewise. 
   The fastest memory access is that for the planar memory: DMA plus 0 - 1
waitstate make it rather quick. The slowest memory access is that on the range from 16MB - 24MB: bytewise direct-accessing to read from memory and to write to memory plus 1 - 3 wait-states on "channel memory" take some time. 
   Pushing a Mod. 70 / 80 over the 16MB border makes only sense with a real 32-bit operating system, which can handle the different memory adressing models with no problems (like OS/2) - DOS / Windows may have some problems. 
   I ran a Mod. 80-A31 under OS/2 Warp Server with 40MB for quite some time without any problem. It had 8MB on the planar (2 x 4MB), 32MB on an Acculogic card (4 x 8MB), an IBM SCSI controller without Cache /A, an Adaptec AHA-1640 (for tape and CD), an IBM Token Ring 16/4 Adapter /A and an AMS 2-LPT card. 

9595 Main Page