EmuCR Feeds
Email Us

Commodore 64 Emulator v0.8.0.0-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:
This alpha release focuses on hardware accuracy, emulator architecture cleanup, debugging tools, cartridge support, media handling, and continued groundwork for more accurate C64 and disk-drive emulation.
A lot of the work in this release is internal, but it should make future accuracy improvements easier and help with debugging regressions.
Note: This is still an alpha release. Accuracy and compatibility are improving, but regressions are possible while major systems are still being refined.
Highlights
Continued VIC-II timing, raster, sprite, and bus arbitration improvements
Improved CPU / 6510 diagnostics and micro-op work
Expanded ML monitor and debug tooling
Added monitor output capture to file
Continued 1541 / 1571 VIA refactoring work
Improved IEC / drive diagnostics
Expanded EasyFlash and cartridge handling
Improved SID model, clock, and audio diagnostics
Expanded REU support and monitor commands
Improved disk image and media handling
Continued UI cleanup and emulator architecture refactoring
VIC-II Improvements
This release includes a large amount of VIC-II cleanup and timing work aimed at improving hardware accuracy.
Changes
Continued refinement of cycle-slot based VIC timing
Improved badline and matrix fetch timing behavior
Improved sprite pointer and sprite data fetch slot handling
Better internal tracking of VIC bus ownership
Improved BA / AEC visibility between the VIC and CPU
Improved raster-line diagnostics
Improved border, sprite, fetch, and register-latch debug output
Continued cleanup of the background rendering pipeline
Improved open-bus related behavior and diagnostics
These changes continue moving the emulator closer to accurate VIC-II behavior, especially for software that depends on tight raster timing.
CPU / 6510 Improvements
The CPU core continues to move toward more accurate instruction and bus-cycle behavior.
Changes
Continued work on cycle and micro-op execution paths
Improved CPU monitor and stepping behavior
Improved diagnostics for IRQ, NMI, BRK, RTI, stack activity, branches, JSR / RTS, and indirect addressing
Continued legal and illegal opcode validation
Improved interaction between CPU execution and VIC bus arbitration
Additional validation using CPU test suites
ML Monitor and Debugging
The ML monitor received several improvements to make debugging easier.
Changes
Continued migration of VIC dump/debug functions into the monitor backend
Cleaner separation between emulator core logic and monitor/debug output
Improved monitor command handling
Added or improved commands for inspecting VIC, CPU, SID, REU, cartridge, and drive state
Added support for capturing monitor output to a file
Improved output formatting
Fixed monitor command parsing issues
Fixed assembler input handling regressions
The monitor output capture feature is especially useful for saving long diagnostic sessions without manually copying screen output.
Drive / IEC / VIA / CIA Work
Disk-drive emulation continues to receive deeper hardware-accuracy work.
Changes
Continued refactoring toward a shared DriveVIA6522 base class
Began consolidating common 1541 / 1571 VIA behavior
Improved drive-side VIA / CIA diagnostics
Continued investigation of 1581 IEC behavior
Added more detailed tracing around IEC lines, ATN, CLK, DATA, CIA port behavior, and serial handshaking
Continued cleanup to reduce duplicated drive-chip behavior
This work is intended to improve maintainability and support more accurate drive emulation over time.
Cartridge and EasyFlash Improvements
Cartridge support continues to expand.
Changes
Improved EasyFlash mapper state handling
Improved EasyFlash bank and control register behavior
Better ROML / ROMH bank loading behavior
Improved GAME / EXROM line control from cartridge state
Fixes around Ultimax and reset-vector behavior
Added additional cartridge diagnostics through monitor/debug output
SID and Audio
SID emulation received additional accuracy and diagnostic work.
Changes
Continued work on SID model selection between MOS6581 and MOS8580
Better propagation of SID model changes through emulator reset/runtime configuration
Improved PAL / NTSC SID clock handling
Improved SID monitor output for registers, voices, filter state, and audio buffer status
Continued investigation of audio underruns, clicking, ADSR behavior, and sample buffer tuning
REU Support
REU support has been added.
Changes
Added REU model and size handling
Added support for common REU sizes and larger custom configurations
Improved REU register behavior
Improved DMA transfer handling between REU memory and C64 memory
Improved IRQ and status flag handling for REU transfer completion
Added REU monitor commands for:
status
registers
RAM dump
fill
peek
poke
test
Disk Image and Media Handling
Media handling and disk-image logic received several improvements.
Changes
Improved blank disk image creation
Continued work on D64, D71, and D81 image support
Improved BAM and directory initialization for newly created disk images
Better handling of incompatible media types by drive model
Improved attach/eject behavior
Continued cleanup around PRG / P00 loading and reset behavior
Better separation between media attachment and emulator reset/autoload behavior
UI and Usability
Changes
Improved media menu organization
Better handling of disabled menu items
Fixed menu nesting/assertion issues
Improved attach/eject workflow
Improved visibility into cartridge, disk, drive, and runtime state
Continued runtime configuration and reset-flow cleanup
Internal Cleanup
A significant part of this alpha release is internal cleanup and refactoring.
Changes
Moved monitor/debug output out of core emulation classes where possible
Reduced wrapper functions and unused code
Cleaned up VIC monitor/debug helpers
Improved separation between hardware state and UI/debug presentation
Consolidated common drive chip behavior
Improved class boundaries for long-term maintainability
Known Areas Still Under Active Work
The following areas are still being actively refined:
Full cycle-exact VIC-II behavior
PAL / NTSC runtime switching
Sprite timing edge cases
Raster and border timing edge cases
1571 in 1541 compatibility mode support
1581 native IEC / serial behavior
EasyFlash and other cartridge mapper compatibility
Drive timing and shared VIA / CIA base-class cleanup
Summary
v0.8.0.0-alpha is a major internal accuracy and architecture release.
The biggest focus areas are VIC-II timing, CPU/VIC bus behavior, monitor/debug tooling, drive-chip refactoring, cartridge support, SID diagnostics, REU support, and media-handling improvements.
This release may not look dramatically different on the surface, but it contains important groundwork for more accurate C64, cartridge, and disk-drive emulation going forward.

Download: Commodore 64 Emulator v0.8.0.0-alpha
Source: Here



Random Related Topic Refresh Related Topic

Random Related Topic Loading...

0 Comments

Post a Comment

Can't post a comment? Try This!