Wyrzuciłem Commodore C64

Stało się… Z powodu braku miejsca w szafie postanowiłem wyrzucić mój pierwszy komputer – Commodore 64C. Cudowna maszyna mojego dzieciństwa. Całymi dniami grałem (a raczej regulowałem magnetofon żeby wgrać gierki do pamięci) albo pisałem programy w BASICu.

Poniżej wyszukane w Internecie screenshoty moich ulubionych gier na Commodore 64:

International Karate
International Karate

Buggy Boy
Buggy Boy

Sim City
Sim City

Microprose Soccer
Microprose Soccer

I oczywiście Bruce Lee.
Bruce Lee

Kultowa wręcz gra Bruce Lee doczekała się swojego wielkiego powrotu w roku 2003 gdy powstała identyczna wersja działająca jednak na komputerach klasy PC. Można ją pobrać ze strony http://blitz.planetflibble.com/.

Commodore 64C

Pamiętam ile nerwów traciłem aby odpowiednio ustawić głowicę magnetofonu…
Commodore 64 - magnetofon

No i BASIC, jedyny język który poznałem chyba w całości z wszystkim co tylko można było :)
Commodore C64 BASIC

Poniżej zamieszczam odrobinę informacji technicznych o samym komputerze Commodore 64C zaciągniętych z Wikipedii.

Procesor i pamięć

Komputer C64 był wyposażony w 8-bitowy mikroprocesor MOS Technology 6510 (w nowszych wersjach 8500), który był kompatybilny z mikroprocesorem MOS Technology 6502 (używanym między innymi w komputerach Atari, Apple i konsolach Nintendo). Procesor taktowany był zegarem około 1 MHz (dokładnie 0,985 MHz w wersji PAL oraz 1,023 MHz w przypadku NTSC).

Pamięć RAM składała się z 64 KB (stąd nazwa komputera), zaś ROM – ok. 20 KB (zawarto tam jądro systemu, obsługę BASIC-a oraz tablicę znaków). Standardowo, po włączeniu, komputer oferował ok. 38 KB na progamy w BASIC. Reszta pamięci była zajęta poprzez zmapowane na nią obszary ROM, jednakże mozna było odłączyć pamięć ROM, uzyskując prawie pełne 64 KB (oczywiście, już bez obsługi BASIC).

Grafika

Układ grafiki, VIC-II, udostępniał tryb tekstowy: 40 kolumn x 25 wierszy, a także tryby graficzne – w rozdzielczości 320×200 pikseli z 1 bitem na piksel (tzw. tryb hi-res – wysokiej rozdzielczości) oraz tryb wielokolorowy (tzw. multicolor) w rozdzielczości 160×200 pikseli z 2 bitami na piksel – po prostu każde dwa piksele trybu hi-res tworzyły jeden piksel w trybie multicolor. Układ oferował fabrycznie zdefiniowaną paletę 16 barw. Zarówno w trybie tekstowym, jak i w trybach graficznych, wybór kolorów był przypisany do obszaru równemu jednemu znakowi – czyli wybór koloru tła i koloru znaku w trybie tekstowym, wybór dwóch kolorów na każde 8×8 pikseli w trybie hi-res oraz wybór czterech kolorów na każde 4×8 pikseli w trybie multicolor.

Dodatkowo, VIC obsługiwał 8 duszków (sprajtów – ang. sprites). Były to niezależne od wyświetlanego trybu graficznego, dowolnie definiowalne, ruchome obiekty o rozmiarze 24×21 pikseli (lub 12×21 pikseli w przypadku duszków wielokolorowych). Mogły być one dodatkowo niezależnie rozciągane wzdłuż obu wymiarów do podwójnego rozmiaru.

Dzięki dużym możliwościom układu graficznego VIC (np. licznikowi wyświetlanych linii rastra) oraz innych układów komputera, zaawansowani koderzy (najczęściej członkowie demosceny) mogli uzyskiwać efekty daleko wykraczające poza podstawową specyfikację. Możliwa była np. zmiana atrybutów (kolorów wykorzystywanych w obrębie obszaru znaku) przy każdej wyświetlanej linii (tzw. tryb FLI – ang. Flexible Line Interpretation) tak, że zamiast kolorów zdefiniowanych dla obszaru 8×8 (lub 4×8) pikseli, były one ograniczone do obszarów 8×1 (4×1) pikseli.

