Commodore C64

Introduction

Commodore C64 revision A The Commodore 64 is the most known Commodore but why?
With the introduction of the C64 the computer made contact with ordinary people. Not only corporations or universities but everybody could now afford a computer with amazing capabilities. The predecessors of the C64 the PET / CBM range and the VIC20 already made there appearance with business and electronics wizards. The C64 was there at the right moment, had the right capabilities and the price was phenomenal. The introduction price was half of that of the competition. In the beginning the C64 cost about the same to produce as what it was sold for in the shops. But the large production numbers made the production cost drop to a very low level. The very good sales figures also improved to the availability of many books, programs and hardware.

Commodore never put a lot of money into advertising. There motto was If it's good it will sell it self. The sales of Commodore almost pushed the competition out of the market. The only competitor that could keep up was Atari. Commodore was the biggest computer firm in the world for a while. The exact sales figures of the C64 were never released but they are estimated to be about 22 million. And that is a official world record. The C64 is the world most sold "home computer". And because nobody makes "home computer" anymore the record will stand forever.

On the picture you can see the revision A C64. This was the first version of the C64 but after discovering a error in this C64 all were recalled to the factory. This model can be recognized by the silver logos. Only a few escaped the recall and are now collectors items. The C64 was in production from 1982 until 1992.

Specifications

Commodore C64c Processor: MOS 6510 / CSG 8500 1 MHz.
RAM memory: 64 kbyte (+ 0,5 kbyte color memory)
ROM memory: 20 kbyte (Basic, Kernal, Characters)
Co-Processor Grafix: VIC-II
Co-Processor Sound: SID
Connections: Expansion-port, User-port, Serial-port, Datassette, 2 x Joystick, TV, Video, Audio, Power-Supply.

The C64 was in production from 1982 until 1992.

On the picture the second model is shown. Except for the new appearance the motherboard is also drastically changed. But this second version is almost 100% compatible with the old model.

The use.

Commodore C64c Night Moves De C64 is always used to play games. This was because there were so many games and the excellent capabilities of the C64. Most C64 users started with a C64 and a Datassette. One of the first accessories would be a joystick. Buying games was expensive. Many people used copied and cracked software. The cracked versions were popular because the intros were deleted. You could load the game with a speed-loader. Computer clubs often were used as copy-party's and cracked versions of software spread fast. Next step was getting a monitor. The C64 had a perfect picture on a TV-set. But the TV was not always available in the evenings (sports....). After the monitor you wanted a disk drive. Faster access to files, easy copying and finding of software. But the disk drive was expensive. To complete the system the printers was bought. Printers became popular after the introduction of programs like PrintMaster, PageFox, The NewsRoom.

Games:

Everybody has his own favorites, well known games are Pirates!, Impossible Mission, Wizball, The Great Giana Sisters, IK+, Boulderdash, Bubble Bobble, The Last Ninja 2, Maniac Mansion, Defender Of The Crown. Many thousands of games were released for the C64.

Graphics programs:

The excellent capabilities of the VIC-II chip made graphics programs for the C64 very popular. Well known programs are Koala Painter, Amica Paint, Hi-Eddi, Doodle, Art Studio, Blazing paddles, GeoPaint.

Music programs:

The SID was a sensation and many people made music on the C64. The most popular was Music Maker. Music Maker is a piano keyboard that is put on top of the C64. The keys press down on the C64 keyboard and the program makes the music via the SID.

Text editors:

It is a bit difficult to edit text on the C64. The screen is only 40 characters wide but programs scrolled the text when typing in the text. Other programs had a preview to look at the page layout. Also WYSIWYG editors are available for the C64. Examples are: EasyScript, Speedscript, VizaWrite, GeoWrite, PrintFox.

Office package:

The most known office packages is GEOS. GEOS is a complete package for the C64 in combination with a disk drive. Build in speedloader, WYSIWYG text editor, database, graphical program, communications and much more. GEOS was offered with the new model C64 (C64 C). Another package is Mini-Office.

Utilities:

For specific tasks are special programs available. Copy programs for the Datassette and Disk drive are made in many versions. Also crunchers (zip) are popular to reduce the size of programs and could be loaded faster. Communication software for modems, but also packet radio is available. A few examples of utilities: 10 sec Format, Fast Hackem, Hypra Load, ABCruncher, QuantumLink, Logo, SuperMon, SuperBase.

Demos:

Demos started as a sort of competition between hackers. Hackers included a little intro before the cracked program. In the beginning it was a text scroll soon followed by a couple of sprites or a hires picture. Some cracked games were copied just because of the intro and not the game. After a while the intros became stand alone programs (demos) that showed everything that was possible with a C64 and also the stuff that was not possible. Nowadays the making of a demo is a art and the most demos fill two sides of a disk. Some of the best demos are: Deus Ex Machina (Crest), Altered States (Taboo), Insomnia (64ever). Thousand of demos are made and you can find web sites that will host these demos.

Cartridges:

Every C64 had a cartridge. Most are a combination of handy programs. Like extra BASIC commands, Tape-Turbo's, Disk-Turbo's, Machine language monitors, Print screen programs. After that the Freezers came. With a Freezer you could interrupt a game or program and save it to disk or tape. The freezer copied and crunched the whole memory and registers with a special loader to disk or tape. This loader put all data pack in place and started the program where it was interrupted. This was used to save in the middle of a game but was also used to crack games. Well know cartridges are: EPIX Fastload, Power Cartridge, Expert Cartridge, Final Cartridge III, Simons Basic, Retro Replay Cartridge.

External devices:

A lot of external devices were available for the C64 made by commodore and other companies. A few examples are Datassette, Disk drives, Joysticks, Printers, Monitors, Modems, Piano keyboards, Mouse, Touch pads, Eprom burners, Memory expanders (RAM en ROM), External processors (SuperCPU). Controls for robot arms, model trains, light shows, dia shows.

On the picture a special edition of the C64. These special editions were popular in England. The special editions was a collection of a C64, datasette, joystick en games in a big box.

The Central Processing Unit 6510 (8510).

Commodore Games System The processing power of the C64 is taken care of by the 6510 in the old model and the 8500 in the new model.

Technical specifications:

Data bus: 8 bits
Address bus: 16 bits
I/O bus: 6 bit
Interrupts: IRQ, NMI, RDY
Speed: 1 MHz
Instructions: 150

Data bus:

The 6510 works like all other processors with the binary system. That means there are only 2 possibilities on or off. This will be shown as a 0 or a 1. This called a bit. If you got a 8 bit wide data bus then the possibilities are 00000000 to 11111111. A value of 8 bit wide is called a byte. In the normal decimal system that is 0 to 255. All processing is limited to the numbers 0 to 255. If you need bigger numbers you will have to chop the big number into little parts.

Address bus:

With the address bus the processor can point to a point (address) in the memory. The limitation is the width of the bus. With 16 bits you can make a numbers between 00000000 00000000 and 11111111 11111111. Or in decimals between 0 and 65536. The 6510 can address 64 kbyte of memory. But there are memory expansion that will go to 256 kbyte and more. If you want to address more than 64 kbyte you have to switch between memory banks (bank-switching). This trick has been used in the PET / CBM range and the C128. The processor can only see 64 kbyte at one time.

I/O bus:

This part is the extension of the 6510 in comparison to the 6502 processor (PET/CBM, VIC20). And this is the secret and the success of the C64. This I/O bus can change how the C64 looks inside. The bus is 6 bit wide and will give 64 options in theory. The data on this bus is connected to the PLA which does the switching of memory inside of the C64. The C64 is a 64 kbyte machine but in reality there is 64 kbyte RAM, 8 kbyte KERNAL, 8 kbyte BASIC, 4 kbyte characters, 0,5 kbyte color RAM, 2 x 8 kbyte for cartridges, Registers of the SID and VIC. Normally this will not fit in a 64 kbyte system but with clever switching you can use everything only not at the same time. If you use BASIC the RAM under the BASIC cannot be used this explains the boot measage of the C64 - 38911 BASIC BYTES FREE. But if you don't need the BASIC you simply switch it off and you can use the RAM memory underneath it.

