3.6.1

From vice-emu
Revision as of 21:52, 16 January 2022 by Compyx (talk | contribs) (Add bugs for Gtk3 sound driver selection and Gtk3 drive widgets)
Jump to navigation Jump to search

We have some regressions and annoying bugs in 3.6 that should be fixed ASAP in a 3.6.1 service release:

  • the sound disables itself on buffer underrun. it should not do this - a short hickup is much less annoying. instead it should display a message in the statusbar and leave sound enabled. (fixed in trunk)
    • old behaviour restored in trunk, sound keeps playing - however, now we get underrun warnings at shutdown, we should guard this with a "are we shutting down" flag (fixed in trunk)
  • Related to the above (Gtk3): when a sound output drivers fails, sound is disabled and the output driver selection greyed out. This means one cannot reenable sound by selecting another driver. So the driver selection should never be greyed out.


  • the popups on the statusbar should open also on right-click, not just left-click (fixed in trunk)


  • Status bar drive widgets show "Attach to #8:0" and "Directory of unit 8 drive 0" for single-drive devices, the references to drive 0 should be omitted.


  • The "Maximum Speed" submenu should be added to the regular main menu (where the pause/warp stuff is) (fixed in trunk)


  • The "Control Port" dialog does not immediately update itself when an option was changed. eg change port 1 to "inception" adapter - it should show 8 extra joystick ports without having to go to another tab and back


  • for making a release, the copyright date must be changed manually in a bunch of files, this should be automatic/scripted: README, index.html, vice.texi, src/sounddrv/soundflac.c, src/arch/gtk3/uiabout.c


  • In the Hotkey editor there are weird things going on with ALT-GR (tested on linux)
    • ALT-GR produces a MOD5 modifier (so that probably should not be filtered)
    • ALT-GR produces a GDK_KEY_ISO_Level3_Shift (0xfe03) event, but ONLY on release (wth). This however makes it impossible to actually define a hotkey with ALT-GR
(gpz) i played around with this and came to the conclusion that it is not useful to try to support Alt-Gr for hotkeys. The keyboard handler already does some stunts to support it for mapping regular keys, and that is also what the expected use for this key is.
  • On Windows it behaves differently, but does not need further fixing
    • ALT-GR+key produces CTRL+ALT+MOD2+key
    • strange enough, CTRL+ALT+key also produces CTRL+ALT+MOD2+key
      • so in windows we can filter MOD2 and ignore the existance of ALT-GR


  • on macOS the emulator seems to not work when the binary (or the data folder?) is in a directory with space in it (fixed in trunk)
  • Monitor window and position can not be saved/restored (fixed in trunk)
  • Saving/restoring window positions with multi-display setups is reportedly broken.
The code in trunk has been altered to allow negative coordinates, using `INT_MIN` as the flag to NOT restore window position, this requires testing on various OSes and window managers.
After testing with two displays set to provide a single desktop (3840x1080 pixels), it appears the code works fine on Debian with Wayland and also works on a Windows 7 VM running on that machine. I (compyx) expected Win7 to use negative coordinates for the secondary (left) display, but coordinates for that display start at 0,0 and the second display starts at 1920,0. So this requires further testing by someone with a bare metal Windows installation.


  • the hotkeys are at least partially broken in the SDL port. they must be tested and fixed (fixed in trunk)
    • ideally the hotkey definitions are rewritten to work on named actions instead of menu pathes


  • the tarball has a top dir named vice-3.6.0 - this screws up packaging, it shouldnt have this
    • to rephrase: the top dir should match the package name exactly, so vice-3.6 for 3.6 and vice-3.6.1 for 3.6.1

  • Joystick/Gamecontroller input is broken on macOS. The generic code (default mapping) now ignores extra axes on macOS like it does on windows, however its still broken.
  • Some clickable widgets on the status bar don't change the mouse pointer to inform the user they can be clicked (mouse pointer doesn't change). (fixed in trunk)
    • Warp and Pause leds don't change the pointer at all. (fixed in trunk)
    • Tape (motor) status indicator doesn't change the pointer, the "Tape:" and counter labels do. (fixed in trunk)
    • Individual joystick status widgets don't change the pointer, the "Joysticks:" label does. (fixed in trunk)
    • Drive leds don't change the pointer, the unit[:drive] and [head:]track.sector labels do. (fixed in trunk)
  • hotkeys are broken on macOS.
    • the hotkey editor needs to be fixed
The hotkey editor now allows GDK_MOD2_MASK (maps to Command on MacOS) and GDK_META_MASK (no idea what OS uses that), so testing by MacOS users is required to see if the UI now accepts Command as a modifier. Of interest is also whether the UI properly shows "<Command>some-key" or "<Mod2>some-key".
    • the parser segfaults on '<Meta>', running past the end of the string to parse (fixed in trunk)
    • we should provide an alternative hotkey file that has the hotkeys defined for "command+key" instead of "option+key" (which equals alt+key)
    • VICE-provided hotkeys are parsed even when using `--help`, so we'll probably need some `help_requested` flag to avoid this and perhaps other stuff that shouldn't run when using `--help`.
    • check: https://wiki.gnome.org/Projects/GTK/OSX/Integration


  • joystick default mappings are screwed up at least on windows (should be fixed in trunk)
    • we should make sure at least buttons 1,2,3 are mapped to fire 1,2,3 (all other buttons to fire 1) (should be fixed in trunk)
    • apparently in windows the "hat" controller (dpad) was mapped to joystick before (now unmapped). this needs to be fixed and made the default again. at this point we also must make sure all default mappings are the same on all OSs (why are they not anyway?) (should be fixed in trunk)


  • some macOS specific documentation should be added that explains how to use the binaries from commandline (Moved the relevant readme file into the bindist root)


(updated gtk works for unseen, although jazzcat yet to test)

links to threads containing 3.6 feedback