- Memory Expansion for IBM PS/2 Model 70, 80, and 90
PS/64 or MC/64
PS64 16-bit slot? Mine has a full 32-bit connector...
NOTE: All memory SIMMs *must* be 80ns 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
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.
I used some IBM 4M 80nS, PN 68X6343, FRU 92F3337
Carlyle Smith sez
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 80ns SIMMs and leave one systemboard slot empty??
what 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
ZZZ 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
KEMM: 80386 Expanded Memory Manager, V 4.0
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.
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.