Přejít k navigační liště

Zdroják » Zprávičky » GameBoy emulátor napsaný čistě v JavaScriptu a HTML5

GameBoy emulátor napsaný čistě v JavaScriptu a HTML5

Zprávičky JavaScript, Různé

HTML a JavaScript vznikly pro zobrazování webových stránek, i když na nich již v dnešní době běhají kromě animací také různé (malé) aplikace a to včetně her. Imran Nazar se nicméně rozhodl ukázat, že nové verze těchto technologií jsou natolik schopné, aby dokázaly emulovat celou platformu na úrovni CPU kódu (na Zdrojáku jsme o jeho projektu už informovali). Využívá přitom novinky v HTML5 jako např canvas tag. Jeho dílem má být emulátor přenosné herní konzoly Nintendo GameBoy, která byla postavena na procesoru Z80 @4.19MHz a monochromatickém displeji s rozlišením 160×144 pixelů.

Ačkoliv je emulátor teprve ve vývoji, již nyní je na něm z většiny funkční Tetris, který Nintendo ke každému GameBoyi přibalovalo. Na webových stránkách autora pak najdete velice zdařilé články, v kterých vysvětluje, jak v emulátoru řeší konkrétní záležitosti, např. přerušení nebo grafické sprity – a protože je emulátor napsaný v HTML5 a JavaScriptu, nechybí demonstrace vložené jako součást stránky.

Celá věc má ještě jeden zajímavý rozměr. Společnost Apple nemá ráda na svých zařízeních emulátory. I to je jedním z důvodů, proč na iPhonu a iPadu nenajdete Flash, protože v něm již několik emultorů vzniklo, např. FC64, emulátor Commodore 64. Také na AppStore nenajdete žádný emulátor, přestože již nějaké vznikly, nikdy neprošly schvalovacím procesem Applu. JavaScript je ovšem ze strany Applu vysoce podporovaný. Bude zajímavé sledovat, jestli nepodnikne Apple nějaké kroky i v tomto směru (např. detekce a blokace konkrétního JavaScriptového programu).

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře

Jak Reddit migroval svou funkcionalitu komentářů z Pythonu do Go

Různé
Komentáře: 0
Reddit modernizuje jednu ze svých nejdůležitějších částí infrastruktury: systém komentářů, který denně obsluhuje miliony uživatelů. Původní Pythonový monolit přestával vyhovovat nárokům na výkon a škálování, a proto se tým rozhodl přepsat celý backend komentářů do Go. Migrace probíhala postupně, s paralelním během staré a nové služby, aby nedošlo k narušení uživatelské zkušenosti. Inženýři zavedli detailní porovnávání odpovědí, izolované databáze a robustní monitoring, což umožnilo bezpečné testování na živém provozu. Celý proces ukazuje, jak lze zásadní infrastrukturní změny provést bez výpadků a s důrazem na konzistenci dat.

Vite 8 Beta přináší nový bundler Rolldown a zásadní zrychlení buildů

Vite je moderní nástroj pro vývoj webových aplikací, který klade důraz na rychlost a jednoduchou konfiguraci. Umožňuje okamžitý start dev serveru a optimalizované produkční buildy, což urychluje vývoj i nasazení. Verze 8 Beta přináší zásadní změnu díky integraci bundleru Rolldown napsaného v Rustu, který sjednocuje vývojovou a produkční pipeline. Novinka výrazně zrychluje buildy a přináší moderní optimalizace. Součástí jsou také nové funkce pro TypeScript a připravovaný Full Bundle Mode pro rychlejší dev server.