Clone
3
Play-in-Browser
Matteo Benedetto edited this page 2026-07-01 11:56:34 +00:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Play in Browser

▶ Gioca subito nel browser! Scorri in basso per l'emulatore embedded. Il ROM AScreamFromTheDark.gb è impacchettato direttamente nella pagina (32 KB → ~43 KB base64). Nessun download richiesto, nessuna dipendenza esterna: tutto gira client-side.

Emulatore embedded

Note: L'emulatore usa il core GameBoy-Online di Grant Galitz (MIT, 350 KB) caricato da jsDelivr. Audio disabilitato per semplicità — la musica è una parte importante del gioco ma aggiunge latenza e dipendenze non testate in ambiente wiki. Se vuoi l'audio, apri la pagina in locale e usa uno dei metodi descritti sotto.

Performance: 60 fps su qualsiasi browser moderno (Chrome, Firefox, Edge, Safari). Su mobile (iOS Safari specialmente) il throttle può scendere a 40-50 fps.

▶ START ↻ RESET ⏸ PAUSE Premi START per avviare
Controlli tastiera:
← ↑ → ↓ = DPad   |   Z o J = A (salto)   |   X o K = B (corsa)
Enter o Spazio = START   |   Shift o Tab = SELECT
<script src="https://cdn.jsdelivr.net/gh/chrismaltby/GameBoy-Online@master/js/other/base64.js"></script> <script src="https://cdn.jsdelivr.net/gh/chrismaltby/GameBoy-Online@master/js/GameBoyCore.js"></script> <script src="https://cdn.jsdelivr.net/gh/chrismaltby/GameBoy-Online@master/js/GameBoyIO.js"></script> <script> // === AScreamFromTheDark embedded emulator === (function() { const ROM_B64 = "///////////////////////////////////////////p/////////yINIPzJ////GiITDSD6yf////////////XlIaXAw4AAw3hz///////////////////////////////////////////////////////////////////////F1Sq2KAvlOm5n5+EjGPPoBNHB4fBB5gIg+vHZIaPANCACIzQ+AeCRw4D/8EHmAiD6PsDDhP+vAZQKIaDAzbFrPsDgkmevbw6gwygA8+D/r/vgD8nwkrfI4EY+KD0g/cn/////////////////////yf/////////DGm7//////xhV///O7WZmzA0ACwNzAIMADAANAAgRH4iJAA7czG7m3d3Zmbu7Z2NuDuzM3dyZn7u5Mz4AAAAAAAAAAAAAAAAAAAAAMDAAAAAAADMBU+PO+qHAR/qgwPNXWDEA4NXN12vNtgDReuqgwP4RIAevyzsX6qHAr+BC4EPgQeBKPgfgSxHUACGA/w4M982A/xGcAM3tAT7k4EfgSD4b4Ek+wOBAPgHg/6/gDyGjwCJ34CY84JDNe3T7zQACdgAY/PBA5oDIr+CRdgDwkbco+ckhpcAqTypHsch7uSD2ergg8kRNCwsqAgNXKgIDsiD2ySGlwCq2KAMjGPl6MnPJ///////NygLwQPYB4EDwQPYC4EDwQPaA4EAOAM29Ac03b0f6NMu3wr8C+nfLtyg5y2jKxgLLacLGAvBA5t/gQD7k4EcR+VXVIQDN5c3vbugEEcli1SEUEuWvD/WvzbNz6AYhd8s2ABhi+njLtygoeLcoWHm3IFTwQObf4EA+5OBHITTLNgEhR8s2ASF4yzYAxc0jA8EYNMVZeM0iA8HLeCgOy3kgCiF4yzYBxc22aMHLcCgXy3EgE8XNqWfBIXfLNgEYB8VZeM0jCMFIwxcCDgB51igwDxEAwGmvZykpGa8idwwY7BH5VdUhAM3lze9u6AQRyWLVIRQS5a8P9c2zc+gGPuTgR6/gQ6/gQj6A4CY+d+AkPv/gJc0kERExG83NARExG8PtAcno8vBA9gTgQD6A4CY+d+AkPv/gJSFyyzYAIXPLNgD6R8s9IAv6dMu3IAUhcss2ASF1yzYAIXbLNgDNJG0Rxm/VzQdt4dXNFW3hzSQRETEbzc0BETEbze0B8AQGAE/FzWtu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PgBXy34oB8t6IAi/GAXLeigBNzh6+BsqT0ZYFgA+mLk+AJjLeygHy3ogCL8YBct6KAE3OFr4G374IHf4GX74HDIrEQtQGiITGjJ+6ijL+Bt+6inLISrLNhwhK8s2APggfvgaIq8yKjKvIiN++BUirzI6K3f4G374FDJ++Bt3+BR++BwyKl9W+B9+zXRrGB/4H04hC1AqR34hKMtwI3chKss2HCEryxEAAHN5zXRr+AIqX1b4HSpmb3uVX3qc+CAyc/gEKl9W+BcqZm97lV96nPgeMnsiIyrLfigPEQAAOm5ne5Vfepz4IDJz+B0qy34oDxEAADpuZ3uVX3qc+B4yc/gfKk9GedYMeBc/H96AMDL4HSpPRnnWBngXPx/egDAiITXLNgEhNss2Lc0pHT4e4BA+EOARPvPgEq/gEz7G4BQYBvghNMN5LegiyfxnEDemKWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////z88PDAw////Pzw8MDAAAMDHB9gf4D//z8/Dw8DAwCAgHj4B/8A//////////9/fx8fB4eBcYGO4OH4+P7+////////////AB/gAR4AAcDA8PD8/P///gH4BsA4AMADAw8PPz///wPDDw8/P/////////////8AAQEGBzg/wP8B/ATwEMBDP8D8APAAwAAAAwMcH2B/gP8B/gf4P8D/Af8E/BDwQMPA/wD8APAAwAADAxwfYH+A8A4+AQ8AAwAAgIB4+Af/AAAAAODgHv4BfwAfAAeAgXAP/gE/AA8AAwCAgHj4B/8A/wD/4B/+Af8AfwAfAIeAcf///////////////P/w/MP////8//D/wPwD4ByAYACA////P/8P/wN/gAd4AAcAAP///////////3//H3+HD3Hwjv7h//j//v//////////AAAA4OAe/gH/wP/w//z//wABAQYHOD/A/wP/D/8///8/w/8P/z///////////////gH4BsA4AMABAQcEHxB8QwDAAwAPAD8A/APgHIBgAIAB/wf+P/j/wP8B/wT/EPxD/8D/AP8A/wD8A+AcgGAAgAEOwAHwAPwAf4AHeAAHAAD/AB/gAR4AAYAA4AB4gA5w/g//Af8A/wB/gAd4AAcAAAD/4P/+H/8B/wD/AH+AD3D//////////////P/w/8P////8//D/wP8D/xz/YP+A////P/8P/wP/gP94/wf/AP///////////3//H/+H/3H/jv/h//j//v///////////wD/4P8e/wH/wP/w//z///8B/wb/OP/A/wP/D/8/////w/8P/z///////////////wABAQYHOD/A/wH8B/Afw38/wPwD8A/APwP/HP9g/4D//wH+B/g/wP8B/wT/EP9D/8D/AP8A/wD/A/8c/2D/gP/wDj7BD/AD/ID/eP8H/wD/AAAA4OAe/gF/gB/gh/hx/g/+Af8A/wD/gP94/wf/AP//AP/gH/4B/wD/AP+A/3D////8//D/wP8D/x/8f+D/gP//P/8P/wP/gP/4f/8H/wD//////////3//H/+H//F/j/7h//j//v////////////8A/+Af/gH/wP/w//z/////Af4H+D/A/wP/D/8//////gH4BsA4AMABAQQHEB9DfwDAAAMADwA/A/8f/H/g/4AB/wf+P/j/wP8B/AfwH8N//8D8A/APwD8D/x/8f+D/gAEOAMEA8AD8gP/4f/8H/wD/AB/gAR4AAQCAAOCA+PB+/g8/wQ/wA/yA//h//wf/AAD/4P/+H/8Bf4Af4If48X7//////////////Pzw8MPA///8/PDww8APAD8A/wP/D///Pz8PDwPDAPAA/MD/8P///////////39/Hx8HBwHBgIDg4Pj4/v7///////////8/Pz8PDwMDwMDw8Pz8///8//z88PDAwAMDDw8/P///AwMPDz8//////////////wABAQYHOD/A/wH8BPAQw0A/wPwA8ADDAA8APwD/A/8P/wH+B/g/wP8B/wT8EPBDwMD/APwA8APADwA/AP8D/w/wDj4BDwADwADwAPzA//D/AAAA4OAe/gF/AB8ABwABwA/+AT8ADwDDAPAA/MD/8P//AP/gH/4B/wB/AB8ABwDBgADgAPgA/gB/gAd4AAcAAP8/Pz8PDwMDwADwAHyAD3AAgADgAPgA/oD/+H//B/8A/z8/Pw8PAwMAwADwgPzwf/z//Pzw8MDAAwAPAD8A/AMDAg8IPyD/gPwD4ByAYACA/P/8/PDwwMAAAwAPAD8D/wIDCA8gP4D/A/8f/H/g/4D///////////////z88PPA/////Pzw88DPAD8A/wP/D////z8/Dw/DA/AA/MD/8P////////////9//x8/Bw/B/ID/4P/4//7///////////8/Pz/PD/MD/MD/8P/8///8//z88/DPwD8D/w//P///PwP/D/8///////////////4B+AbAOADAAQEHBBwQc0AAwAMADAAzAM8APwD/A/8PAf8H/j/4/8D/Af8E/BDzQP/A/wD8APMAzwA/AP8D/w8BDsABMAAMwAPwAPzA//D//wAf4AEeAAGAAOAAOAAOwP4P/wE/AA/AA/AA/MD/8P8A/+D//h//Af8A/wA/AA/AfAAfAAcAAQAAgIB4+Af/AP8/Pz/PD/MDPAAPAAOAgHD8AP8A/wD/AP+Af/gH/wD//z8/P88P8wP8AP8A/4B/8Pz//Pzz8M/APADwAMAAAAM+AvgI4CCAgAADAxwfYH+A/P/8/PPwz8A/AP8A/wD/Az8C/wj/IP+A/wP8H+B/gP///////////////P/w/8D////8//D/wP8A/wD/A/8P////P/8P/8P/8P/8/////////////////3//H/8H/8H/gP/g//j//v///////////z//P/8P/wP/wP/w//z///////z/8P/A/wP/D/8/////A/8P/z///////////////wABAQYHOD/A/wH8B/AfwH8/wPwD8A/APwD/AP8D/w///wH+B/g/wP8B/wT/EP9A/8D/AP8A/wD/AP8A/wP/D//wDj7BD/DD/PD//P//////AAAA4OAe/gF/gB/gB/jB/g/+Af8A/8D/8P/8////////AP/gH/4B/wD/AP8A/8D/gH/gH/gH/gF/gAd4AAcAAD//P/8P/wP/wD/wD3yDD3AA/wD/AP8A/4D/+H//B/8AP/8//w//A/8A/wD/gP/wf////P/w/8D/A/wP8D/A/AMD/g/4P+D/gPwD4ByAYACA///8//D/wP8A/wD/AP8D/wL/CP8g/4D/A/8f/H/g/4D+AfgGwDgAwAEBBAcQH0B/AMAAAwAPAD8A/wD/A/8P/wH/B/4/+P/A/wH8B/AfwH//wPwD8A/APwD/AP8D/w//AQ4AwQDwwPzw//z///////8AH+ABHgABAIAA4AD4wP7+Dz/BD/DD/PD//P//////AP/g//4f/wF/gB/gB/jB/gB/AB8ABwABAICAePgH/wA//z//D/8D/wA/AA8Ag4BwgH/gH/gH/gH/gH/4B/8A/z//P/8P/wP/wD/wD/yDf/D///z/8P/A/wD8APAAwAADAv4I+CDggIAAAwMcH2B/gP///P/w/8D/A/wP8D/A/wMD/g/4P+D/gP8D/B/gf4D/AAAAAAECAwQFBgcICQoDBAUGBwgLDAMEBQYHCAECDQ4FBgcICQoNDgUGBwgLDA0OBQYHCAECDxAFBgcICQoPEAUGBwgLDA8QBQYHCBESExQVFhcYGRoTFBUWFxgbHBMUFRYXGBESHR4VFhcYGRodHhUWFxgbHB0eFRYXGBESHyAVFhcYGRofIBUWFxgbHB8gFRYXGCEiIyQlJicoKSojJCUmJygrLCMkJSYnKCEiLS4lJicoKSotLiUmJygrLC0uJSYnKCEiLzAlJicoKSovMCUmJygrLC8wJSYnKCExMjM0NTYoNzgyMzQ1Nig5OjIzNDU2KCExOzw0NTYoNzg7PDQ1Nig5Ojs8NDU2KCExPT40NTYoNzg9PjQ1Nig5Oj0+NDU2KD9AQUJDREVGR0hBQkNERUZJSkFCQ0RFRj9AS0xDREVGR0hLTENERUZJSktMQ0RFRj9ATU5DREVGR0hNTkNERUZJSk1OQ0RFRj9AQUJPUEVGR0hBQk9QRUZJSkFCT1BFRj9AS0xPUEVGR0hLTE9QRUZJSktMT1BFRj9ATU5PUEVGR0hNTk9QRUZJSk1OT1BFRj9AQUJRUkVGR0hBQlFSRUZJSkFCUVJFRj9AS0xRUkVGR0hLTFFSRUZJSktMUVJFRj9ATU5RUkVGR0hNTlFSRUZJSk1OUVJFRj9AQUJDRFNUR0hBQkNEU1RJSkFCQ0RTVD9AS0xDRFNUR0hLTENEU1RJSktMQ0RTVD9ATU5DRFNUR0hNTkNEU1RJSk1OQ0RTVD9AQUJPUFNUR0hBQk9QU1RJSkFCT1BTVD9AS0xPUFNUR0hLTE9QU1RJSktMT1BTVD9ATU5PUFNUR0hNTk9QU1RJSk1OT1BTVD9AQUJRUlNUR0hBQlFSU1RJSkFCUVJTVD9AS0xRUlNUR0hLTFFSU1RJSktMUVJTVD9ATU5RUlNUR0hNTlFSU1RJSk1OUVJTVD9AQUJDRFVWR0hBQkNEVVZJSkFCQ0RVVj9AS0xDRFVWR0hLTENEVVZJSktMQ0RVVj9ATU5DRFVWR0hNTkNEVVZJSk1OQ0RVVj9AQUJPUFVWR0hBQk9QVVZJSkFCT1BVVj9AS0xPUFVWR0hLTE9QVVZJSktMT1BVVj9ATU5PUFVWR0hNTk9QVVZJSk1OT1BVVj9AQUJRUlVWR0hBQlFSVVZJSkFCUVJVVj9AS0xRUlVWR0hLTFFSVVZJSktMUVJVVj9ATU5RUlVWR0hNTlFSVVZJSk1OUVJVVldYWVpbXF1eX2BZWltcXV5hYllaW1xdXldYY2RbXF1eX2BjZFtcXV5hYmNkW1xdXldYZWZbXF1eX2BlZltcXV5hYmVmW1xdXldYWVpnaF1eX2BZWmdoXV5hYllaZ2hdXldYY2RnaF1eX2BjZGdoXV5hYmNkZ2hdXldYZWZnaF1eX2BlZmdoXV5hYmVmZ2hdXldYWVppal1eX2BZWmlqXV5hYllaaWpdXldYY2Rpal1eX2BjZGlqXV5hYmNkaWpdXldYZWZpal1eX2BlZmlqXV5hYmVmaWpdXldYWVpbXGtsX2BZWltca2xhYllaW1xrbFdYY2RbXGtsX2BjZFtca2xhYmNkW1xrbFdYZWZbXGtsX2BlZltca2xhYmVmW1xrbFdYWVpnaGtsX2BZWmdoa2xhYllaZ2hrbFdYY2RnaGtsX2BjZGdoa2xhYmNkZ2hrbFdYZWZnaGtsX2BlZmdoa2xhYmVmZ2hrbFdYWVppamtsX2BZWmlqa2xhYllaaWprbFdYY2RpamtsX2BjZGlqa2xhYmNkaWprbFdYZWZpamtsX2BlZmlqa2xhYmVmaWprbFdYWVpbXG1uX2BZWltcbW5hYllaW1xtbldYY2RbXG1uX2BjZFtcbW5hYmNkW1xtbldYZWZbXG1uX2BlZltcbW5hYmVmW1xtbldYWVpnaG1uX2BZWmdobW5hYllaZ2htbldYY2RnaG1uX2BjZGdobW5hYmNkZ2htbldYZWZnaG1uX2BlZmdobW5hYmVmZ2htbldYWVppam1uX2BZWmlqbW5hYllaaWptbldYY2Rpam1uX2BjZGlqbW5hYmNkaWptbldYZWZpam1uX2BlZmlqbW5hYmVmaWptbm9wcXJzdHV2d3hxcnN0dXZ5enFyc3R1dm9we3xzdHV2d3h7fHN0dXZ5ent8c3R1dm9wfX5zdHV2d3h9fnN0dXZ5en1+c3R1dm9wcXJ/gHV2d3hxcn+AdXZ5enFyf4B1dm9we3x/gHV2d3h7fH+AdXZ5ent8f4B1dm9wfX5/gHV2d3h9fn+AdXZ5en1+f4B1dm9wcXKBgnV2d3hxcoGCdXZ5enFygYJ1dm9we3yBgnV2d3h7fIGCdXZ5ent8gYJ1dm9wfX6BgnV2d3h9foGCdXZ5en1+gYJ1dm9wcXJzdIOEd3hxcnN0g4R5enFyc3SDhG9we3xzdIOEd3h7fHN0g4R5ent8c3SDhG9wfX5zdIOEd3h9fnN0g4R5en1+c3SDhG9wcXJ/gIOEd3hxcn+Ag4R5enFyf4CDhG9we3x/gIOEd3h7fH+Ag4R5ent8f4CDhG9wfX5/gIOEd3h9fn+Ag4R5en1+f4CDhG9wcXKBgoOEd3hxcoGCg4R5enFygYKDhG9we3yBgoOEd3h7fIGCg4R5ent8gYKDhG9wfX6BgoOEd3h9foGCg4R5en1+gYKDhG9wcXJzdIWGd3hxcnN0hYZ5enFyc3SFhm9we3xzdIWGd3h7fHN0hYZ5ent8c3SFhm9wfX5zdIWGd3h9fnN0hYZ5en1+c3SFhm9wcXJ/gIWGd3hxcn+AhYZ5enFyf4CFhm9we3x/gIWGd3h7fH+AhYZ5ent8f4CFhm9wfX5/gIWGd3h9fn+AhYZ5en1+f4CFhm9wcXKBgoWGd3hxcoGChYZ5enFygYKFhm9we3yBgoWGd3h7fIGChYZ5ent8gYKFhm9wfX6BgoWGd3h9foGChYZ5en1+gYKFhm9wcXJzdHV2h4hxcnN0dXaJinFyc3R1dm9wi4xzdHV2h4iLjHN0dXaJiouMc3R1dm9wjY5zdHV2h4iNjnN0dXaJio2Oc3R1dm9wcXKPkHV2h4hxco+QdXaJinFyj5B1dm9wi4yPkHV2h4iLjI+QdXaJiouMj5B1dm9wjY6PkHV2h4iNjo+QdXaJio2Oj5B1dm9wcXKRknV2h4hxcpGSdXaJinFykZJ1dm9wi4yRknV2h4iLjJGSdXaJiouMkZJ1dm9wjY6RknV2h4iNjpGSdXaJio2OkZJ1dm9wcXJzdJOUh4hxcnN0k5SJinFyc3STlG9wi4xzdJOUh4iLjHN0k5SJiouMc3STlG9wjY5zdJOUh4iNjnN0k5SJio2Oc3STlG9wcXKPkJOUh4hxco+Qk5SJinFyj5CTlG9wi4yPkJOUh4iLjI+Qk5SJiouMj5CTlG9wjY6PkJOUh4iNjo+Qk5SJ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//////8f/w8fD/8fPw////8PHx////////////////////////z/+Pz4/fj9+P34/fj8/P//////////////////////Of8YPRi9GL0YvRi9HD4+//////////////////////+Y/xi8GL0YvBi9GL04fHj//////////////////////xj/CBwI/Rg8CP34/QgdGf//////////////////////P/8fPx+/P38fvx+/H7+f///////////////42AAAAAgCAAAIBAAACAYAAAgIAAAICgAACAwAAAgOAAAIEAAACBIAgAAAAJtR/GcQN6YpYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AP///////////wD///8AAAAAAAAAAAAAAAAAAAAA//8A//9//3//f/9/AP///wAAAAAAAAAAAAAAAAAAAAD//wD//z//P/8//z8A////AAAAAAAAAAAAAAAAAAAAAP//AP//H/8f/x//HwD///8AAAAAAAAAAAAAAAAAAAAA//8A//8P/w//D/8PAP///wAAAAAAAAAAAAAAAAAAAAD//wD//wf/B/8H/wcA////AAAAAAAAAAAAAAAAAAAAAP//AP//A/8D/wP/AwD///8AAAAAAAAAAAAAAAAAAAAA//8A//8B/wH/Af8BAP///wAAAAAAAAAAAAAAAAAAAAD//wD//wD/AP8A/wAA////AAAAAAAAAAAAAAAAAAAAAH//AP9//3//f/9//wD/f/8AAAAAAAAAAAAAAAAAAAAA/v8A//7//v/+//7/AP/+/wAAAAAAAAAAAAAAAAAAAAB//wD/f4B/gH+Af4AA/3//AAAAAAAAAAAAAAAAAAAAAP7/AP/+Af4B/gH+AQD//v8AAAAAAAAAAAAAAAAAAAAA+MwAAAAIAgAACAQAAAgGAAAICAAACAoAAAgMAAAIDgAACBAAAAgSAAAIFAAACBYAAAgYAIAAAACpU/xnEDemKWAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAB8AAAAAAAAAAAAAAAAAAAAAAAAADgARABMAFQAZABEADgAAAAAAAAAAAAAAAAAAAAAAAAAEAAwABAAEAAQABAAOAAAAAAAAAAAAAAAAAAAAAAAAAA4AEQABAAIABAAIAB8AAAAAAAAAAAAAAAAAAAAAAAAAHgABAAEADgABAAEAHgAAAAAAAAAAAAAAAAAAAAAAAAACAAYACgASAB8AAgACAAAAAAAAAAAAAAAAAAAAAAAAAB8AEAAeAAEAAQARAA4AAAAAAAAAAAAAAAAAAAAAAAAABgAIABAAHgARABEADgAAAAAAAAAAAAAAAAAAAAAAAAAfAAEAAgAEAAgAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAA4AEQARAA4AEQARAA4AAAAAAAAAAAAAAAAAAAAAAAAADgARABEADwABAAIADAAAAAAAAAAAAAAAAAAAAAAAAAA+PwAAIAAAAD4/AIAgAAAAPj8BACAAAAA+PwGAIAAAAD4/AgAgAAAAPj8CgCAAAAA+PwMAIAAAAD4/A4AgAAAAPj8EACAAAAA+PwSAIAAAAD4/BQAgAAAAINVi1WTVZtVo1WrVbNVu1XDVctV01X8ZxA3pilgEP///////////////////////////v78/Pj4+Pj4+PDw/////////////39/f39/f/////////j4+Pjx8fPz4+P///////9/fz4+HBycnNjY/////x8fBgYCAmNjc3P7+////////wMDAQEAABgYHBz///////+AgMCAx8fPz8/P/v7+/v7+PDw8PHg4OHgwcP//+/v5+fn5+Ph4eHh4ODj///39/f35+fn5cXFxcSEh/////////Pz+/v7+/v7+/v///////wAAAAA5OTk5ITH////////g8MDAg4OPj4+P///39/PzMzMxMRAQEBAQEP//+fn7+/Pz8/Pj4+PjQ0P///////////////////7+8vLy4ufn5+fg4MDABwcvLz8/Pz8/Px8fHx8fH4+Pz8/j4+Dg8PD8/N/f39/f39/f2NjQ0BERAQEBAYGBiIiIiPv7+/v/////////////+/scHBgYAQEDAwEBMDA4ODg8wcHBwcnJzc3Nzc3Nz8/Pz7Dxs/Pz8/Pz4ODAwIeHp6c4ODg4GBgYGBgYGBiIiMjIAQEBAYmJ2ZnZ2fn5+fn5+f7+/v7+/v7+/v7+/v7+/v4lJQcHBwdnZ2dnd3d3d39/HByYmIGBAwGAgZCQmJi8vI+Pj4+Pj4+Pj4/Pz8/Pz88QkBCQkRGRERERERExMTExQ0MDAxMTMzOzs/Pz8/Pz88/Pz8/Pz8/P///////////Pz8/Pz8/v7+/v7+/v7///z8/n5+Dg+Pj//////////wwMHBw+Pn9///////////97e2NjBwcPD5+f////////PDw8PL29vb29vf39/f3//8/Pg4MAAPj4//////////9HR09PD08PHz8/////////yMjk5OTk5Obm5vf39/f///n5+fn5+fn5+/v//////f3+/v7+/v7+/v7+////////f39/f39/f39/f39/f3///7y8vLy+vr++//7////////GxuLi8PD4+P//////////cXF5efn5+fn9/f////////Pz8/Pz8/Pz9/f///////8/PwAAAAAREbGxsbGx8fHx//8RERERkZHR0dnZ2dnZ2fPzwsLCwsPD4+Pn5+fn5+f//wAAAAABAT09PT0lJQcH///4+P7+////////////////Dw8DAwEAMDA4ODg4ODz9/fn58fHw8PDw4ODg4OTk///w8PDw8PDx8fHxcfF5ef//Pj4cHAQMhITExMzMjMzj83Nzc3Nzc2Nz4+Pj48fH8fH5+fn5+fn5+fn5+fn5+fj48PDh4eHh6en5+fn5+fkHBwMD4+fn5+fn5+fn5+bmBwc3Jzc3Nzc9PT09PT0ZGTg8ODw8OD05ODgwODExIyPm5s7OwMCAwA8PT0+Pj5+feXk4ODg4ODkZGZmZmZnb24yMHBwcHAwMjIzMzMzM7OyPjw8PgwPDw+fn9+f39/f3/////////////////////v///////7///////z//dp//////////////Pv9//n/+/f/3//7/9P/t////9/fv//n5+fl5+f39/f3////////5+fn5/f39/f//////////5OTn5+fn5+fn5//3/////wEBwMD8/P/////////////////////8/Pn5////////BwePjz8//////////////5+fv7/////////////////b29vb39/f3//f////////7Ozu7u7u7+////////////f39/f39/f39/f////////ep/fx//z//v/////3//f9b//59f9+33zv/f/77/Pf6/9fvz//f////////////////////v////////////////9//3////////////////////////////////v8//z3/e394/3r/eP9wf3B/YF93/v7+//7//v/+///////////v/+f/9//3//+////7u////////////////9//+////////////////f////////////4/////////////v/BPeHx///v/7XpJfnxyfnB///////////+/vz++P/P//f39/f/////T/8v7yfnB8f////////////////f/9f///f7//X30/v///////v6+s//1/+v5/3P8////6/vry////7//v///////////////////3//P////8////////v/+//7//v/+//7//v/+//+///+/vv6//r/+v/6//r6kWGBSZFR8QH1BXGBEWEBAcD/wf/A+sL6wPzA/GDekO+Hhw4OARwEGxQLBgEABQAB////////e/84/zj/OP84///9/fv7+/v7+/v79/f39/f7n/+/v7+/v////v29/8f///////////9//3//35/f3//+///////9//3//v//////v//////v7+/v3/+/f////////////fv///f35u7u7/3/+//z////v/8/f2//7//5//n/+//5//n////+//z/////////////////f////z//f/8f/9//n/8f/x//H/////7///7//v/+//7//v/+gYEX/8EBwQEBgSGBAUGBEeDPgsyQyDDAMIDwwLDAMMAAAwADAAEAAAAAAAAAAAAAOP8Y/xn/Gf9//xn/G/8f/////f739fNz4e/q7vT09PX//8//f39f////b0cDI7u79/f9/fz8/v7//////////9/f//////////////////+9rXl9e3v7+///////////6//t/93f2du7u3d3/////x//H/8f/x///////z//P////vv8+f75/vn+//7//v//kQGJAYkByQHBAfEBwwP//zDAOMAswA7wF/gG//z/sP8AAAABAAEKCYiPVd9X13f3H/8f/x//P/9///v//////+/r+v719fT09Pz8/Pz+/v6/v5WzISMzITMhHRP7+/r///9/f3///////+X//////////////+/////////////7//v/+f/9///////8//n/P/8//z//P/+//7//v/+///7+//j//v/+//7///////8jIyEhsSE5pf0h/SH9If0psP/w//b/9//3//f//////y/vL/999//3///Fwdvdx8X288HFjYWdhZ3EXmJ/IX5xho9sP5z+/P+NmUJCISGxvX//f/+/v/+/P39////////P/7f/uP/+/+H/zf////7/////////P//f/+////////n/+//7//v/+//7//v/+/+//7//v/////////+f/9/////////////////////8/vm9tf3h/+/////z84GJwb3nx8/n5+f/////////////eHg8FAKKBcWH5f/3/////384+3x//n/////////////33X/dz32N/8T/YP+0+7/fz//f/9+/f783/3f/7//v/5//v/+T/+fn5+Pn8/Xz+fL7//v//////////f/8//v//v/+///+/v/+//7//////8H9wf3B/cN9y38T/RP9Nf//77/znfv///////3Pn4e///+3//////////////////Dx4ODg6P3t7f3//f////9//z//fz9/f39///////////////////8///////////////////3//f/9//3///8j/ev94/3z/fv9/f//////////////////f/9/v7/////////+/v7+/Pz9/f////4BfxePGwcvI3t3+////y8f/////////////3//////////////////v//////////7//v/+//7//v/+/////////////7+/////////////////8l/Xf/d/939//3//f///99/73/vv/e393v/e989/v7+/vz8/vz+/Pz8/Pz9/G8fN08X7x//r3+Pf/8//3/D/+nl+u3l4//vw+f/////Dv8ilqu2j4a3tjCa/////wz/+A1PuS0+a+ssCP////94/yN0qvd0eTau9GH////////+/////////v/+/////4j/Lkhuf3+Ob+6OHP////+Rf5sxdfl19iDwBmb/////l++K09Pbw8fb21kN/////4d/Txf337/fv98fj///////////////7//v/9/937///f/9//3//f/9//3///3//9q6/qef//f3+3n//d7+3/////9//z/f//f3+//8/z6///////////////////98/9z//P///////////5//4f9v/3///////////////////////////////////v/+//////////////////D/AO///////////9////9///D////////////9//////93////////////////////f///////f/9//////////////////////v/9//v99/P39+u/3/9//2+/7//f//+f778AAAECAwQFBgcICQoLDAYNDg8AAAAQERITFBUWFxgZGhscHR4fIAAAAAAhIiMkJSYnKCkqKywtLi8wAAAAAAAAADEyMzQ1Njc4OToAAAAAAAAAAAAAOzw9PgA/QEFCQwAAAAAAAERFRkdISUpLTE1OT1BRAAAAAAAAAFJTVAAAAAAAAAAAAAAAAABVAFZXWFkAAAAAAAAAWltcAAAAAAAAAF1eX2AAAAAAYQBiY2RlAAAAZgAAZ2hpamsAAGxtbm9wcXIAAABzdHV2d3h5ent8fQB+AAB/gAAAAGYAgYKDhIWGh4iJAAAAAAAAAACKiwCMjY6PkBCRkpOUlQAAAAAAAACWAJeYmQCam5ydngCfAAAAAAAAAKB0AKGiAAAAAKOkAKWmAAAAAAAAZgCnqKmqAACrrK2uAAAAAAAAAACvAACwsbIAALO0ALW2t7i5uru8vb4AAAC/wMHCw8TFxsfIyQAAAMrLzADo9vgIMnsiIzYA+AwqX1b4CW4mABlNRAr4AHe3KHn4CH74ASI2APgJfvgDIq8yKysqXypXKmZvGeV9+Ad34Xz4BjIq1iB+3gBWPgDLfygHy3ogCL8YBct6KAE3MDT4B34OAIfLEYfLEYfLEYfLEYfLEfgBXiMjBgCDX3mIVypPRmlgGX3Gak98zsJH+AB+xuAC+Ak0wztk6Arh8elP1iAwGa9rZykpKSkpBgAJfcZqT3zOwkf4An7GEALhM+nwQOb94EDNJG0Rxm/VzQdt4dXNFW3hPhvgRxEABNURAADVEWrC1c12b+gGEXll1R4CPgPNMWQRiGXVHgg+BM0xZBGSZdUeCT4CzTFkEaBl1R4KPgLNMWQRrWXVHgw+As0xZBG1ZdUeDT4CzTFkEWrC1SEgIOWvD/XN1m7oBj4H4Euv4ErwQPYg4EDJRklORCBUSEUgSEFUQ0gARFBBRCBXQUxLAEEgKyBEUEFEIEpVTVAAQiArIERQQUQgUlVOAFBSRVNTIEIAVE8gQ09OVElOVUUA8EDm/eBAr+BDr+BCPhvgR80kbRHGb9XNB23h1c0VbeERAATVEQAA1RFqwtXNdm/oBhEw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eTzmH7NPFSDlwdEdyNV45vxfPiCBT4iR5gOzR8UYzwAAAAcCAQEAAAAAAAAAAABkADwBATwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAMAAAABWAAhI3QRNMvNumvJ//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8="; const SCALE = 2; // 160x144 -> 320x288 const FPS = 60; const FRAME_MS = 1000 / FPS; const FRAME_CYCLES = 70224; // GB master clock per frame (4.194 MHz / 60) let gameboy = null; let rafId = null; let lastTick = 0; let isPaused = false; let isRunning = false; // --- Key mapping (GBCORE: 0=right,1=left,2=up,3=down,4=A,5=B,6=select,7=start) --- const KEYMAP = { "ArrowRight": 0, "d": 0, "D": 0, "ArrowLeft": 1, "a": 1, "A": 1, "ArrowUp": 2, "w": 2, "W": 2, "ArrowDown": 3, "s": 3, "S": 3, "z": 4, "Z": 4, "j": 4, "J": 4, "x": 5, "X": 5, "k": 5, "K": 5, "Tab": 6, "Shift": 6, "Enter": 7, " ": 7 }; // --- Inject ROM (base64) --- function loadRom() { const canvas = document.getElementById("gb-screen"); try { const raw = base64.decode(ROM_B64); const rom = new Uint8Array(raw.length); for (let i = 0; i < raw.length; i++) rom[i] = raw.charCodeAt(i) & 0xFF; // GameBoyCore constructor: (canvas, ROMImage, useGBC?, frameCallback?) // Pass GBC=true so the DMG palette gets colorized nicely on CGB systems. // The rom is plain DMG but the GBC boot handles it fine. gameboy = new GameBoyCore(canvas, rom, true); window.__gb = gameboy; return true; } catch (e) { document.getElementById("emulator-status").textContent = "Errore caricamento ROM: " + e.message; return false; } } // --- Loop @ ~60 fps --- function loop(now) { if (!isRunning) return; if (isPaused) { lastTick = now; rafId = requestAnimationFrame(loop); return; } // Pace to ~60 fps const elapsed = now - lastTick; if (elapsed < FRAME_MS) { rafId = requestAnimationFrame(loop); return; } lastTick = now - (elapsed % FRAME_MS); try { // GameBoyCore auto-runs via its own setInterval when start() is called. // We just need to drive its step manually if not auto-running. // The library uses setInterval(0) internally; nothing to do here. } catch (e) { console.error("Emulator tick error:", e); } rafId = requestAnimationFrame(loop); } // --- Start --- function start() { if (!gameboy) { if (!loadRom()) return; } try { gameboy.start(); isRunning = true; isPaused = false; document.getElementById("emulator-status").textContent = "▶ In esecuzione"; document.getElementById("emulator-start").textContent = "▶ RUNNING"; lastTick = performance.now(); if (rafId == null) rafId = requestAnimationFrame(loop); } catch (e) { document.getElementById("emulator-status").textContent = "Errore start: " + e.message; } } // --- Reset --- function reset() { if (!gameboy) return; try { // Reconstruct the emulator with the same ROM const canvas = document.getElementById("gb-screen"); const raw = base64.decode(ROM_B64); const rom = new Uint8Array(raw.length); for (let i = 0; i < raw.length; i++) rom[i] = raw.charCodeAt(i) & 0xFF; gameboy = new GameBoyCore(canvas, rom, true); window.__gb = gameboy; gameboy.start(); isPaused = false; document.getElementById("emulator-status").textContent = "↻ Resettato"; document.getElementById("emulator-start").textContent = "▶ RUNNING"; if (rafId == null) rafId = requestAnimationFrame(loop); } catch (e) { document.getElementById("emulator-status").textContent = "Errore reset: " + e.message; } } // --- Pause toggle --- function togglePause() { if (!gameboy || !isRunning) return; isPaused = !isPaused; document.getElementById("emulator-status").textContent = isPaused ? "⏸ In pausa" : "▶ In esecuzione"; document.getElementById("emulator-pause").textContent = isPaused ? "▶ RESUME" : "⏸ PAUSE"; } // --- Keyboard handlers --- function onKeyDown(e) { if (e.key in KEYMAP && gameboy) { e.preventDefault(); try { gameboy.keyDown(KEYMAP[e.key]); } catch (err) { /* ignore */ } } } function onKeyUp(e) { if (e.key in KEYMAP && gameboy) { e.preventDefault(); try { gameboy.keyUp(KEYMAP[e.key]); } catch (err) { /* ignore */ } } } // --- Wire up buttons --- window.addEventListener("DOMContentLoaded", function() { document.getElementById("emulator-start").addEventListener("click", start); document.getElementById("emulator-reset").addEventListener("click", reset); document.getElementById("emulator-pause").addEventListener("click", togglePause); window.addEventListener("keydown", onKeyDown); window.addEventListener("keyup", onKeyUp); document.getElementById("emulator-status").textContent = "Pronto — premi START"; }); })(); </script>

