/superrustendo

Primary LanguageRustBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Superrustendo

What is it?

Right now it is nothing really exiting, yet. Basically it is some kind of "emulator" which can execute SFC files. By executing I actually mean it will start executing code starting from the Reset-Interrupt-Vector. Eventually it will break/stop executing due to not implemented Opcodes/Components.

That being said, there are two tools that already dropped out of this project:

  • snesdis (A simple dissasembler)
  • snesdbg (A step debugger) Both tools are in a very eary stage and not really ready to be used right now.

Why?

The SNES is my absolute favorite console. I really wanted to understand how the system works and how to write software (games/demos) for it. Also I wanted to improve my coding skills in rust. So I decided to start implementing this.

How to use?

I assume you have rustup and cargo installed.

To "execute" a SNES Rom (SFC) one need to type:

cargo run --bin superrustendo <path-to-sfc-file>

To dissasemle a SNES ROM file this:

cargo run --bin snesdis <path-to-sfc-file>

And to debug a SNES ROM file:

cargo run --bin snesdbg <path-to-sfc-file>

snesdbg usage

Once started with a sfc file the following commands are available:

Step one instruction: s|step

Step n instructions: s|step n

print CPU state: p|print cpu