# ADSP-219x Reverse Engineering Toolkit Radare2 architecture plugin and reference materials for reverse engineering ADSP-2191 firmware. ## Contents r2plugin/ Native radare2 arch plugin (C, GNU style) examples/ ADSP-2191 assembly examples (FIR, IIR, FFT, Viterbi) + assembler-verified ISA test ROM testrom/ Test ROM generator for plugin validation docs/ Architecture reference, opcode tables, walkthrough guides ## Quick Start cd r2plugin && make && make install r2 -a adsp219x -b 24 examples/isa_test.bin [0x00000000]> pd 48 ## Requirements - Radare2 >= 5.8.0 (RArchPlugin API) - GCC ## Plugin Status Currently decodes: NOP, IDLE, Type 1 (multifunction), Type 3 (direct memory), Type 4 (compute + memory), Type 6/7 (immediate loads), Type 10/10a (jump/call), Type 17 (reg move), Type 20 (RTS/RTI). Work in progress: Type 9/9a (standalone compute), Type 11 (DO UNTIL), Type 15 (shift), Type 18 (mode control), Type 25 (saturate). ## Assembler The examples were assembled with [open21xx](https://github.com/wodz/open21xx), an open-source assembler/linker for ADSP-218x/219x. Build instructions are in the open21xx README. The resulting ELF is converted to raw binary with `dd` (extract the `int_pm` section). ## License Plugin code: LGPL-3.0-only. Example code from Analog Devices application notes. Documentation extracts from the ADSP-219x DSP Instruction Set Reference.