2.6 KiB
2.6 KiB
Firmware v1.5.205 — analyzed image
Deep dive on the newest analyzed release (the version running on the dumped
unit: every strings≥6 in this image also occurs in IC300). Older releases and
deltas: rev-diff.md. Container/code basics: FINDINGS.md §4.
Vitals
- File
Lofi-12 XT.bin: 1,707,049 B, sha256a8bffa65919c0a2d4ff2ce77d16301551af4d2964497b8804deed49ce4198026, checksumB17C0857, triple (1, 5, 205), container (1, 3). - Entry
C2CD1AA0(DSP reset prelude), 7 sects, chain tiles EOF exactly.
Composition
| # | Load addr | Len | Role |
|---|---|---|---|
| 0 | C2DA7600 |
86,168 | asset/blob (7e xx bitmap/font/waveform pattern) |
| 1 | C2DA6DD4 |
688 | float table (filter/window coeffs) |
| 2 | C2DA7400 |
512 | fixed-record table (presets/patterns) |
| 3 | C2B80C00 |
1,490,112 | code (C674x LE, entropy ~6.89, ~12.6% zeros) |
| 4 | C2B809E8 |
8 | zero slot (alignment churn, not usable space) |
| 5 | C2D84DE0 |
125,081 | rodata (all strings, vtables; 6,362 code-ptrs, 3,141 self-ptrs) |
| 6 | C2DA5680 |
4,312 | float ramp tail |
What it does (from strings/symbols)
- Groovebox app: patterns/songs/tracks/scenes, 16-slice engine, pad handling
(
AppPad), step sequencer + transport with precount, per-track swing/mute. - Audio export (
AppAudioExport*,DialogAudioExporting,MixDown~): pattern/song mixdown + individual tracks,MIXDOWN FILE NAME:. - MIDI Note Map (
AppMIDINoteMap), MIDI I/O + CC step-lock handling. - Master FX:
MIsolator,MRackComp,SlipRoll,HoldDelay; sampleREVERSE; tag search, file normalize/convert,FILE DATABASE(1,024 files/folder). - Storage: SD via
N3HALdrivers; project chunk tags (PJST/SMPS/PTD2/PTDT/PJCF/SONG/TRAU/…); audioRIFF/WAVE/smpl/cue,MThd/MTrk;FileUtilrecursive copy/search +removeResourceFork. - UI: OLED via custom
RenderBufferpipeline +StepEditPageController(updateAppLED);SYSTEM INFO(VERSION/BOOT/SYSTEM/MCU);SYSTEM UPDATE; full C674x crash dumper (Legacy NMI Exception,A0–A31/B0–B31). - Toolchain traces: libc++ RTTI (
NSt3__…) ⇒ TI clang-based CGT.
Learned / verified
- Unpacked + repacked with
tools/→ byte-identical (cmpclean). Threshold→ThresholXLevel-0 mod forges to self-consistent462F735B.- Top string-sect zero gaps (388/256/223/≈196 B) bound same-build string growth without pointer surgery.
- v1.2→v1.5 added ~91 KiB code (export + note-map + 4 FX + transport rework);
callback ABI migrated
Fv→Fvi/Fvii/Fviii; display symbols turned over (RenderBufferIhLi128ELi128ELi1327Egone) — seerev-diff.md.