# Kaleidostrobe reverse-engineering tools How `lintunes/kaleidostrobe/` was made, and how to check it again. Dev-only: needs `pip install capstone unicorn numpy` (never a LinTunes dependency) and the original bundle (`KALEIDOSTROBE_BIN`, default `~/documents/misc/lil hacky bits/Kaleidostrobe.bundle/Contents/MacOS/Kaleidostrobe`). - `macho.py` — Mach-O PPC parser + annotated disassembly (`python macho.py _display _checkBeat`): resolves the PIC base, stubs, non-lazy pointers and float constants. - `emu.py` — the original under Unicorn: imports answered in Python (libm, Darwin `rand`, TickCount/Microseconds, Carbon's `pi`), GL calls recorded. After adding a hook, `ctl_remove_cache` — Unicorn never applies a hook to code it already translated. - `plugin.py` — drives `VisualPluginHandler` like iTunes: init, show, vply, vrnd. - `extract.py OUT.npz` — the colour maps and base wave images → `lintunes/kaleidostrobe/tables.npz`. - `golden.py OUT.npz` — `tests/kaleidostrobe_golden.npz`. - `compare.py [frames]`, `coverage.py` — the port against the original, frame by frame / function by function.