Skip to content

A RISC-V interpreter written in C++ aiming to be modular, easy-to-understand and efficient

License

Notifications You must be signed in to change notification settings

cakehonolulu/Risky

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Risky

A modular, RISC-V interpreter written in C++23

risky_borax.mp4

Risky booting Borax

Compiling

  • Clone the repository and it's submodules
git clone https://github.com/cakehonolulu/Risky --recurse-submodules
  • Install the required dependencies

Ubuntu/Debian:

sudo apt install build-essential gcc cmake

This project uses the still-in-beta SDL3.

Since SDL3 builds still have not hit the main software repos, it's recommended to download the *.deb files for libsdl3 and libsdl3-dev and install them using:

sudo dpkg -i libsdl3.deb libsdl3-dev.deb

You can find the deb files over at:

https://packages.debian.org/experimental/amd64/libsdl3-dev

Or if you prefer, you can build SDL3 from source and use that instead.

Usage

Execute the application, provided you use the more mature ImGui frontend; you'll be asked to create a RISC-V core; choose between the available base ISA/extensions and you're good to go.

Simply open a binary file containing the desired code to run and step through it.

Resources

https://luplab.gitlab.io/rvcodecjs/

https://github.com/riscv/riscv-isa-manual/releases/tag/20240411

https://riscv.org/wp-content/uploads/2017/05/riscv-privileged-v1.10.pdf

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

About

A RISC-V interpreter written in C++ aiming to be modular, easy-to-understand and efficient

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published