The typical 8-bit solution for this problem is called an address decoder. The basic problem is that we have more than one device which the CPU would like to communicate with - in this case, it's just RAM and the SID chip. Let's deal with the first problem first: connecting the SID. First, how do we connect the SID? And, second, how do we upload SID tunes to the RAM? Now the 6502 will be able to read and write to the RAM, but we have two problems. Make sure to hook the control wires as well, so that the RAM knows whether the processor is reading or writing. It is simple enough to hook the processor to the RAM - simply connect each wire of the address bus to the appropriate pin on the RAM, and do the same for the data bus. The address bus is 16 bits wide - enough to address 64 kilobytes - and the data bus is 8 bits wide. The 6502 processor has an address bus and a data bus. That's not a problem: I simply left the highest address line tied to ground, which meant that the upper 64k of RAM on the chip was never accessed and never used. 431000s contain 128K of RAM, which you'll note is twice as much as a commodore 64. I chose the 431000 series of RAM chips, because they are readily available on eBay. Funnily enough, you can sometimes find complete Commodore 64s selling for less than individual SID chips on eBay.įinally, we need RAM. You can find SID chips on eBay, but they are fairly expensive - expect to pay between £10 and £50. SID chips were made for the Commodore 64, and production of SIDs stopped in 1993. So I found I could get away with using a plain 6502, which are available on eBay. Fortunately, it turns out that the majority of SID tunes out there - perhaps all of them - don't need the special features of the 6510. They are a custom version of the popular 6502 microprocessor made specifically for the Commodore 64. Sourcing the chipsĦ510 chips are difficult to find. The first thing to do was to obtain the chips. Unfortunately, these components aren't super common. With the SID tune stored in RAM, it is simply a matter of ensuring the processor, SID chip, and RAM are connected appropriately, then starting the processor and listening to the dulcet tones of the SID. To play SIDs using hardware, you fundamentally need three things: The rest of this post is about how I made it, and how you can make one too. Here's a video of the computer in action. I'm not that discriminating - software-based SID players sound just fine to me - but I wanted to see how hard it would be to get sound out of the real thing. Some people claim that the SID is so difficult to simulate that no software-based SID player could recreate the sound of a real chip. The other interesting thing about SID tunes is that the sound chip which plays them (called the Sound Interface Device, which gave its name to the tunes) is a mixture of digital and analogue circuitry. All SID players (such as SIDAmp for Windows or SIDPLAY for the Mac) are actually Commodore 64 emulators - or, at least, partial emulators. That means that in order to play SID files, you either need a 6510 processor or you need to emulate one. Every SID file you download contains not just a list of notes, note lengths, and effects - the actual music - but also contains a "play routine", which is a computer program written for the 6510 microprocessor which was the heart of a Commodore 64. Back then, there was no standard way to specify how sounds should be played, so each C64 composer had their own way of doing things. The really interesting thing about SID tunes is that they are actually computer programs.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |