Emulátor MSX verze 1.C Základní informace o páskové verzi Princip Emulátor MSX verze 1.C emuluje systém MSX verze 1.0. Emulátor je program ve strojovém kódu, který se skládá ze dvou základních částí: zavaděče a těla. Zavaděč slouží pouze k tomu, aby nahrál emulátor do paměti počítače a odstartoval jej. Před vlastním nahráním zavaděč prohlédne paměť a zkoumá, jestli se v ní již emulátor nebo jeho část nenachází a podle toho dohraje z emulátoru jen tolik, kolik musí. Po hardwarové stránce jsou si systémy M5 a MSX vcelku podobné, oba mají stejný mikroprocesor a stejný typ videoprocesoru. Zvukové čipy se od sebe svými schopnostmi nepatrně liší. Naprosto rozdílné je pak zapojení klávesnice, joysticků, tiskárny a magnetofonu. Emulátor funguje tak, že v paměti počítače M5 běží program, který není nic jiného než upravená ROM počítače MSX. Veškeré změny v této ROM se týkají pouze odkazů na hardware. Jsou přečíslovány porty videoprocesoru, je emulován zvukový čip, zcela je přepracován přerušovací systém a s ním i obsluha klávesnice. Rutiny se tedy navenek tváří stejně jako v počítači MSX, ale uvnitř pracují jinak. Program z této ROM se z pochopitelných důvodů v počítači SORD m.5 nachází v paměti RAM, jejíž velikost je v tomto případě 64KB. Hardware Nezbytně nutnou podmínkou pro provoz emulátoru MSX je počítač SORD M5 s pamětí 64KB RAM a minimálně 8 KB ROM ( MONITOR ROM ), přičemž paměti ROM/RAM musí jít programově přepínat. Dále je dobré mít elektrický reset ( dále jen @RESET ) systému, což je přes tlačítko a odpor uzemněný signál RESET mikroprocesoru. Přepínání ROM/RAM by se mělo při @RESETu přepnout do režimu ROM, nebo by měla být možnost ROM připnout. Emulátor umí pracovat s paměťovými moduly 64KBI, 64KBF, 64KRD a 64KRX ( přepínání instrukcí OUT na port 6CH, 30H a 7FH ). Program lze snadno upravit pro jiný modul. Software - programová slučitelnost Pod emulátorem pracuje většina programů, které se důsledně odkazují na BIOS-MSX a nestránkují paměť. Přímá slučitelnost tedy není 100 procentní a proto nelze využívat pod emulátorem všechny programy, které byly pro MSX napsány. K dispozici je však již něco okolo 200 her a programů, které se dají pod emulátorem bez větších problémů provozovat. Některé programy a většina her musely být pro provoz v emulátoru upraveny ( úpravy se provádějí podmíněně, viz níže ), jiné chodily bez úprav hned napoprvé. Je přirozená snaha, aby s narůstajícím časem programů pro emulátor MSX přibývalo. Běží-li emulátor, máme k dispozici jeho interpretr basiku, který pracuje shodně s originálem MSX ( až na jednu výjimku, příkaz MOTOR bez parametru nemění stav motoru na opačný, nýbrž motor pouze vypne ) a MSX-BIOS. Jsme ochuzeni o možnost používat rozšiřující sloty ( takto lze paměť MSXu rozšířit až na 1024 KB, tedy 1 MB dostupné paměti ). Pokud chcete tvořit v MSXu své vlastní programy, opatřete si potřebnou literaturu ( THE MSX RED BOOK, MSX-BASIC LANGUAGE SPECIFICATION ). Verze emulátorů Existuje emulátor MSX verze 1.A, 1.B a 1.C. Pokud se již někomu z vás do ruky dostal emulátor verze 1.B vězte, že již existují tři varianty systémových programů MSX_1B/IL.CM a msx_1b/il.CM. Tyto varianty mají sice shodná jména, ale jsou vzájemně nezaměnitelné. To znamená, že je nelze vzájemně kombinovat a mít tedy například tělo nové verze a zavaděč staré verze. Tyto tři varianty verze 1.B od sebe lze rozeznat poměrně snadno: původní verze: MSX_1B/IL.CM FA00 FFFF FA00 msx_1b/il.CM 8000 FFFF 0000 druhá varianta: MSX_1B/IL.CM FA00 FFFF FA00 msx_1b/il.CM 0000 7FFF 002E třetí varianta: MSX_1B/IL.CM F9E0 FFFF F9E0 msx_1b/il.CM 0000 7FFF 002E Původní verze má po nahrání na funkčních klávesách basické příkazy LIST, GOTO, COLOR a tak dále. Druhá verze má místo nich DEFUSR=&H, ?USR(0), BLOAD "CAS:",R a tak dále. A poslední verze má trošku delší zaváděcí program a na F1 DEFUSR0. Pro původní verzi neexistuje program pro zavádění her, pro druhou již existuje pod názvem MSX-m5/IL.CM a pro třetí pod názvem MSX_M5/IL.CM. Programy tvoří v případě první varianty nedělitelnou dvojici a ve zbývajících případech nedělitelné trojice. Provozování emulátoru verze 1.B Pro provozování emulátoru verze 1.A platí přibližně stejná pravidla a provozování verze 1.C je popsáno níže. Po zapnutí počítače SORD m.5 nebo po jeho elektrickém resetu by měl tento být v režimu, kdy je možné zadávat nějaké příkazy z klávesnice ( tedy aby běžel interpretr některého z jazyků BASIC ), nebo by měl být v rutině TAPE ( to je vždy v případě, že nenalezne BASIC ani jiný kartridž ). Pro jednoduchost předpokládejme, že sestava počítače sestává z BASIKU-I a modulu 64KBI. Po zapnutí zadáme příkaz TAPE a nahrajeme z magnetofonu zaváděcí program MSX-1B/IL.CM, který vytiskne na obrazovku 4 řady, tedy 128 prázdných koleček a nápis MSX. Poté začne nahrávat vlastní tělo emulátoru ( soubor msx_1b/il.CM ). Po nahrání každého bloku přetiskne prázdné kolečko plným kolečkem. Takto nahrává tak dlouho, dokud nevyplní všechna kolečka. Poté zaváděcí program odstartuje emulátor systému MSX. Na modré obrazovce se objeví bílý nápis oznamující, že běží systém MSX verze 1.B a že je to dílo firmy Microsoft. Pak se obrazovka smaže a do její horní části je vytištěno přibližně totéž, s tím že se navíc dozvíme, že jsme v basiku a že máme k dispozici asi 28 kilobajtů volné paměti. Když nyní stiskneme @RESET, měl by naskočit BASIC-I ( nebo jiný či TAPE ). Pokud nyní zadáme příkaz TAPE a nahrajeme opět MSX_1B/IL.CM, měla by se dohrávat jen část emulátoru. V případě 64KBI jsou to 4 kolečka. V případe, že po @RESETu jde SORD do TAPE jsou to také 4 kolečka ( u verze 1.C jsou to jen 3 kolečka ), naskočí-li BASIC-F je o 8 koleček. Z tohoto vyplývá, že pokud už někdy před nahráváním emulátoru již tento v paměti byl a nebyl-li mezi tím zcela přepsán chodem nějakého programu, vytiskne zaváděcí program jen tolik koleček, kolik jich odpovídá poškozené části emulátoru. Jedno kolečko představuje 256 bajtů. Na pásce je emulátor MSXu v souboru msx_1b/il.CM nahrán "pozpátku", protože se většinou poškodí jen konec emulátoru. Zde jsou uvedeny případné rozdíly v chování emulátoru oproti originálu MSX. Podstatné rozdíly jsou v klávesnici. Neexistující klávesy jsou nahrazeny kombinací stisku několika jiných kláves, význam některých kláves byl zcela změněn. Speciální klávesy ----------------- F1 až F5 / CTRL/1 až CTRL/5 F6 až F10 / CTRL/levý SHIFT/1 až CTRL/levý SHIFT/5 GRAPH / CTRL/6 - návrat do LETTER módu stiskem RESET CODE / CTRL/7 - návrat do LETTER módu stiskem RESET INS / CTRL/R nebo CTRL/P HOME / CTRL/K BACKSPACE / CTRL/H DEL / CTRL/DEL BREAK / CTRL/RESET STOP / SHIFT/RESET CAPSLOCK / pravý SHIFT ESC / FUNC Joystick 0 ---------- směrové šipky / B N M , SPACE / Z SEL / X Některé vlastnosti MSX Basiku ----------------------------- Čísla a proměnné se zadávají normálně nebo s uvedením # (REAL double-precision), nebo číslo! (REAL single-precision), nebo číslo% (INTEGER), nebo &Hčíslo (HEX), nebo &Očíslo (OCTAL), nebo &Bčíslo (BINAR), nebo řetězec$ (STRING). Rozsah řádku se zadává ( například ): LIST 20 zobrazí jen řádku 20 LIST 20-30 ( od-do ) LIST 20- ( od-do konce ) LIST -20 ( od začátku-do ) LIST . ( aktuální řádka ) Nahrávání programů ------------------ Tato stať se věnuje problematice práce s magnetofonem. MSX používá na magnetofonu tři typy formátu záznamu (CHARACTER, BINARY, ASCII) a pro každý má speciální příkaz. Jméno souboru má maximálně 6 znaků, je-li znaků méně, doplňují se mezery. MSX nezná "?" konvenci a tudíž se jméno musí vypisovat celé. Ve specifikaci souboru lze uvést jméno zařízení CAS: - magnetofon. Nahráváme-li určitý formát, jsou ignorovány všechny ostatní nalezené formáty s tím, že není vypsáno nic, tedy ani Skip: jméno. Skip: jméno se vypisuje pouze tehdy, je-li nalezen soubor správného formátu, ale nesouhlasí jeho jméno. V případě souhlasu se vypíše Found: jméno. MSX neumí nahrát obrazovku ( VSAVE, OLD ) a neumí porovnávat ( VERIFY ) binární soubory. MSX rozeznává pouze dvě záznamové rychlosti, rychlost lze nastavit příkazem SCREEN ,,,rychlost, přičemž rychlost se zadává jako 1 ( 1200 Bd ), nebo 2 ( 2400 Bd ). Takto nastavenou rychlostí se pak nahrávají všechny formáty. Poznámka: Find a Skip se vypisuje pouze tehdy, byl-li příkaz odeslán v přímém módu. Je-li příkaz v basickém programu, nic se nevypisuje. Tato zvláštnost je v MSXu proto, aby text případně nezasahoval do grafické obrazovky, protože MSX nemá dvě obrazovky jako M5. BASIC - tokenovaná forma ------------------------ CLOAD "jméno" Nahraje basický program z magnetofonu. Ve jménu nelze uvést jméno zařízení. Jméno lze zcela vynechat. CLOAD? "jméno" Porovná basický program na pásce s programem v paměti. Ve jménu nelze uvést jméno zařízení. Jméno lze zcela vynechat. CSAVE "jméno souboru",rychlost Nahraje basický program na magnetofon. Ve jménu nelze uvést jméno zařízení. Rychlost lze vynechat nebo zadat ( 1, 2 ). Takto nastavenou rychlostí se budou nahrávat i ostatní formáty ( BIN, ASCII ). Strojový kód ------------ BLOAD "jméno",R,posun Nahraje program ve strojovém kódu nebo binární data z magnetofonu. Ve jménu lze uvést jméno zařízení. Jméno musí být uvedeno vždy, vynechat jej lze pouze tehdy, je-li uvedeno jméno zařízení. "R" lze vynechat, je-li uvedeno, program bude po nahrání spuštěn od startovací adresy. Posun znamená posunutí počáteční adresy o "posun", program se tedy nahraje na "začátek"+"posun". Posun lze vynechat. BSAVE "jméno",začátek,konec,start Nahraje program ve strojovém kódu nebo binární data na magnetofon. Ve jménu lze uvést jméno zařízení. Začátek je adresa prvního bajtu programu v paměti, konec je poslední bajt a start je případná startovací adresa programu ve strojovém kódu. Neuvedením "start" se za "start" dosadí "začátek". ASCII FILE/DATA --------------- RUN "jméno" Nahraje basický program ve formátu ASCII z magnetofonu a spustí ho. Ve jménu lze uvést jméno zařízení. Jméno musí být uvedeno vždy, vynechat ho lze pouze tehdy, je-li uvedeno jméno zařízení. Neuvedením jména se spustí basický program, který je v paměti. LOAD "jméno",R Nahraje basický program ve formátu ASCII z magnetofonu a je-li uveden parametr R, spustí ho. Ve jménu lze uvést jméno zařízení. Jméno musí být uvedeno vždy, vynechat ho lze pouze tehdy, je-li uvedeno jméno zařízení. MERGE "jméno",R Nahraje basický program ve formátu ASCII z magnetofonu a je-li uveden parametr R, spustí ho. Ve jménu lze uvést jméno zařízení. Jméno musí být uvedeno vždy, vynechat ho lze pouze tehdy, je-li uvedeno jméno zařízení. Tento příkaz se od příkazu LOAD liší tím, že nesmaže původní basický program, který je v paměti a novým přepíše ze starého jen řádky se shodnými čísly. OPEN "jméno" FOR INPUT AS #1 INPUT #1,proměnná,... CLOSE #1 Otevře soubor z magnetofonu a načte z něho data. Ve jménu lze uvést jméno zařízení. Jméno musí být uvedeno vždy, vynechat ho lze pouze tehdy, je-li uvedeno jméno zařízení. SAVE "jméno" Nahraje basický program ve formátu ASCII na magnetofon. Ve jménu lze uvést jméno zařízení. OPEN "jméno" FOR OUTPUT AS #1 PRINT #1,vyraz;... CLOSE #1 Otevře soubor z magnetofonu a zapíše do něj data. Ve jménu lze uvést jméno zařízení. Práce s magnetofonem není tak komfortní jako na počítači SORD m.5 . Další nepříjemná věc je samotný MSX formát záznamu na pásce, který je značně nespolehlivý a snadno se může stát, že se soubor načte s chybami, aniž by tyto chyby byly objeveny. Pro emulátor zatím neexistuje kopírovací program, takže manipulace se soubory na pásce je značně nepohodlná. Používání programu MSX_M5/IL ---------------------------- Z výše uvedených příčin vznikl speciální zaváděcí program MSX_M5/IL.CM ( jeho starší verze MSX-m5/IL.CM pracuje v podstatě shodně ), který některé nedostatky částečně odstraňuje. Program umožňuje zavést do emulátoru MSX a spustit v něm programy MSX uložené na pásce ve formátu SORD m.5. Týká se to pouze jednodílných programů ve strojovém kódu, které jsou v paměti umístěny od adresy 8003H do přibližně 0F000H. Zbytek paměti je buď obsazen systémem MSX ( 0000H-7FFFH ), nebo MSX pamět nějak mění ( 8000H-8002H nuluje, 0F000H-0FFFFH využívá pro zásobník a systémové proměnné ). Po nahrání a odstartování systému MSX verze 1.B stiskneme @RESET a příkazem TAPE nahrajeme MSX_M5/IL.CM. Ten začne nahrávat z magnetofonu první soubor typu .CM, který nalezne. Pokud narazí na jiný soubor než .CM vypíše Skip "jméno", v opačném případě vypíše Find "jméno" a namaluje tolik čtverečků, kolik odpovídá délce souboru. Při nahrávání čtverečky postupně vyplňuje, podobně, jako to dělá MSX_1B/IL. Po nahrání celého souboru napíše na obrazovku, jak lze program odstartovat a čeká na stisk klávesy <SHIFT> nebo <RESET> (neplést s @RESET). Po stisku <SHIFT> nahrává další program, po stisku <RESET> odstartuje emulátor. Program, který nahrál, zůstává po odstartování emulátoru v paměti a proto jej lze z MSXu odstartovat stiskem kláves v pořadí CTRL/1 a CTRL/2. Toto platí pro případ, že je z emulátoru, který se po @RESETu nachází v paměti poškozen maximálně 1 KB ( 4 kolečka ). Pokud je MSX poškozen více, MSX_M5/IL to pozná a vyžádá si nejprve dohrání poškozené části ( program mezi tím zůstává stále v paměti ). Nahrajeme tedy MSX_1B/IL.CM, ten dohraje poškozenou část emulátoru a pak emulátor odstartuje. Program nahraný pomocí MSX_M5/IL.CM lze potom odstartovat stiskem CTRL/1, zde se musí dopsat startovací adresa a následným stiskem CTRL/2. Pokud tedy funguje vše tak, jak má, a máte-li magnetofon s dálkovým ovládáním, v podstatě tedy děláte jen tyto úkony: @RESET , TAPE<RETURN> , <RESET> , <CTRL/1><CTRL/2> Z výše uvedených důvodů je dobré mít na pásce za sebou systém MSX a hry v tomto pořadí: MSX_1B/IL.CM msx_1b/il.CM MSX_M5/IL.CM @hra MSX.CM MSX_M5/IL.CM @hra MSX.CM MSX_M5/IL.CM @hra MSX.CM ...atd.... Proč je psána "@hra MSX.CM" a ne jen "hra MSX.CM"? Je to proto, že první znak ve jménu má svůj význam. Pokud je na prvním místě ve jménu souboru "@" ( platí to hlavně pro hry ), znamená to, že lze program regulérně ukončit stiskem obou kláves <SHIFT>. Stiskem těchto kláves se provádění hry ukončí a restartuje se MSX. Pak se počítač může resetnout (@RESET) a nahrát další hra (pomocí programu MSX_M5/IL.CM). Pokud je na prvním místě ve jménu "#", znamená to, že hru nelze zakončit jinak než @RESETem. Emulátor by při tom neměl být nijak poškozen. Při "$" ve jménu, hra poškodí maximálně 16KB emulátoru a pochopitelně jí nelze ukončit (hra přepíše část MSX-BASIKu, takže MSX už nelze beztrestně restartovat). Po resetu počítače se dohrávají maximálně dva řádky koleček. Při "!" na prvním místě v jménu, hra poškozuje víc než 16KB (nahrává se zpravidla znova celý emulátor) a také nejde ukončit jinak než @RESETem. Pokud je ve jménu na posledním znaku písmeno "e", znamená to, že je v programu někde nějaká chyba (chodí, ale ne úplně správně, eventuálně je třeba chyba v grafice). Ovládání her ------------ Obecně platí, že se hry ovládají klávesami ZBNM a "," a druhým joystickem. Některé čekají v úvodním menu na stisk některé FUNC klávesy (pak se musí stisknout CTRL/číslo). Pokud se na obrazovce objeví "PUSH SPACE KEY" nebo podobná hláška, má se stisknout ATTACK na JOY nebo klávesa <Z>. Pokud hra začíná hlášením: Pro SORD m.5 upravil... atd, je v 99% případu ve hře zabudována nesmrtelnost. Stiskne-li se během hry <RESET>, nesmrtelnost se bud zapne, nebo je-li zaplá, tak vypne. Takto lze projít některé obzvláště neprůchodné úseky. Některé hry mají ještě speciální funkce (PAUSING, REST, ...), eventuálně používají dvě akční tlačítka. Pak je jako druhé akční tlačítko použita klávesa <X> (nebo i jiná klávesa) a pro speciální funkce některá z kláves v řadě <Q> až <I> nebo <A> až <K>. Většina dobrých her, které pod emulátorem fungují, je jednodílný strojový kód, a proto lze mít většinu MSX softwaru uloženou na pásce ve formátu SORD m.5 . Některé velmi dobré hry jsou ale z více částí a je tedy nutné je mít na pásce ve formátu MSX. Při jejich kopírování je zase potřeba mít po ruce tabulku s adresami, nehledě k tomu, že ruční kopírování je obzvlášť nepříjemné. Provozování emulátoru verze 1.C ------------------------------- Obecně platí pro verzi 1.C přibližně stejná pravidla jako pro verze 1.A a 1.B. Verze 1.C doznala největších změn v operacích s magnetofonem. Ve verzi 1.C byl opuštěn původní MSX formát záznamu souboru na magnetofon a byl nahrazen formátem SORD m.5, čímž se značně usnadnila manipulace se soubory. S tím byla částečně pozměněna i syntaxe některých příkazů. Jméno souboru se i nadále zadává jako 6ti písmenné, ale interpretr jej doplní na devět znaků o příslušnou příponu. Pro basic je to "jméno.MX", pro strojový kód "jméno.BN" a pro formát ASCII "jméno.AS". Attribut je 01 pro spojitý a 04 pro nespojitý soubor. Při načítání se kontroluje attribut a ve jménu souboru tečka a první znak přípony. Změny s tím spojené: -zařízení "CAS:" bylo nahrazeno zařízením "CMT:". -Skip a Found se vypisovalo pouze tehdy, když byla nalezena hlavička správného typu souboru. Nyní vypisuje Skip i když je nalezena hlavička jiného typu souboru, čímž se usnadňuje hledání na pásce. -příkaz CLOAD/CLOAD?/CSAVE pracoval pouze s magnetofonem. Uvedení jména jiného zařízení mělo za následek pouze to, ze se jméno zpracovalo i s tímto názvem, například CSAVE "CAS:POKUS" zaznamenalo na pásek soubor se jménem "CAS:PO". Nyní se při vynechání jména zařízení a nebo při uvedení jména zařízení "CMT:" pracuje se zařízením "CMT:", jehož jméno je ze specifikace souboru odseparováno. Při uvedení jiného jména (musí mít 3 znaky) se skočí na háček HDEVN na adrese 0FEC1H (tzv. hook), kde je RET a po návratu se jde na chybu "Bad file name". To umožňuje programátorům napsat program i pro jiná zařízení a "pověšením" se na háček je aktivizovat. -příkaz CLOAD? jde při neshodě dat na "Verify error". Protože MONITOR ROM takovouto chybu negeneruje, jde se v emulátoru na "Device I/O error". -záznamová rychlost se v příkazech CSAVE a SCREEN zadávala pouze číslem 1 nebo 2. Nyní se zadává jako v m.5 číslem 0 až 255. Pokud se zadá hodnota menší než &H14, je to stejné, jako kdyby se zadala hodnota &H14 (to je kvůli tomu, že v některých basických programech může být nastavena rychlost na 1 nebo 2, a to by v případě SORDa bylo nepoužitelné. Proto je v těchto případech dosazena nejvyšší rozumná rychlost, tj. 20). Rychlost lze samozřejmě zadat i příkazem POKE &H7019,číslo. Aby bylo možné programy převést z formátu záznamu MSX do formátu SORD m.5, vzniklo několik pomůcek. Nejstarší se jmenuje "MSX->SORD.CM" a převádí binární soubory MSX "jméno" do formy "jméno.BIN.CM". Tento program lze nahrát do SORDa aniž by bylo nutné mít natažený systém MSX. 13. září 1990 byl dokončen program CBLOAD.BN, který je určen přímo pro emulátor systému MSX verze 1.C a v jiném systému nefunguje. Program se nahrává příkazem BLOAD "CBLOAD",R nebo jen BLOAD"CMT:",R Díky tomuto programu lze nahrávat přímo do emulátoru verze 1.C basické programy ve formátu MSX v tokenované formě ( CSAVEd basic ) a programy ve strojovém kódu. Po nahrání programu CBLOAD příkaz CLOAD rozeznává dvě zařízení: původní "CMT:" a nově "CAS:". Uvedete-li za příkazem CLOAD jméno zařízení "CAS:", načte se první nalezený basický program ve formátu MSX. Uvedete-li i jméno souboru, je toto ignorováno. Protože příkaz BLOAD hledá neznámé zařízení v rozšiřujícím slotu (což v emulátoru vždy vede k tomu, že nic nenajde), nešlo tedy k němu přidat nové zařízení "CAS:" jako v případě CLOAD. Proto se programy ve strojovém kódu ve formátu MSX nahrávají příkazem FILES. Příkaz FILES nahraje první nalezený program ve strojovém kódu ve formátu MSX. Parametry příkazu FILES jsou shodná s příkazem BLOAD, s tím, že je lze vynechat a jméno se nezadává: FILES,r,posun Příkaz LFILES pracuje shodně s FILES. V originálu MSX slouží tyto příkazy k vypsání adresáře disku na tiskárnu a na obrazovku. Protože v emulátoru jsme o tuto možnost ochuzeni, byl příkaz využít jinak. Program CBLOAD se nahrává do nevyužitých bafrů v systémových proměnných, takže nikde v paměti nepřekáží a máme ho k dispozici až do restartu systému MSX. Na začátku roku 1991 vznikly programy CSAVE.BN a BSAVE.BN. Oba umožňují opačnou komunikaci než CBLOAD.BN, tj. převádějí formát SORD na formát MSX. Protože se jedná pouze o prozatímní verze programů, odpovídá tomu i jejich ovládání. Dále pak platí, že v paměti smí být jen jeden z 3 výše uvedených programů. CSAVE.BN a BSAVE.BN se nahrávají oba příkazem BLOAD"CMT:",R. Po nahrání CSAVE.BN se do MSXu 1.C nahraje basický program, který chceme převést do formátu MSX. Pak se na magnetofonu dá RECORD a odešle se příkaz FILES. Na pásek se zaznamená soubor se stejným jménem. BSAVE.BN funguje stejně. Po jeho nahrání se nahraje program ( příkazem BLOAD"CMT: nebo BLOAD"jméno ) a pak se zadá FILES. Na pásek se zapíše soubor stejného jména se stejnými adresami. Něco málo o úpravách MSX her pro SORD m.5 Změny MSX her se provádějí podmíněně. Znamená to, že po startu hry se otestuje typ počítače a pak se buď nic neprovede a hra se rovnou spustí, nebo se příslušně změní a pak teprve spustí. Na adrese 0006H má BIOS-MSX číslo datového portu videoprocesoru. Originál MSX tam má číslo 98H, zatím co v emulátoru je číslo 10H. Z tohoto se vychází při testu počítače. Co všechno se má měnit a jakým způsobem, je nejlépe vidět při disassemblaci hry COMPUTER BILLIARDS firmy KONAMI, ve které jsem důsledně podmíněně prováděl úpravy obrazu, zvuku, klávesnice a joysticků. Poděkování Původní emulátor MSX pro počítač SORD m.5 vznikl ( dovedu si představit kolik to dalo úmorné práce ) v brněnském SORD klubu. Tímto bych chtěl poděkovat všem lidem, kteří na emulátoru ne- únavně pracovali a díky kterým se počet programů, které lze nyní na SORDíkovi spouštět značně rozrostl. (C) 1990, 1991 ROS Software ( součást teamu LZR Soft ) Datum poslední editace: není známo ============== Napsal Roman Štec z teamu LZR Soft ==============