diff --git a/README.md b/README.md new file mode 100644 index 0000000..8ea9b22 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +#### TinyEMU System Emulator +**This repo is a fork** of [Fabrice Bellard's TinyEMU project](https://bellard.org/tinyemu), +a lightweight RISC-V and x86 emulator. Specifically migrating the project to +the current versions `enscriptem`. I provide a `flake.nix` dev shell too (cause I'm super nice). + +##### Compiling +###### Nix +```bash +nix develop +makejs # alias for `make -f Makefile.js` +make +``` +> [!NOTE] +> `emscripten` expects an FHS so I've instead implemented a shell hook to +> ~~steal~~ *copy* `${pkgs.emscripten}/share/emscripten/cache` prior to `makejs`. +> Refer to https://github.com/NixOS/nixpkgs/issues/139943 + +###### Not Nix +```bash +make -f Makefile.js +make +``` +> [!TIP] +> The following dependencies are required for compilation, the version +> numbers are what I compiled against but are not strict. +> 1. `make` \[v4.4.1] (aka `gnumake`) +> 2. `emscripten` \[v4.0.8] +> 3. `SDL` \[v1.2.68] (aka `libsdl`) +> 4. `curl` \[v8.14.1] +> 5. `openssl` \[v3.4.1] + +