LCPU - a alternative CPU addon for Garry's Mod
Go to file
Lily Tsuru 92a62322f9 projgen: Working!
The test-gmod project now builds without any hand-written Makefile, building it by using projgen to generate a makefile then make to build it now works!

I'm pretty happy with it, there's a couple things I might want to fix/add, but for now it's functionally ready.

Now I can probably focus on building a Containerfile for the build image.
2023-07-30 23:44:24 -04:00
data begin actually setting up the repository as a GMod addon.. 2023-07-16 06:05:19 -04:00
lua lcpu/lua: Add Wiremod interface 2023-07-29 01:56:19 -04:00
native projgen: Working! 2023-07-30 23:44:24 -04:00
test-gmod projgen: Working! 2023-07-30 23:44:24 -04:00
.clang-format riscv: implement syscon + system hooks 2023-07-24 01:56:50 -04:00
.editorconfig init 2023-07-16 01:58:32 -04:00
.gitignore projgen: Working! 2023-07-30 23:44:24 -04:00
.gitmodules projgen: Initial commit 2023-07-30 06:58:02 -04:00
LICENSE revert loggingsystem usage until I feel safe requiring x64 gmod 2023-07-18 23:33:30 -04:00
README.md lcpu: make build_module take in the path to the gameserver 2023-07-29 17:02:03 -04:00
build_module.sh projgen: Initial commit 2023-07-30 06:58:02 -04:00
ideas.md projgen: Working! 2023-07-30 23:44:24 -04:00

README.md

LCPU

LCPU is an alternative CPU core addon for Garry's Mod and Wiremod.

It provides:

  • A standard RISC-V architechure (rv32ima) CPU core, implemented in native code
    • I know, but it wouldn't particularly be very good if I managed to implement it in Lua (that and the more reasons to not use Lua for a part of this codebase, the better...)
  • Interoperation with the Wiremod addon (and addons which implement Wiremod integration)

This addon works with both the non-beta branch and the x86-64 beta branches of GMod, however rigorous testing is usually only done with the x86-64 beta branch.

Note that the GitHub mirror is provided only for convinence, and is not used for active development. See this link for the actual development repository.

Installation

You will need Wiremod installed, either from the Workshop or cloned as a filesystem addon.

This repository is set up to be a Filesystem Addon; therefore, workflows which clone repositories from Git and put them in addons/ should be able to work with the LCPU addon just fine.

Preliminary installation steps (for Linux):

garrysmod/addons$ git clone --recursive https://git.crustywindo.ws/modeco80/gmod-lcpu.git lcpu
garrysmod/addons$ cd lcpu
garrysmod/addons/lcpu$ ./build_module.sh [gameserver path]
# Tada!

Windows building is currently untested; I see no reason why it wouldn't work.

Special Thanks

CNLohr - I may not like the mini-rv32ima code that much, but it did still help a lot (and my emulation core library is based off it, with tons of refactoring and a C++ rewrite to boot.), so thanks for creating the project.