 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
|
|
Welcome to Mr. Latch-up's C64 DTV Advice Column |
|
|
|
 |
|
|
|
Featured Dilemma: |
|
|
|
|
|
How do I use the CPU Segment Mapper? |
|
|
|
 |
|
|
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
 |
|
|
|
|
Dear Mr Latch,
I'd like to access more memory than 64k, but I don't understand how all the bits in the segment mapper work.
Sincerly,
Ken Clarkson Boston, Massachusetts |
|
|
|
|
|
|
Dear Ken,
The segment mapper looks complex at first, but in fact operates in a very simple way. CPU Address[13 downto 0] goes directly to the memory without translation. CPU address[15 downto 14] select one of 4 registers that will be asserted on the address[21 downto 14] bus to make a full 22 bits of address space. The access control register is divided into 4 bit pairs that selects the type of access each segment will perform. RAM/ROM/Reserved External
Kernal and Basic have banking registers that select Address[21 downto 16] and access type. (Note: Kernal and basic are fixed in each bank).
|
|
|
|
|
|
|
|
|
|
|