https://github.com/gbbirkisson/hemul
https://github.com/gbbirkisson/hemul
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/gbbirkisson/hemul
- Owner: gbbirkisson
- License: gpl-3.0
- Created: 2023-08-24T23:04:54.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-02-04T19:42:20.000Z (over 1 year ago)
- Last Synced: 2025-02-04T20:18:45.190Z (over 1 year ago)
- Language: Rust
- Size: 328 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

hemul
[](https://github.com/gbbirkisson/hemul/commits/main)
[](https://github.com/gbbirkisson/hemul/actions/workflows/ci.yml)
[](https://codecov.io/github/gbbirkisson/hemul)
[](https://github.com/gbbirkisson/hemul/blob/main/LICENSE)
Emulation of the 6502 micro processor, because why not 🤷 The project is named h[emu]l after the "Hemul" from the "Moomin" francise.
* [Requirements](#requirements)
* [Running the emulator](#running-the-emulator)
* [Resources](#resources)
## Requirements
You will need these binaries in your path to do testing:
- [vasm6502_oldstyle](http://www.compilers.de/vasm.html)
- [hexdump](https://man7.org/linux/man-pages/man1/hexdump.1.html)
## Running the emulator
With assembly code:
```console
$ cat << EOF | cargo run -p hemul-cli -- -b - -a
; 1 + 2
LDA #01
ADC #02
STA $0402
NOP
EOF
```
> [!NOTE]
> You will need `vasm6502_oldstyle` in your PATH to run this command!
## Resources
- https://www.nesdev.org/obelisk-6502-guide/
- http://www.6502.org/tutorials/decimal_mode.html
- https://wiki.cdot.senecacollege.ca/wiki/6502_Math
- https://www.youtube.com/watch?v=LnzuMJLZRdU&list=PLowKtXNTBypFbtuVMUVXNR0z1mu7dp7eH