Commodore 64 Emulator v0.8.7.6-alpha is released. A Commodore 64 emulator written in modern C++, built with SDL2 and designed around two priorities:Accuracy-first emulation (with a strong focus on real hardware behavior over “good enough” hacks); Debuggability (integrated monitor, break/watchpoints, and visibility into what the machine is doing). This project is actively under development; expect rough edges and incomplete features.
Commodore 64 Emulator Changelog:
v0.8.7.6-alpha is a substantial alpha release focused on floppy-drive
emulation, VIC-II rendering accuracy, cartridge support, input devices,
open-bus behavior, and debugging tools.
A major part of this release is the addition of G64 support and a new
shared GCR infrastructure used by the 1541 and 1571 drive implementations.
Highlights
Added G64 disk image support for the 1541
Added writable G64 media support
Introduced shared GCR track-stream and codec infrastructure
Refactored 1541 and 1571 raw GCR handling
Improved 1571 and D71 behavior
Major VIC-II dot-level rendering improvements
Added paddle support
Added multiple new cartridge types
Expanded ML Monitor drive debugging and IEC diagnostics
Improved open-bus emulation
Floppy Drive and Disk Image Emulation
G64 Support
Added initial and writable G64 disk-image support for the 1541.
Improvements include:
G64 header and track-table parsing
Raw GCR track loading
Packed G64 speed-zone support
Per-byte G64 speed-zone timing
Writable G64 tracks
G64 SAVE, LOAD, replace, and scratch support
Improved G64 UI track/sector reporting
Circular GCR track handling
Wrapped GCR header detection
Improved GCR sync detection
Reduced redundant raw-track copies during writes
Shared GCR Infrastructure
Added a reusable GCR subsystem:
Added GCRTrackStream
Moved GCRCodec into the shared GCR subsystem
Centralized raw track data, sync maps, and speed-zone handling
Migrated the 1541 to shared GCR handling
Migrated the 1571 to shared GCR track handling
Reduced duplicated GCR implementation between drive models
1571 / D71
Several 1571 and D71 fixes and improvements were made:
Fixed GCR byte handling while the 1571 is operating in native 2 MHz mode
Prevented pending GCR bytes from being overwritten
Fixed D71 BAM writes for side 2
Improved 1571 IEC/CIA/VIA interaction
Improved ATN/ATNA handling
Moved additional IEC clock behavior into the VIA implementation
Added CIA IEC input and ATN flag handling
VIC-II Improvements
A major VIC-II rendering refactor was completed during this release.
Changes include:
Made dot-level rendering authoritative
Added dot-level final color composition
Split dot output across Phi1 and Phi2
Improved live sprite X-position handling
Improved live sprite enable, multicolor, and color sampling
Improved live background-color sampling
Improved X-scroll timing
Added a background graphics shift register
Improved standard and multicolor graphics shifting
Added pending background reload handling
Improved background sequencer timing and state
Removed obsolete scanline rendering and color replay paths
Removed redundant background rendering state
Reorganized VIC-II implementation into subsystem source files
These changes continue the move toward more cycle- and dot-accurate VIC-II
behavior.
Paddle Support
Added initial paddle-controller support.
This includes:
Paddle device implementation
POTX/POTY reads through the SID
CIA1 paddle-port selection
Keyboard paddle controls
Paddle key mapping
InputManager integration
UI attachment and toggle support
Machine wiring for paddle input
Cartridge Support
Added and expanded support for a large number of cartridge types.
New cartridge implementations include:
Formel 64
Pagefox
Universal Cartridge 1
Universal Cartridge 1.5
Universal Cartridge 2
Partner 64
Hyper-BASIC
Silverrock 128K
Kingsoft
Super Explode V5
Turtle Graphics II
Drean H.E.R.O.
BIS-Plus
EXOS
Prophet64
BlackBox V3
BlackBox V4
BlackBox V8
BlackBox V9
ZIPP-CODE 48
MAX BASIC
Diashow Maker
Snapshot64
Freeze Machine
Also included are numerous cartridge mapper fixes, peek() implementations,
mapping cleanup, RAM guards, and state-restoration improvements.
Open Bus Improvements
Expanded open-bus emulation across the machine.
Changes include:
Added bus-value decay behavior
Updated CPU bus reads/writes
Updated VIC-II open-bus behavior
Updated CIA open-bus behavior
Updated cartridge bus behavior
Updated REU open-bus behavior
Improved SID-specific bus decay timing
Added ML Monitor support for viewing the latched bus value
Added the openbus monitor command
ML Monitor and Debugging
Drive and IEC debugging received several improvements:
Added drive breakpoints
Added conditional drive breakpoints
Added drive memory watchpoints
Added drive watchpoint integration with ML Monitor
Added IEC bus history using a ring buffer
Added missing drive peek() support
Improved breakpoint/watchpoint clearing after a hit
Other Improvements
Enabled IEC bus ROM mode by default
Added support for loading an external KERNAL
Improved cartridge PLA behavior
Updated VIC reads to return cartridge ROMH correctly in Ultimax mode
Improved multi-drive status layout
Continued MC6821 PIA emulation work
Moved MOS6551 into the chip subsystem
Various disk, floppy, drive, and cartridge cleanup
Numerous state-load and mapper safety fixes
Download: Commodore 64 Emulator v0.8.7.6-alpha
Source: Here
2026-10-04
Tags:
Commodore64Emulator,
Official_Build,
Others

NewsLetter
Bookmark
Submit News
Email Us

Random Related Topic
0 Comments
Post a Comment
Can't post a comment? Try This!