- Kingston 64MB Memory Expansion Adapter
- 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
8000386.EXE Utility disk for
KTM-8000/386 Memory Expansion Board.
KTM-8000/386 - Memory Expansion
Board for IBM PS/2 Model 70 and Model 80
8000286.EXE Utility disk for
KTM-8000/286 Memory Expansion Board.
16AT.EXE Setup Files for KTM16AT
Memory Expansion Board (1.01)
KTM-16AT Memory Expansion Board
KTCEMM.EXE KTCEMM.SYS with LOTUS
123 (2.3) fix.
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
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.
I used some IBM 4M 80nS, PN 68X6343, FRU 92F3337
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??
In order to use the expanded memory feature, you must
first install the expanded memory device driver,
KEMM.SYS in CONFIG.SYS
tells KEMM.SYS to look for a valid page frame. The page
frame is the first address of the EMS mapping window.
part of extended memory will be allocated for EMS.
Determine the base EMS parameter with YYYYY=Total Memory
(KB) + 384 - Amount of EMS Required For example, if your
computer has 8MB (8,192KB) of memory, 640KB base memory
and 7,552KB is used as EMS. For 2MB (2048KB) of EMS,
calcule:YYYYY = 8192 + 384 - 2048 = 6428
In this case, the base parameter would be: BASE=6428
specifies # of handles and names available. Handles are
used to identify a block of memory requested by an
application. Each application that uses EMS requires at
least one handle. Some programs require more than one
handle and these programs will prompt you if they run
out of handles. The acceptable handle parameter range is
from 16 to 255.
Note that each handle/name defined consumes
EMS, making less EMS available for your application.
Because of this, you should only define enough
handle/name parameters to support your application. In
most cases, the default value of 32 should be adequate
for most applications. If you require more than 32
handles, you can specify a greater number of handles.
For example: HANDLES=64
Screen Message from KEMM.SYS
As the computer boots, the following messages will
KEMM: 80386 Expanded Memory Manager, V 4.0
Copyright 1990, Kingston Technology Corp.
Page Frame Address at Segment C000H
Total EMS Memory is 9472Kbyte (592 pages)
KEMM: EMS driver is successfully loaded!
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
> 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
This part is definitely misleading or
- 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
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
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
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
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.