Za pomocą wyświetlania dwóch różnych obrazów na zmianę w następujących po sobie odświeżeniach ekranu (tzw. interlace lub inaczej przeplot), można było zwiększyć paletę postrzeganych barw do 128 kolorów. Dodatkowo, przy wykorzystaniu przeplotu, w trybie multicolor (160×200) pikseli, można było uzyskać pozorną rozdzielczość 320×200 pikseli. Dokonywano tego poprzez przesunięcie ekranu w jednym z przeplatanych obrazów o jeden piksel w bok (czyli o pół piksela trybu multicolor), co dawało wrażenie wyższej niż faktyczna rozdzielczości – oczywiście wciąż utrzymując wrażenie korzystania z palety 128 barw.

Dzięki podobnym trikom, możliwe było również, teoretycznie niemożliwe, wyświetlanie duszków na, normalnie niedostępnej dla grafiki, ramce ekranu, lub zwiększenie liczby duszków ze standardowych 8 do nawet kilkuset.

Powstały także tryby graficzne, o nazwach takich jak np. Super Hires Interlace FLI, wynikający ze skrzyżowania wszystkich możliwości podanych uprzednio – czyli trybu multicolor, techniki FLI oraz przeplotu a także nakładanych na taki obraz sprajtów.

Dźwięk

Układ dźwięku stanowił układ o nazwie SID. Układ był monofoniczny i miał 3 syntezatory dźwiękowe podłączone do jednego filtra. Umożliwiał wybór spośród czterech kształtów fali – trójkątnej, piłokształtnej, kwadratowej ze zmiennym wypełnieniem oraz szumu. Możliwość generowania fali kwadratowej ze zmiennym wypełnieniem nadaje muzyce pochodzącej z tego układu charakterystyczne brzmienie. Układ nie umożliwiał generowania fali o kształcie sinusoidalnym, ale dało się ten kształt w dużym przybliżeniu symulować poprzez nałożenie filtra dolnoprzepustowego na falę prostokątną z wypełnieniem 50%. Kolejną cechą układu SID była możliwość kształtowania obwiedni dźwięku poprzez 4 parametry – ADSR (Attack – narastanie, Decay – opadanie, Sustain – trwanie oraz Release – wybrzmienie), z których każdy mógł przyjmować jedną z 16 wartości. Wysoka jakość dźwięku sprawiła, że w swojej pracy C64 używał np. popularny polski zespół tego okresu, Kombi.

Możliwości dźwiękowego procesora SID zostały docenione po latach – w 1996 roku komputerowy magazyn Byte umieścił go w dwudziestce najważniejszych wynalazków w historii komputeryzacji.

Dane techniczne

  • Procesor: MOS Technology 6510 (lub w nowszych wersjach 8500), 0,985 MHz (PAL) lub 1,023 MHz (NTSC)
  • Układ grafiki: MOS Technology 6567 (NTSC) lub 6569 (PAL) (w nowszych wersjach odpowiednio 8562 i 8565), generalnie nazywany VIC-II (VIC – Video Interface Controller)
  • Układ dźwieku: MOS Technology 6581 (w nowszych wersjach 8580), o nazwie SID (SID – Sound Interface Device)
  • Pamięć RAM: 64 KB
  • Pamięć ROM: 20 KB (8 KB BASIC, 8 KB KERNAL, 4 KB generator znaków)
  • Tryb tekstowy: 40×25, każdy znak 8×8 pikseli, każdy znak w jednym z 16 kolorów, możliwe przedefiniowanie zestawu znaków.
  • Tryby graficzne: 320×200, 1 bit na piksel (tzw. hi-res), 160×200, 2 bity/piksel (tzw. multicolor).
  • Dźwięk: 3 niezależne głosy, 6 oktaw, 4 kształty fali do wyboru (trójkątny, piłokształtny, kwadratowy ze zmiennym wypełnieniem oraz szum), możliwość zmiany parametrów obwiedni (ADSR) (4 bity na każdą).

Porty wejścia/wyjścia:

  • video
  • TV RF
  • 2 porty dżojstików (9 pinowe)
  • port dla cartridge
  • port dla magnetofonu (Datasette)
  • port szeregowy RS232
  • szyna szeregowa dla drukarki lub stacji dysków (użytkownicy opracowali rozdzielacze, umożliwiające korzystanie z obu urządzeń naraz)
  • zasilanie: 5 V DC i 9 V AC

(Część tekstu i zdjęć pochodzi z encyklopedii Wikipedia.)