Come funziona

  1. Caricamento: la pagina inietta il ROM AScreamFromTheDark.gb (32 KB) inline come stringa base64, decodificata al volo da JavaScript.
  2. Core: viene caricato il core GameBoy-Online di Grant Galitz (MIT license) da jsDelivr — è lo stesso core usato da emulatori come GameBoy Online.
  3. Rendering: il core disegna direttamente sul <canvas> 2× la risoluzione nativa (160×144 → 320×288) con image-rendering: pixelated per mantenere lo stile pixel-art nitido.
  4. Input: la tastiera viene mappata sui pulsanti hardware del Game Boy tramite gameboy.keyDown() / keyUp().

Limitazioni note

  • Audio disabilitato: per semplicità e per evitare dipendenze aggiuntive (XAudioServer.swf richiede Flash, MediaStreamWorker è più complesso). La musica è parte integrante dell'esperienza: se ti interessa, suona il ROM localmente con BGB, SameBoy o mGBA.
  • Salvataggio stato: non persistente (la pagina non usa localStorage). Ricaricare = ricominciare.
  • Performance: dipende dal browser. Mobile può avere throttling.

Metodi alternativi (con audio)

Se l'audio è importante, ecco i metodi consigliati:

1. wasmboy locale (raccomandato)

git clone https://github.com/torch2424/wasmboy.git
cd wasmboy
cp /path/to/AScreamFromTheDark.gb demo/roms/
cd demo
python3 -m http.server 8000
# Apri http://localhost:8000