Interrupts:

A interrupt is a stop-sign. The processor can be halted with a interrupt. If the VIC-II needs more time it will halt the processor via a interrupt.

Speed:

The system speed of the C64 is 1 MHz. This means that there are 1 million actions per second that are processed. So the 6510 processor can do 1.000.000 action every second. The fasted instruction takes only 2 actions but the slowest instruction takes 7.

Instructions:

The number of instructions is 150 but there are in theory 255 instruction possible. Programmers found extra instruction by experimenting. But these are actually defects that are build into the chips and are not real instructions. There are instructions that only move data like LDA (Load the accumulator with a value) but there are also instructions that will calculate data like ADD (ADD a value to the accumulator) Also there are instructions the manipulate a value like ROR which shifts the bits a place to the right.

On the picture the C64 Games System. This is a C64 without the keyboard. The GS was released to compete with the Nintendo Entertainment System.

The VIC-II.

Commodore SX-64 The VIC-II chip is the central part of the C64. VIC is short for Video Interface Chip. The VIC-II is responsible for the heartbeat (timing) of the system the access to the data bus the refresh of the memory and last but not least the picture on the screen. Because C64 was meant to be used with a television set the output signal of the VIC-II is compatible with the television signal. That had some consequences and different VIC-II's had to be produced.

6569 - PAL-B (Europe, Africa, Asia, Australia)
6572 - PAL-N (Argentina, Uruguay)
6573 - PAL-M (Brazil)
6567 - NTSC (North America, South America, Japan)

8565 - HMOS-II PAL for the 2nd generation C64 (C/G/GS)
8562 - HMOS-II NTSC for the 2nd generation C64 (C/G/GS)

Technical specifications:

Text: 40 x 25 characters with 8 x 8 pixels
Hires: 320 x 200 pixels, Multicolor: 160 x 200 pixels
Sprites: 8 with detection on collision sprite-sprite and sprite-background
Colors: 16
Smooth scrolling, screen blanking
Light pen
Memory range: 16 kbyte

Text:

On the screen you can put 1000 characters. The character will come from the CHAR ROM but you can design your own characters. In normal text mode there are only two colors, the background color and the character color. But there is also a multicolor mode. In multicolor mode you can have 4 colors but this will reduce the resolution from 8 x 8 pixels to 4 x 8 pixels.

Hires:

Instead of characters the screen can now be filed with 320 x 200 = 64000 pixels. The drawback is that this will use up a large part of the memory (8 kbyte). Hires has also a multicolor mode and will reduce the resolution to 160 x 200 = 32000 pixels.

Sprites:

This are little movable blocks (24 x 21 pixels) that can be moved around the screen without interfering with characters or hires or other sprites. Sprites float over the screen. You can detect if the sprite is touching something and that can be used perfectly in arcade games.

Colors:

There are 16 different colors.

Smooth scrolling and screen blanking:

The VIC-II can move the complete screen with one pixel at the time in all directions (smooth scrolling). To let something appear from nothing the visible screen can be made smaller. The smaller screen is now 38 x 23 characters. Now you can place your data characters or hires) in the covered part of the screen and slide it into the visible part of the screen. You can slide 8 pixels with smooth scrolling. If you need to slide more you have to move the whole screen data 8 pixels and start the sliding again from the start. Except for the 38 x 23 screen blanking you can also blank the whole screen. The VIC-II will use up less time and the processor (6510) will have more time to run your programs. That will result into a faster program.

Lightpen:

If you shoot or click on the screen with a "light-gun" of "light-pen" the VIC-II will tell you the position on the screen.

Memory range:

It is a bit strange but the VIC-II can only see 16 kbyte of the total memory. To solve this problem the VIC-II is movable in 4 block of 16 kbyte through the memory.

