From vice-emu
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:

  • 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
  • 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 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 driver fails, sound is disabled and the output driver selection greyed out. This means one cannot re-enable sound by selecting another driver. So the driver selection should never be greyed out. (fixed in trunk)
  • 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. (fixed in trunk)
  • 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 (fixed in trunk)
  • 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 (fixed in trunk, we simply ignore MOD2 and Alt-Gr, too much trouble with 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)
  • 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 paths

  • 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 (fixed in trunk)
  • 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. (fixed in trunk)
  • 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". (fixed in trunk: modifiers allowed are Control, Command (Mac), Alt/Option and Shift)
    • 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) (fixed in trunk: on MacOS VICE parses the alternative "*-mac.vhk" files which use Command instead of Alt/Option)
    • 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`. (fixed in trunk. Include machine.h to access the global int help_requested (boolean))
    • 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)

  • jazzcat reported a crash at startup in windows 10. r41385 apparently still works on his box - better talk to jazzcat directly (ircnet #c-64)

links to threads containing 3.6 feedback