VirtualC64 Changelog

What's new in VirtualC64 1.5.1

Jun 28, 2017
  • Fixed a bug that prevented audio output when certain external speakers were connected.

New in VirtualC64 1.5 (Jun 28, 2017)

  • Code architecture is now compatible with Swift. Two Swift extensions have been implemented in this release: Touch Bar support for latest MacBook Pros and a reimplemented audio interface.
  • Mouse cursor disappears automatically in fullscreen mode.
  • Standard key combinations for entering and leaving fullscreen mode are now working properly.
  • Fixed a bug that prevented some special keys from being used for joystick emulation.
  • Fixed a bug that caused some automatically taken snapshots to be damaged.
  • Fixed a bug that caused some drive memory data missing in snapshot files
  • Audio playback now terminates properly when a breakpoint or an illegal instruction is reached.

New in VirtualC64 1.4.2 (Jan 18, 2016)

  • Fixed Lorenz-test LDAB which was broken since 1.0rc4.
  • Fixed a bug that held down the NMI line permanently when pressing RunStop/Restore. As a result, pressing this key combination only worked once.
  • The keyboard mapping has been extended. The ESC key is now mapped to 'RunStop' and the TAB key to 'Restore'.
  • The internal code base has been cleaned up.

New in VirtualC64 1.4.1 (Dec 28, 2015)

  • The new VIC code has been optimized for speed. In warp mode, the emulator is about 10% faster now.
  • Debug menu option "Hide sprites" was broken. This has been fixed.

New in VirtualC64 1.4 (Dec 28, 2015)

  • This release contains important VIC II compatibility improvements. Demo "Deus ex Machina" by Crest and Oxyron (2000) runs rather flawlessly now. Furthermore, VirtualC64 passes VICE tests spriteenable1, spriteenable3 (mostly), spriteenable4, and sprite0move.
  • VirtualC64 can now read NIB image files. Please note that a lot of floppy disks provided in NIB format contain copy protection mechanisms which are likly to be incompatible with the current drive emulation.
  • Fixed a bug that prevented the synchronization timer to stabalize in some situations.
  • Starting with V0.9.9.3, VirtualC64 was no longer able to read T64 files created by CONV64 as these files contain corrupt header information. Such files can be read again.

New in VirtualC64 1.3 (Nov 14, 2015)

  • VirtualC64 emulates a virtual datasette supporting the TAP format. To insert a virtual tape, simply drag and drop a TAP file into the main emulator window.
  • A new toolbar icon has been added that opens a media dialog. The dialog provides information about the currently inserted disk, tape, and the attached expansion port cartridge.
  • (Hopefully) fixed a bug that sometimes caused audio playback to stop when a saved state was dragged from the time travel drawer into the emulator window.

