# Emulator credits

The playground embeds [Will Scullin’s apple2js](https://github.com/whscullin/apple2js),
revision `ee0aed25f73c69d0245e86a2a5fccb3324c3056c`, and its
[cpu6502](https://github.com/whscullin/cpu6502) submodule, revision
`dca469ab95e38a3fa1a63e95be2f65aa155dc86d`.

The source snapshots in `vendor/` retain their original MIT licenses:
[apple2js](vendor/apple2js/LICENSE) and [cpu6502](vendor/cpu6502/LICENSE).
The Apple IIe system ROM and character ROM data come from that upstream
snapshot; the emulator code license does not establish ownership of Apple's ROMs.

`web/scripts/build.mjs` selects the unenhanced Apple IIe ROM, 6502 CPU, and
Canvas renderer at build time. It removes the optional WebGL import and fixes
the ROM imports to this model. The local `ram.ts` also restores bytes into the existing buffer so the video
pages retain valid shared RAM views after reset. Other vendored source files
are unchanged.
There is no remote iframe, CDN, disk download, or runtime network dependency.

The playground installs the upstream Disk II controller in slot 6 with empty
drives. A local subclass disables its optional disk-formatting worker, since
this tutorial does not load disk images. The card ROM and controller behavior
are unchanged.
