Core firmware review

Review scope: the code present in this workspace, including the engine submodule, firmware integration, preset tables, persistence and editor/emulator paths. Local changes on the owner's computer are not included. The firmware is a candidate for FM-1 testing; hardware audio deadlines and analogue output have not been measured.

Core3 WAVE extension

Core3 appends PPG-, ESQ- and Prophet VS-inspired banks: 12 original additive waveforms, no additional factory presets. WAVE now has 20 waves / 80 harmonic mips / 40 KiB of tables. The original eight waves retain their exact sample bytes and bank IDs; all core2 save signatures and parameter meanings remain.

Focused validation covers regenerated table consistency, unchanged old-table checksums, 20 distinct spectra, out-of-band energy below -80 dB for every mip, all bank corners with scans and pitch/warp extremes, high-note folded harmonics, editor bank selection, simulated-flash round trips and full mix health for every bank corner. The emulator's heavy scene automates through the three new banks for native/WASM comparison. Existing core tests and target budgets pass. The app is 394,276 bytes, with 187,288 bytes free in its slot. Ordinary RAM remains 52,280 bytes and the pool 328,896 bytes, unchanged from core2. All 106 mix runs have zero PCM rail hits.

The original core2 review record follows; its broader fuzz/UI measurements are historical checks of that base, not claims that the entire review was repeated for this table extension. Current build details are in the package's build report.

Corrections

Evidence

GCC 14.2 at -O1 incorrectly reuses the existing custom-palette menu count across a palette store. The test passes with -fno-ipa-pure-const and at -O2. The broader host suite uses CC='cc -fno-ipa-pure-const'; firmware and WASM use Clang. Review logs and measurements are under the ignored build/ directory.

Hardware boundary

The build report beside the candidate package records exact image/RAM sizes and hashes. Static budgets and host performance cannot establish FM-1 interrupt/audio headroom. Initial hardware tests should cover dense four-part playback, long FX tails, rapid preset/engine switching, tuning/bend, repeated save/load and USB audio with the second core both off and on. No device has been flashed here.

DRUM still uses the existing synthesis styles; the proposed 808/909 redesign and 707/DMX PCM kits are not implemented. SAMPLE and other optional engines remain outside this core profile. No additional sample assets or audio-path allocation were introduced.