The VIC-II chip is smarter the original specifications. From the early days programmers discovered strange things with the VIC-II. The limitation of only 8 sprites was overcome very fast. If the VIC-II has drawn the sprites on the screen you can place the sprites again on a lower part of the screen. The faster your program the more sprites you can put on the screen. Also the borders at the side of the screen can be turned off. When the borders are turned of you can place sprites in this area. The number of colors is also not limited to 16. If you switch colors fast you will get a color that is in between the two colors. This results in dozens of extra colors. The drawback is that the screen flickers a bit. The possibilities of the VIC-II are a great challenge for the "scene" to get everything out of it. There are still demos or intros that will show new possibilities.

There are also a few problems. Because the VIC-II does the timing for the whole system the timing is dependent of the PAL and NTSC signal. For simple graphics there is no problem but when the "scene" started to make demos and intros the differences became noticeable. So there are NTSC and PAL fixed to be made if you use more difficult graphics.

On the picture the Commodore SX-64. This is a C64 combined with a 1541 disk drive and a color-monitor. The detachable keyboard is also the cover of the SX-64.

The SID (6581 / 8580).

Commodore Golden edition. The musical chip inside the C64. SID is short for Sound Interface Device. The SID has world fame but also outside the C64. When the chip was released is was comparable with professional synthesizers. The SID was also build inside stand-alone devices like the SID Station.

Technical specifications:

Oscillators: 3
Waveforms: 4
Envelope generator
Volume control
Synchronization / Ring-modulation / Filters
Random generator
Analogue inputs: 2 (4)

Oscillators:

A oscillator is a mechanism to produce a signal with a specific frequency. The oscillators inside the SID have a frequency range of about 0 to 4000 Hz. The frequency can be set in 65536 steps (16 bit). The oscillators are independent of each other. The oscillators are also called voices.

Waveforms:

The signal of the oscillator can have different shapes or forms. The SID has the following waveforms: sine, saw-tooth, block and noise. Each waveform has a different effect on the sound at the same frequency.

Envelope generator:

A envelope generator is a way to mimic a real tone. With real musical instruments the volume of the tone is not the same from the beginning to the end. With the envelope generator you can make the following changes to the tone: Attack - This is the raise in volume of the note from volume 0 to maximum volume. Decay - This is the section where the volume goes from maximum to the chosen volume. Sustain - This part is where the volume of the tone is constant. Release - This is the part where the volume of the tone goes from constant to zero.

Volume control:

The volume of the SID can be adjusted in 16 steps. (0-15)

Synchronization / Ring-modulation / Filters:

With synchronization 2 signals (waveforms) are combined which will give a new effect. Ring modulation will produce a higher harmonic which will give a effect of a bell or gong. With the filters you can decrease the volume of a specific frequency range (cut-off).

Random generator:

The SID does more than only sound. One of those tasks is to produce a random number. This is used in the BASIC command RND.

Analog input:

Another task is to read analog signals. This is used to get a reading from the paddles. A paddle is made of pot-meter which is a variable resistor. Inside the SID there is a capacitor (like a rechargeable battery) which is charged via the resistor in the paddle. If the resistor is low the capacitor will be charged quickly and if the resistor has a high value the charging will take more time. The measured time is the value (position) of the paddle. For the ones who know you can connect 4 paddles at the C64 there could be a question how do you read 4 paddles with only 2 inputs. This is done by two electronic switches. The SID switches quickly between the first two paddles and the other two paddles.

On the picture one of the most wanted collectors items the Golden C64. The Golden C64 was released at a party to celebrate the 1.000.000 sale of the C64 in Germany. The Golden C64 is a C64 G model with a gold paint layer mounted on a piece of acrylic-glass. On the acrylic plate a PCB layout of a Commodore PC is printed. About 200 of these Golden C64 were made. The numbers from 1.000.000 to 1.000.099 were given to employees of Commodore Germany and the numbers 1.000.100 and higher were given away at the party to press and suppliers.

The CIA 6526.

Commodore C64g (Super Game System) The CIA has nothing to do with the Central Intelligence Agency but are two chips inside the C64. These chips find out what is happening outside the C64. (Maybe it has something to do with the Central Intelligence Agency after all?) CIA is short for Complex Interface Adapter.

