2024-02-16 19:51:43 +05:30
|
|
|
# BytePusher Emulator
|
|
|
|
|
2024-02-25 10:11:53 +05:30
|
|
|
`byte-pusher-emu` is an emulator for the BytePusher virtual machine developed by [Javamannen](https://esolangs.org/wiki/User:Javamannen).
|
2024-02-21 18:52:38 +05:30
|
|
|
|
2024-02-25 10:11:53 +05:30
|
|
|
Binary builds for linux x86_64 is available in the Releases section.
|
2024-02-19 14:29:44 +05:30
|
|
|
|
2024-02-21 18:52:38 +05:30
|
|
|
|
2024-02-25 10:07:53 +05:30
|
|
|

|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary>More screenshots</summary>
|
|
|
|
|
|
|
|
#### Palette Test
|
2024-02-19 14:29:44 +05:30
|
|
|

|
2024-02-25 10:07:53 +05:30
|
|
|
|
|
|
|
#### Keyboard test
|
|
|
|

|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
2024-02-25 10:08:35 +05:30
|
|
|
The roms showcased here have been created by [Javamannen](https://esolangs.org/wiki/User:Javamannen).
|
2024-02-16 19:51:43 +05:30
|
|
|
|
2024-02-25 10:11:53 +05:30
|
|
|
Note: This is a project that was used to learn Rust and emulation basics. However, it should work good as a reference for running ROMs.
|
2024-02-19 13:03:33 +05:30
|
|
|
|
2024-02-19 13:41:49 +05:30
|
|
|
## Usage instructions
|
|
|
|
|
2024-02-25 10:11:53 +05:30
|
|
|
`byte-pusher-emu` is rather minimalistic, and needs to be launched from CLI.
|
|
|
|
|
|
|
|
For help on how to use, run the following:
|
2024-02-20 22:58:44 +05:30
|
|
|
```sh
|
|
|
|
./byte-pusher-emu --help
|
|
|
|
```
|
2024-02-19 13:41:49 +05:30
|
|
|
|
2024-02-20 22:58:44 +05:30
|
|
|
To load a program, use the following command.
|
|
|
|
|
|
|
|
```sh
|
|
|
|
./byte-pusher-emu -f rom.BytePusher
|
|
|
|
```
|
|
|
|
|
|
|
|
Loads a rom from the file specified. If `-f` is not mentioned, the VM will run with an empty memory (which will cause it to cycle endlessly).
|
2024-02-19 13:41:49 +05:30
|
|
|
|
2024-02-16 19:51:43 +05:30
|
|
|
## More information about the BytePusher VM
|
|
|
|
|
2024-02-25 10:09:30 +05:30
|
|
|
https://esolangs.org/wiki/BytePusher
|
|
|
|
|
|
|
|
## Development Status
|
|
|
|
|
|
|
|
- [X] Memory
|
|
|
|
- [X] Color
|
|
|
|
- [X] CPU
|
|
|
|
- [X] Display adapter - SDL2
|
|
|
|
- [X] Keyboard - SDL2
|
|
|
|
- [X] Audio - SDL2
|
|
|
|
- [X] Load a ROM
|