Commodore 64, C64, CBM64 – komputer domowy z lat 80. XX wieku firmy Commodore Business Machines (CBM). C64 był dotychczas najlepiej sprzedającym się komputerem w historii informatyki - 17 mln sprzedanych egzemplarzy.
Powstała też wersja Commodore Educator 64 przeznaczona do szkół.
Sprzętowo nie różniła się od Commodore 64 z wyjątkiem monochromatycznego
monitora wbudowanego w obudowę.
Historia
Komputer C64 powstał w styczniu 1982 r. jako następca modelu VIC-20. Początkowo sprzedawany był w cenie 595 USD, jednak cena ta była znacznie wyższa od ceny produktów konkurencji (ZX Spectrum), stąd nie przyniosła popularności modelowi.
Firma Commodore, będąc właścicielem firmy MOS Technology,
produkującej większość podzespołów do C64, oszacowała koszt produkcji
każdego modelu na 135 USD. Cena maszyny znacznie spadła, a firma
rozpoczęła agresywną politykę marketingową, kierując komputer w stronę
rynku gier. Wkrótce model C64 stał się najpopularniejszym komputerem.
Komputer, choć o wysokich możliwościach technicznych, był jednak stosunkowo słaby. BASIC v.2 (stworzony przez firmę Microsoft)
był poprawny logicznie, ale nie pozwalał na pełną kontrolę nad maszyną:
był zbyt powolny, nie zawierał żadnych instrukcji do generowania
dźwięku, grafiki, czy też obsługi dżojstika. Firma zdecydowała się wypuścić w 1984 r. następcę C64, komputer Commodore Plus/4, z nowszą wersją BASIC-a i wbudowanymi w ROM aplikacjami (np. arkusz kalkulacyjny), ale z braku kompatybilności z C64, nowy produkt nie zdobył przychylności rynku.
Po nieudanych próbach z Commodore Plus/4, a także z Commodore 16, firma wypuściła w roku 1985 model Commodore 128.
C128 miał lepsze osiągi w porównaniu z C64, dodatkowo projektanci, nie
chcąc utracić już zdobytego rynku, wyposażyli go w możliwość pełnej
emulacji C64. Jednak komputer ten nie zdobył popularności C64, być może z
powodu ceny, przesycenia rynku i starzejących się technologii.
C64C z widocznym rozszerzeniem pamięci
Wersja C64C, wprowadzona w 1986 r. różniła się od poprzednich wersji
wyglądem, zaprojektowanym na wzór Commodore 128. Zawierała też
komercyjny system operacyjny oparty na graficznym interfejsie (GUI) – GEOS produkcji Berkeley Softworks.
Czwarta wersja komputera łączyła obudowę C64 z klawiaturą C64C.
Główne zmiany zaszły wewnątrz urządzenia: z poprzedniej wersji pozostał
układ 6526 oraz pamięć ROM, procesor
zamieniono na układ 8500 R4 o identycznej w stosunku do 6510 liście
rozkazów. Układ graficzny VIC 6569 oraz dźwiękowy SID 6581 zamieniono na
(odpowiednio) 8569 i 8580 (decyzja podyktowana była kwestiami
związanymi z zasilaniem - tylko układ SID 8580 był zasilany napięciem
+12V.
Zmierzch komputera nastąpił pod koniec lat 80. Oficjalnie firma
zakończyła produkcję w 1993 r., sprzedawszy ok. 17-25 mln egzemplarzy
(oficjalny rekord Guinessa). Najwięcej komputerów zostało sprzedanych w
czasie, gdy na rynku pojawiła się już Amiga. W Polsce komputery
Commodore 64 sprzedawała Baltona.
Dużą zaletą Commodore 64 były jego możliwości graficzne i muzyczne. Na tym komputerze wzięła swój początek tzw. demoscena,
czyli społeczność fascynatów, którzy tworzyli prezentacje swoich
programistycznych i artystycznych umiejętności, nierzadko wykraczających
poza ograniczenia nałożone przez samych projektantów C64. Wielu
użytkowników komputera – o ile tylko pozwoliły im na to zasoby finansowe
– zakupiła nowszą produkcję Commodore: Amigę 500.
Komputer stał się popularny dzięki dużej liczbie gier, ale jego
możliwości umożliwiały także pracę biurową. Dostępne były proste (z
dzisiejszego punktu widzenia) arkusze kalkulacyjne, edytory tekstu, kompilatory języków programowania. O możliwościach C64 świadczy okres jego zmierzchu: gdy wychodziły pierwsze poważne gry na Amigę i PC, wiele firm ciągle tworzyło wersje dla C64 (
Pirates!,
North & South i inne).
Konstrukcja
Procesor i pamięć
Procesor
Komputer C64 jest wyposażony w 8-bitowy mikroprocesor MOS Technology 6510
(w nowszych wersjach 8500), który był kompatybilny (ale nie sprzętowo,
procesor 6510 wyposażono w dodatkowe możliwości np. sterowanie
magnetofonem do zapisu programu) 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, interpreter języka BASIC w
wersji 2.0 przygotowany przez Microsoft oraz tablicę znaków).
Standardowo, po włączeniu, komputer oferował ok. 38 kB na programy w
BASIC. Reszta pamięci była zajęta poprzez zmapowane na nią obszary ROM.
Pozwalało to m.in. na „przepisanie” systemu operacyjnego ze stałej
pamięci ROM do pamięci RAM, umożliwiając użytkownikowi jego modyfikacje.
Można było odłączyć pamięć ROM, uzyskując prawie pełne 64 kB (bez
obsługi BASIC). Był to pierwszy komputer domowy, który dawał taką
możliwość.
Grafika
Układ grafiki VIC-II, udostępniał tryb tekstowy: 40 kolumn × 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 – 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. Dla całego
ekranu wspólny był natomiast kolor tła. W trybie tekstowym oraz hi-res
dostępny był jeden kolor (plus kolor tła) na każde 8x8 pikseli. W trybie
multicolor dostępne były trzy kolory (plus kolor tła) na każde 4×8
pikseli.
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-II (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
kilkudziesięciu.
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łady scalone SID (ang. Sound Interface Device) firmy MOS Technology. Po prawej stronie układ 6581, po lewej układ 8580
Za syntezę dźwięku odpowiedzialny był układ scalony 6581 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, prostokątnej ze zmiennym wypełnieniem oraz szumu.
Możliwość generowania fali prostokątnej 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. SID umożliwiał również miksowanie dźwięków i syntezę mowy.
W swojej pracy C64 używał np. popularny polski zespół tego okresu, Kombi. Sławomir Łosowski
korzystał z niego jako sekwencera dla syntezatorów, co widać na
archiwalnych zapisach z koncertów. Wbrew powszechnej opinii nie służył
on do generowania dźwięku. Ponadto niemiecka grupa muzyczna Welle:
Erdball używa go do tej pory jako główny instrument, aczkolwiek był ten
komputer wykorzystywany głównie jako sekwencer, sterując profesjonalnymi syntezatorami poprzez MIDI. Do tej pory wielu fascynatów tworzy muzykę na tym komputerze.
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.
Obudowa i gniazda
Kartridż Black Box dla C64/C128
Komputer Commodore 64, jak większość komputerów domowych z pierwszej
połowy lat 80., znajdował się w jednej obudowie z klawiaturą. Płyta
główna komputera znajdowała się albo bezpośrednio pod klawiaturą (w
pierwszych, wyższych, modelach C-64) lub w przedłużonej do tyłu części
obudowy w modelach nowszych (o wyglądzie wzorowanym na Commodore 128).
Porty Commodore 64 (od lewej Cartridge, RF-adj, RF, A/V, 488, Tape, User + Joy1, Joy2, Power)
Na zewnątrz C64 miał kilka portów. Z prawej strony znajdowały się:
- gniazdo zasilacza zewnętrznego;
- dwa porty dżojstików typu DE-9M, które mogły służyć również do podłączenia myszki, pokrętła sterującego (paddle) lub pióra świetlnego;
- wyłącznik zasilania.
Z tyłu komputera znajdowały się kolejno:
- Expansion Port – służył do podłączania kartridży (ang. cartridges),
czyli modułów z grami czy programami, najczęściej rozszerzającymi
możliwości komputera. Przykładami mogą być moduły teletekstu, „Black
Box”, „Final 2”, „Final 3”, „Action Replay”, czy „X”, zawierające takie
rozszerzenia jak kod przyspieszający działanie magnetofonu, stacji
dysków lub monitor (program umożliwiający przeglądanie i modyfikację
pamięci komputera). Mogły one także posiadać przycisk „Freeze”
umożliwiający wstrzymanie działania programu i uruchomienie monitora w
trakcie jego działania. Kartridże często udostępniały również przycisk
„Reset”, którego Commodore 64 normalnie nie posiadał, a którego użycie
było dużo bezpieczniejsze niż każdorazowe wyłączanie i ponowne włączanie
komputera. Do tego portu można było również podłączyć tzw. sound
expander (moduł syntezy fm) i rozszerzenie pamięci.
- RF Out – czyli gniazdo antenowe, dające zmodulowany sygnał audio i wideo, służące do podłączenia komputera do telewizora;
- Video/Audio – port umożliwiający podłączenie monitora lub sprzętu audio w celu uzyskania lepszej wyjściowej jakości obrazu lub dźwięku;
- Serial Port – port szeregowy w standardzie IEEE-488, do podłączenia urządzeń szeregowych, jak stacje dysków lub drukarki. Stacja dysków obsługiwała dyskietki 5¼" (model 1541) lub 3½" (1581);
- Casette Port – złącze magnetofonu kasetowego (służącego jako tańsza, alternatywna względem stacji dysków, pamięć masowa). Musiał to być specjalny, dedykowany magnetofon Commodore 1530, tzw. Datassette. Zwykłe magnetofony nie mogły być stosowane, jak to miało miejsce np. w komputerach ZX Spectrum.
- User Port – programowalny port wejścia-wyjścia, mogący służyć jako port standardu RS-232.
Do C64 można było podłączyć również takie urządzenia jak modem, drukarkę, tabliczkę graficzną czy ploter.
Jako ciekawostkę warto dodać, że do C64 stworzono także dysk twardy.
Niestety, jego ogromna – jak na owe czasy – cena, nieduża pojemność oraz
spadająca popularność komputera sprawiły, iż nigdy nie trafił on do
masowej sprzedaży. Istniał również moduł zawierający procesor Zilog Z80 umożliwiający uruchomienie systemu CPM+. W późniejszym czasie Commodore C128D oferowano w sprzedaży wraz z tym systemem, który w tym okresie był dość popularny.
Do komunikacji z użytkownikiem komputer umożliwiał wykorzystanie
zwykłego odbiornika telewizyjnego, wyposażonego w gniazdo koncentryczne
75 Ohm (odbiór na kanale 36 UHF) lub dedykowanego monitora.
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), znany jako VIC-II (VIC – Video Interface Controller)
- Układ dźwięku: 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 znaków, każdy znak 8×8 pikseli, 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)
- USERPORT - port równoległy umożliwiający transmisję szeregową RS-232
- szyna szeregowa dla drukarki lub stacji dysków
- zasilanie: 5 V DC i 9 V AC
Oprogramowanie
Podstawowym oprogramowaniem był wbudowany interpreter języka BASIC.
Umożliwiał on pisanie programów oraz wczytywanie oprogramowania z
magnetofonu lub stacji dysków. Kontrolę nad dźwiękiem i grafiką dodawał SIMONS BASIC, rozprowadzany w formie kartridża lub ładowany z nośnika. Powstał również graficzny system operacyjny o nazwie GEOS. Istnieje również polski system WARSAW BASIC
wyposażony w procedury i moduły zapamiętywane na nośniku np. dyskietce.
Programy napisane w wbudowanym BASIC, można było skompilować znacznie
przyspieszając ich działanie.
Również współcześnie rozwijane jest oprogramowanie na platformę C64 – takimi projektami są między innymi LUnix, WINGS oraz Contiki (pierwszy system operacyjny dla C64 z wielowątkowością i obsługą TCP/IP).
Mam nadzieje, że się podobało.