Technical specifications:

Programmable I/O: 16
Timers: 2
Clock: 1
Shift-register: 1 x 8 bit

Programmable I/O:

I/O stands for Input / Output. A couple of functions of these I/O are reading the keyboard, reading the joysticks and reading or controlling the user-port.

Timers:

With these timers a signal can be made with a specific duration. This is used to make a RS-232 signal.

Clock:

The CIA has also a 24 hour clock. But the drawback is that you have to set the time every time you reboot the C64.

Schift-register:

This is used to transfer parallel (byte) data to serial (bit) data for the IEC bus (printer / diskdrive) and the other way round.

On the picture the C64 G. This is a C64 with an old style housing but with a new style motherboard (C64 C). One of the reasons for this model was that the well known piano-keyboard SFX didn't fit anymore on the new model C64 C. The color is different. It is much lighter than the brown of the first model. The C64-G was released as a package complete with a joystick and games on a cartridge. The C64-G was sold with a black keyboard (old-style) and with a white keyboard (new-style).

The ROM's.

Drean C64 Inside the C64 there are a couple of ROM's. These are memory modules with data inside that cannot be changed. You can read the memory but not write this memory.

KERNAL:

Most important ROM is the KERNAL ($E000-$FFFF - 8 kbyte). The kernal is the operating system of the C64. Inside the kernal are the parts that let you load and save programs to the disk drive and the datassette or print text to the screen or printer.

BASIC:

Another ROM is the BASIC ($A000-$BFFF - 8 kbyte). This contains the BASIC interpreter. The BASIC interpreter translates the BASIC commands to machine language. Machine langauge is the only language that the processor of the C64 understands.

CHAR:

The characters on the screen are coming from the CHARacter ROM. ($D000-$DFFFF - 4 kbyte)

PLA:

The PLA looks like a ROM and can be replaced by a (very fast) EPROM but is actually a special designed switch. This switch controls the inside of the C64.

The ROM's can be replaced by self made (EP)ROM's. With build in speed loaders for disk drives the KERNAL ROM was modified. To stay compatible the original ROM also was build in. Via a switch you could choose between the ROM's.

On the picture the Drean C64. Drean was a Argentinean company that had it own version of the C64 (also other Commodore models) that were sold in Argentina. The reason for this version was the high import taxes on complete computer systems. The motherboards came from Commodore and the rest was made in Argentinia like the power supply, housing, packaging ect. Strange thing is that inside the Dreans an revision A motherboard is used even in the later C64 C model.

The connectors.

C64 Web-it The C64 has many connectors. All have a different function but are not always needed for an application.

User-port:

The user-port can be used to connect external devices to the C64 to control or measure something. Examples are: Modems, Parallel printers, Parallel disk drives, relays, robots, EPROM programmers and much more. Nice thing about the user-port lines is that can be inputs or outputs independent from each other.

Datassette:

The Datassette is the cassette recorder input of the C64. Diskdrives where quite expensive and that was the reason that many computers had a cassette recorder connection. With the Commodore computers this was not a normal cassette recorder. Because all datassettes were equal there were very few problems with the loading of software. But the read / write head had to be in the right position. The use of cassettes was very popular after the introduction of the tape-turbos. Cassette software could be loaded faster than with a standard disk drive.

IEC:

The IEC-port is a serial connection to devices like a disk drive or a printer. De serial-port was limited in speed. Who needed a quick disk drive had to upgrade his system to a parallel system. The disk-commands from and to the disk drive were send by the (serial) IEC bus but the data went through the (parallel) user-port.

Video:

Via the video-bus the picture signal was send to a monitor. Also the audio was available through this bus. With the video connection and a monitor you had a better quality picture than through the RF.

RF:

This is also the video and audio signal but now suited for a television-set.

Expansion-port:

