IBM 256KB Memory Expansion Option - Switches 1 to 4

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  
128 KB 1=on, 2=on, 3=off, 4=on  
192 KB 1=on, 2=on, 3=off, 4=off  
256 KB 1=on, 2=off, 3=on, 4=on  
320 KB 1=on, 2=off, 3=on, 4=off  
384 KB 1=on, 2=off, 3=off, 4=on  
448 KB 1=on, 2=off, 3=off, 4=off  Not applicable if more than 192 KB is enabled on the card  (because conventional RAM past 640K would be created).
512 KB 1=off, 2=on, 3=on, 4=on  Not applicable if more than 128 KB is enabled on the card  (because conventional RAM past 640K would be created).
576 KB 1=off, 2=on, 3=on, 4=off  Not applicable if more than 64 KB is enabled on the card  (because conventional RAM past 640K would be created).


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)