Commodore 64

8-bitowy komputer domowy wprowadzony na rynek w 1982

Commodore 64, C64, CBM64 – komputer domowy z lat 80. XX wieku firmy Commodore Business Machines (CBM). C64 był dotychczas najlepiej sprzedającym się mikrokomputerem w historii informatyki[3] – 17 mln sprzedanych egzemplarzy.

Commodore 64
Ilustracja
Typ

komputer domowy

Premiera

USA: sierpień 1982
Polska: czerwiec 1988[1][2]

Koniec produkcji

kwiecień 1994

Procesor

MOS Technology 6510
@ 1.023 MHz (NTSC)
@ 0.985 MHz (PAL)

Pamięć operacyjna

64 kB RAM + 20 kB ROM

System operacyjny

Commodore BASIC 2.0, GEOS

poprzednik:
Commodore VIC-20
następca:
Commodore 128

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

edytuj

Komputer C64 powstał w styczniu 1982 r. jako następca modelu VIC-20. Początkowo sprzedawany był w cenie 595 USD[4], 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.

 
C64C z widocznym rozszerzeniem pamięci

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.

 
Educator 64

Wersja C64C, wprowadzona w 1986 r. różniła się od poprzednich wersji wyglądem, zaprojektowanym na wzór Commodore 128.

Trzecia wersja komputera o nazwie C64G łączyła obudowę C64 (w tym przypadku kolor jasny) 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 Guinnessa). Najwięcej komputerów zostało sprzedanych w czasie, gdy na rynku pojawiła się już Amiga. W Polsce komputery sprzedawał oficjalnie od czerwca 1988 roku Pewex[1], choć jeszcze długo przed premierą istniały sklepy handlujące C128, C116, C64, C16, Plus/4 i VIC20[5].

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. Konsekwencją koncentracji entuzjastów na Commodore 64 było pojawienie się wielu modyfikacji sprzętowych, pozwalających na przyspieszenie pracy (odczyt, zapis na nośniku/pamięci zewnętrznej) oraz poprawę charakterystyki dźwięku i obrazu. Były to między innymi moduły zewnętrzne (cartridge) takie jak Final, Action, Snapshot, SD2IEC czy w końcu uniwersalne rozwiązanie Ultimate1541II. Wielu użytkowników komputera – o ile tylko pozwoliły im na to zasoby finansowe – zakupiło nowszą produkcję Commodore: Amigę 500.

Komputer stał się popularny w XX w. 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

edytuj

Procesor i pamięć

edytuj

Procesor

edytuj
 
Procesor MOS 6502

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[potrzebny przypis] (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

edytuj
 
VIC II 8565R2 z C64 II

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[6].

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

edytuj
 
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[7].

Obudowa i gniazda

edytuj
 
Porty Commodore 64 (od lewej Cartridge, RF-adj, RF, A/V, 488, Tape, User + Joy1, Joy2, Power)

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).

Na zewnątrz C64 miał kilka portów. Z prawej strony znajdowały się:

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.
 
Kartridż Black Box dla C64/C128
  • 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 (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 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.

Do C64 stworzono także dysk twardy, lecz jego 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 C128 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 Ω (odbiór na kanale 36 UHF) lub dedykowanego monitora.

Dane techniczne

edytuj
  • 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:

Oprogramowanie

edytuj
 
Commodore BASIC V2.0

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 we 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).

Zobacz też

edytuj

Przypisy

edytuj
  1. a b Infosystem '88. „Bajtek”. 6/1988, s. 20–21. Bajtek. 
  2. W Polskę idziemy... „Bajtek. Tylko o Commodore”. 6/1988, s. 3. Bajtek. 
  3. Innowacje Commodore. commodore.ca. [zarchiwizowane z tego adresu (2010-04-01)]. – Mikrokomputer Commodore 64 został sprzedany w ponad 30 milionach sztuk i został wpisany do księgi rekordów Guinnessa.
  4. MayhemUK Commodore 64 archive.
  5. Mikrokomputery do sklepu. „Bajtek”. 4/1985, s. 18–19. Bajtek. 
  6. Opis trybów graficznych Commodore 64.
  7. InformationWeek, serving the information needs of the Business Technology Community [online], www.byte.com [dostęp 2020-03-07] [zarchiwizowane z adresu 2006-06-29] (ang.).

Linki zewnętrzne

edytuj