Classic Computer Magazine Archive COMPUTE! ISSUE 47 / APRIL 1984 / PAGE 108

64 SID Register Images

In the 64 memory map there is a sizable chunk of memory labeled "SID Images" ($D500–$D7FF). Presumably the audio synthesizer needs this memory to function, but no explanation is offered by any manual. Could this memory be used to further manipulate SID or is it strictly hands-off?

Rob House

The 64 uses a method known as memory-mapped I/O to let you access a hardware chip's registers with PEEK and POKE (or load and store in machine language). This is convenient and fast, but some portion of your computer's memory must be dedicated to the chip. No actual memory (RAM or ROM) is used or needed, but the memory addresses are set aside for the chip's use only. The SID chip has only 26 registers, but to make interfacing easy, Commodore allocated it IK of address space. It's a quirk of the interface chips which causes "reflections" of the SID chip's actual registers to appear from $D500–$D7FF. You can read or change these locations, and they will be redirected to the SID chip. This is not recommended simply because it is nonstandard–no one else, perhaps even you at a later date, will be able to figure out why you are POKEing to these image locations. Also, there is RAM beneath the ROMs and hardware chips, so you can switch out the SID chip to make full use of the underlying IK of RAM if you want.