gmod-lcpu/native/projects/riscv
Lily Tsuru 8eb4b6ef41 lcpu: Misc cleanup
LuaDevice now works fully, without any weird bugs. Yay!
This took quite a bit of bugstomping to arrive to; some of which ended up discovering I'm not particularly proud of doing. Oops!

The LuaCpu implementation no longer has a UART implementation in C++ (which actually leaked everytime a LuaCpu was garbage collected... Yeesh) - instead the Lua entity code actually implements the UART! Pretty cool to see the fruits of my labor actually working!

The LuaHelpers macros are renamed slightly to make them less of a pain (and also because I think having `_IMPLEMENT` in a function implementation is a bit stupid.)

I have updated the ideas document to better reflect my plans for the project system.
2023-07-28 06:05:58 -04:00
..
include/riscv lcpu: Lua devices now work!! 2023-07-27 06:03:28 -04:00
src lcpu: Misc cleanup 2023-07-28 06:05:58 -04:00
CMakeLists.txt wow holy shit lily finally figured out how to work on the cpu core! 2023-07-23 05:19:08 -04:00
README.md riscv: IT WORKS 2023-07-24 00:01:39 -04:00

README.md

riscv

This is a simple RISC-V RV32IMA emulation library.

This is based off cnlohr/mini-rv32ima, but:

  • Rewritten in C++20 (because I like sanity)
  • Cleaned up vastly
  • Moved ALL device and MMIO code to seperate interfaces

Depends on lucore.

Usage

TBD (if this is moved to another repo). See the riscv_test_harness project.