2. PyBoy (Python, audio incluso)

pip install pyboy
python3 -c "
from pyboy import PyBoy
pyboy = PyBoy('AScreamFromTheDark.gb', window='Pygame')
while True:
    pyboy.tick()
    if pyboy.screen.frame_number > 0 and pyboy.screen.frame_number % 60 == 0:
        print(f'frame {pyboy.screen.frame_number}')
"

3. SameBoy (desktop nativo)

# Build from source (https://github.com/LIJI32/SameBoy)
make
./sameboy AScreamFromTheDark.gb

4. RetroArch con core Gambatte

# Installa core mgba or gambatte
retroarch --libretro=/usr/lib/libretro/gambatte_libretro.so AScreamFromTheDark.gb

Specifiche tecniche dell'embed

Componente Dettaglio
Core emulator GameBoy-Online (Grant Galitz) — MIT
Caricamento 3 file JS da cdn.jsdelivr.net/gh/chrismaltby/GameBoy-Online@master/
ROM 32 KB impacchettato inline come base64 (≈ 43 KB nella pagina)
Rendering HTML5 Canvas 2D, 320×288, image-rendering: pixelated
Refresh requestAnimationFrame (60 fps target)
Modalità GBC (colorizza la tavolozza DMG automaticamente)
Audio disabilitato (richiede Flash/SWFX o Web Audio + Worklet)
Storage niente (no save states persistenti)

Per chi vuole l'audio nel browser

Il modo più semplice è forkare chrismaltby/GameBoy-Online e servire il fork localmente — quello include già XAudioServer.js e tutti i file di supporto. Sostituisci la ROM nel index.html con AScreamFromTheDark.gb e l'audio funziona. Per il deploy su Gitea Pages, copia i file in docs/ e abilita GitHub/Gitea Pages.

In alternativa, torch2424/wasmboy include già tutto (audio + save states) ed è la scelta migliore se vuoi un'esperienza completa self-hosted.