Questi emulatori non sono pensati soltanto per “far partire un gioco”. Il progetto è soprattutto un laboratorio di emulazione, reverse engineering e recupero di risorse: quando l’hardware e il formato lo permettono, l’obiettivo è osservare il funzionamento della macchina, disassemblare o ricostruire il codice, estrarre grafica e registrare o ricostruire i suoni.
Ogni core resta in un file HTML separato. La landing riconosce il sistema, può guardare dentro agli ZIP e passa ROM e BIOS soltanto quando il BIOS è realmente necessario e riconoscibile. I file rimangono nel browser.
✓ emulazione locale✓ disassembly / reverse engineering✓ estrazione grafica✓ cattura audio dove disponibilesperimentale, non cycle-perfectThese emulators are not intended only to “run a game”. The project is primarily an emulation, reverse-engineering and asset-recovery laboratory: when the hardware and file format allow it, the goal is to inspect the machine, disassemble or reconstruct code, extract graphics, and capture or reconstruct sound.
Each core remains in a separate HTML file. The launcher detects the system, can inspect ZIP archives, and passes ROMs and BIOS files only when a BIOS is genuinely required and positively identified. Files remain inside the browser.
✓ local emulation✓ disassembly / reverse engineering✓ graphics extraction✓ audio capture where availableexperimental, not cycle-perfectUna ROM commerciale contiene codice macchina e dati, non il progetto originale. Per questo gli strumenti del progetto lavorano a più livelli:
Quando una console usa sprite e tile hardware possiamo esportare strutture vicine agli asset del gioco. Quando invece la grafica è una bitmap, come sullo Spectrum, possiamo catturare lo schermo o ritagliarlo ma non esiste uno “sprite hardware” da estrarre. Sul Vectrex la grafica è vettoriale: quindi si esportano segmenti e fotogrammi SVG/JSON. Per l’audio, un WAV ricostruito rappresenta ciò che il modello del chip sta producendo; non implica che nella ROM esistesse un file WAV originale.
A commercial ROM contains machine code and data, not the original project. The tools therefore work at several levels:
On machines with hardware sprites and tiles, exports can be close to the game’s underlying assets. On a bitmap machine such as the Spectrum there is no hardware sprite to extract, so the tool captures or crops the screen instead. Vectrex graphics are vectors, so the natural export is SVG/JSON vector data. A reconstructed WAV represents the sound generated by the emulated chip; it does not imply that the original ROM contained a WAV file.
La landing può analizzare una cartella intera e le entry interne degli archivi ZIP. Usa estensioni, dimensioni e firme note — per esempio logo Nintendo, header GBA, TMR SEGA, header Coleco, header MSX — per scegliere il core corretto.
.bin o .rom. Deve corrispondere a sistema, dimensione attesa e nome/firma coerente.The launcher can inspect a whole folder and the entries inside ZIP archives. It uses extensions, sizes and known signatures — for example the Nintendo logo, GBA header, TMR SEGA, Coleco headers and MSX headers — to choose the appropriate core.
.bin or .rom. It must match the system, expected size and a coherent name/signature.ROM .gb, .gbc, .gba e, quando appropriato, .bin. Nessun BIOS esterno è richiesto dalla landing. GB/GBC usano il core interno; GBA usa il nuovo core JSD ARM7TDMI indipendente, caricato localmente solo quando serve.
Dump della memoria con mappa CPU e ROM fisica; disassembler LR35902 bank-aware per GB/GBC; disassembler ARM7TDMI ARM/Thumb per GBA con branch, load/store, ALU, stack e SWI. Esportazione ASM.
GB/GBC: tile 2bpp, tilemap e OAM. GBA: tile BG/OBJ 4bpp/8bpp, palette e 128 oggetti OAM. Export PNG/JSON e screenshot. Per GB/GBC il monitor audio espone l’APU a 4 canali e il relativo stato; il nuovo core GBA registra i registri audio e offre un monitor audio di base, ma DirectSound non è ancora completo.
Export/import dello stato e della RAM dove supportato dalla modalità corrente.
ROMs: .gb, .gbc, .gba and, where appropriate, .bin. The launcher requires no external BIOS. GB/GBC use the internal core; GBA uses the new independent JSD ARM7TDMI core, loaded locally on demand.
CPU-mapped and physical-ROM memory views; bank-aware LR35902 disassembly for GB/GBC; ARM7TDMI ARM/Thumb disassembly for GBA including branches, load/store, ALU, stack and SWI. ASM export.
GB/GBC: 2bpp tiles, tilemaps and OAM. GBA: 4bpp/8bpp BG/OBJ tiles, palettes and 128 OAM objects. PNG/JSON export and screenshots. For GB/GBC the audio monitor exposes the four-channel APU and its state; the new GBA core logs audio registers and provides a basic audio monitor, while DirectSound is not yet complete.
State and RAM export/import where supported by the active mode.
ROM .sms, .gg e ZIP che contengono questi formati. Il BIOS è opzionale e non viene precaricato dalla landing.
Memoria CPU/ROM/RAM/SRAM, trace Z80, listing statico Z80 con export ASM, screenshot PNG, export VRAM/CRAM, atlante live dei tile 4bpp con palette SMS o GG.
NTSC/PAL, mapper SEGA o Codemasters, effetti video pixel/scanlines/CRT, velocità emulazione, stato macchina.
ROMs: .sms, .gg, plus ZIP archives containing those formats. BIOS is optional and is not auto-loaded by the launcher.
CPU/ROM/RAM/SRAM memory, Z80 trace, static Z80 listing with ASM export, PNG screenshot, VRAM/CRAM export, and a live 4bpp tile atlas using SMS or GG palettes.
NTSC/PAL, SEGA or Codemasters mapper, pixel/scanline/CRT effects, emulation speed and machine state.
La landing passa gli ZIP completi: neogeo.zip per BIOS/board ROM e uno ZIP MAME per il gioco. L'emulatore separa internamente P/S/M/V/C. Sono supportati anche file estratti caricati manualmente.
Runtime 68000 sperimentale, trace e registri, disassembly P-ROM 68000, disassembly M1/Z80, estrazione FIX/S-ROM e C-ROM sprite, export ASM e report del ROM set.
The launcher passes complete ZIP packages: neogeo.zip for BIOS/board ROMs and a MAME-style ZIP for the game. The emulator separates P/S/M/V/C internally. Extracted files can also be loaded manually.
Experimental 68000 runtime, trace/register view, 68000 P-ROM disassembly, M1/Z80 disassembly, FIX/S-ROM and C-ROM sprite extraction, ASM export and ROM-set reporting.
BIOS ColecoVision da 8 KiB richiesto. Cartucce .col, .cv, .rom o .bin quando valide.
Registri Z80, memoria, VRAM e registri VDP, trace I/O, decompiler/analizzatore euristico Z80 con entry point da header, da $8000 o manuale, export ASM e report diagnostico.
Cattura fino a circa 600 VBlank (~10 s): sprite TMS9918A, Sprite PNG/JSON, stato e scritture SN76489A, Sound JSON e WAV. È possibile esportare anche la VRAM.
An 8 KiB ColecoVision BIOS is required. Cartridges may be .col, .cv, .rom or .bin when valid.
Z80 registers, memory, VRAM and VDP registers, I/O trace, heuristic Z80 decompiler/analyser with header, $8000 or manual entry point, ASM export and diagnostic report.
Capture up to roughly 600 VBlanks (~10 s): TMS9918A sprites, Sprite PNG/JSON, SN76489A state/writes, Sound JSON and WAV. VRAM can also be exported.
ROM di sistema 48K esattamente 16.384 byte (.rom/.bin). Giochi/schermate: snapshot .sna, .z80 48K, cassette .tap, schermate .scr.
Con TAP: dal BASIC usa LOAD "". Sono disponibili Play, Stop, Rewind e caricamento rapido con la routine ROM standard.
Registri e step Z80, step frame, trace delle ultime 160 istruzioni, dump memoria, disassembler e export listing/RAM. Lo Spectrum non ha sprite hardware: la sezione grafica cattura lo schermo e permette il ritaglio PNG. Il beeper 1-bit può essere registrato fino a 30 secondi ed esportato in WAV/JSON.
48K system ROM exactly 16,384 bytes (.rom/.bin). Games/screens: 48K .sna or .z80 snapshots, .tap tapes and .scr screens.
For TAP files use LOAD "" from BASIC. Play, Stop, Rewind and fast loading through the standard ROM routine are available.
Z80 registers and stepping, frame step, last-160-instruction trace, memory dump, disassembler and listing/RAM export. Spectrum has no hardware sprites: the graphics section captures the screen and supports PNG cropping. The 1-bit beeper can be recorded for up to 30 seconds and exported as WAV/JSON.
Main BIOS MSX1 da 32 KiB. Cartucce .mx1, .rom o .bin. RAM emulata: 64 KiB. Mapper standard, ASCII e Konami.
Registri Z80, memoria, VDP, trace, analisi euristica della cartuccia con punto d’ingresso esplicito e byte originali, export ASM.
Cattura fino a circa 600 VBlank (~10 s): sprite TMS9918A e registri AY-3-8910. Export sprite PNG/JSON, suoni JSON e WAV dove previsto.
A 32 KiB MSX1 Main BIOS is required. Cartridges: .mx1, .rom or .bin. Emulated RAM: 64 KiB. Standard, ASCII and Konami mappers.
Z80 registers, memory, VDP, trace, heuristic cartridge analysis with explicit entry point and original bytes, ASM export.
Capture up to roughly 600 VBlanks (~10 s): TMS9918A sprites and AY-3-8910 registers. Sprite PNG/JSON, sound JSON and WAV export where implemented.
Cartucce .vec, .rom o .bin. Per le cartucce commerciali servono ROM e BIOS originale; senza ROM resta disponibile la demo vettoriale interna.
Stato CPU Motorola 6809, memoria, trace, disassembler 6809 da indirizzo o dal PC corrente, export ASM.
Il Vectrex costruisce le immagini durante l’esecuzione. La cattura registra fino a 300 campioni (~10 s a 1×) e permette di esportare fotogramma SVG, sequenza vettoriale JSON, registri AY JSON e WAV ricostruito dai tre canali tonali.
Questa build usa un core JSD JavaScript indipendente: CPU 6809, mappa memoria Vectrex, VIA 6522, bus AY-3-8912 e un modello analogico del fascio sono implementati direttamente nel progetto. Il reset usa il vettore $FFFE. Timing VIA/analogico, alcune istruzioni o modalità 6809 meno comuni e gli effetti vettoriali molto sensibili ai cicli restano sperimentali. BIOS e ROM commerciali non sono inclusi. Il WAV esportato deriva dal modello audio corrente e non ricostruisce sorgenti musicali originali.
Cartridges: .vec, .rom or .bin. Commercial cartridges require both ROM and original BIOS; without a ROM the built-in vector demo remains available.
Motorola 6809 CPU state, memory, trace, 6809 disassembler from an address or current PC, ASM export.
Vectrex builds its image while running. Capture records up to 300 samples (~10 s at 1×) and can export an SVG frame, vector sequence JSON, AY register JSON and a WAV reconstructed from the three tone channels.
This build uses an independent JSD JavaScript core: the 6809 CPU, Vectrex memory map, VIA 6522, AY-3-8912 bus and an analogue beam model are implemented directly in the project. Reset uses vector $FFFE. VIA/analogue timing, some less-common 6809 instructions or modes, and highly cycle-sensitive vector effects remain experimental. Commercial BIOS and ROM files are not included. WAV export comes from the current audio model and does not reconstruct original music source files.
Executive ROM: 4K parole / 8 KiB, mappata a $1000. GROM: 2 KiB, mappata a $3000. La landing riconosce come cartucce di gioco i file .int. I file .bin/.rom vengono considerati Intellivision soltanto quando corrispondono a EXEC o GROM per nome e dimensione.
La versione M5.0 espone stato CP1610, memoria, eventi, informazioni sul PSG AY-3-8914 e strumenti di reverse engineering. Le immagini Intellicart possono contenere segmenti, attributi RAM/ROM e bankswitch.
intellijsd.html contiene ora il core standalone M5.0 completo: non apre più il sito deployato e può funzionare localmente/offline. La landing passa automaticamente EXEC e GROM solo se identificati per nome e dimensione, e passa come gioco soltanto una cartuccia .int.Anche qui “decompilare” significa produrre una ricostruzione CP1610 e individuare codice/dati/entry point quando possibile; non significa recuperare il sorgente originale.
Executive ROM: 4K words / 8 KiB, mapped at $1000. GROM: 2 KiB, mapped at $3000. The launcher recognises .int files as game cartridges. .bin/.rom files are treated as Intellivision only when they match EXEC or GROM by name and exact size.
M5.0 exposes CP1610 state, memory, events, AY-3-8914 PSG information and reverse-engineering tools. Intellicart images may contain segments, RAM/ROM attributes and bank switching.
intellijsd.html now contains the complete standalone M5.0 core: it no longer opens the deployed site and can run locally/offline. The launcher passes EXEC and GROM only when they match the expected name and size, and passes only a .int cartridge as the game ROM.Here too, “decompiling” means reconstructing CP1610 assembly and identifying code/data/entry points where possible; it does not recover the original source.
| Comando | Significato |
|---|---|
| Power / Accendi | Avvia o spegne la macchina emulata quando il core lo prevede. |
| Reset | Riporta CPU e periferiche allo stato di reset; non ricarica necessariamente i file. |
| Pausa / Riprendi | Ferma l’avanzamento dell’emulazione conservando lo stato corrente. |
| Step / Passo | Esegue una singola istruzione o un singolo frame, a seconda del core. |
| Audio | Web Audio richiede in genere un gesto dell’utente prima di essere attivato dal browser. |
| Fullscreen | Il fullscreen interno ingrandisce lo schermo del core; quello della landing ingrandisce l’intero emulatore. |
| State | I salvataggi di stato sono specifici del singolo emulatore/versione e non sono intercambiabili. |
| Save persistenti | Il launcher v0.2.9 interroga direttamente GB/GBC/GBA, SMS/GG, Mega Drive, Neo Geo, NES e PC Engine tramite bridge locale; i save-state completi restano separati. SNES SRAM non ancora implementata. |
| Command | Meaning |
|---|---|
| Power | Starts or stops the emulated machine where the core exposes power control. |
| Reset | Resets CPU and peripherals; it does not necessarily reload files. |
| Pause / Resume | Stops emulation progress while preserving current state. |
| Step | Runs one instruction or one frame depending on the core. |
| Audio | Web Audio normally requires an explicit user gesture before a browser allows playback. |
| Fullscreen | Core fullscreen enlarges the emulator screen; launcher fullscreen enlarges the whole emulator. |
| State | Save states are specific to each emulator/version and are not interchangeable. |
| Persistent saves | The v0.2.9 launcher directly queries GB/GBC/GBA, SMS/GG, Mega Drive, Neo Geo, NES and PC Engine through a local bridge; full save-states remain separate. SNES cartridge SRAM is not implemented yet. |