Myślisz Vice i wiesz, że będzie mowa o emulacji sprzętu Commodore, myślisz jak szybko odpalić coś na C64 sięgasz po Vice. Vice ma absolutny status najbardziej rozpoznawalnego emulatora maszynek CBM na większości platform, tak samo jak Altirra w wypadku sprzętu ATARI. Po roku kolejnych wersji nocnych pojawiła się w końcu nowa wersja tego emulatora - what's new to wierzchołek tego, co można znaleźć śledząc zmiany w repozytorium tego projektu. Poszczególne wersje będą jak zwykle ukazywać się sukcesywnie.
Changes in VICE 3.2
General
- New (experimental) GTK3 native port, this and the SDL(2) port will replace all other ports (which will get removed) in VICE 3.3 and onward.
- Handling of the `-keybuf` command now works properly for all emulators and RAM sizes.
- Fixed handling of LOAD"$$" with virtual devices.
- Fixed @CD, @MD and @RD commands for virtual filesystem devices.
- Fixed NEOS Mouse emulation.
- Call the new CIA "8521" instead of "6526A" (which is wrong) in the UIs.
- Added 4sid support.
- Fixed tape wobble.
- Erase timing fixes in flash core.
- Don't allocate sectors on tracks > 70 in the BAM of 1571 images.
- Ethernet emulation: fix register mapping in rr-net mode.
- reSID: fixed envelope bugs shown by testprogs/SID/env_test/.
- Fixed 6509 CPU port issues.
- Added support for TAP virtual network interface.
- Fixed drive clock overflow. Drive and host went out of sync on clock overflow (every ~4G cycles), which would break loading or custom drive code in the case loader/stuff is not idle during overflow window. Also drive would execute ~4G cycles out of sync, which made the emulator freeze for a while.
Monitor
- Fix monitor 'm' command buffer overflow.
- Added conditional on values in memory to breakpoint handling.
SDL changes
- Cosmetic overhaul of the SDL UI.
- New drag'n'drop support for the SDL2 port(s).
- Fixed monitor display of printables with the 'M' (memdump) command.
- Fixed drive status display in statusbar.
- Added "advance frame".
- Disable the mouse pointer unless we really need it.
- Change MacOSX SDL menu key to F10 to accommodate old MacBooks etc.
- Change default menu key for sdl amiga based platforms to 'F10'.
- Added default hotkey files (with hotkeys similar to existing GUIs).
- Added various keymaps for use with keyrah in combian/retropie.
- Added controller mapping file for PS3 controller.
Android changes
- Do not enable mouse emulation by default.
Mac OS X changes
- Reinstated the Cocoa UI's Video Settings dialog. Some of the controls don't work properly, but it's better than nothing.
- Added a PET model selection menu to the Cocoa UI.
- Fixed Cocoa UI's CPU memory window display. It still requires the monitor to be activated before it will show anything, however.
OS/2 changes
- Removed native OS/2 port. The native OS/2 port has been lagging behind severely, and the recently added SDL OS/2 port is up-to-date, making the unmaintained native OS/2 port obsolete.
C1541 changes
- Fixed illegal characters in filenames for the read and extract commands.
C64(SC) changes
- Fixed enabling/disabling memory expansion hacks.
- New tapecart emulation.
- Added waasoft dongle emulation.
- Fixed initial cpuport data.
- Added support for 256k magic desk images, ie DDI Magic Cart. Also allow 512k and 1M magic desk carts (some homebrew variant).
- plus60k memory write fix.
- Fix plus256k emulation.
- Added fmopl (sfx sound expander) timer support.
- Fixed saving of GMOD2 cartridge image.
C128 changes
- New tapecart emulation.
- Fixed MMU mirrors.
CBM2 changes
- Allow+fix loading of 8k chargen.
- Fixed ESC-Z/ESC-Y.
→ NOWSZY [c64] Oficjalne WinVice 3.8.0 24/12/2023
Changes in Vice 3.8
general
- added WIC64 support for C64,C128,SCPU64,VIC20
- virtual device (host directory) fixes (Scratch command correctly returns number of scratched files, Rename command produces "file exists" error if the destination file exists)
- added video capture in ZMBV format. This will produce lossless videos at correct emulated FPS.
- the old FFMPEG support was deprecated and is disabled by default. New experimental code was added that will work with external ffmpeg executable instead.
- reSID: fixed a Noise Init problem
- reSID: filter tweaks
- reSID: The 6581 saw+pulse waveform was wrong
- reSID: tweak shift register reset time for 6581
- reSID: 8580 Filter ringing fix
- reSID: 6581 filters: allow negative values for kVg-Vx made raw printer driver pass through all bytes 1:1
- Tape: changed default zero-gap delay from the rather weird (and way too large) value 20000 to the more sane 2500 which MTAP uses
- RS232: handle RI line in IP232 (requires updated tcpser, see https://github.com/go4retro/tcpser/pull/24.
- Add option to invert the RI line. This should help to make some more obscure BBS programs work
- RS232: removed undocumented feature to use unix domain sockets when the first character of a rs232 device is a pipe character, and instead used pipes, like it will be done on windows too
- Drives: fixed 1571CR emulation
- Drives: allow up to 83 tracks for 3.5inch mechs
- Drives: fixed clock rollover in rotation code
- REU: fixed DMA access to C64 RAM at $00/$01
- Added PaperclipE, PaperclipSC, and Paperclip2 dongle support.
- Added woj userport joystick adapter emulation.
- provide fake sid hooks so hardsid can be used when fastsid is disabled
- Printer: new reworked emulation handles various CBM Printers: 2022, 4023, 8023, MPS801, MPS801, MPS803
- Printer: tweaked MPS page height, now allows print shop to print a greetings card on a single page.
- Printer: do not produce any output for non-printable codes
- Printer: when using the graphic output driver, only produce a new file when actually doing a formfeed.
- Build the list of available palette files at runtime, scan system path/dirs as needed. Also read extra info from the .vpl files. New palettes can now be just dropped into the data dir and they will appear in the UIs.
- allow color controls to be used with external palette and when no crt emulation is active.
- Added more realistic vicii color ram init code.
- CIA: shiftregister fixes
- CIA: fixed ICR timing/behaviour (This fixes the dd0dtest from the testbench)
- Support for ISA/PCI devices that were accessed via direct I/O was removed, since this would not work in any sane modern OS anymore. The affected devices are: parsid (windows), ssi2001 (all)
- Z80: OUT, OUTD, OUTI, OTIR, OTDR instruction fixes
- Fixed -initbreak reset so that the first instruction doesn't run
Buildsystem
- add configure switch `--enable-experimental-devices` to enable experimental emulation of some devices.
- changed configure switch `--with-libcurl` to `--without-libcurl`.
- changed configure switch `--enable-lame` to `--with-lame`
- changed configure switch `--enable-libieee1284` to `--with-libieee1284`
- changed configure switch `--enable-portaudio` to `--with-portaudio`
- configure: change `--with-zip-bin` to `--with-unzip-bin`
- remove the configure switch --with-readline/--without-readline.
- Do not build PDF docs unless --enable-pdf-docs
- Fixed macOS bindist. Probably doesn't work without code signing, however an attempt is now made to detect and use a signing identity.
- when installing with x64 not enabled, install a symlink x64->x64sc instead
- Add unzip.exe and its deps to Gtk3 bindist
C64 fixes
- Blackbox 9 garbled screen problem was fixed
- added 'Hyper-Basic' cartridge support
- fixed "MAX-BASIC" cartridge support in "MultiMAX" emulation
- more correct memory map for the "Max Machine"
- fix attaching 8k ultimax .bin cartridge images
C128 fixes
- Cartridge system now supports cartridges that work in both C128 and C64 mode
- added "RAM-Link" support
- added LTK support, as well as other kernal replacements carts
- comal-80 (c128) fixed
- MMU fixes
- - Keep currently set c128 bank when changing the c64mode mmu bit.
- - Fix x128 c64 mode p0/p1 relocation
- - Added proper z80 mmu control
- add a 'SCART' VDC palette, which contains 'dark yellow' instead of the (correct) brown
- Fix x128 VDC mirroring
- x128 properly starts with Z80 and then transfers control to 8502
- Z80: various I/O mapping fixes
- use separate resources for localized chargen and c64 kernal
VIC20 fixes
- fixed NTSC colors
PLUS4 fixes
- Map out pio-1 and only handle datasette sense in the fd10-fd1f range when c16/c116/c232 model is selected.
- Keymaps:
- added reference image of native Plus4 keyboard layout
- added reference image of Plus4, symbolic, US layout
- added reference image of Plus4, symbolic, german layout
- added reference image of Plus4, positional, US layout
- added reference image of Plus4, positional, german layout
C64DTV fixes
- loading flash image was broken
- use DTV model specific flash ROM content
SCPU64 fixes
- Do not call dma or clock stretch functions when a dma is already going on, dma is done at 1mhz speeds.
PET fixes
- Implement some beam-racing timing improvements for models with and without CRTC
- Add a PET palette that approximates the slightly blue white of the 2001 model.
- Monitor: handle SuperPET 6809 banking correctly
CBM-II fixes
- CRTC: Esc+U / Esc+S - underscore cursori on / off: now works.
- Fix monitor watchpoints on indirect accesses to a zero page.
- Keymaps:
- added reference image of native CBM2 keyboard layout
- added reference image of CBM2, symbolic, US layout
- added reference image of CBM2, positional, US layout
- added reference image of CBM2, symbolic, german layout
- added reference image of CBM2, positional, german layout
Monitor fixes
- Added indirections to the expression evaluator for breakpoint conditions.
- made regular 'load' command never set Kernal pointers
- added new 'loadbasic'/'ldb' command that always sets Kernal pointers.
- Display correct column count for VICII and TED
- Add detailed TED register info for the IO monitor command
- added profiler support in the monitor, right now supports only 6502
- add monitor io dump for wd1770 and pc8477
- implement monitor io dump for 6532 (RIOT)
- fixed Disassembly of 6809 instructions
- make monitor D and M command see the same memory (as set by the monitor's "bank" command), while single step, breakpoints, cpu history and debug cpu trace see the memory as the cpu sees it at that time.
- fixed crash when using an invalid DOS command with @, documented limitations of the @ command
- fixed crash when accessing a non existent directory
C1541 fixes
- Fixed chain command to print from the last sector how many bytes are used.
- make opencbm available in c1541 by using "opencbm" as the filename
cartconv fixes
- better support for VIC20 cartridges
petcat fixes
- Added new BASIC 65 keywords
GTK fixes
- Fixed saving monitor position and size and restoring on boot
- All numeric values are displayed in proper units
- make dropping files on the main window work like it did in winvice - hold shift to just mount a new disk.
- VSID: Look up STIL info for file passed on command line
- macOS: Use Command+W to close monitor window
- Open file manager to view directory containing vice.log, instead of opening
- vice.log with an editor
- Settings: remember directory/filename in load/save dialogs
- Speed up RAM init pattern view.
- Speed up CRT slider widgets.
- Settings dialog: try to keep consistent (slightly smaller) size of the various nodes in the dialog; the dialog should fit on a ~1024x720 display.
- Settings dialog: move host GPU rendering options to Display -> Host display.
- Settings dialog: rework drive settings to use dialog space more efficiently.
- Settings dialog: rework printer settings.
- Settings dialog: more consistent cartridge setting layouts.
- Rename "soft reset" to "Reset machine CPU".
- Rename "hard reset" to "Power cycle machine".
- Simplify custom hotkeys saving: using "Save" now saves the hotkeys as "gtk3-hotkeys-$EMU.vhk" in the user's configuration directory. The UI also indicates where the current hotkeys were loaded from (VICE-provided default hotkeys, configuration directory or custom location).
- Hotkeys Alt/Command+3-6 added to send formfeed to printers (3 = userport, 4-6 = printer 4, 5 and plotter).
- Hotkey actions added to select VIC/VICII/TED border modes, no default hotkeys assigned.
- Hotkey action to toggle status bars split into "show-statusbar-toggle" and "show-statusbar-toggle-secondary" (x128 VDC only) actions.
- Add status bar LEDs to control SCPU Speed (labeled "turbo"), and JiffyDOS switches (xscpu64 only).
- Add default hotkey Alt+T/Command+T to toggle SCPU Turbo mode (xscpu64 only).
- Keymaps:
- Added C128 KeyrahV3, US layout
- Added C128 KeyrahV3, german layout
- Added CBM2 positional, US layout
- Added CBM2 positional, german layout
- Added Plus4 Spanish positional
- Added Plus4 Positional, german layout
- fix C64 danish symbolic
- fix C128 Positional, US layout
- fix C128 Positional, german layout
- fix CBM2 Symbolic, US layout
- fix CBM2 Symbolic, german layout
- fix PET Positional, US layout
- fix PET Positional, german layout
- fix PET Symbolic, US layout
- fix Plus4 Positional, US layout
- fix Plus4 Symbolic, US layout
- fix Plus4 Symbolic, DE layout
SDL Fixes
- Rename "soft reset" to "Reset machine CPU"
- Rename "hard reset" to "Power cycle machine"
- Show scrollbar-like indicators when not all menu items can be shown on the screen.
- Update UI to use the same syntax as the Gtk hotkeys files: old .vhk files generated by VICE 3.7.1 or earlier will not work anymore.
- Add default hotkey Alt+T/Command+T to toggle SCPU Turbo mode (xscpu64 only).
- Add menu item to toggle patching of the v1 Kernal to make the ieee-488 interface work (xpet only).
- Add menu items to load either the normal or the German chargen (xpet only).
Linux fixes
- change default user directory for `vice.log` and autostart disk images to adhere to $XDG_STATE_HOME (defaults to ~/.local/state/vice).
macOS fixes
- fix scrolling in the monitor
Windows fixes
- Add -no-direct-streams command line option on Windows. With -no-direct-streams
- the stream direction code that reconnects the standard streams stdin, stdout
- and stderr to VICE is not called. This will mostly be useful for debugging
- weird issues on Windows.
- fixed issues with mouse warping
- fixed loading of the opencbm- and libusb DLLs
BSD fixes
- Fix nasty buzz on sun/netbsd sound driver
→ NOWSZY [c64] Oficjalne WinVice 3.7.1 28/12/2022
Changes in Vice 3.7.1 28/12/2022
-
The good news is that VICE 3.7.1 is now available for macOS, and contains fixes specific to macOS. (Windows / Linux users will not benefit from an upgrade to 3.7.1.)
Changes in Vice 3.7
This is a service release which fixes some regressions and annoyances reported by our users after the 3.6 release.
Changes
- From now on VICE will write its version into the config file and show a warning message when using a config file from a different version.
- The binary monitor interface is stable now. Examples of projects using it:
- https://github.com/GeorgRottensteiner/C64Studio
- https://github.com/MihaMarkic/vice-bridge-net
- https://github.com/Sakrac/IceBroLite
- https://github.com/empathicqubit/vscode-cc65-debugger
- https://github.com/rolandshacks/vs64
- Added Debian packages of development builds of the SDL2 and Gtk3 UIs and the headless build (amd64 only).
- You can find bleeding edge development builds on github: https://github.com/VICE-Team/svn-mirror/releases
- Renamed all included ROM files to use a more elaborate naming scheme, for example as in "kernal-901227-01.bin". Unfortunately not all included files could be identified yet - if you have related ROM dumps around yourself, please take your time to compare against the following, and let us know if you can identify one of these files:
- C128 ROMs: kernalfi, kernalfr, kernalit, kernalno
- Printer ROMs: mps801.bin, mps803.bin, nl10.bin
- PET ROMs: chargen.de (Wanted in all cases is what the markings on the actual chip read)
- CRT emulation improvements:
- uses measured (different) color coordinates for odd/even lines when possible
- added option for U-only delay line (1084 style)
- More realistic handling of the case when two paddles are selected at the same time.
- Keyboard handling was rewritten / fixed
- The case when two host keys are mapped to different CBM keys with different modifiers is handled differently (correctly) now, so some old keymap(s) may expose detail errors as a result - please report them!
- Fixed Shiftlock/Capslock mapping
- All extra keys that are not in the regular matrix are handled in generic code now.
- used by C128 40/80 and CAPS keys, Restore
- extra keys can operate in "non locking" mode
- More realistic behaviour of the virtual drive
- always return 'files scratched' (instead of 'file not found'), even if the file does not exist
- More realistic behaviour when mounting images:
- When attaching a d64 image to a 1571 drive, create an 'unformatted' image for the second side.
- Create empty tracks for non existing tracks also when mounting gcr images
- SID fixes:
- use a few more bits for better accuracy when calculating the 8580 filter DAC values.
- fix filter ringing/self oscillating with 6581 and 8580
- CIA fixes:
- Improved the CIA shift register.
- Fix the case when pb changes value after changing the control bits for pb/pb7 output. Fixes the turn disk space detection of the 'Love' demo.
- Add SPT (Stupid Pet Tricks) userport joystick adapter emulation.
- Fixed use of SO_REUSEPORT on server sockets - this allowed multiple VICE instances to bind to the same port, with an indeterminant one receiving each incoming connection. Now uses SO_REUSEADDR instead, which allows use of a port that remains in the TIME_WAIT state after a previous process closed, but does not allow use of a port that is still in active use.
- Add DragonFly BSD support.
- Remove Android support.
build system
- Rename configure options:
--enable-native-gtk3ui =>
--enable-gtk3ui --enable-sdlui2 =>
--enable-sdl2ui --enable-sdlui =>
--enable-sdl1ui --enable-external-ffmpeg =>
--enable-ffmpeg
- Remove jpeg support (--enable-jpeg).
- Disable CatWeasel, SSI2001 and ParSID support by default.
- Enable CPU history by default.
- Add `make bindist` for headless builds on Windows/Msys2.
- Don't check for joystick support when configuring for a headless build.
- Add configure check for [n]pcap headers on Windows.
- Fix --with-sdlsound configuring for SDL2 even when SDL1 was explicitly requested via --enable-sdl1ui.
- Fix single target builds.
- Fix installing Gtk3-specific files when not configured for Gtk3.
C64 fixes
- Use measured PAL color vectors (provided by Tobias)
- Fix autostarting and smart-attaching tapecart (.tcrt) images
- Fix cycle count stored into the cpu history (only x64sc)
- Cartridge fixes:
- Fix Pagefox RAM allocation
- Fixed "Super Explode V5" cap timing
- Added support for "Partner 64" cartridge
- Fix attaching non "Main Slot" cartridges via .crt file (IEEE488, Ramlink, IEEE-Flash, MMC64, Magic Voice)
- Fix REU behaviour on triggering DMA by using a RMW instruction with address $ff00 (only x64sc)
- Fixed and document C64 US and german keymaps.
- Added keymaps for UK keyboard (nicked from 'mad' on lemon)
- Added keymaps for Turkish keyboard (provided by erhan)
- Updated swedish keymaps (provided by Jaakko Luoto and Jari Hovatov)
- Added pictures of the C64 layout and keymap (symbolic+positional, DE+US) to the docs.
C128 fixes
- Added foundation of c128 cartridge system. Only attaching c128 exclusive cartridges/crt files works right now.
- added support for "Partner 128" cartridge
- added support for "Magic Desk 128" cartridge
- added support for "GMod2 C128" cartridge
- added support for "Comal80 C128" cartridge
- added support for "Warpspeed 128" cartridge
- Add ram02 and ram03 in the monitor when 'full banks' mode is active.
- Fix filling of VDC ram from the monitor.
- Fix DMA bank.
- Fix autostart in C64 mode
- Fixed and document C128 US and german keymaps.
- Added pictures of the C128 layout and keymap (symbolic+positional, DE+US) to the docs.
VIC-20 fixes
- use measured PAL color vectors (provided by Tobias)
PET fixes
- Improved the sound output by reworking parts of the VIA, in particular as related to the shift register and the CB2 output.
- Sound made by "manual" control of the CB2 output now works.
- Added an adjustable low-pass filter to the sound output, since different speakers on real hardware behave quite different in how much they "muffle" the sound.
- Fixed and document PET layout and US/DE keymaps.
- Added pictures of the PET layout and keymap (graphical+business, symbolic+positional, DE+US) to the docs.
VSID fixes (Gtk3 only)
- Properly update the mixer widget with the current SID model when playing a (subt)tune.
- Add support for the `HVSC_BASE` environment variable: If the HVSC base directory is left blank in the VSID settings the `HVSC_BASE` will be used to determine the location of the High Voltage SID Collection files.
- Add customizable hotkeys.
- Add default hotkeys for subtunes #1-#30, Play, Pause, Stop, First, Previous, Next, Last, FFWD, Loop.
- Display STIL view and Playlist on top of each other, not next to each other.
- Strip HVSC base dir from playlist 'Path' column.
- Add playlist loading/saving (in M3U format).
- Add autoplaying the next subtune when the current subtune has finished playing (requires HVSC).
- Add autplaying the next SID in the playlist when all subtunes of a SID have played.
- Fix missing display of the 'NAME' STIL field.
Monitor fixes
- Fix && and || in cond_expr in the monitor. Previously, both && and &, and || and |, did the same thing: a logical and/or. Now the && and || do the logical operation.
SDL fixes
- Correct colors on big endian platforms.
- Add clearing of joystick mappings.
- Add showing of joystick mappings for menu actions.
- Fix setting of tde and virual device traps for xcbm2 and xcbm5x0.
- Add CMD HD size elements.
- Add PET ROM selection elements.
- Add SuperPET CPU selection.
Gtk3 fixes
- Remove unused -gtkbackend command line option: we no longer support software rendering, so the only option left is accelerated rendering.
- Improved statusbar layout.
- Various layout fixes in the settings dialog.
- More meaningful sliders for CRT settings.
- Add -${CHIP}showstatusbar/+${CHIP}showstatusbar command line options to show or hide the status bar.
- Add -${CHIP}fullscreen/+${CHIP}fullscreen to enable or disable fullscreen mode.
- Hotkeys can be assigned to actions that do not have a corresponding menu item.
- Properly show custom hotkeys in popup menus.
- Make saving custom hotkeys work.
- Correct colors on big endian platforms.
- Fixed CBM directory displayer in statusbar popup and file selection dialog.
- Installed a crazy, but ugly, hack to create the initial window at its final size, so the window manager will not place it off screen when the emulator was started with -default
** Windows fixes
- Fix monitor Ctrl+C/V and other Ctrl+.. combinations (Gtk3).
- Fix issues with numpad
- Fix page up/page down keys
- Fix Alt-Gr in the Monitor
- Fixed MIDI device list / select
MacOS fixes
- Fix issues with numpad
- Fixed MIDI device dialog
- Fixed resize performance when emu fps > host display Hz
Linux fixes
- Fixed MIDI device dialog
Haiku fixes
- Fix `make bindist`.
→ NOWSZY [c64] Oficjalne WinVice 3.6.1 24/01/2022
Changes in Vice 3.6.1
This is a service release which fixes some regressions and annoyances reported by our users after the 3.6 release.
general
- Fixed sound buffer underrun behaviour, it will now cause a small glitch and no longer disable sound or flood the log with warnings.
- Do not write the log to a file instead of stdout when stdout is already redirected to a file or pipe, so we can do just that on the shell.
- At exit, put quotes around parameters of the regenerated command line options so eg filenames with spaces in them will not break it.
- Suppress warnings about duplicated labels when playing back monitor commands to make mrsid a happy bunny.
- For cartridges that contain RAM that can be loaded from (and saved to) a file, do not init RAM on powerup if backed up by a file (mimic battery backup).
- Do not clear the keyboard input when a 'reset' hotkey was pressed. this allows to "hold" keys when pressing reset, for example "run/stop" when resetting FC3.
Note that this still is limited by various other things, like the keyboard mapping and keys reserved by your window manager. - FFMPEG recordings now default to mp4/h264/AAC instead of some divx avi bullshit.
- On smart attach automatically change the drive type also when not autostarting.
- In some cases the wrong drive was selected automatically on smart attach.
- Fixed sampler file loading.
build system
- Version x.y.0 builds will now generate a version number of x.y (no .0). Additionally, support for semver style build labels has been added, allowing versions such as 3.6-beta, 3.6.1-beta, etc.
- Make configure check for *both* avresample and swresample, prefer swresample.
- MacOS bindist support for bundling avresample.
C64 fixes
- Added belgian/dutch keymap provided by sorex.
- Added support for the 21sec backup parallel cable.
- Set default ram size for ramlink to 16mb, enable it on ROM attach.
- Fix ramlink API calls for slot0, add missing ROM image setting to UIs.
C128 fixes
- Various MMU mapping fixes.
GTK3 fixes
- Tracked down and helped fixing an upstream GTK bug that made VICE crash on any keypress under certain conditions, making VICE work again for Jazzcat :)
- Fixed default joystick/gamecontroller mappings on Windows/Linux/MacOS.
- Fixed mapping logic to handle multiple events and duplicate mappings correctly.
- Allow negative coordinates for windows, this should fix restoring the window position that was broken on some multi-monitor setups.
- Monitor: remember and restore VTE window size and position.
- Make the monitor window "remember" its position and size between invocations.
- Allow setting the position and size via command line, using `-monitorxpos`, `-monitorypos`, `-monitorwidth` and `-monitorheight`.
- Position and size is saved along with the settings.
- Made joystick/control port tabs only show the extra ports when they are available.
- Mouse pointer changes shape when hovering over clickable status bar items.
- CPU speed / FPS settings added to the main menu.
- Correctly use the LED colors for drives > 8.
- Fixed drive/tap popup menu labels, only display "#8:0" etc if the drive is a dual drive device in the context menus and directory popup menus. Only show "Directory of tape #1/#2" in xpet, show "Directory of tape" in other emulators.
- Added statusbar led for shiftlock.
- Added clickable 40/80colums LED to x128.
- Added clickable LED for the CAPS aka DIN/ASCII key in x128.
- Properly update both keyboard debugging widgets on x128.
- Don't grey-out sound setting widgets when sound is disabled, so configuration can be changed before enabling sound again.
- Various fixes related to the new hotkeys feature:
- Allow for a few more modifiers when setting hotkeys.
- Filter certain modifiers that are only getting in the way (eg numlock).
- Remove old hotkey from the table when redefining.
- Make Return/Enter trigger Accept in the dialog, make Escape trigger Cancel.
- Only show actions that have a corresponding menu item.
- Use hardware keycodes to figure out the key that was pressed. fixes eg the situation on macOS that hotkeys could not be defined because they produce various symbols.
SDL fixes
- Fixed mapping logic to handle multiple events and duplicate mappings correctly.
macOS fixes
- Fixed macOS bindist not working if placed in path with a space in it. Also the runtime cwd will now default to the user’s home directory, unless launched using the CLI scripts in the root bin folder in which case the current cwd will be preserved.
- Gtk3: added MacOS specific .vhk (hotkey) files.
- FFMPEG recordings now work on Apple Silicon binary distributions
- The launcher .app apps no longer require Rosetta on Apple Silicon
→ NOWSZY [c64] Oficjalne WinVice 3.6.0
Changes in Vice 3.6
- We welcome to the team:
- June Tate-Gans who added the dual screen mode (for x128) to the SDL UI.
- Pablo Roldan aka durandal, who contributed improvements and fixes to the RS-232 emulation.
general
- Warp mode status will no longer be saved in config files.
- Increased autostart reliability.
- Changing host audio settings no longer resets the emulated sound chip.
- Added hardware flow control to the userport RS-232 emulation.
- Added selection of control lines behaviour for userport RS-232 emulation.
- Fixes to ACIA hardware flow control, DCD and DSR lines behaviour, register reset values.
- (Re-)added tun/tap support for Ethernet emulation, including support for "capabilites", so it can work without root/Administrator rights
- "Device Traps" and "True Drive Emulation" can now be selected per drive/device.
- Various fixes related to keyboard mappings. For details please read https://sourceforge.net/p/vice-emu/mailman/message/37380515/
- Fixed problems related to Caps-Lock and Shift-Lock emulation
- Added support for piping printer output and RS232 I/O through an external executable on Windows.
- Fliplist (.vfl) support tweaked to be compatible with devices like sd2iec,
- pi1541 and Turbo Chameleon. Fliplists in the old format can still be loaded, newly created ones will always use the new format (see manual).
- Removed pointless "dither" column from palette files and -format.
- Some improvements in the 1520 plotter emulation.
- Extend images directly from 35 to 40 and then 42 tracks, as other sizes are not used anywhere else in the world
- More realistic implementation of tape wobble.
- Fixed p64 wraparound.
- Added option to write out the raw data produced by reSID (for debugging).
- Made 48kHz the default for sound output, since that is what most modern stuff uses natively.
- Log the random seed and added a commandline option to set a seed, useful to reproduce things that depend on randomness.
- At exit log all resources with non default values, and a reconstructed commandline, which should make it easier for people that are reporting bugs.
- when mounting Dxx GCR images, add a reasonable skew per track to make the
- disk layout a bit more realistic
- Remove tearing in screenshots.
build system
- Remove linking to vice libraries for petcat and cartconv.
- All targets can now be built separately (e.g. 'make x64sc').
- Fixed building on cygwin.
- removed support for building with embedded ROMs
- Made the new 8580 filter implementation the default for configure.
Joystick fixes
- New Superpad64 emulation.
- New spaceballs joystick adapter emulation.
- New MultiJoy joystick adapter emulation.
- New Inception joystick adapter emulation.
- New Microflyte analog joystick emulation.
- New userport SNES pad (Petscii) emulation.
- New Trapthem joyport SNES pad emulation.
- New Protopad emulation.
- New plus4 Synergy 3-port joystick adapter emulation.
- Extended Ninja joyport SNES pad adapter to 3 ports.
- All SNES pad buttons are supported now.
- Joystick adapters with more than 1 port are always mapped to the extra joysticks from now on.
- Joystick adapters with only 1 port are mapped to the port they are attached to.
- SIDcard joystick of the plus4 is now always mapped to extra joystick #4.
- New autofire button support.
- New virtual I/O simulation device for the joyport, allows pins to be changed by the user from the monitor.
Userport fixes
- Only one userport device can be attached to the userport at a time from now on.
- New virtual I/O simulation device for the userport, allows pins to be changed by the user from the monitor.
Tapeport fixes
- Only one tapeport device can be attached at a time from now on.
C64 fixes
- Added REX Ramfloppy loading & saving of the RAM contents.
- Added support for "Hucky's EPROM Cartridge", implemented as a variant of the RGCD cartridge.
- Added "Turtle Graphics II" cartridge emulation.
- Added "IEEE Flash 64" cartridge emulation.
- Added "Freeze Frame MK2" cartridge emulation.
- Super Snapshot V5 fixes.
- WarpSpeed emulation matches the behaviour of the real hardware better.
- Renamed "H.E.R.O. Bootleg" cartridge type to "Drean".
- Fixed REU floating bus behaviour (256KiB REU).
- Removed GEORam sizes smaller than 512KiB - Those never existed.
C128 fixes
- Added VDC interlaced rendering support
- Added Interlaced Sync mode to VDC (Interlaced Sync and Video was already implemented) Both modes now work with the new interlace-aware renderers.
- VDC memory mirroring behaviour improved.
- VDC busy flag behaviour improved.
- Fixed 2Mhz mode unconnected memory space reads.
- Added missing SDL symbolic keymap for US keyboard
VIC20 fixes
- Added VIC interlaced rendering support
- Added support for .crt files
- Added support for screenshots in native vic20 format
- Added "VIC-1001" model
- Don’t update VIC potx / poty registers more often than every 512 cycles.
Plus4 fixes
- Added "jacint1 1MB Cartridge" emulation
- Added "c264 magic cart" emulation
- Added "Plus4 multi cart" emulation
- Added support for .crt files
PET fixes
- New datasette #2 emulation.
- Added support for .t64 files
- Monitor IO dump for CRTC improved with internal register dump, interlace status and layout fixes
- Overhaul PET CB2 sound output sample generation.
CBM2 fixes
- Fixed datasette emulation (only with .tap files right now)
VSID fixes
- Fixed various issues with threading.
- Implemented proper STOP of playback.
C1541 fixes
- Add `bpoke` command: directly write one or more byte into a block.
- Make the `chain` command accept a '[@unit:]filename' argument.
- Make the `extract` command detect circular track/sector links.
cartconv fixes
- Added support for the new extended CRT V2 format, which now supports all
- other CBM computers (see manual for details).
- Added support for C128, VIC20 and Plus4 cartridges.
petcat fixes
- correctly align (5 digit) line numbers.
- Added support for Mega65 BASIC
Monitor fixes
- Make the `device` command switch to computer when not given an argument.
- Add `warp [on|off|toggle]` command.
- Fix not being able to delete the final character on a line with DEL.
- Drive CPU emulation now catches up to main CPU automatically.
- Snapshots autostarted from monitor will immediately update the screen (interlaced screens not fully supported).
- Fixed various user input performance and consistency problems.
- 'chis' command now prints a 12 digit cycle counter.
- 'chis' command now works for drives
- Fixed execution order of multiple -moncommands arguments.
- Fixed single-stepping on "secondary" CPU (eg Z80 in x128).
- Fixed Z80 disasssembler, all opcodes are supported now.
- Make the CPU bank the default, not RAM.
- In x64sc, fixed reading 0/1 when CPU bank is active.
- Fixed display of multicolor sprites.
- Fixed assembling indirect absolute JMP with zero page argument.
SDL fixes
- New SDL2 dual window support (VDC in x128).
- New automatic SDL2 host joystick hot-plug rescan.
- New SDL2 rescan host joysticks menu item.
- Removed unneeded items from some SDL menus.
- New D67 image creation menu items.
- Fixed relative paths in the SDL file/directory selection dialog.
- New host joystick axis mapping support for emulated paddles and analog joysticks.
- Mapping of host joysticks menu now shows what the pins are already mapped to.
- Add application icons to SDL1.2 binaries.
- Fixed display corruption and OpenGL detection on some machines
GTK3 fixes
- Added bicubic rendering, which improves the look of a resized window with the CRT filter enabled.
- Remove sandbox mode.
- Fixed statusbar recording status widget display issues.
- Fixed C128 function ROM settings.
- Add setting colors of the monitor.
- Add 'Cartridge -> Default cartridge' to settings. This allows the user to see the current default cartridge, unset it and set another cartridge as default.
- Fix 'extend image' dialog.
- Fix display of joystick names with non-ASCII glyphs.
- Improve widgets setting file paths: use the directory of a file's path in dialogs as the default directory.
- Media recording dialog: remember previously used audio/video codecs when starting a new recording.
- Fix VSID not allowing .MUS files to be added to the playlist.
- Allow unlimited host controllers for joysticks
- Fix resetting of scroll position in RAM reset pattern view.
- Fix loading 'vice.ini' inside a Windows bindist: load from the root directory,
- not the bin/ subdirectory.
- Fix toggling pause mode when taking a quick screenshot.
- Fix various layout issues in the settings.
- Add 'Add current image to fliplist' and 'Clear fliplist' items to drive widget popup menu.
- Remove userport joystick swapping.
- Add swapping of controlport joysticks' emulated devices.
- Add saving/restoring the 'fullscreen decorations' state.
- Add joystick autofire settings.
- Simplify userport devices settings.
- Simplify tapeport devices settings.
- Use checkboxes in menus for toggleable items.
- Add 64x64 pixels icons.
- Fix tape autostart via a tape's 'directory'.
- Status bar: overhaul layout, add small row with LEDs for Pause/Warp.
- Status bar: add support for dual-drive units.
- Status bar: add support for two datasettes.
- Status bar: fix directory popup menus to display the correct directory for dual-drive units and to autostart the correct file.
- Status bar: display main/drive CPU JAMs in the messages row, rather than in the CPU/FPS widget, properly remove JAM messages on reset of affected device.
- Add customizable keyboard shortcuts ('hotkeys'). Those who were missing the old WinVICE hotkeys can use gtk3-winvice-legacy.vhk
- Immediately apply color changes of the monitor.
→ NOWSZY [c64] WinVice 3.1 v13 by Cloanto 21/07/2021
VICE 3.1.cloanto 13 21 Jul 2021 16:20:00 UT
- Virtual mouse: improved visual feedback and solved a potential crash on startup.
VICE 3.1.cloanto 12 14 Jul 2021 12:30:00 UT
- VICE 3.1.cloanto12 (based on official VICE 3.1) is available. Added support for square vs. original pixel ratio. Improvements to virtual mouse, screen capture and clipboard text handling. Resolved issues in joystick input, startup keyboard commands, CBM-II disk I/O, and CBM 610 graphics garbage.
VICE 3.1.cloanto 11 18 Feb 2021 21:00:00 UT
- VICE 3.1.cloanto11 (based on official VICE 3.1) is available. Improved MAX Machine support.
VICE 3.1.cloanto10 Released 10 Jun 2020 15:00:00 UT
- VICE 3.1.cloanto10 (based on official VICE 3.1) is available. Autostart improvements and bug fixes (resolved issues in C128 80-column mode and launching standalone .prg files with "short" file names).
VICE 3.1.cloanto8 Released 09 Dec 2019 17:30:00 UT
- VICE 3.1.cloanto8 (based on official VICE 3.1) is available. Added support for Cloanto feedback server, implementing application crash handling. Added synchronization code to prevent concurrent calls to the DirectX screen update function, resolving a crash on some systems. Added support for Open Debugger and for Scale 2X video filter RetroPlatform features.
C64 Forever 8 "R3" Released 07 Dec 2019 00:08:03 UT
- C64 Forever 8 "R3" (8.3.1.0) released, consolidating more than 75 documented fixes and enhancements, and numerous minor improvements from previous early access updates. The title editor, the setup wizard and the changelog and update experience again received special attention, and so did features relating to keyboard and audio handling. A general priority of this release cycle has been on adding an extra level of polish, once more fixing all known bugs and setting a foundation for improved processing of future issues. This includes support for a new feedback server (for user feedback and application crash handling), which is now also available to emulation plugins. Version 8 users can get the update through the Help/About dialog. The updated full installation package can also be accessed via the original confirmation email or from the new Help/My Downloads and Keys menu item. Additional details can be found in the built-in Changelog feature (in Help/About).
2019-12-02 Version 3.1.cloanto7
- added support for Cloanto crash reporting
2019-03-01 Version 3.1.cloanto6
- added support for Scale 2X RetroPlatform video filter
- added support for Open Debugger RetroPlatform shortcut
2018-12-10 Version 3.1.cloanto5
- added support for RetroPlatform Virtual Mouse
- added screen overlay functionality (for fullscreen controls)
- added TAPE RESET command
- added scale-2x support
2017-09-28 Version 3.1.cloanto4
- added log error details when RetroPlatform startup initialization fails
- added new code to disable the system screen saver
- removed mouse-jitter code to disable the system screen saver
→ NOWSZY [c64] Oficjalne WinVice 3.5.0
Changes in Vice 3.5
- This release completes the transition to the new GTK3 based GUI and fixes a bunch of long standing issues (see below).
- We are looking for someone who can provide stable automatic nightly builds
- for this will work best on a Windows machine, or perhaps a Fedora server. We tried our best to come up with a solution for Debian, but that didn't work out as intended. If you think you can help in this area
- please get in touch.
- We welcome to the team: empathicqubit
- who wrote the new remote monitor binary interface Roberto Muscedere aka OldWoman37
- who contributed the new Lt.Kernal, CMD-HD and RAMlink emulations (C64 only)
General
- Remove explicit support for OS/2, AmigaOS. These platforms should be able to use the SDL port.
- VICE used to store its ROMs, keymaps etc into $PREFIX/lib[64]/vice, which isn't correct. Now VICE installs its data into $PREFIX/share/vice, which makes a lot more sense. The documentation location has changed as well, now the documentation is installed in $PREFIX/share/doc/vice. On Windows, the binaries and DLLs have been moved into /bin, according to the requirements of GTK/GDK.
- Emulator timing is now directly driven by the host system audio device. If sound emulation is disabled, timing is synchronized with the host clock. As part of this change, the choice of sound synchronization method has been removed.
- Emulation now occurs in blocks of time directly related to the sound fragment size. Previously, emulation of an entire frame happened as quickly as possible and then the host system would sleep until it is time to emulate the next entire frame. This means that user input is now visible to the emulated software with lower latency than before.
- Audio latency is much lower on all platforms, and new lower latency defaults have been set. Users are encouraged to try using smaller fragment sizes and experiment with finding the lowest stable buffer size on their system.
- Support for changing the emulator timing to target generating a specific number of video frames per second. Useful for smooth PAL scrolling on a 50Hz CRT, and also fun for playing games at 60fps to match a typical LCD screen refresh.
- The default behaviour on CPU JAM was changed to "continue" to better match the behaviour of the real machines. Additionally a "CPU JAM" message will be displayed in the status bar.
- A "quit emulator" option was added to the CPU JAM dialog
- The CPU JAM dialog now shows the number of the device whose CPU has crashed.
- Proper support for dual drives has been added
- Relative file support on the filesystem device
- Autostarting works from any drive (select the drive in the attach disk dialog)
- Added support for 2nd and 3rd joystick button (potx/poty), currently only via keyboard and via unix joystick driver.
- Added mapping for the THEC64 joystick
- New LT.Kernal emulation
- New CMD-HD emulation
- New CMD RAM-Link emulation
- New D9090/60 emulation
- New icons for the applications.
- We now use proper binary prefixes for memory sizes. Welcome in the 21st century!
- Recalculate the palette parameters when the videochip type changes, now we can actually see the subtle color differences :)
- Emulate a switch present on some compatible datasettes (not the Commodore ones). Turning the switch on makes the sound recorded on the tape audible.
- Fixed/improved "native" screenshots. It will now work with all videochips and always generate "best effort" results.
- The emulators will look for the config file at an alternative location first, before looking at the system wide location.
- for windows that is the location of the .exe files
- for Linux that is ~/.vicerc
- Fixed lightgun/pen emulation
- use poty instead of potx for trigger for magnum lightphaser and inkwell lightpen
- tweak lightphaser offset against a bunch of games
- Handling of settings and resources was improved a bit:
- always reset resources to default before loading a settings file
- new "-addconfig" option (or "load additional settings") loads additional resources from a file without resetting to defaults before. this can be used to keep custom setups separate from the regular settings.
- Fixed sysfile search path order. The order now is $HOME/.local -> path-of-binary -> VICE_DATADIR
- Fixed a bug in .tap file handling that caused some .tap files to not work in the preview widget(s)
- A bunch of files have been removed from the source tree because they didn't really belong there and/or contained outdated info:
- hardware-sids.txt, the old info is now at https://vice-emu.pokefinder.org/index.php/Hardware_SID_Status
- SDL-support.txt, the old info is now at https://vice-emu.pokefinder.org/index.php/SDL_Status
- ffmpeg-support.txt, the old info is now at https://vice-emu.pokefinder.org/index.php/FFMPEG_Status
- Another bunch of files were removed because their content was hopelessly outdated and/or could be moved to other files:
- removed ancient CHANGELOG files. Read NEWS for the recent changes. Refer to the SVN log for the gory details.
- moved contents from FEEDBACK to README
- removed INSTALL, AUTHORS, FEEDBACK
- removed the MAN pages. Read the html or pdf manual instead.
build system
- Many changes and simplifications were made in the build system, to make it more reproducible and match the expected standard behaviour:
- Add --disable-optimization (default=no) to make the buildsystem use -O0 for debugging.
- 'make dist' no longer needs '--enable-static-ffmpeg' to generate a working tarball.
- Fixed support for the —disable-silent-rules/—enable-silent-rules configure arguments.
- Added --enable-sandbox-mode switch. This switch will tell GTK3 to use 'native dialogs' so we can properly support Flatpak and similar containers.
- Added -—enable-cmake to automatically generate cmake CMakelists.txt files for in-tree configured builds. Generating Xcode projects works, and this may allow generation of MSVC project files in the future.
- Add --enable-desktop-files for creating and installing .desktop files on Unix.
- Added --enable/disable-html-docs
- Added --with/without-mpg123 (default=yes), makes MP3-decoding support optional
- Added --with/without-ogg-vorbis
- Added --with/without-flac (default=yes)
- Update --with[out]-lame, make no default
- Make jpeg and gif support default to no
- Make using libpng the default, fail unless explicitly disabled
- Make ALSA and Pulse default to enabled, make OSS default to disabled
- Make MIDI support disabled by default
- Make new 8580 filter default
- Removed --disable-hwscale, always check for OpenGL with GTK3, error out when --disable-hwscale is used with SDL2 Properly report missing tools to generate docs:
- Fail on missing pdftex when PDF docs requested
- Checks for makeinfo and texi2dvi (from the texinfo package) and warns in the configure output at the end if they are missing, but will still build VICE. Check presence of other tools instead of silently not using them:
- Made dos2unix mandatory to avoid surprises
- Fail if building for Windows and `icotool` is missing. It can be obtained by installing the `icoutils` package. Some features have been deprecated and are now disabled by default:
- Added --enable-x64-image option to enable X64 image support, which is now disabled by default.
- Added --with/without-fastsid switch to enable/disable the fastSID engine (default is off).
Monitor
- Completely new binary remote protocol for debuggers. The older hack was removed
- see the documentation for details.
- -moncommands finally work as originally intended and supports all monitor commands now. That means there are subtle differences in how certain things work. one important thing is that by default it will use an initial break point just after "reset".
- "-initbreak ready" can be used to place an initial wait for "ready", like autostart does, or "-initbreak reset" to break just after reset. For more details, read the documentation.
- ‘stop’ is no more ending up in recorded monitor command playback files
- Support `cd ~` to change cwd to $HOME
- Added 'mkdir' command
- Aadded 'rmdir' command
- Aadded "verify" and "bverify" commands to compare memory with a file
- Aadded optional address to the `screen` command
- `chis` shows the cycle count as well now
- Aadded option to configure the number of lines used for chis
- Aadded option to change the size of the scrollback buffer
- Added "dummy" command to enable or disable whether break
- and watchpoints trigger at dummy accesses or not.
- Check watchpoints in the order they were added, that makes the output in the monitor less confusing when more than one watchpoint triggers at a time
- Show rasterline and cycle in both decimal and hex
- Add 'q' as a shorthand for 'quit'
- Improvements to the char/sprite display
- use # over * for more contrast, show the memory value(s) alongside binary view and fix bug showing multiple sprites
- "list", "load" and "save" do now work with the filesystem device
- Drive numbers are now expected to be decimal
- Add monitor dump function to m6821 core
- Added info on head position/status to VIA io dump
- The display now (optionally) refreshes after each monitor command. this is not cycle exact right now (only per scanline).
- Fixed accessing cartridge memory
- Improve expansion port mode status output
- Fix io command to shows IO space in address order
vdrive
- The filesystem device now uses shortened filenames by default to increase compatibility.
- Disallow to silently overwrite existing files (optional, default is "no")
- Implemented "save @" to overwrite files (but do not simulate the well known related bugs)
- Basic support for REL files in the File System Device. (Using P00 format, or rather R00, is recommended)
- Fix some BAM track allocation issues in 8050/8250 disk images
- Avoid DISK FULL with 27 blocks free on .D80 / .D82.
- For D80/D82 images, when reading the directory, use the correct block to fetch the disk's name from. This corrects a bad disk name in directory listings when using a vdrive.
- Added proper creation of d1m, d2m and d4m images, the resulting image has 1 native partition spanning the entire disk.
- When formatting or validating an 8050 or 8250 image, the header sector wasn't flagged as allocated. This resulted in VICE hanging when creating more than 80 files on the disk.
True drive emulation
- More realistic modelling of the floppy drive wobble
- Changed lower limit for drive RPM to 260 and upper limit to 340 (ie +/
- 40). This is slightly more than possible with a real 1541.
CPU fixes
- Prevent IRQ/NMI from being served by the CPU when it has JAMed
- Perform all "dummy" accesses also in the non "sc" core
- Changed magic constant for LAX#imm to 0xEE as required(!) by wizball
VDC fixes
- Emulate VDC's internal buffer, issues with RFOVDC plasma part are fixed
- Several fixes for interlace, now vdcmodemania interlace parts all work and soci VDC test #5 works
- Improved VDC-FLI handling, 3 byte attribute offset doesn't always apply, fixes vdc-mcm demo and vdcmodemania fli part
- Fix issue with wrap around of VDC ram affecting vdcmodemania fli part
- Fixed VDC reg #28 bit #4, it sets the addressing mode, it does not actually reflect the amount of ram installed.
- Correct aspect ratio for PAL or NTSC
- Screen is resized automatically on PAL/NTSC change
- Corrected size of saved screenshots or videos
- Correct handling of unused bits in some registers
- Corrections and enhancements to monitor "io d600" dump
SID fixes
- Fixed the filter saturation
- Noise writeback fixes
- Envelope regression fix
- Fix the coefficients for the resid external filter
- Rough implementation of the shift register and waveform zero bitfade
- Added 4 possible additional SID chips for a total of 8 (x64*/xscpu64/x128 only)
C64 fixes
- Enable/disable datasette/tapecart as needed on autostart
- Several new cartridge types added:
- The 'ZIPP-CODE 48' cartridge
- The polish 'blackbox v8' cartridge
- The polish 'Blackbox V3' cartridge
- The polish 'Blackbox V4' cartridge
- The polish 'Blackbox V9' cartridge
- The 'REX RAM-Floppy' cartridge
- The czech 'BIS-Plus' cartridges (2,4,8kb variants)
- The polish 'SD-BOX' cartridge
- The 'MultiMAX' cartridge
- The argentinian HERO bootleg cartridge
- The "GMod3" cartridge
- Action Replay fixes:
- When reading from IO1 area when AR5 is enabled, the value currently on the bus will get written to the register, causing the famous bug/crash
- Handle the broken mode 0x22 and emit a warning on potentially problematic reads
- Retroreplay fixes:
- Allow reading back the status of the freeze button
- Fix reads from IO1 when the clockport is not active.
- Handle the somewhat broken mode 0x22 like on real retro replay
- Nordic Power fixes:
- Fix writing to cartridge ram in mode 0x22
C128 fixes
- FD2000/4000 work again, including burst mode
VIC20 fixes
- Added handling for 32k cartridge files that contain blocks 1,2,3 and 5.
- Fixed megacart nvram addressing
- External audio filter fix
PET fixes
- Teach VICE where BASIC 1 keeps the current screen line address, so that Autostart works.
- Made the UK business keyboard the default and moved it to the top of the list of keyboards. This makes the default setup work with the keymaps and editor ROM we have in VICE.
- For CRTC-less PETs, use screen setup values that work out to 60 Hz refresh.
- Tuned the display timing values for non-CRTC PETs
- Renamed PET ROMs to include their part number (in line with Zimmers). This should make it more clear which editor ROMs exist.
- The 4032B model used a wrong Editor ROM
SDL fixes
- Implemented mouse pointer auto-hiding
- Remember last position in the main menu
- Several Keyboard mapping fixes:
- Fix (some) plus4 keymaps
- Some pet keymap fixes
- Updated/fixed symbolic mapping for italian keyboard
- Some tweaks to symbolic keymap for german layout (plus4)
- Added keymap from/for BMC64 (c64)
GTK3 fixes
- Almost all causes of stuttering / audio glitches when interacting with the UI have been resolved.
- Cairo is completely gone, all major platforms use their native rendering backend
- Added hotkey "pause" to generate a screenshot from current canvas using a generated filename in the current working directory
- Rearranged cartridge/io settings around a bit. not perfect yet, but probably better than before
- Add optional hiding of VDC display
- Make double-clicking on the emulated screen switch fullscreen mode
- Alt+Enter will now also toggle fullscreen mode
- Added option to pause the emulation when settings dialog is open
- Remember not only the last directory but also the last file in file dialogs
- Show "Use Alt+M to disable mouse grab" in window title if mouse grab is active
- Support 'StartMinimized'/-minimized
- Added 'restore window geometry' to UI and commandline to allow users to apply/ ignore the last position/size of the window(s) stored in vicerc/vice.ini.
- Allow for 8 'analog' controllers on Linux
- Added Alt+Shift+F12 VICII to switch border mode in x64sc
- Moved the netplay settings from the 'File' menu to the settings dialog
- Added 'Host' root node in the settings UI, move Autostart, Monitor, Netplay, Snapshot/Event/Media recording directory and start-mode under that.
- Also move Host->Machine settings (CWD and JAM-action) under Host, remove the Host->Machine node.
- Use workaround for GTKFileChooser's "Select" button not being active when selecting/creating a directory.
- Several Keyboard mapping fixes:
- Added keymaps for THE64 keyboard
- Updated keymaps for pet graphical keyboard
- Fix shift+z/y in german positional mapping (c64)
- Some tweaks to symbolic keymap for german layout (plus4)
- Some tweaks to symbolic keymap for german layout (c64)
- Fix (some) plus4 keymaps
- Added positional keymap for Swedish keyboard
- Fix ctrl and cbm mapping (c128)
macOS fixes
- VICE GTK performance on macOS is now excellent and we finally now recommend the GTK build over the SDL build.
- macOS bindist now relies on macports rather than homebrew. With macports it’s possible to build deps from source while targeting an older macOS version, which allows us to continue to support macOS 10.9+.
- Re-enabled the bafflingly disabled working macOS joystick code
- Actual macOS game controller device names are now listed instead of 6x “Analog joystick n”
c1541 fixes
- Added some REL file support
- support for REL files to the c1541 COPY subcommand
- Add subcommand to show dir entry of a file, and all side sectors.
- Add support for SEQ and USR files for the -extract command
- Renamed `zcreate` command to `unzip`. 'unzip' (dissolve a zipcode archive) sounds more logical than 'zcreate'. When we decide to also support creating zipcode archives, a proper name for that could be 'zip' or 'zipcode'.
petcat fixes
- Added missing basic v4 tokens for cbmII
Changes in Vice 3.4
We are still looking for dedicated maintainers for the Windows port, if you want to help improving these and/or want to provide binaries, please get in touch. We also needs support in fixing the various keyboard mappings, please test the keyboard in your favourite OS and port and report any problems. We welcome dqh in the team, who will take care of the macOS port.
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
Changes in VICE 3.3
- This release stabilizes and introduces the GTK3 UI as the primary user interface for all major ports. For "lesser" platforms we still have the SDL1/SDL2 based interface. All other user interfaces have been removed. RIP We are still looking for dedicated maintainers for the Windows and macOS ports, if you want to help improving these and/or want to provide binaries, please get in touch.
General
- Old, unmaintained, ports removed: * MacOS Cocoa: use SDL or GTK3 * WinVice: use SDL or GTK3 * BeOS/Haiku: use SDL * AmigaOS: use SDL * Unix Xaw: use SDL or GTK3 * Unix GTK2: use SDL or GTK3 * OS/2: use SDL
- Fix building against external ffmpeg >= 4.0
- Fix errors in multi-SID code
- added single SNES pad emulation (compatible to Ninjas adapter/TrapThem64)
- Make VICE much faster by using -O3 vs -O2
- add a slot number before the literal name of a game-controller, which is less confusing when more than one controller of the same type is used
- fix parsing of the commandline with -config first
- added dutch to list of keyboard mappings
Unix fixes
- the sleep function was not handling timer overflows properly, which happens every 4 seconds on a 32bit machine with nanosleep()
macOS fixes
- Enabled the use of the CoreAudio driver in macOS SDL builds.
- Removed the legacy requirement for X11.app when launching VICE.app
ReSID fixes
- tweak uCox value
- correctly emulate filter cutoff transistor both in triode and saturation mode
- Split ReSID resource into 6581/8580-specific resources (passthrough/gain/bias)
- various envelope generator fixes
- use different timing on 6581/8580 for noise register reset when testbit is set
- noise shift register is clocked once after reset
VIC fixes
- corrected green color angle according to colodore website
- fix lumas according to 'colodore'
VIC-II fixes
- corrected green color angle according to colodore website
- fix lumas according to 'colodore'
- added ChristopherJam palette
TED fixes
- corrected color angles according to colodore website
- fix lumas according to 'colodore'
VIA fixes
- fixed initial state of the I/O ports
CIA fixes
- fixed initial state of the I/O ports
- revert part of r32790, makes galaxians g64 load again
Monitor
- io d600 (x128 VDC register dump) expanded
- in memory dump limit the number of bytes per line to a power of two.
- instead of limiting disassembler output to a number of bytes, limit it to the height of the current terminal
c1541
- Fix `geosread` command
- Add tilde (~) expansion in `write` command (Unix only)
- Add P00Save support to `extract` command
Drive changes
- Fix WD1770 formatting issues
- fix mapping of sfd-1001 ram
- Fix trap_rom offset for 2040/4040
C64 changes
- support extra 64k eprom on the comal80 cartridge
- added symbolic keymaps for dutch keyboard layout
C128 changes
- Autostart fixes
- Stability improvements
- VIC mirroring fixed
- VDC emulation improvements * Interlace mode is supported in text and graphics modes (renderers still need work to handle the interlace effect properly) * STATUS flag is partially emulated * Rendering unusual character widths and in the inter-character gap * Semi-graphics mode fixes * Alternate character set fixes * Cursor rendering * Smooth scrolling in 40 column (pixel double) mode * vertical positioning (include register 5)
- added norwegian c128 chargen
GTK3 UI
- Remember last used settings "page" in the settings UI
- Remember last used directory for various file dialogs
- Popup menus for the drive widgets in the status bar: * Show directory of currently attached disk image * Add menu shortcut to the drive settings UI * Add Reset drive #X item
- Mixer/CRT widgets: various fixes
- Move cpu/fps display to the statusbar from the title bar
- Add popup menu to the cpu/fps display widget to control refresh rate, speed, warp and pause/advance frame
- Add popup menu to the joystick widget to allow swapping joysticks and userport joysticks, add shortcut menu item to joystick settings UI
- Add cartridge content preview to the cart-attach dialog (x64/x64sc/xscpu64/x128)
- Dynamically load CBM font
- Don't allow the mouse cursor to 'escape' during mouse grab
- Unhide mouse pointer in dialogs during mouse grab
- Add setting a cartridge as default
- Improve model settings UI behaviour
- Add "Fullscreen on boot" checkbutton and -fullscreen command line option
- x128: Bring either VDC or VICII display to front depending on 40/80 col key
- VTE pulled into the sourcetree, which allows using the same monitor window in all ports
- Terminal
- or GUI based monitor can be selected at runtime in all ports
- introduced new VICE logo provided by Bjoern Odendahl (thanks!)
- fix assignment of user keymaps
- fix Shift+P pausing the emulator, it now properly pauses with Alt+Shift+P
SDL UI
- Add toggle button in x128 for the Go64Mode
- ignore 'dotfiles' in the fileselector on *nix
- added browsing inside disk and tape images.
- added pageup/pagedown/home/end key mappings, and support them in the menus, file-selector and text viewer
- Terminal or UI based monitor can be selected at runtime in all ports
- added a hack to get rid of spurious keyup/keydown events after switching from/to fullscreen generate suitable fonts for the ui at startup, use some custom gfx for the ui. fixes the problem that the ui chars will screw up when the user selects a japanese chargen :) when changing color or crt emulation settings, print a color matrix on screen and update the resources in realtime
- UI cosmetics:
- fix slider length, use custom chars for slider
- make screen all black before entering the UI
- added basic default window icon
- fix display of literal key names for SDL2
- major rework of SDL2 video renderer to work natively with all supported graphics acceleration technologies (OpenGL ES, DX11, Metal, etc). Fullscreen support and resized windows now preserve aspect ratio properly on any screen size.
- SDL2 now respects "GL" filter mode. As a bonus it does so even when the renderer is not OpenGL.
VSID (GTK3)
- Remember last-used-directory for the open file dialog
- Add drag'n'drop support
- Add HVSC support:
- *Support SLDB
- *Support STIL
VSID (SDL)
- implemented drag'n'drop
→ NOWSZY [c64] WinVice 3.1 v7 by Cloanto
2019-12-02 Version 3.1.cloanto7
- added support for Cloanto crash reporting
2019-03-01 Version 3.1.cloanto6
- added support for Scale 2X RetroPlatform video filter
- added support for Open Debugger RetroPlatform shortcut
2018-12-10 Version 3.1.cloanto5
- added support for RetroPlatform Virtual Mouse
- added screen overlay functionality (for fullscreen controls)
- added TAPE RESET command
- added scale-2x support
2017-09-28 Version 3.1.cloanto4
- added log error details when RetroPlatform startup initialization fails
- added new code to disable the system screen saver
- removed mouse-jitter code to disable the system screen saver
→ [c64] WinVice 3.1 v3 by Cloanto
VICE 3.1.cloanto3 Released 12 Jul 2017 13:20:00 UT
- VICE 3.1.cloanto3 (based on official VICE 3.1) is available. Addresses performance and compatibility issues with some CPUs.
→ [c64] WinVice 3.1 v2 by Cloanto
VICE 3.1.cloanto 2 Released 04/07/2017
- VICE 3.0.cloanto 2 (based on official VICE 3.0) is available. Updated to the RetroPlatform Player 7.1 API, which requires C64 Forever 7. Improved multi-monitor, text input and game controller support. See the ChangeLog file in the archive for a detailed list of changes compared to VICE 3.0.