MSX byl jeden z prvních pokusů vytvořit jednotný systém počítačů. Na
začátku stál pan Kazuhiko Nishi a firma
Microsoft. MSX nebyl konkrétní výrobek, byla to norma. V Evropě
nepříliš úspěšná.
3.1.2006 06:00 | MaReK Olšavský | přečteno 14066×
V roce 1980 se pan Kazuhiko Nishi spojil s japonskou pobočkou firmy Microsoft a stvořili spolu normu pro 8 bitové osobní počítače. Název normy MSX byla zkratka Machines with Software eXchangeability. Platforma se stala populární zejména v Japonsku, ale i v Evropě bylo několik výrobců, kteří počítače standardu MSX vyráběli.
Standard definoval víceméně jen základní části systému. Mikroprocesor Z80 (který lze právem nazvat králem 8 bitových počítačů) s frekvencí 3.58 MHz, grafický chip Texas Instruments TMS9918 s 16 KB RAM paměti a zvukový chip Yamaha AY-3-8910 (který mimochodem používal i Sinclair ZX-Spectrum+128K). A to vše podpořeno operačním systémem firmy MicroSoft. Jak bylo obvyklé v éře 8 bitových počítačů, operační systém byl z větší části interpretem BASICu (bylo jen pár výjimek). Norma definovala velikost paměti RAM na nejméně 8KB, ale řada strojů měla osazeno 64KB. ROM paměti bylo 32KB. V módu BASIC se používalo dolních 32KB k přístupu do ROM a horních 32KB sloužilo k uložení programu, v módu MSX-DOSu bylo dostupných plných 64KB RAM. Při bližším zkoumání je patrné, že počítače byly koncipovány z části jako herní konzole (v grafice bylo možné používat sprity, slušný zvuk) a jiná část byla v podstatě generickým CP/M počítačem. V době vzniku MSX byl nejdostupnějším způsobem jak zaznamenat data magnetofon, proto byl počítač vybaven i vstupem/výstupem s rychlostí 1200-2400 baudů (bitů za sekundu), ale existovala i možnost pracovat s poměrně rychlou disketovou jednotkou.
Norma MSX1 (z roku 1983), která je zběžně popsána výše, byla 3× revidována. Ve verzi MSX2 (v roce 1985) byl grafický chip vyměněn za Yamaha V9938, který disponoval 128KB VRAM (v některých počítačích bylo 64KB, v některých až 192KB), RAM počítače mohla být až ve velikosti 4MB, v ROM byl MSX Basic 2.0, systémové hodiny byly zálohovány baterií. Verze MSX2+ (rok 1988) přinesla drobnou úpravu grafického chipu na Yamaha V9958 a k zvukovému chipu AY-3-8910 přibyl (volitelně) Yamaha YM2413, který uměl FM syntézu. Poslední revizí bylo MSX Turbo R (z roku 1991), kde nejviditelnější změnou byla výměna mikroprocesoru Z80 za R800, který byl se Z80 sice plně kompatibilní, nicméně na pouze dvounásobné frekvenci byl 5 až 10× rychlejší než původní Z80. Kromě tohoto přibyl další zvukový chip PCM, který uměl hrát na frekvenci 44 kHz (některé zdroje udávají 16kHz, 8 bit), čiže spřažením všech 3 zvukových chipů bylo k dispozici 13 zvukových kanálů.
Norma MSX byla definována velice dobře a pro tyto počítače bylo vyvinuto poměrně mnoho periférií, od grafického chipu, který uměl truecolor, přes zvukovou kartu umějící wave table syntézu až po rozhraní k IDE a SCSI diskům. V cartridgích bylo možné zakoupit jak hry, tak software. Počítače byly poměrně slušně vybaveny pro hry, v jejich tvorbě/portování vynikla především firma Konami. Příčin neúspěchu počítačů řady MSX by bylo možné najít více, ale nejpodstatnější bude, že první počítače této normy byly na trhu v roce 1984, v roce, kdy byly na trhu zakořeněné firmy Sinclair, Commodore a Atari se svými 8 bitovými modely a o pouhý rok později se prodávali i počítače Atari ST a Commodore Amiga.
Výrobci, kteří vyráběli počítače, dle normy MSX, nebyli většinou klasičtí výrobci počítačů, ale převážně se jednalo o firmy vyrábějící elektroniku. V první verzi normy bylo výrobců nejvíce, počítače poslední normy dělal již jen jediný. MSX bylo souborem platforem, které mohly směle bojovat o podíl na trhu s počítači Sinclair, Atari a Commodore, nicméně se tak nestalo a kromě Japonska a Korei se nikde tyto počítače významěji nerozšířily. Populární byly ještě v zemích Jižní Ameriky, Nizozemí a Španělsku, zajímavostí je, že tehdejší Sovětský Svaz nakoupil počítače MSX pro školství.
Někteří z výrobců:
Technické parametry jednotlivých norem:
Norma | MSX1 | MSX2 | MSX2+ | MSX turbo R |
Mikroprocesor | Z80/3.58 MHz | Z80/3.58 MHz | Z80/3.58 MHz (některé modely Z80/5.37 MHz) | R800/7.14 MHz |
ROM | 32KB (BIOS - 16KB, BASIC - 16KB) | 48KB (BIOS - 16KB, BASIC - 16KB, DiskROM - 16 KB, MSX-Audio BIOS - 32KB, posledí dvě položky volitelné) | 64KB (BIOS - 32KB, BASIC - 16KB, DiskROM - 16KB a volitelně Kun-BASIC - 16KB, Kanji ROM) | 96KB (48KB - BIOS, 16KB - BASIC, DiskROM - 16KB, Kun-BASIC - 16KB, KanjiROM - 256KB) |
RAM | 8KB-64KB | 128KB (v japonských MSX se vyskytovalo i 64KB), rozšiřitelná na 4MB | 64KB (rozšiřitelná na 4MB) | 256KB, nebo 512KB, rozšířítelná na 4MB, přídavných 16 KB SRAM zálohovaných baterií |
Video | TMS9918 VRAM: 16KB text - 40×24 a 32×24 grafika: 256×192 (16 barev) | V9938 VRAM: 128KB text: 80×24 a 32×24 grafika: 512×212×16, 256×212×512 | V9958: VRAM: 128KB text: viz MSX2 grafika: 512×212×16, 256×212×19268 | stejná, jako MSX2+ |
Zvuk | AY-3-8910 | AY-3-8910 | AY-3-8910 YM-2413 (volitelný) | AY-3-8910 YM-2413 PCM Midi (u Panasonic FS-A1GT) |
Emulátorů těchto počítačů existuje opravdu mnoho (zejména pro MS Win platformu), možná více, než by se dalo předpokládat z jejich celosvětového rozšíření (viz odstavec výše). Pokusme se podívat alespoň na několik nejznámějších (a nejlepších) pro Linux, kterých je bohužel poněkud méně (pominu-li možnost pustit DOSový emulátor v DOSEmu, nebo Windowsový ve Wine, jsou nativní emulátory pro Linux pouze 2).
OpenMSX je Open Source emulátor platformy MSX, mimo jiné zajímavý i tím, že se skládá ze dvou částí. Jedna z nich je přímo OpenMSX emulátor a druhá je catapult, což je gui, které umožní vybrat si poměrně pohodlným způsobem obraz cartridge/diskety/kazety, který chceme spustit, přesnou emulovanou platformu, nastavení zvuku, grafiky a mnoha dalších detailů. Emulátor zvládá emulaci všech norem počítačů MSX, které byly stvořeny a pomocí voleb je možné pozapínat rozšíření počítače, eventuálně konkrétní model. Menší potíž může nastat se sehnáním všech potřebných obrazů ROM. Emulátor bez potíží načítal všechny testované obrazy cartridgí a disket, které byly na internetu k dispozici a které jsem testoval. Emulace je kvalitní a stabilní, jako naprostá většina evropanů, kteří se setkávali s 8 bitovými počítači, bohužel neumím posoudit věrnost emulace, protože jsem neměl možnost se dostat do živého kontaktu s MSX počítači. Většina obrazů cartridgí a disket je k nalezení a stažení ve formátu lzh (pro neznalé, používal se zejména na Amize).
Instalace emulátoru je poměrně jednoduchá. V download
sekci emulátoru jsou k dispozici balíky pro debian (pokud máte jiný
balíčkovací systém, může pomoci program pro konverzi balíků Alien),
zdrojové kódy a instalační soubory pro MS Windows. Pro Ubuntu
(konkrétně pro PowerPC verzi) byly připravené balíky
také k dispozici. Na desktopu jsem zvolil instalaci ze zdrojových kódů,
měla jeden menší zádrhel, verzi která je stabilní se mi nepodařilo
zkompilovat pomocí gcc4, ale po stažení cvs verze proběhla kompilace
100% v pořádku. Problém s kompilací se týkal OpenMSX, Catapult šel
zkompilovat bez problémů. Pro kompilaci je třeba mít nainstalovánu
libSDL 1.2+, libSDL-Image, libxml2 a libpng, volitelně i tcl8.4+ (vše
včetně hlavičkových souborů, tj. devel verze). Kompilace catapultu
vyžaduje nainstalované libwxgtk2.3+. OpenMSX se kompiluje a instaluje
standardní posloupností ./configure &&
make && make install
, catapult pouze make
&& make install
. Pokud neurčíte jinak,
bude se emulátor a catapult instalovat do /opt/.
Dalším krokem je rozbalení obrazů ROM pamětí do podadresáře openmsx,
v mém konkrétním případě bylo kýženým místem /opt/openMSX/share/systemroms/,
ale podle dokumentace je lze mít i v domovském adresáři, záleží na tom,
jestli jste jediný uživatel počítače, nebo zda-li jej používá více
lidí. Poslední akcí bylo vytvoření symlinků z /usr/bin.
Catapult - příjemné rozhraní OpenMSX *** R-Type, populární střílečka, na MSX pravděpodobně nejhezčí 8 bitová verze *** 1942 - tato střílečka byla díky své popularitě také snad pro všechny 8 bitové počítače.
OpenMSX je pravděpodobně nejlepším emulátorem MSX platformy, který je k dispozici a dokonce je jediný, který je bezproblémově přeložitelný a spustitelný pod Linuxem. V dalších několika odstavcích se podíváme alespoň velmi zběžně na další možnosti emulace MSX platformy.
Emulátor fMSX je šířen pod dvěma licencemi současně. Pro MS Windows je licence plně komerční, společně s touto verzí dostanete i port pro DOS, pro ostatní platformy by měla být možnost přeložit zdrojové kódy, které jsou k dispozici na WWW stránkách projektu. Projekt fMSX-SDL je patch (zdrojové kódy dáte do jednoho adresáře a spustíte soubor patch.sh), který by měl upravit zdrojové kódy pro možnost překladu s podporou libSDL. V obou větách je napsáno mělo by, protože přes dost veliké vynaložené úsilí a zkoušení na 3 platformách se kompilace, ani opatchování na libSDL nepodařilo.
Emulátor je zajímavý zejména tím, že je vyvinut na Java platformě. Na stránce, kde je tento emulátor umístěn jako applet je dostupných i několik her pro tento emulátor. Rychlost byla na slušné úrovni (vizuální odhad je, že hry běžely na 100%, jak měly).
Pokud disponujete x86 počítačem nebo poměrně výkonnou jinou platformou je možné v DOSBoxu nebo DOSEmu použít některý z DOSových emulátorů, případně vyzkoušet některý z těchto emulátorů (kterých je poměrně veliké množství a rozhodně nejsou na špatné úrovni) ve Wine. Jmenujme například PowerMSX, NO$MSX a NL-MSX. Emulátory pro DOS jsou velice rychlé, stabilní a mají poměrně dobrou kompatibilitu se software pro MXS platformu, "pohodlným" uživatelům může chybět k pohodlnému ovládání klikací gui.
Platforma MSX byla v době 8 bitových počítačů velice promyšlená, bohužel se příliž neujala, dnes lze jedině spekulovat nad tím, zda-li by se stala mnohem úspěšnější, kdyby přišla dříve, pravděpodobně by postačovaly 2 roky, než se stihly šířeji uchytit Commodore 64 a Sinclair, a úspěch by se dostavil. Hry vypadaly velice dobře (podle mého názoru nejlépe ze všech 8 bitových počítačů), vestavěný BASIC byl na poměrně vysoké úrovni. Platforma MSX u nás patřila opravdu mezi velice raritní, ale jak bylo napsáno výše, byly země, kde se tyto počítače relativně rozšířily a byl pro ně napsán velice kvalitní software.
Emulátorů jsem testoval několik a OpenMSX je nejlepší možná volba, nejen pro Linux. Na Linuxu je jediný, který se mi podařilo bez problémů zkompilovat, ale to není důvodem k předešlému tvrzení.