Navigatie overslaan.
Start

C64

Deze week is het de 30ste verjaardag van de Commodore 64.

Aangezien dit mijn allereerste computer was, heeft de C64 toch een speciaal plaatsje in mijn hart, maar zelfs objectief gezien was, en is(!), het een legendarische machine.

Eigenlijk had ik een Atari 2600 aan St.-Nikolaas gevraagd, maar ik heb nooit geklaagd dat hij per vergissing een C64 had gebracht. :-)

De combinatie van 8-bit CPU op net geen 1MHz klok, 64k aan RAM geheugen, 16 kleuren en een volledige digitaal aangestuurde 3-stemmige sound chip zorgden voor een jarenlang durende productie van 400.000 units per maand en een totaal verkoopsaantal van rond de 17.000.000. (De C64 werd gedurende 12 jaar geproduceerd.)

O.S.

De computer was "instant-on" omdat de O.S. opgeslagen werd in een ROM-chip. (ROM dump)
Dit wil ook zeggen dat het niet mogelijk was om een update uit te voeren. Het voordeel hiervan was dat weer dat de kwaliteit van het O.S. erg hoog was, want het moest juist zijn van de eerste keer.

Press play on tape

Spelletjes (en andere software) werden dan weer geladen van tape, echte normale muziekcasettes.
Dat was een behoorlijk traag process, want om bit-fouten tegen te gaan stond de software 2 keer na elkaar op tape.
Gelukkig waren er truukjes om de "load"-time te halveren. (1 keer lezen en hopen dat alles goed ging.)

load "$",8,1

Daarna waren er diskettes die 664 blocks aan nuttige data konden bevatten. (Ongeveer 165k)
Alhoewel de snelheid groter was dan tape, viel dit eigenlijk toch tegen, want door een hardware bug in design van seriele interface moesten de IO routines in software geëmuleerd worden.
Ook hier waren truukjes voor, want alles was herprogrameerbaar.
De Floppy Drive had namelijk zijn eigen O.S. en 2 CPUs die samenwerkten!
http://en.wikipedia.org/wiki/Commodore_1541

De capaciteit van een enkele diskette was naturlijk ook veel minder dan van een 90-minuten audio tape, maar gelukkig kon die capaciteit simpelweg verdubbeld worden door een gaatje te maken in de diskette, en deze ook ondersteboven te gebruiken. Weer een truukje!
http://en.wikipedia.org/wiki/Flippy_disk

Sound

De sound-chip van de C64 kwam uit een ander milennium, en was engineering zoals je niet vaak tegenkomt in de geschiedenis.
Professionele audio apparatuur werd in die tijd gewoon te kijken gezet door de 6581 SID, en ook nu nog zijn er muzikanten die exclusief met deze sound chip werken.

Wegens de unieke combinatie van digitaal en analoog is het geluid dat geproduceerd wordt quasi onmogelijk om te emuleren. Het klinkt toch net weer iets anders.

Door handig gebruik te maken van een bug in de hardware, was het zelfs mogelijk om een 4de stem te hebben.
http://en.wikipedia.org/wiki/MOS_Technology_SID

Alle chips van de C64 (behalve RAM) waren trouwens custom design.

Peek & Poke

Net zoals in Linux alles een bestand is, was in de C64 alles bereikbaar via een geheugenlocatie.
Configuratiewijzigingen werden simpelweg gedaan door een bepaalde waarde op een bepaalde geheugenlocatie te schijven.
http://en.wikipedia.org/wiki/PEEK_and_POKE

Zo kon je de motor van de tape-drive aan of uitzetten, waardoor je muziekcassettes met muziek kon laten afspelen.
Of kon je Output lijnen aansturen om relais te schakelen. (Lichten bijvoorbeeld.)

Je kon natuurlijk ook inputs uitlezen, zowel digitale als analoge.
Zo kon je via de jopystick poort meten of je plantje water nodig had en indien nodig een relay aansturen om automatisch water te geven.

De C64 liet mij toe om als 12-jarige al home-automation te hebben op mijn kamer. ;-)

Hacks

64k aan RAM geheugen in best wel weinig als je iets nuttigs wil doen en daarom moesten er tijdens het programmeren geen bytes, maar letterlijk bits bespaard worden.
Alles moest super efficiënt gebeuren en dat leidde tot fantastische optimalisaties en verlengde de levensduur van deze machine voor een hele tijd.

Dingen die voor onmogelijk werden gehouden werden toch mogelijk door het toepassen van enkele truukjes zoals handig gebruik maken van "fouten" in het design, zelf-modificerende code schijven, of grafische data wegschijven in het H- en V-sync gebied van het scherm, etc...

Als je echt versteld wil staan, kijk dan een naar de ultimate C64 talk.
Je dacht toch niet dat een design beperking van 16 kleuren wil zeggen dat je er maar 16 kan laten zien? ;-)
http://www.youtube.com/watch?v=ZsRRCnque2E

Zoals je kan zien was de C64 een echte trukendoos.
En truukjes toepassen om grenzen te verleggen zijn nu net het gedachtengoed van hackers, vandaar dat deze machine zo geliefd is bij mensen met een dergelijke ingesteldheid en waarschijnlijk nog een lange tijd zal blijven leven.
Zelfs vandaag de dag wordt er nog steeds nieuwe hardware ontwikkeld voor deze fantastische machine uit vervlogen tijden!