ioncodes

ioncodes / chipi

Public

A declarative instruction decoder and disassembler generator using a custom DSL

19
1
100% credibility
Found Feb 18, 2026 at 19 stars -- GitGems finds repos before they trend. Get early access to the next one.
Sign Up Free
AI Analysis
Rust
AI Summary

Chipi generates Rust code for CPU instruction decoders and disassemblers from simple declarative description files.

How It Works

1
🕵️‍♂️ Discover chipi

You're building a program to understand old computer instructions and find this friendly helper that makes it super simple.

2
📝 Describe instructions

You write a plain text file listing what each instruction looks like, using easy patterns and names like a shopping list.

3
Create the decoder

You tell chipi your description and it instantly generates smart code that can read and make sense of those instructions.

4
🔗 Add to your project

You drop the new code into your program, and everything connects smoothly.

5
🧠 Test it out

Your program now takes mystery bytes and turns them into clear, readable instruction names and details.

🎉 Perfect understanding

Your emulator or analyzer works flawlessly, decoding any code correctly and displaying it beautifully.

Sign up to see the full architecture

4 more

Sign Up Free

Star Growth

See how this repo grew from 19 to 19 stars Sign Up Free
Repurpose This Repo

Repurpose is a Pro feature

Generate ready-to-use prompts for X threads, LinkedIn posts, blog posts, YouTube scripts, and more -- with full repo context baked in.

Unlock Repurpose
AI-Generated Review

What is chipi?

Chipi is a Rust-based generator for declarative instruction decoders and disassemblers using a custom DSL in .chipi files. Define CPU encodings—like fixed bits, fields with sign-extend or shift transforms, and disassembly formats—then it builds type-safe Rust enums, efficient decode functions, and Display impls as a build dependency. Solves the pain of manual bit twiddling and switch sprawl for custom declarative decoders.

Why is it gaining traction?

Its declarative instructions shine for variable-length ops, wildcards in patterns, and rich formatting with guards, ternaries, maps for mnemonics, and arithmetic—far simpler than hand-rolled parsers. Seamless Rust integration yields zero-runtime-cost decoders with custom format traits, handling msb0/lsb0 and endianness out of the box. Devs dig the GameCube PPC/DSP example for quick ISA prototyping.

Who should use this?

Emulator builders tackling obscure ISAs like GameCube DSP, reverse engineers crafting disassemblers for proprietary chips, or firmware analysts needing fast declarative pipelines in Rust. Ideal if you're tired of opcode switch hell for custom decoders.

Verdict

Grab it for niche declarative decoder needs—works well for small-to-medium ISAs—but 19 stars and 1.0% credibility signal early maturity with README-only docs. Test on your arch before prime time.

(187 words)

Sign up to read the full AI review Sign Up Free

Similar repos coming soon.