Files
byte-pusher-emu/README.md

54 lines
1.3 KiB
Markdown
Raw Normal View History

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
![Audio test](assets/audio_test.png)
<details>
<summary>More screenshots</summary>
#### Palette Test
2024-02-19 14:29:44 +05:30
![Screen test](assets/screen_test.png)
2024-02-25 10:07:53 +05:30
#### Keyboard test
![Keyboard test](assets/kb_test.png)
</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