New in VirtualC64 1.2.1 (Nov 3, 2015)

  • VirtualC64 utilizes a different approach to grab the background wallpaper. In previous versions, the code failed when the wallpaper was not pointing to a single image but a folder, causing the emulator to crash during initialization.
  • Texture drawing is no longer triggered by a displayLink (which was common in OpenGL based apps). The drawing code has been moved inside MTKView::drawRect (which is the recommended method for Metal based apps).
  • By pressing ALT-s, a screenshot is quick-saved to file Desktop/Untitled.png (feature request #213).

New in VirtualC64 1.2 (Nov 2, 2015)

  • VirtualC64 can now read G64 image files. Please note that a lot of floppy disks provided in G64 format contain copy protection mechanisms which are likly to be incompatible with the current drive implementation.
  • Pasting text snippets into the emulator via CMD-V was broken in 1.1. This has been fixed.

New in VirtualC64 1.1.3 (Oct 25, 2015)

  • Fixed a synchronization issue that kept the internal texture buffers unitialized on some machines.
  • Internal texture size has been doubled (noticable when CRT or blur filter is active).

New in VirtualC64 1.1.2 (Oct 23, 2015)

  • Fixed a synchronization issue that caused the emulator to crash on some machines when a second emulator window was open.

New in VirtualC64 1.1.1 (Oct 23, 2015)

  • VirtualC64 issues a warning message and safely terminates on Macs not supporting Metal.

New in VirtualC64 1.1 (Oct 21, 2015)

  • Bug fixes and enhancements:
  • VirtualC64 goes Metal. Old OpenGL code has been removed.
  • GPU code is now capable of texture post-processing. Some proof-of-concept filters such as blur, sepia, and simple CRT have been added.
  • In full-screen mode, it is now possible to retain the proper screen aspect ratio.
  • Resurrected the "Flash file into memory" option which was broken in V1.0.

New in VirtualC64 1.0 RC 4 (Sep 9, 2015)

  • Enhancements:
  • VC1541 is now emulated on the bit level.
  • VC1541 got a read-only fast-loading mode which is about 50% faster than bit accurate emulation.
  • The anti-aliasing filter can be disabled in the emulator settings dialog.
  • A warning dialog is displayed when a disk with unsaved data is going to be ejected.
  • In the hardware dialog, MOS6581 is now preselected as the default SID chid. The old preselection was MOS8580 which doesn't support speech synthesis (like in Ghostbusters).
  • Bug fixes:
  • Fixed a bug that caused the emulator to crash on startup when an unsupported color scheme was stored in the user default settings.
  • On US keyboards, the tilde key (~) now emulates the left arrow key on the C64 keyboard.

New in VirtualC64 1.0 RC 3 (Aug 31, 2015)

  • Enhancements:
  • Vastly improved VC1541 emulation.
  • VC1541 head movement is now audible. Can be disabled in hardware dialog.
  • Enhanced thread and sound synchronization (less jitter).
  • New menu item: Show/Hide status bar (CTRL-B shortcut).
  • Status bar hides automatically in fullscreen mode.
  • Keys on the numeric keypad are now treated as separate keys.
  • Bug fixes:
  • Preview images in cheat box dialog again display correctly.
  • Disks now format well inside the emulator (Keyboard menu -> Format disk).

New in VirtualC64 1.0 RC 2 (Aug 20, 2015)

  • Enhancements:
  • Texture drawing code has been cleaned up.
  • Disks and cartridges remain in place during a reset.
  • Bug fixes:
  • Fixed a bug in the directory scanner that limited the number of displayed files to eight.

New in VirtualC64 1.0 RC 1 (Aug 18, 2015)

  • Enhancements:
  • Sprite drawing is now cycle-based. All prior versions were line-based.
  • All virtual machine settings are now summarized in a separate dialog.
  • Bug fixes:
  • Saving files to disk finally seems to work.
  • VirtualC64 no longer crashes when the "next sector" information on a floppy disk points to an invalid track/sector location.
  • The emulator won't enter an infinite loop anymore when a disk contains circular track/sector pointers.

New in VirtualC64 0.9.9.9 (Aug 16, 2015)

  • Bug fixes and enhancements:
  • Sprite collision detection was broken in 0.9.9.8. This is fixed now.
  • Fixed a bug that caused a black stripe to appear at the very bottom of the texture.

New in VirtualC64 0.9.9.8 (Aug 14, 2015)

  • Bug fixes and enhancements:
  • Applied some speed improvements to the VIC code as the latest compatibility improvements have slowed down emulation noticeably.
  • Cleaned up screen buffer management. As there was a rare possibility of a buffer overrun, this might fix the crashes some users have experienced in previous releases on startup.
  • Fixed a bug that caused the color registers in the pixel engine to be updated too late (this was noticeable in VICE test regtiming.prg).

New in VirtualC64 0.9.9.6 (Aug 10, 2015)

  • VIC II compatibility improvements.

New in VirtualC64 0.9.9.5 (Aug 10, 2015)

  • Pulled due to various unstababilities

New in VirtualC64 0.9.9.4 (Feb 9, 2015)

  • Bug fixes and enhancements - Shift, Cmd, Ctrl and Alt can be now be used für joystick simulation.

New in VirtualC64 0.9.9.3 (Feb 7, 2015)

  • Bug fixes and enhancements:
  • The joystick simulation keys are now user-definable.
  • The mount disc dialog has neen simplified.
  • A new menu item for exporting the current drive contents has beed added (supported formats are D64, T64, P00, and PRG)
  • Loading and saving snapshot did not work when a cartridge was attached. This should be fine now.
  • Fixed a bug that made it impossible to load T64 tape images with more than 8 files.

New in VirtualC64 0.9.9.2 (Jan 24, 2015)

  • Bug fixes and enhancements:
  • Keyboard handler has been modified. This should fix the keyboard freezing issue some users have experienced
  • Cartridge handler has been reimplemented. Before, time travel did not work when a cartridge was attached
  • The currently inserted virtual disk can now be exported to a D64 file. To do so, open the mount dialog and drag the disc icon into the finder
  • Joystick port assignments haven been switched (before, port A was port B and vice versa)
  • Fixed a graphics glitch that caused black pixels to appear at the left border depending on the X scroll offset

New in VirtualC64 0.9.9.1 (Jan 14, 2015)

  • Bug fixes and enhancements:
  • Mount dialog has a new look and new features
  • Emulator now checks version numbers before opening a snapshot file
  • Fixed NTSC drawing bug
  • Fixed some smaller issues in the debug panel

New in VirtualC64 0.9.9 (Jan 10, 2015)

  • Internal changes:
  • Further VIC II compatibility improvements
  • Fixed SID read accesses (Paradroid is now playable)
  • Open lines in color RAM and I/O space now read from VIC
  • CIA chips can trigger light pen interrupts
  • On startup, time of day clocks are initialized with current time
  • User interface changes:
  • VIC sprite debug panel has a new look
  • Emulator window remembers its previous windows position and size
  • Additional toolbar icon (VC1541) to manually open the mount dialog
  • Text can be pasted into the emulator
  • New "Keyboard" menu with support for more special keys
  • Keyboard shortcuts for loading the directory or the first file

New in VirtualC64 0.9.8.1 (Jan 3, 2015)

  • Bug fixes and enhancements:
  • Fixed a severe bug in the background drawing routine (Bug #149)
  • Cartridge images in the ROM dialog are now drop targets (Bug #132)

New in VirtualC64 0.9.8 (Jan 3, 2015)

  • Bug fixes and enhancements:
  • This release contains considerable VIC II compatibility enhancements
  • Fixed another keyboard bug that was introduced in 0.9.7

New in VirtualC64 0.9.7.1 (Dec 31, 2014)

  • Bug fixes: In 0.9.7 keyboard/joystick emulation was messed up by a last minute code cleanup. This is fixed now.

New in VirtualC64 0.9.7 (Dec 29, 2014)

  • Bug fixes and enhancements:
  • Emulator now supports multiple keyboard/joystick mappings
  • USB device handler has been cleaned up
  • Emulator no longer crashes when a USB joystick is disconnected

New in VirtualC64 0.9.6.1 (Jun 4, 2012)

  • Bug fixes and enhancements:
  • Lions native fullscreen mode now works as expected (no more ugly borders)
  • Removed old fullscreen mode which frequently crashed on lion machines

New in VirtualC64 0.9.6 (Dec 5, 2011)

  • Enhanced sound emulation (ReSID library has been integrated)
  • Fixed joystick issues on lion machines

New in VirtualC64 1.0 Beta 11 (May 4, 2010)

  • Fixed a bug that caused the emulator to crash during startup

New in VirtualC64 1.0 Beta 10 (Dec 29, 2009)

  • Emulator is now a native snow leopard app
  • Internal communication between emulator and GUI has been rewritten from scratch
  • Fixed a bug that caused the emulator to crash when importing the reset image in NTSC mode

New in VirtualC64 1.0 Beta 9 (Dec 17, 2009)

  • Emulator now supports US keyboards (thanks, Carl!)
  • Source code is now compatible with gcc 4.2 and XCode 3.2
  • Emulator can now handle D64 images with different file sizes
  • Fixed a bug that caused sporadic crashes under snow leopard

New in VirtualC64 1.0 Beta 7 (Mar 23, 2009)

  • Timer underflows now show up in bit 6 and bit 7 of the CIA data port register
  • Fixed an error in the implementation of SHA, SHX and SHY. Now passing Wolfgang Lorenz's TRAP15 test
  • Fixed an issue with the processor port register. Now passing Wolfgang Lorenz's TRAP16 and TRAP17 tests
  • Fixed IRQ timing during SEI and CLI instruction. Now passing Wolfgang Lorenz's IRQ test
  • NMIs are now handled correctly while BRK is executing. Now passing Wolfgang Lorenz's NMI test
  • DMA lines can be made visible (useful for debugging)
  • Fixed a timing issue with the VIC-II BA pin (this one fixes Fort Apokalypse :-) )
  • Color RAM is now initialized with random numbers (no more issues with Paradroid)
  • Fixed a bug that caused some variables to keep their old value during reset
  • Fixed a bug that caused the emulator to freeze when single stepping over an illegal instruction
  • The internal state of all sub components can now be dumped to the console (useful for debugging)
  • Mounted disks remain in drive after reset
  • Debug panel now opens automatically in pause mode
  • Rewrote the NSFormatter class for all text input fields. Invalid inputs are now handled as expected
  • Fixed an issue with the sprite selector in the VIC debug panel. It now updates all values correctly
  • Fixed a bug that prevented the program counter from beeing editable in pause mode
  • All .Nib files have been replaced by .Xib files
  • Fixed some minor text displaying issues in the debugger