• Print

VICE 3.4

Description

VICE is the one and only Versatile Commodore Emulator. It provides emulation of the Commodore C64, C64DTV, C128, VIC20, PET, PLUS4, SCPU64 and CBM-II computers within a single package.

 

The emulators run as separate programs, but have the same user interface, share the same settings and support the same file formats.

 

All the emulators provide an accurate 6502/6510 emulator, with emulation of all the opcodes (both documented and undocumented ones) and accurate timing. Unlike other emulators, VICE aims to be cycle accurate; it tries to emulate chip timings as precisely as possible and does so efficiently.

 

Please do not expect the C64DTV, C128, PET, PLUS4, SCPU64 and CBM-II emulators to be as good as the C64 or VIC20 one, as they are still under construction.

Changelog

General

 

  • Remove support for Syllable OS, SCO, QNX4, QNX6, SGI, AIX, OpenStep/NextStep/Rhapsody, Solaris/OpenIndiana and remaining traces of Minix, NeXT, SKYOS, UNIXWARE, Sortix
  • Remove remaining traces of support for WATCOM, MSVC, OpenWatcom
  • Remove aRts support
  • Remove YUV rendering
  • Remove generation of .chm, .hlp and .info files. Please use the .pdf or .html
  • skip building x64 unless --enable-x64 is passed to configure
  • do not use the new/experimental 8580 filters unless --enable-new8580filter is passed to configure
  • update pattern generator for uninitialized ram. changed defaults so all raminitpattern tests pass.
  • remove block device disk image (rawdrive) "support". in linux it was never needed (just use the device file) and on windows it was never implemented.
  • added support for the IP232 protocol that was used by the long lost VICE1.19 hack, and which is supported by tcpser for emulating DTR/DCD (carrier detect)
  • various userport rs232 fixes
  • always save gifs as gif89
  • added a couple shift flags to keyboard maps to support virtual cbm/ctrl and mandatory pressed host modifiers. not all keymaps have been updated yet.
  • ACIA IRQ fix
  • create empty half tracks when mounting d64. fixes skew.d64
  • new headless port that can be enabled by passing --enable-headlessui to configure. this can be used to build an emulator without video output, which may be useful for scripting.

 

Autostart fixes

 

  • Implemented autostart for tapecart images (.tcrt)
  • Automatically change drive type when autostarting disk images that do not work with the currently active drive.
  • Make AutostartRunWithColon default
  • fixed autostart when memory hacks are enabled (plus60k, plus256k, plus4)
  • make auto-starting from tape also respect the 'basicload' option, loading absolute by default
  • when using a disk image to autostart .prg files, remove the .prg extension from the temporary file name
  • many detail fixes that make autostart work as expected in all emulators and in all configurations (eg C128 in 80 columns or C64 mode)

 

Snapshot fixes

 

  • More strict checking and more explizit error reporting

 

6510 fixes

 

  • Accurate emulation of ANE#imm and LAX#imm "magic constant" dependency on RDY. All occurrences of unstable use are being logged now. LAX#imm "magic constant" changed to 0xEF, which makes the problem cases "spectipede" and "turrican 3" work.
  • fix: reset should set the I flag

 

VIC-II fixes

 

  • Accurate emulation of the "VSP bug". Warnings about possible VSP related memory corruption are always logged, actual memory corruption is still optional.
  • Fixed changing more than one colour register via monitor

 

VIC fixes

 

  • new noise LFSR as reverse engineered by Lance Ewing.

 

SID fixes

 

  • use model dependent floating output ttl values like in residfp

 

Monitor

 

  • Support full expressions in the monitor conditional breakpoints.
  • When deleting checkpoints, reset the index to 1 when there are no more checkpoints left
  • Added 'RL' for rasterline and 'CY' for cycle in line to list of conditionals that can be used for breakpoints.
  • in mc/ms commands show asterisk for 1s and dots for 0s, not the other way around
  • adjust number of disassembled lines so the top line does not scroll out of the window when labels are used.
  • Added "log" and "logname" commands to control logging to a file

 

vdrive

 

  • added rudimentary support for CMD-style reading of the RTC
  • respect error info in disk images (only when reading right now). Should trick some simple protections.
  • report 65535 blocks free rather than 0 so that applications that query available disk space before saving work as expected, e.g. some BBSs

 

C-64 fixes

 

  • added support for MAX Basic cartridge, new CRTID 61
  • added clockport device for rrnet mk3
  • fixed reading of 'open' clockport, fixed io dump for clockport devices
  • implemented support for cartridge hardware revision in the crt format
  • When attaching an Easyflash cartridge image, replace the EAPI driver with the one for the flash chip VICE supports. This way EF images that contain a different driver (for whatever reason) will still work.
  • various keymaps added and/or fixed/updated.

 

C-128 fixes

 

  • added proper C128D model type.
  • various MMU fixes
  • fixed broken memory mapping in C64 mode
  • Completely rewritten VDC vertical handling code. VDC101 demo with it's vdc-split technique is now fully emulated. This rewrite attempts to emulate more how the VDC works internally, and how the video signal/screen react, so the border height etc is now more naturally handled.
  • Various misc VDC fixes, e.g. show blank lines with certain register combinations

 

Gtk3 UI

 

  • Implemented "restore display" (Alt+r). Resets the active window to its minimal/natural size. Handy when stretching the window and then not knowing you can make the window smaller again with resizing that same window until it doesn't get smaller.
  • Change double-clicking images in smart/diskattach dialogs to 'open' instead of autostarting
  • added options to select rendering backend and filter
  • fixed opening files with UTF8 encoded filenames
  • Make the (VTE) monitor display on top of the emulated machine window when in fullscreen
  • copy only used icons into the distribution, which drastically reduced its size
  • Added keyboard debugging to the statusbar
  • Added * (all files) filter to the fliplist attach dialog. This will allow people to use Pi1541 *.lst files at their own peril.
  • Add proper statusbar messages when using the fliplist.
  • Add howto about creating a Gtk3-Windows cross-compiler on Debian with Fedora packages (aka FrankenVICE)
  • only show the host keyboard mappings in the list for which we have a valid mapping, grey out symbolic/positional depending on what keymaps are actually available
  • Move joystick settings to the joystick widget on the statusbar.
  • Windows: add icons to binaries
  • allow better control of the filter settings by removing tick marks of the sliders and adding spinboxes (6581+ReSID only)
  • Fix the 'media recording' dialog to not show empty widgets when FFMPEG support is missing, show hint on compiling in FFMPEG instead.

 

SDL fixes

 

  • make hotkeys only check left alt, which makes right alt (alt-gr) work in keyboard mappings.

 

macOS fixes

 

  • make open-gl work
  • binary distributions, font support, GTK3 dock icon
  • fix missing icon theme, fixed pdf manual generation, improved build instructions
  • fixed macOS make bindist when building out of tree
  • Added instructions for building and debugging using Xcode

Links

VICE download | SourceForge.net

Downloads

Gallery


 
 

Comments

blog comments powered by Disqus