Search

Lib.rs

› Emulators
#mos-6502 #mos #no-alloc #wdc #65c02 #65816

no-std w65c816

An emulator for the WDC W65C816S, a 16-bit derivative of the 6502

Owned by Kat.

  • Install
  • API reference
  • GitLab repo (katkosmos)

17 releases

0.1.17 Mar 3, 2026
0.1.16 Mar 2, 2026
0.1.15 Feb 27, 2026
0.1.14 May 3, 2024
0.1.7 Mar 28, 2024

#38 in Emulators

MIT license

225KB
5K SLoC

W65C816

An emulator for Western Design Center's W65C816S, a 16-bit derivative of the WDC W65C02S, which is itself a derivative of the MOS 6502.

I'm developing this as there doesn't appear to be any existing standalone '816 cores in Rust, and certainly not at the level of emulation I'm doing (though we can go deeper!). For other programming languages, 816 cores seem pretty sparse, and as far as I know, none provide a bus-accurate cycle-accurate emulator with all signals.

Testing

This core has been validated against this test suite and passes all tests. The core has not been validated against actual hardware.

Current plans:

  • continue adding instructions
  • continue adding addressing modes
  • ensure ABORT is implemented for all instructions
    • ensure ABORT is implemented correctly (check with a real '816)
  • tests, tests, and more tests
    • ideally generate tests from a real '816.

No runtime deps

Features

  • nightly
See also: mos6502, mizu, trapezoid, armv4t_emu, ruboy, r6502, save_state, maurice, gabbro, ruboy_lib, femtos

Lib.rs is an unofficial list of Rust/Cargo crates, created by kornelski. It contains data from multiple sources, including heuristics, and manually curated data. Content of this page is not necessarily endorsed by the authors of the crate. This site is not affiliated with nor endorsed by the Rust Project. If something is missing or incorrect, please file a bug.