Commodore 64

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Commodore 64
Commodore64.jpg
Typ Komputer domowy
Premiera 1982
Koniec produkcji kwiecień 1994
Procesor MOS Technology 6510
@ 1.02 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

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

Historia[edytuj | edytuj kod]

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

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

Procesor i pamięć[edytuj | edytuj kod]

Procesor[edytuj | edytuj kod]

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[potrzebne źródło] (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 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ść. Późniejsze komputery, poczynając od klasy PC, miały już system operacyjny ładowany z nośników zewnętrznych.

Grafika[edytuj | edytuj kod]

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

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 | edytuj kod]

Układy scalone SID (ang. Sound Interface Device) firmy MOS Technology. Po prawej stronie układ 6581, po lewej układ 8580

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, 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. 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[4].

Obudowa i gniazda[edytuj | edytuj kod]

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 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), a nawet pióra świetlnego;
  • na prawej ściance znajdował się również 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;
  • 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ł być to wydzielony 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, drukarka, 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.

Komunikacja z użytkownikiem odbywała się za pomocą telewizora lub monitora.

Dane techniczne[edytuj | edytuj kod]

  • 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 | edytuj kod]

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

Najbardziej popularnym rodzajem oprogramowania na ten mikrokomputer były gry – stworzono ich wiele tysięcy.

Zobacz też[edytuj | edytuj kod]

Przypisy

Linki zewnętrzne[edytuj | edytuj kod]

Commons in image icon.svg