Kingston MC64

@71D0.ADF Kingston 64MB Memory Expansion Adapter
C71D0.ADF Init file for @71D0.ADF

KTM-PS64 Memory Expansion for IBM PS/2 Model 70, 80, and 90
KTM-MC64/X Memory Expansion Boards for IBM PS2 Model 70 and 80

3077.EXE Utility disk for KTM3077, 3011, MC64 and 16000/386 Boards (V3.9)
KTM3077 Memory Expansion Board for IBM PS/2 Model 70 and Model 80

KTCEMM.EXE KTCEMM.SYS with LOTUS 123 (2.3) fix.


PS/64 or MC/64

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

Note: All memory SIMMs *must* be 80 ns Parity to be recognized by the PS/64.

The KTM-PS64 Memory Expansion Board is capable of adding up to 64MB to IBM PS/2 Model 70, 80, and 90 systems. The KTM-PS64 board can be installed in any 16- or 32-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
KTM-8000/M70 8MB
KTM0129 8MB
KTM-16000/M70 16MB
KTM4X36L-80 16MB

I used some IBM 4M 80 ns, P/N 68X6343, FRU P/N 92F3337

Carlyle Smith says:
   Any SIMMs (no matter the size) on the MC64 board _must_ be coded as 80 ns, and they _must_ perform as 80 ns or faster (not slower). Just take 60 ns 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, Don Peter Wendt 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 80 ns 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 addressing (PIO) must be used to transfer data to the locations above the DMA-addressing 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 wait state 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 addressing 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.

Content created and/or collected by:
Louis Ohland, Peter Wendt, David Beem, William Walsh, Tatsuo Sunagawa, Jim Shorney, Tim Clarke, Kevin Bowling, Tomáš Slavotínek, and many others.

Ardent Tool of Capitalism - MAD Edition! is maintained by Tomáš Slavotínek.
Last update: 25 Nov 2022 - Changelog | Legal Info & Contact