Hello,
so after fixing the jumper bug (which is not critical, but I had to), I expanded it as far as I could. Introducing a new scheme, dual bankswitching!
I am putting this into production, likely today. Here is the list of different methods it can pull of:
Bankswitch:
128K = bank 0-5 @ $8000, bank 6 @ $4000, bank 7 @ $C000 (using 27C020)
128K = bank 0-6 @ $8000, bank 7 @ $C000 (using 27C010)
144K = bank 0-6 @ $8000, bank 7 @ $C000, bank 8 @ $4000 (using 27C020)
256K = bank 0-14 @ $8000, bank 15 @ $C000 (using 27C020)
512K = bank 0-30 @ $8000, bank 31 @ $C000 (using 27C040)
1MB = bank 0-62 @ $8000, bank 63 @ $C000 (using 27C080)
Bankswitch + RAM/EPROM:
128K+ = bank 0-6 @ $8000, bank 7 @ $C000, RAM 8K/16K or EPROM @ $4000 (using 27C010 + 6264/62256 or 27C128)
256K+ = bank 0-14 @ $8000, bank 15 @ $C000, RAM 8K/16K or EPROM @ $4000 (using 27C020 + 6264/62256 or 27C128)
512K+ = bank 0-30 @ $8000, bank 31 @ $C000, RAM 8K/16K or EPROM @ $4000 (using 27C040 + 6264/62256 or 27C128)
1MB+ = bank 0-62 @ $8000, bank 63 @ $C000, RAM 8K/16K or EPROM @ $4000 (using 27C080 + 6264/62256 or 27C128)
Dual bankswitch:
128K+32K = bank 0-6 @ $8000, bank 7 @ $C000, bank2 0-1 @ $4000 (using 27C010 + 27C256)
128K+64K = bank 0-6 @ $8000, bank 7 @ $C000, bank2 0-3 @ $4000 (using 27C010 + 27C512)
256K+32K = bank 0-14 @ $8000, bank 15 @ $C000, bank2 0-1 @ $4000 (using 27C020 + 27C256)
256K+64K = bank 0-14 @ $8000, bank 15 @ $C000, bank2 0-3 @ $4000 (using 27C020 + 27C512)
512K+32K = bank 0-30 @ $8000, bank 31 @ $C000, bank2 0-1 @ $4000 (using 27C040 + 27C256)
512K+64K = bank 0-30 @ $8000, bank 31 @ $C000, bank2 0-3 @ $4000 (using 27C040 + 27C512)
1MB+32K = bank 0-62 @ $8000, bank 63 @ $C000, bank2 0-1 @ $4000 (using 27C080 + 27C256)
So, if the XM ever comes out, this is the ultimate board for it.
Cheers,
-R