Emulátory (2) - Commodore

Frodo_main Stejně jako ve Velké Británii byly velmi populární počátače Sinclair ZX-Spectrum, v Americe a sousedním Německu byly v době 8 bitů pravděpodobně nejrozšířenější počítače firmy Commodore, zejména model 64. V tomto díle se podíváme na jeho emulaci pod LINUXem.

28.11.2005 06:00 | MaReK Olšavský | přečteno 15163×

Kanadská firma Commodore (později CBM - Commodore Business Machines) byla založena v roce 1954 Jackem Tramielem. Zpočátku vyráběla psací stroje a pro počítačníky začíná zajímavá historie v roce 1977, kdy firma uvedla do prodeje 8 bitový počítač PET. PET (Personal Electronic Transactor) bylo řešení "vše v jednom", kdy v jedné skříni byl počítač, monitor, klávesnice i datarekordér. Klávesnice byla sice trochu menší, nicméně to nikterak neovlivnilo jeho poměrně slušný komerční úspěch. Mimochodem, ve stejném roce byl ze zajímavých uveden do prodeje také Apple II a TRS 80 Model 1. V roce 1981 byl dokonce vyvinut SuperPET, se dvěma mikroprocesory, který měl k dispozici nejen Commodore Basic. V roce 1980 nastupuje počítač VIC-20/VC-20, který byl základem modelů, které byly později velice populární (informace o tom co bylo pokračovatelem této legendy se různí). Počítač již neobsahoval vestavěný datarekordér a monitor, ale na vlastní sběrnice bylo možné připojit firemní cartridge, datarekordér a disketovou jednotku. Údajně bylo těchto počítačů prodáno 2.5 miliónů kusů.

V roce 1982 přišla Legenda (opravdu ledenda s velkým L) - Commodore 64, který se nepřetržitě, s některými malými úpravami, vyráběl do roku 1993 a bylo ho prodáno prý 30 mil. kusů. Tohoto počítače bylo několik generací a tři velmi zajímavé verze - Educator 64, což byla verze pro školy, kdy byl v jedné skříni integrován monitor i počítač; SX/DX 64 - Executive Computer, což byl snad jeden z prvních přenosných počítačů ale notebookem nazvat toto řešení by asi hraničilo s drzostí :-), bohužel vzhledem k ceně 1000 US$ byl neúspěšný; a nakonec integrované řešení s 3,5" disketovou mechanikou Commodore C65 (této verze bylo vyrobeno jen 50 kusů). Slabina tohoto počítače byla ve vestavěném BASICu (operačním systému), který rozhodně nebyl moc uživatelsky přívětivý, protože neobsahoval například příkazy pro grafiku a tuto bylo nutné řešit sérií příkazů POKE. Na druhé straně měl tento počítač na svou dobu velmi kvalitní zvuk (ano chip SID je legenda) a podporu spritů, takže vývojáři her jej podpořili velikým množstvím velmi kvalitních her.

Commodore 16/116/Plus4 měly být nástupcem legendární C64, výroba těchto počítačů začala v roce 1984 a v roce 1986 byly vyprodávány poslední kusy. C16 a C116 byly koncipovány jako levné počítače, které měly být konkurencí především pro Sinclair ZX-Spectrum, osazeny byly 16KB RAM, přičemž verze C116 se prodávala pouze v Německu a některých východoevropských zemích. Klávesnice C116 byla z uživatelského hlediska mnohem lépe řešena (C16 měla stejný case, jako C64). Plus/4 byl vzhledově stejný, jako C116, ale měl 64KB RAM a v ROM paměti byl i jednoduchý kancelářský balík. Uvnitř počítače byl následovník procesoru 6510 použitého v C64, který byl označen 7501 (na téměř dvojnásobné frekvenci), ROM paměť měla zlepšené stránkování, takže programátor měl k dispozici více volné RAM, grafický čip VIC-II zůstal (podle některých pramenů byl v počítači chip TED 7360), ale zvukový chip SID byl zavrhnut. Počítač byl myšlen především jako pracovní, proto v ROM byl i assembler a monitor strojového kódu, podstatně vylepšený BASIC a u verze Plus/4 vestavěný kancelářský balík, možná právě díky zamýšlenému zaměření byl odstraněn chip SID. Počítač byl na mnohem vyšší úrovni než C64, vyjma zvuku, ale přesto byl neúspěchem. Otázkou je, zda-li za to může horší zvuk, nebo lenost programátorů, kteří nepřeportovali hry. Většina periférií, které byly připojitelné k VIC-20 nebo C64, byly použitelné i u těchto počítačů. V roce 1984 odchází od firmy Jack Tramiel, takže C16/116/Plus4 bylo jeho "poslední dítko".

