Emulátor PMD85 ve webassembly. Základem je tento kód, ve své
podstatě není nic jiného potřeba.
Menu se vyvolá klávesou PAUSE/BREAK v pravém horním konci klávesnice. Ostatní klávesy jsou (snad) zachovány.
Ve webovém prostředí se totiž chovají klávesy úplně jinak, zřejmě hodně eventů sežere browser. Klávesy ALT+Fn jsou v browseru téměř nepoužitelné
a vyvolat menu je zde prioritou.
Instalace
1. Nainstalovat a aktivovat Emscripten podle tohoto návodu.
Vyzkoušená je verze 1.38.32, ale patrně bude fungovat i novější.
1. Je možné přidat software do adresáře ./files/tape, pak je nutno rekompilovat GPMD85emu.js.
2. V prostředí Linuxu je možné vytvořit nativní aplikaci (make clean, make TGT=UNIX) pro testy.
Pokud použijeme standardní postup (autoconf, configure, ...) přepíší se Makefile.
Zřejmě existuje možnost použít nástroj emconfigure pro webassembly build, ale nechtělo se mi
to studovat, nebude to zase tak jednoduché, takže Makefile.web vytvořené skriptem ./create_web
jsou ručně napsané. Doladit potřebné parametry nebylo zase úplně triviální.
3. Přidán fileselektor, umožní přidat soubory *.ptp z lokálního zdroje. Ani jsem nevěděl, že to jde.
Nicméně s tím už to začíná být použitelné pro běžné testy. V adresáři tape zůstala jen ḧra Magicland, je moc hezká.
Na webu jsem našel zdrojáky od prastaré hry miny, trochu jsem si s tím hrál - výsledek je modul miny.rmm. Posouvá
se šipkami, označení pole je DELETE nebo PGDN (vlajka), dále se používá STOP (ESC), ENTER a K1 (F2).
4. Další vychytávka byla přidána protože Firefox používá příšerně moc klávesových zkratek a nepovedlo se mi je
nějak rozumně zakázat. Tak jsem přidal pár tlačítek, které řeší největší problémy. Je to dost pochybný hack,
stejně pak není možné hrát některé hry (prostě s klávesami Fn je pořád problém), ale ukazuje možnou cestu jak z toho ven.
Zajímavé je, že např. Chrome tyto problémy nemá.