My first computer was a Commodore 64. I remember vividly the happiness I felt that night in December when my father came home with all those boxes. He laid everything on the floor and we spent hours putting everything together. All the manuals and documentation were in English and at that age (eight), I had yet to master the language. This is probably the greatest gift I ever received from anyone. Not only was the Commodore 64 a fun game system, it was my first introduction to computer programming. I spent a lot of time deciphering the codes in the manuals and I made little games in BASIC. Unfortunately, I never figured out how to save anything, so I had to input the code every time I wanted to play one of my games (again, the manuals were in a "foreign" language).
All this reminiscence eventually lead me to acquire two systems. The first is an early model breadbin C64, just like the one I had as a kid. I made some modifications to it:
- I added an SD card reader to replace the bulky disk drive;
- I added some buttons to control the SD card reader;
- I installed JiffyDOS with a Kernel selector switch;
- and I installed heat-sinks on most integrated circuits.
Programming the C64 may seem like an odd idea (or a waste of time), but the 6502 CPU on which the C64's CPU is based is still being manufactured and seeing lots of use in certain applications. Learning program in 6502 machine language may be a very worthwhile endeavour… these chips are a lot cheaper then the micro-controller development boards available these days and, in some sense, a lot more powerful.
Also, the Commodore Basic language was ported to OS X, Windows and Linux as a powerful scripting language. As such, it is an interesting alternative to other scripting languages and a nice way of recycling my old chops.
I also acquired a mint condition C64G. This is a beautiful unit with a C64C motherboard in a creamy-white breadbin case. I got this one specifically for musical purposes and I modified it in the following way:
- I added a 1/4" audio output;
- I grounded the audio input to reduce noise;
- I installed an LCD screen;
- I installed a power plug for the LCD screen;
- I installed heat-sinks on most integrated circuits.