V roce 1984 Commodore kupuje firmu Amiga, která vyvíjela 16/32 bitový počítač, o tomto počítači a jeho emulaci bude jeden speciální díl. O rok později, v roce 1985 uvádí na trh Commodoce C128 a o něco později C128D. Tento počítač by bylo možné označit jako 3 v 1. Počítač po zapnutí startoval v módu 128, kde disponoval velmi vyspělým BASICem, příkazem "GO 64" jej lze přepnout do původní C64 a nakonec zde byl osazen i mikroprocesor Zilog Z80, který se používal pro mód CP/M (pro použití bylo třeba mít monitor, protože TV výstup měl jen 40 sloupců textu a pro použitelné CP/M jich bylo potřeba 80). Skříň byla u verze C128 podobná Commodore Amiga 500, ve verzi C128D byla vytvořena skříň s oddělenou klávesnicí (podobně jako u PC) a vestavěnou 5,25" disketovou mechanikou. Opět se jednalo o velmi povedený výrobek jako C16/116/Plus4, který uměl pracovat se softwarem napsaným přímo pro něj, uměl spouštět programy pro původní C64 a pro profesionální nasazení disponoval módem CP/M, ale přišel pozdě, ve stejném roce byla uvedena Amiga 1000, která měla nepoměrně lepší vlastnosti, cenový rozdíl nebyl vzhledem k poměru výkonu a užitnosti tak veliký. Byl to poslední 8 bitový Commodore pro domácí použití, který firma vyvinula. Jeho výroba skončila v roce 1989, legenda C64 zůstala ve výrobě další 4 roky.

Z historie je nutné ještě zmínit počítače pojmenované CBM-II (v některých pramenech je používáno označení CBM 500/600 a CBM 700), které uměly adresovat až 1MB paměti, volitelně je bylo možné osadit rozšiřujícími kartami s procesory Zilog Z80 (pro možnost použití CP/M, ale prý se nestihla vyrobit) nebo Intel 8088 (pro CP/M-86 nebo MS-DOS) a obsahovaly MicroSoft BASIC 4.0. Tyto počítače měly dvě řady P (osobní - personal) a B (profesionální - business), ale ani jeden z těchto počítačů se nestihl výrazněji rozšířit. Emulovaný (samozřejmě) je, ale pravděpodobně pro něj nebude mnoho software k nalezení. Podle různých pramenů se tyto počítače vyráběly od roku 1982 a doprodávali se v roce 1987, ale bohužel se jedná o počítače z kategorie rarit a není o nich mnoho informací.

V současnosti firma Commodore neexistuje, zanikla v roce 1994. Značku koupil nejprve německý Escom, který ještě nějakou dobu udržel výrobu legendární Amigy, ale to byla již jen labutí píseň firmy. V současnosti by měl značku Commodore vlastnit výrobce počítačů, lze se setkat s CD a DVD médii Commodore (alespoň dle zprávičky na serveru cdr.cz), na adrese Commodore.net lze nakoupit hudbu, mp3 přehrávače (nesou názvy podobné původním 8 bitovým počítačům) a C64 Direct-to-TV.

Ač počítače Commodore, zejména model C64 patřily k nejrozšířenějším v historii, emulátorů těchto počítačů není příliš veliké množství, zejména pak pro platformu LINUX. Některé nalezené zdrojové kódy těchto emulátorů byly bohužel ve stavu, že se mi je nepodařilo ani přeložit. Vzhledem k tomu, že VICE pokrývá téměř všechny verze (mimo SuperPET a z CBM-II pouze CBM610), je neustále vyvíjen a vylepšován, stačí pouze tento emulátor. Samostatný emulátor C16, C116, CPlus/4, PET a VIC je téměř k nenalezení.

Frodo

Frodo je multiplatformním emulátorem Commodore C64. Jeho domovské stránky jsou na adrese http://frodo.cebix.net/, ke stažení na nich jsou jak zdrojové kódy, tak binární soubory pro některé platformy. Emulátor má u sebe obraz ROM paměti, takže jej není nutné stahovat. První požadavek pro překlad a instalaci nijak nevybočuje z těch běžných, které jsou potřebné pro běh her, je jím knihovna SDL, druhý požadavek je z těch trochu méně obvyklých - tcl/tk. Kompilace proběhla přímo ukázkově dobře, jen možnost make install mi v Makefile chyběla.