The expansion-port can be used to expand the C64. The lines on this connector are connected to the de address- and databus. The most common use is to connect ROM's. ROM's contain programs that are permanently stored in a chip and are always and directly available. Many ROM's contained arcade games and utilities such as speedloaders, assemblers ect. A few well known are the EPIX fast load cartridge, PowerCartridge, Final cartridge III. After a few years there came much more advanced expansions on the market like the SuperCPU which would speed-up the C64 by 20 times. Another group of expansions were memory expansions that gave the C64 up to 256 kbyte (and more) of memory.

Power-Supply:

Off course the C64 needs power to make the electronische parts work. The power supply delivers 5 volt DC for the IC's and 9 volt AC which is converted inside the C64 to 12 volts DC to power the SID. The 9 volt AC is also available at the user-port. The 9 volt AC was used by EPROM programmers.

Joystick:

This must be the most important connector. The joystick was the key to play the many arcade games. This connection also connected the light-pen the paddles and the mouse.

On the picture the Web-it. This actually not a real C64 it is not even a Commodore. The Web-it is a PC with a TV signal as output. This system was meant to be a cheap internet PC that could be connected to the TV and the telephone via a build in modem. In an effort to get the sales up they included a Commodore C64 emulator already installed on the system. All data inside the Web-it is stored in a Flash memory. It was not a success. Reasons were that the system broke down a lot and the TV resolution was to low for internet use.

De C64 model range.

Commodore Max Machine

C64 (Revision A) - 1982

This model was recalled by Commodore after discovering a fault. Recognizable by the silver logos.

C64 - 1982

The old model C64 - Markings: Brown color, bread-box model, rainbow logo.

C64 SX - 1984

The portable version of the C64 with build in disk drive and color-monitor.

C64c - 1986

The new model C64 - Markings: White color, slim-line model, Personal Computer logo.

C64g - 1986

The old model C64 with a new color (beige) and the new type motherboard.

C64 ALDI - 1986

The German supermarket chain ALDI sold it's own version of the C64. The only difference was the it had the white keyboard instead of the black keyboard.

C64 GS - 1990

A C64 without a keyboard. An attempt to attack the game consoles like the Nintendo Entertainment System. Keyboard was discarded and the cartridge -port was on top of the system. Most games used the keyboard so only a few were available for the C64 GS and the system was pulled of the shelfs of the shops after poor sales.

De Golden C64 - 1985

A special limited edition of the C64 to celebrate the 1.000.000 sale of the C64 in Germany. Because there are only about 200 made this is a collectors item.

Educator - 1983

Also known as PET64 or 4064. This is a C64 in a PET housing with build-in green monitor. It was meant to be used at schools.

Max machine - 1983

This is a Japanese version of the C64 with another housing. It had a keyboard which was terrible to use also there was only a little bit of memory. The only use was as a game console like the C64 GS.

C64 Japan - 1982

The Japanese version of the C64 has an altered keyboard and CHAR ROM. This made the Japanese characters available on the C64. But lots of software was made outside Japan and was not compatible with the altered version. Most of the Japanese C64 were modified to the normal model.

Drean C64 - 1983

To get around high import taxes for complete computer systems the Argentinean company Drean assembled original commodore parts and self made part to create a complete C64.

Drean C64c - 1986

Also the new model was assembled by the Drean company. But with the use of the old model motherboard.

C64 LCD - 198?

There is also a laptop version of the C64 with a LCD screen. But only as a proto-type and only 1 was ever made.

C64 Australian - 1986

Commodore announced the new model C64c. This was for an Australian company the reason to produce a new looking housing. You could upgrade the old model C64 into the new model.

Web-it - 1998

Internet PC with build in C64 emulator to connect to your television set.

The special editions: In Great Britain many C64 were sold as special editions, mostly around Christmas. These special editions had a bigger box which contained a C64, Datassette, Joysticks and games. Well known editions are: Terminator, Batman, Nightmoves, TestPilot, Compendium etc.

On the picture the Commodore MAX Machine. This is a Japanese version of the C64 with another housing. This version was build cheaper than a standard C64. (keyboard, memory, connectors) But sales were a fiasco.
Update: 2011-11-26 16:28:26