A Commodore 64 emulator written in Rust with a built-in visual debugger for understanding hardware internals.
Rust64 is a Commodore 64 emulator written in the Rust programming language. It provides cycle-accurate emulation of the C64's hardware, including the VIC-II, CIA, and SID chips, with a focus on transparency and educational value. The project includes a built-in visual debugger that allows users to inspect memory and registers in real-time.
Developers and hobbyists interested in retro computing, emulator development, or learning about the Commodore 64's hardware internals through a clear, Rust-based implementation.
Rust64 offers a uniquely transparent and educational approach to C64 emulation with its integrated visual debugger and cycle-accurate design. It is built in Rust for performance and safety, making it a modern tool for exploring classic hardware.
Commodore 64 emulator written in Rust
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides fairly accurate cycle-based emulation of C64 hardware, making it ideal for studying how components like the VIC-II and SID operate in real-time, as highlighted in the README's focus on unobfuscated internals.
Includes a built-in debugger that displays memory pages, registers, and a raster debugger for VIC cycles, allowing real-time inspection of hardware states, which is rare in many emulators.
Aims to present C64 workings clearly for learning, with command-line loading and key mappings that mimic the original system, supported by detailed resources and demos.
Written in Rust for performance and safety, leveraging cargo for easy builds, though it requires Rust 1.58.0 or higher, appealing to developers interested in modern systems programming.
Missing serial bus/disk drive support (d64, t64, tap) and has unimplemented ops, limiting compatibility with some C64 software, as admitted in the TODO and known issues sections.
Debug output (F11) is noted as 'very slow!' and elaborate programs may not run correctly due to timing inaccuracies, reducing its utility for real-time applications or gaming.
Requires SDL2 with extra installation steps beyond minifb, and compilation depends on specific Rust versions, which can be a barrier for casual users or those on diverse systems.
Described as an on-off WIP project with varying update frequency, making it unreliable for long-term projects or fixes, as noted in the README.