Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
gdbstub
An ergonomic, featureful, and easy-to-integrate implementation of the GDB Remote Serial Protocol in Rust (with no-compromises #![no_std] support)
Wow, nice! I was planning on writing a proc macro to define the ISA myself as well, but I ended up with a fairly lengthy MBE that does the job for now. I really love the syntax of your macro and how it combines definitions with decoding and encoding; my macro is merely for definitions, and I implement decoding and assembly-printing in separate modules.
Pretty cool! I was planning to write an emulator myself. I only made a crate that helps build instruction sets for that purpose. You can check that out here. Basically you make an enum that contains all your instructions and you annotate each variant with the opcode and it will derive the following trait:
Shameless plug, but have you considered integrating gdbstub rather than rolling your own debugger? I know a couple folks out there have successfully integrated it into their PS1 emulators with great success.
Related posts
- gdbstub 0.6: An ergonomic, #![no_std] implementation of the GDB Remote Serial Protocol in Rust - now with async support!
- A fast STM32 embedded system emulator implemented in Rust
- Announcing Loadstone, a secure bare-metal Rust bootloader
- Static check optimization question
- Things I hate about Rust, redux