Crates.io | emu6502 |
lib.rs | emu6502 |
version | 0.1.1 |
source | src |
created_at | 2022-10-23 03:29:24.320523 |
updated_at | 2022-10-23 17:45:42.842974 |
description | A 6502 emulator using the vm6502 backend. |
homepage | |
repository | https://github.com/GRAYgoose124/emu6502 |
max_upload_size | |
id | 695038 |
size | 78,742 |
emu6502 is a full 6502 emulation, testing, and debugging suite.
It uses vm6502 as a backend. It also uses anima6502 to utilize python bindings for the vm.
# Clone the repo and enter it.
> git clone git@github.com:GRAYgoose124/emu6502.git
> cd emu6502/
# To run the project as a regular binary:
> cargo run --features=debug_vm
# Or to build it as a standalone binary and run:
> cargo build --release
> ./target/release/emu650
Anima provides Python bindings for the virtual machine from crate::vm6502.
Anima uses maturin build tooling.
It's recommended you first create a virtual env in the root of emu6502 before installing.
> cd 6502
> maturin [develop|release] # develoop automatically installs
# To develop the Anima backend python
> pip install -e .
# Tests
> maturin test
S/N: maturin develop will rewrite this pip installation, useful for python only changes.
After building with maturin, you can simply run anima, or use it's bindings in python with anima._anima.
> anima6502
from anima._anima import Animator
animator = Animator()
animator.do_program(0x0000, "690101690101")