I think, in your concept the VIC-II would have to do an additional main memory access per character...
Here's what I have in mind, simplified to a 16K ram chip so I don't have to include address decode logic in the diagram.
This is just view from the video system, I haven't shown any decoding required to map the banks into CPU address space for read write.
An advantage of this system is any banks not in use for display can be used for storage, filesystem buffers etc.
I'm not seeing that extra clock cycle, a little more hold time for the second SRAM to stabilize perhaps, though I'm not sure it's enough to need a faster SRAM.
Code: Select all
╶───────────────────────────┐
10 Bit Address Bus │
╶─────────────┐ ┌───────┐ │
│ │ │ │
│ │ ┌──┴──┴─────────────┐
│ │ │ │
│ │ │ 1KB Attribute RAM │
│ │ │ │
│ │ │ │
│ │ │ 1 1 1 1 . 0 1 1 0 │
│ │ └─┬─┬─┬─┬───┬─┬─┬─┬─┘
│ │ │ │ │ │ │ │ │ │ ┌──────────────────┐
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ └─────────────────────────┤ Colour Circuitry │
│ │ │ │ │ │ │ │ └───────────────────────────┤ │
│ │ │ │ │ │ │ └─────────────────────────────┤ │
│ │ │ │ │ │ └───────────────────────────────┤ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ 16KB Attribute RAM └──────────────────┘
│ │ │ │ │ │ ┌───────────────────────┐
│ │ │ │ │ └───┤ │
│ │ │ │ └─────┤A10-A13 (RAM Page/Bank)│
│ │ │ └───────┤ │
│ │ └─────────┤ │
│ │ │ │
│ └────────────────┤ │
│ │A0-A9 (8x8 Block Addr) │
└───────────────────┤ │
└─────┬─┬─┬─┬─┬─┬─┬─┬───┘
│ │ │ │ │ │ │ │ ┌────────────────────────┐
│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ └────────────┤ Attribute Circuitry │
│ │ │ │ │ │ └──────────────┤ │
│ │ │ │ │ └────────────────┤ │
│ │ │ │ └──────────────────┤ │
│ │ │ └────────────────────┤ │
│ │ └──────────────────────┤ │
│ └────────────────────────┤ │
└──────────────────────────┤ │
8 Bits of attribute DATA │ │
└────────────────────────┘