Files
adsp219x-re/r2plugin
Dr. Christian Giessen ae98262bb7 Fix Constant-YOP table, Type 18, truncation guards
Type 9 Constant-YOP: Implement exact constant table from docs.
  Index = (YY<<2)|CC, value = 1<<idx for BO=01, -(1<<idx)-1
  for BO=11.  Special case idx=15: -32768 / +32767.
  (was: simple cc with optional negate, completely wrong values)

Type 18: Fix DIS encoding to check for bit pattern 10 (was 01).
  Verified all 8 modes against assembler: ENA/DIS for
  AS, MM, BR, TI all correct.

Truncation guards: Use saved 'avail' from original op->size
  instead of checking op->size after it was set to 3.
  (was: always true, guards never triggered)
2026-04-22 20:05:17 +00:00
..

ADSP-219x Radare2 Plugin

Native architecture plugin for disassembling ADSP-219x (including ADSP-2191) 24-bit instructions in radare2 and iaito.

Build & Install

make
make install

Requires: GCC, radare2 >= 5.8.0 (RArchPlugin API).

Usage

r2 -a adsp219x -b 24 firmware.bin

Validation

Compare against the assembler-verified test ROM:

r2 -a adsp219x -b 24 -q -c "pd 48" ../examples/isa_test.bin

The test ROM (isa_test.dsp) was assembled with open21xx and contains known opcodes for all major instruction types.

Coding Standards

This plugin follows the GNU Coding Standards for C source code. No hardcoded absolute paths in any scripts.