38 lines
1.2 KiB
Text
38 lines
1.2 KiB
Text
# 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 latest stable release of `enscriptem`. I provide a `flake.nix` dev shell too *(cause I'm super nice)*.
|
|
|
|
This repo will mostly be a guide for embedding TinyEMU into your website (cause that's what I'm doing).
|
|
<br/><u><b>PS:</b></u> there is no guide for Windows because I'm allergic and it scares me.
|
|
> For WAYYYY more information read Bellard's original [readme.txt](readme.txt)
|
|
|
|
|
|
## 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
|
|
|
|
### Other Unix Systems
|
|
```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]
|
|
|
|
|