int21h

Jak umístit retro programy na webové stránky

Použijeme program JDOSBox. Jedná se o port emulátoru DOSBox v Javě, který umožňuje vkládání embed appletů do html. S jeho pomocí budeme moci mít html stránku a po vstoupení na její url v prohlížeči se automaticky spustí DOSBox, přepne se přes celou obrazovku nebo v okně a rozjede se nám emulovaný počítač řekněme 80486 DX4 66 Mhz s podporou zvukové karty Soundblaster, dále se pak automaticky nahraje disketa s naším retro programem. Toto uvidí každý, kdo na stránku vstoupí, jen s podmínkou, že má nainstalovaný interpret javy. Ovšem dnešní prohlížeče při jeho nepřítomnosti samy nabídnou jediným klikem javu přiinstalovat a náš program se stejně spustí.

Prvním krokem je stažení JDOSBoxu z jeho stránek. Tento návod je pro verzi 0.74.28. Klíčový pro nás bude soubor jdosbox.jar, už při stahování z homepage nezapomeňte v odkaze na sourceforge zběžně prohlédnout doplňující dokumentaci v angličtině umístěnou do prostředí, procházení stahováním starších verzí (browse all). Pro tento návod Vám ale bude stačit prozatím jdosbox.jar 0.74.28, což odpovídá poslednímu vyvinutému dosboxu.

Druhý krok bude vyrobení vlastního jar souboru s naším retro programem. V zásadě je to pouhý zip soubor. A teď klíč k úspěchu: nutné je, aby to byl adresář "jdos" zabalený zipem. Co do něj ale dát? Mějme tedy složku jdos. Do ní patří dvě položky, a to config .conf dosboxu a samotný dosovský program. Ten dosovský program pro změnu musí povinně být v souboru img. Abych kolem toho nechodil moc dlouho: tady je vzorový config, více pak čerpejte z confu klasického dosboxu.

[sdl]
fullscreen=true

[dosbox]
machine=svga_s3

[cpu]
cycles=max 90% limit 30000

[mixer]
rate=8000
blocksize=256
prebuffer=1

Tento textový soubor pojmenujte dosbox.conf. A teď druhá složka: image soubor s hrou. S tím může být trochu problém ho vyrobit. V zásadě se jedná o image file harddisku nebo floppy diskety, nic jiného v jdosboxu není přípustné. Já jsem použil tento způsob: stáhl jsem si z internetu image file diskety msdos-622.img a tento připojil (myšleno otevřel), vymazal jsem obsah a jednoduše nahrál přímo do kořene otevřeného .img svoji hru tak, aby exe hry bylo hned dostupné bez nutnosti měnit pracovní adresář. Pak jsem soubor odpojil a tím se změny uložily. Na tvorbu *.img souboru existuje pro windows řada dokumentací i utilit, v linuxu zase najdete spoustu návodů na webu. U *.img souboru harddisku jsou klíčové jeho parametry cylinders, heads, sectors a size, u diskety stačí parametr -t diskette, proto jsem použil disketu 1.44 MB od DOSu.

Máme tedy dosbox.conf a vedle něj harddisk.img nebo floppy.img s připraveným programem či hrou pro dos, obojí v nachystaném adresáři povinného jména jdos. Ten zabalte zipem. Výsledný jdos.zip je nutné ještě přejmenovat na jdos.jar (jednoduše rename, nic víc). jdos.jar = jdos.zip a to je složka jdos s dosbox.confem a *.img souborem.

Teď krok 3. Připravíme si malý html soubor. Ve finále to má vypadat tak, že máme složku ve struktuře našeho webu, např. url www.domena-stranky.cz/dosbox/mojehra. V cílové složce mojehra se pak mají nacházet 3 položky: jdosbox.jar, jdos.jar a index.html tak, aby url stránky po načtení najelo index.html. Ten už si pak musí otevřít javu jdosbox s parametrem jdos.jar. Tady je vzorový index.html:

<APPLET CODE="jdos.gui.MainApplet" archive='jdosbox.jar,jdos.jar' WIDTH=640 HEIGHT=400>
   <param value="true" name="draggable">
   <param value="true" name="separate_jvm">
   <param name="param1" value="-conf jar://dosbox.conf" />
   <param name="param2" value="imgmount e jar://floppy.img -t floppy" />
   <param name="param3" value="e:" />
   <param name="param4" value="mojehra.exe" />
</APPLET>

To je vše, editace dosbox confu už je na vás. Je to klasický dosbox jak ho znáte, se slušným výkonem srovnatelným s verzí pro linux, windows nebo android. S parametry harddisku.img jsou trochu problémy, doporučuji na dosbox.wiki příkaz imgmount. Pro zjišťování parametrů cylinder, head, sector, size je nejlepší utilita bochs - umí tvořit image soubory a řekne vám i jejich potřebné parametry. To v případě, že se rozhodnete pro velkolepější dílo než jednodisketové.

Ukládání nově vytvořených souborů uvnitř jdos.jar v img souboru probíhá, ovšem po ukončení appletu jdosbox nedojde k žádnému koncovému záznamu. Jakmile si program zobrazují lidé na netu, stáhnou se jim jdosbox jar a jdos.jar k nim v rámci prohlížeče, na serveru se nic neukládá a na straně klientů zřejmě také nic. V dokumentaci na sourceforge je nějaká zmínka o možnosti save herních dat za jakýchsi okolností, ovšem je tam k tomu pouze jedna kratičká věta, ze které jsem to nepochopil. Vypadá to tedy, že je to možné použít obvykle jen na program bez možnosti RPG prvků nebo ukládání uživatelských voleb. Ale jak jsem řekl, pokud je nutné dělat dočasný soubor za běhu hry, problém to není - vznikne, jen nezůstane uložen po vypnutí jdosboxu.

2016-03-08 | JIVA
Reklamy:
„Mít rád lidi a milovat lidi to je celé tajemství a snad jediný recept na štěstí.“ Jan Werich