Menu

Fuse 1.4.1 Release Plan

Fredrick Meunier Philip Kendall

Required for next release:

  • Preliminary target date: weekend of the 7th October?
  • Commit to a version number (probably save 1.5 for a release with new user-facing features vs smaller bug fixes)
  • Run libspectrum and Fuse test suites
  • Documentation updates to reflect new release date/number
  • Check libspectrum ABI compatibility and set new version-info/soname as required
    • Use rules of thumb from https://autotools.io/libtool/version.html except no changes if no ABI changes have been made
      • Always increase the revision value.
      • Increase the current value whenever an interface has been added, removed or changed.
      • Increase the age value only if the changes made to the ABI are backward compatible.
    • Update required libspectrum version in Fuse's configure.ac if an interface has been added, removed or changed.
  • High level ChangeLog summaries
  • Accelerated loader improvements

Notes:

The framebuffer, SVGAlib and Xlib UIs are deprecated and unmaintained
This means:

  • We'll keep them around only until they break
  • We will only take minimal effort to fix them
  • Patches that break them as a side effect will be accepted
  • Patches that fix breaks in these UIs will also be accepted
  • If they are broken when a release is performed, we are most likely to remove them to prevent confusion

Nice to have for next release:

The following are desriable features that have had some significant work done but are incomplete for one reason or another and need further development work to complete. All assistance to address the reamaing gaps to complete the features would be gratefully recevied.

  • Didaktik interface emulation
  • ULAplus
    • [patches:#323]
    • Development on branches/2014-09-07-ulaplus
    • Disable for fb, wii and X11 user interfaces?
      • Done
      • Palette handling needs refactoring
        • Palettes are used in various places inside and outside the Fuse executable (Display code, PNG file handling, FMF movie file conversion) etc.
        • Palettes can vary between hardware (ULAplus/Timex)
        • Supporting limited palette UIs (FB, SVGAlib, portions of Xlib) makes refactoring more difficult due to limited access/interest for development
        • Is it time to retire these UIs to allow easier modifications
          • Agreed that we will deprecate these UIs
    • PNG screenshot writing
    • SCR file read support
    • FMF movie support
      • Add support for mixed screen modes and Pentagon 16C mode to movie capture
      • Add support for new movie capture format to fmfconv
      • [patches:#390] Add new FMF V2 format for easier evolution
    • Snapshot support
  • Didaktik Gama emulation
  • SDL2 UI
    • [patches:#326]
    • Quite stable
    • We need to be happy with how the new scaler interacts with the old fixed scalers
    • Needs documentation
  • DISCiPLE interface emulation for 128K
  • RZX RollbackTo preview
    • [patches:#320]
    • Does not work for Timex and ULAplus modes
    • May be suitable to limit support to standard ZX Spectrum mode
  • Open recent files on the menu
    • [patches:#282]
    • Uses GtkUIManager which has been deprecated in GTK 3.10
    • The menu handling on GTK+ UI needs a rewrite
    • Defer until there is an alternate implementation that doesn't require GtkUIManager
  • OSD + Hotkeys
  • AMX mouse
  • Currah µSpeech
  • Debugger
  • Blargg NTSC filter patch
    • [patches:#374] blargg NTSC filter patch
    • Code is on the patches-374-blargg-ntsc-filter-patch branch
    • Needs some polishing to be more cleanly integrated to Fuse
      • no patches to display.c
      • option to properly integrate with Win32/Widget UIs?
  • Core
    • I'd like to start working towards whatever changes are necessary to get our "forks" (mostly the OS X port and Spectacol, maybe libretro as well) closer to the core code. [patches:#355] has some stuff on this, but almost certainly isn't the whole story.

Related

Bugs: #286
Bugs: #387
Feature Requests: #88
Patches: #142
Patches: #282
Patches: #320
Patches: #323
Patches: #326
Patches: #327
Patches: #331
Patches: #333
Patches: #347
Patches: #355
Patches: #362
Patches: #374
Patches: #390