IBM 64KB Memory Expansion Option  -  Switches


SWITCH 8 = ON  (address increments of 64K)

With switch 8 on, switches 1 to 4 control the starting address of the RAM.

Starting address Setting    Comment
64 KB 1=on, 2=on, 3=on, 4=off    (and 8=on)  
128 KB 1=on, 2=on, 3=off, 4=on    (and 8=on)  
192 KB 1=on, 2=on, 3=off, 4=off    (and 8=on)  
256 KB 1=on, 2=off, 3=on, 4=on    (and 8=on)  
320 KB 1=on, 2=off, 3=on, 4=off    (and 8=on)  
384 KB 1=on, 2=off, 3=off, 4=on    (and 8=on)  
448 KB 1=on, 2=off, 3=off, 4=off    (and 8=on)  
512 KB 1=off, 2=on, 3=on, 4=on    (and 8=on)  
576 KB 1=off, 2=on, 3=on, 4=off    (and 8=on)  


How were those calculated ?
It's an inverted binary sequence based on the fact that switches 1 to 4 monitor address lines A19 to A16 respectively.

1. Divide by 64 KB
2. Convert result to binary
3. Prefix binary with additional zeroes to make 4 digits
4. Invert it

Example: 192 KB --> 3 --> 11 binary --> 0011 --> 1100 (on/on/off/off)



SWITCH 8 = OFF  (address increments of 32K)

With switch 8 off, switches 1 to 5 control the starting address of the RAM.

Starting address Setting    Comment
32 KB 1=on, 2=on, 3=on, 4=on, 5=off    (and 8=off)  
64 KB 1=on, 2=on, 3=on, 4=off, 5=on    (and 8=off)  
96 KB 1=on, 2=on, 3=on, 4=off, 5=off    (and 8=off)  
128 KB 1=on, 2=on, 3=off, 4=on, 5=on    (and 8=off)  
160 KB 1=on, 2=on, 3=off, 4=on, 5=off    (and 8=off)  
192 KB 1=on, 2=on, 3=off, 4=off, 5=on    (and 8=off)  
224 KB 1=on, 2=on, 3=off, 4=off, 5=off    (and 8=off)  
256 KB 1=on, 2=off, 3=on, 4=on, 5=on    (and 8=off)  
288 KB 1=on, 2=off, 3=on, 4=on, 5=off    (and 8=off)  
320 KB 1=on, 2=off, 3=on, 4=off, 5=on    (and 8=off)  
352 KB 1=on, 2=off, 3=on, 4=off, 5=off    (and 8=off)  
384 KB 1=on, 2=off, 3=off, 4=on, 5=on    (and 8=off)  
416 KB 1=on, 2=off, 3=off, 4=on, 5=off    (and 8=off)  
448 KB 1=on, 2=off, 3=off, 4=off, 5=on    (and 8=off)  
480 KB 1=on, 2=off, 3=off, 4=off, 5=off    (and 8=off)  
512 KB 1=off, 2=on, 3=on, 4=on, 5=on    (and 8=off)  
544 KB 1=off, 2=on, 3=on, 4=on, 5=off    (and 8=off)  
576 KB 1=off, 2=on, 3=on, 4=off, 5=on    (and 8=off)  
608 KB 1=off, 2=on, 3=on, 4=off, 5=off    (and 8=off)  Invalid selection, because conventional RAM past 640K would be created  [608K to 672K]


How were those calculated ?
It's an inverted binary sequence based on the fact that switches 1 to 5 monitor address lines A19 to A15 respectively.

1. Divide by 32 KB
2. Convert result to binary
3. Prefix binary with additional zeroes to make 5 digits
4. Invert it

Example: 192 KB --> 6 --> 110 binary --> 00110 --> 11001 (on/on/off/off/on)