Ruud's Commodore Site: The $D700/$D7FF area Home Email

The $D700/$D7FF area




What is it?

Some info about the $D000/D7FF area in the memory map of the C64 and C128 and how to make better use of it.


Theory

As you know the VIC-II video chip occupies the $D000/D3FF area in both the C64 and C128. But while the SID sound occupies $D400/D7FF in the C64, in the C128 it only occupies the area $D400/D4FF. $D5xx is occupied by the MMU, $D6xx by the VDC, the second video chip and $D7xx is free.
This free $D7xx area is often used for installing a second SID sound chip in the C128. Something where quite some C64 owners were jealous of.

But the C64 can have a second SID as well, and more. Both the SID and VIC chip them self occupy less then 64 of bytes. The rest are just mirrors. By splitting both areas in four parts we can free six pages of 256 bytes for our own use. As the SID area in the C128 is already split up, the gain in the C128 is only three pages. This doesn't sound much but remember, in an unmodified machine you only have two free pages available, $DExx and $DFxx (plus the $D7xx area in a C128). So the gain is 300% for a C64 and 100% for a C128. Not bad IMHO :)


Soldering

Unfortunately you can only use these new ranges by doing some soldering. And this can be a problem to some people.
For the C64 you have to piggyback a 74LS139 on top of another IC:
- for the older boards: on top of the original one, U15.
- for the new small boards: on top of the big custom IC, U8.
For the C128 you have to piggyback a 74LS139 on top of a 74LS138, U3.
pin outs:
                     IC      VIC      SID
 C64 Old boards      U15      5        6
 C64 Small boards    U8      40       43
      C128           U11     42        -
For both the C64 and C128:
- Cut the line between pin 5/40 and the VIC and connect the ends to the chip select (pin 1) and output Y0 (4) of the first half of the new 74LS139. Connect the select inputs A and B (2 and 3) to the address lines A8 and A9.

For the C64:
- Cut the line between pin 6/43 and the SID and connect the ends to the chip select (pin 15) and output Y0 (12) of the second half of the new 74LS139. Connect the select inputs A and B (14 and 13) to the address lines A8 and A9 as well.

For the C128:
It is possible to use the second half of the 74LS139 for other purposes like adding extra 6526's or to create a quadruple SID system.


Software compatibility

"Will I have problems with the software I'm using now?" For a C128 in native mode: a 100% NO!. The only trouble we could run into using a C64 or a C128 in 64-mode is with software using the mirror addresses instead of the original addresses of the VIC and/or SID for reading or writing data. Until now I haven't found or heard of any program using these mirror addresses.





Having questions or comment? You want more information?
You can email me here.