# Component credits

| Component | Source | Terms |
|---|---|---|
| Z80 interpreter | SORD webulator copy of Molly Howell's Z80.js | [MIT](Z80-MIT.txt) |
| TMS9918 JavaScript renderer | SORD webulator; derived from the TMS9918A datasheet and Troy Schrapel's vrEmuTms9918 | [Original MIT notice](vrEmuTms9918-MIT.txt) |
| MSX slot, cartridge, keyboard, and AY behavior | Petr Bláha's picoM8 implementation, ported/adapted into JavaScript | [MIT](picoM8-MIT.txt) |
| C-BIOS 0.29a, `cbios_main_msx1_eu.rom` | Rebuilt upstream PAL source with local padding and ROM-initializer fixes; see `firmware/cbios/` | [BSD 2-clause](C-BIOS.txt) |
| ESNAP container and shared Z80 state encoding | SORD webulator / Ondra snapshot format; MSX schema implemented here | Retained project provenance |
| Browser layout and controls | Adapted from the user's SORD m5 webulator | Retained project provenance |
| Diagnostic cartridge | Original Z80 program and glyphs in `tools/build-demo.cjs` | Project source; contains no game or proprietary BIOS data |

The CPU copy includes local corrections for HALT refresh/timing and immediate
DI behavior, plus atomic ignored DD/FD prefixes. The video core is reused with its source attribution intact.

[WebMSX](https://github.com/ppeccin/webmsx) was consulted as a reference for
ideas and user-facing capabilities. No WebMSX code, ROMs, or assets are included.
The bundled firmware is C-BIOS and does not include MSX BASIC.
