Package client.teavm.common.compiletime
package client.teavm.common.compiletime
Provides compile-time data bindings and configuration for the TeaVM-based
builds of JSIDPlay2.
This package is responsible for embedding static emulator resources such as ROM images, palettes, SID configuration files, and audio lookup tables directly into the generated JavaScript or WebAssembly output. This approach avoids runtime file access and ensures that all required data is available immediately when the web application starts.
Key Responsibilities
- Embed C64 ROMs (BASIC, KERNAL, Character ROMs, drive ROMs, etc.) as Base64-encoded byte arrays for inclusion in TeaVM-generated builds.
- Provide preprocessed PAL palette data for the VIC-II video emulation.
- Expose SID identification and configuration data for chip emulation and playback accuracy.
- Embed precalculated floating-point lookup tables for efficient audio sample conversion and mixing.
- Offer static utility methods and default maps that replace traditional file I/O or resource loading in the browser runtime environment.
Design Overview
Classes in this package — such as RomsTeaVM, PaletteTeaVM,
and IniConfigTeaVM — are executed during the TeaVM compilation
process. Their outputs are compiled into Java constants that become part of
the generated JavaScript or WebAssembly module. This ensures deterministic,
fileless initialization of the emulator core at startup.
- Autor:
- Ken Händel
-
KlasseBeschreibungPre- generated INI configuration to be included and used in the JavaScript and web assembly version builds.Pre- generated lookup table to prevent floating point division in audio production's hot code path to be included and used in the JavaScript and web assembly version builds.Pre- generated PAL emulation color data to be included and used in the JavaScript and web assembly version builds.Emulator ROMS to be included and used in the JavaScript and web assembly version builds.Pre- generated Player ID Infos to be included and used in the JavaScript and web assembly version builds.Pre- generated Player IDs to be included and used in the JavaScript and web assembly version builds.