Dle vlastních slov se autor snaží o co nejvěrnější emulaci a v dokumentaci je vidět relativní stáří emulátoru, když pro plnou práci vyžaduje procesor nejméně Pentium, PowerPC, nebo Motorola 68060. Emulace je opravdu velmi zdařilá a vše funguje, jak by člověk očekával. Jen ovládací panel je trochu nezvykle oddělený od hlavního okna (nebo naopak?). Menší problém jsem měl s klávesnicí, ale po úpravě /etc/X11/xorg.conf, kde jsem nastavil primární klávesnici na anglickou fungovala emulace tak jak měla.

Frodo_main Frodo_preferences

Hlavní obrazovka programu Frodo *** Nastavovací okno programu preferences

VICE

Nejlepší a poslední zde popsaný emulátor. Na domovských stránkách jsou ke stažení binární soubory pro všechny rozšířenější platformy (vyjma *BSD), mezi jiným i pro Solaris a QNX. Samozřejmostí jsou i zdrojové kódy. Pro uživatele distribuce Mandriva je příjemné, že emulátor je v základní distribuci dostupný (alespoň u mne se netváří, že by byl z plf). V binární instalaci pro Mandrivu byly i ROM soubory, ale pokud byste je potřebovali, jsou na stránce http://www.rom-world.com. Pro instalaci ze zdrojových kódů pod Linuxem je zapotřebí CBM4Linux a FFMPEG.

Pro tento emulátor hovoří především to, že umí emulovat téměř úplnou paletu 8 bitových počítačů vyráběných ve firmě Commodore. Pokud mne paměť neklame, emulace legendárního chipu SID je věrná (pro neznalé, návrh SIDu obsahoval chybu, díky které měl zvuk poměrně zvláštní barvu a proto je velmi obtížné jej emulovat), her pro C64, ale i další počítače je k dispozici opravdu veliké množství, nejčastěji ve formátu D64 (obraz diskety). Popisovat všechny možnosti nastavení by bylo nesmírně zdlouhavé, protože je toho opravdu mnoho a zájemci spíše doporučuji studium manuálu na domovských stránkách.

Vice C128 Vice Vic20 Vice Plus4

Ne pro vše jsem našel software, takže teď pouze úvodní obrazovky - Commodore C128 *** Commodore VIC-20 *** Commodore Plus/4

Ostatní emulátory

Na prvním místě bych jmenoval ccs64, který je stále vyvíjen, současná verze je 3.0, ale poslední verze pro Linux je 1.09 z roku 1997. Jedná se o emulátor nejrozšířenější C64. Minus4 je emulátorem Commodore Plus/4, zdrojové kódy nejsou k dispozici, binární soubory jen pro DOS, Windows a jako java applet. M.E.S.S. je velice zajímavý projekt, který si klade za cíl být emulátorem co největšího počtu počítačů (a konzolí), mj. umí i v minulém díle popisovaný Sinclair (tomuto všeemulátoru bude muset být věnován jeden samostatný díl). Pfau Zeh je emulátorem VIC-20, bohužel se mi jej nepodařilo stáhnout. EC64 je opět emulátorem "pouze" C64, je OSS.

Odkazy

Nakonec pár obrázků z her

ATF Battle Turrican

Advanced Tactical Fighter (z Commodore 64) *** Battle, jedna z mála her pro C16/Plus4 *** Turrican 2 - jedna z herních legend (znovu se objeví u emulátoru Amigy)

Závěrem

V tomto díle jsme vstřebali další 8 bitovou legendu, popisovaných emulátorů není mnoho a zaráží mne, že při popularitě jakou měl tento počítač, když se vyráběl, jich není více. Na druhé straně ViceTeam nasadil laťku velmi vysoko, je neustále vylepšován a pro vývojáře je lepší se připojit k práci na stávajícím produktu, než začínat od nuly. Pokud se lze vyjádřit k jeho pozici v našich luzích a hájích, byl zde Commodore C64 jeden z nejrozšířenějších počítačů, ale popularity Sinclaira a jeho klonů zde nedosáhl. Já sám jsem měl Sinclaira (jak jsem již napsal v minulém díle), majitelům Commodore jsem záviděl trochu lepší grafiku a zvuk, originální dataset a disketovku (takříkajíce se to neflikovalo, jako na Sinclairu), ale programátorské pokusy s grafikou a zvukem byly na C64 poměrně nepříjemné.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1033