Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bgourlie/emu6502
A 6502 emulator
https://github.com/bgourlie/emu6502
Last synced: about 1 month ago
JSON representation
A 6502 emulator
- Host: GitHub
- URL: https://github.com/bgourlie/emu6502
- Owner: bgourlie
- License: apache-2.0
- Created: 2019-06-08T16:18:21.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-12-15T02:30:31.000Z (about 1 year ago)
- Last Synced: 2024-10-29T17:23:48.156Z (3 months ago)
- Language: Rust
- Size: 438 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# emu6502
This is a work-in-progress rewrite of [cpu6502], which was the first significant rust project I wrote, started before
rust reached version 1.0.### Testing
In addition to unit testing, the CPU is run against functional tests found
[here](https://github.com/Klaus2m5/6502_65C02_functional_tests). The test ROMs are stored in this repository, but if
they are updated and need to be re-assembled, you must use the AS65 assembler from
http://www.kingswood-consulting.co.uk/assemblers/. The source files for each ROM contain settings that must be set to
the correct values before being assembled in order to work with this emulator. Settings for each test rom are as
follows:**6502_functional_test.a65**
- `disable_decimal` must be set to `1`**6502_interrupt_test.a65**
- Keep the default settingsEach ROM is assembled in the following manner:
as65 -l -m -w -h0 6502_functional_test.a65
The resulting binary is mapped to the CPU's address space and the program counter is set to `0x400`. For some reason
the binary is 10 bytes short of 16KiB, so the binary is mapped to address space starting at `0xa`.[cpu6502]: https://github.com/bgourlie/cpu6502