Commodore 64 donanıma erişmek için memory mapped I/O sistemini kullanıyor. Bu sistemde belli bellek adresleri özel çiplerin yazmaçlara ayrılmış durumda. Bu adreslere eriştiğimizde aslında RAM'e değil ilgili çipin yazmaçlarını okuyor veya yazıyoruz. Aynı zamanda kullanılan ROM'lar RAM'in üzerine maplanmiş durumda. İhtiyacımız olmayan ROM'ları hatta I/O alanlarını kapatarak altında kalan RAM'e erişebiliyoruz. Bellek yerleşimli giriş çıkışların hangi bellek adresine atanması işini PLA hallediyor. Bellek yapısını 6510'un veri portu ve CIA'ların port direction yazmaçlarını kullanarak yönlendiriyoruz.
Tahminin SID için en başta bir blokluk alan ayırdılar. Nihai tasarımda da böyle bir alana ihtiyaç olamamasına rağmen bu şekilde kaldı. Bu atıl alanı da SID yazmaçların görüntüsüyle dolurdular. Sonuçta buradaki 997 byte belleğe ihtiyaç duyulursa I/O alanı komple kapatılıp altındaki RAM'e ulaşabiliyoruz.
Compute Magazine'de şöyle birşey buldum. Röportajda bellek yapısının basit olması için özellikle böyle yapıldığı söylenmiş.
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
TL:DR
Kullanımı basit olması için böyle yapmışlar. Bellek yerleşimlerini PLA çipi hallediyor.