Skip to content

Releases: plrguez/fuse-od

Fuse 1.6.0 OpenDingux/RetroFW v0.0.7 (Performance Build for OD)

16 Oct 21:40
Compare
Choose a tag to compare

This release is intended only for use in lepus and jz4770 devices with the OpenDingux firmware released here https://github.com/OpenDingux/buildroot/actions/runs/3101426374
Built with the updated toolchain

There are no other changes

Fuse 1.6.0 OpenDingux/RetroFW v0.0.7

19 Nov 01:19
Compare
Choose a tag to compare

Fuse sources and builds for OpenDingux & RetroFW

  • fuse-1.6.0-od-v0.0.7.opk for legacy OpenDingux firmware. Valid for GCW-Zero, RG350(P)(M), RG280(V)(M). If you have stock firmware in your device you must use this. Also this should work with Rogue firmware.
  • fuse-1.6.0-od_beta_multi-v0.0.7.opk for OpenDingux beta firmware. Valid for GCW-Zero, RG350(P)(M), RG280(V)(M), LDK vertical and horizontal, RS97, RG300 devices. You can obtain latest beta here
  • fuse-1.6.0-retrofw-v0.0.7.opk for RetroFW 2 firmware (RS97, LDK, etc...)
  • fuse-1.6.0-retrofw-v0.0.7.ipk for RetroFW 1 firmware. (RS97, LDK, etc...)
  • Sources for Fuse 1.6.0 and libspectrum 1.5.0 in tar.gz and zip formats with patches already applied.

Changes in this release:

  • Update version to upstream 1.6.0
  • Bugfix: Poke memory don't allow to select pokes because X button is assigned to add new pokes. Changed to use Y button to add pokes.
  • Bugfix: Don't try to load control mapping file when loading poke files.
  • Added OpenDingux Lepus build
  • OpenDingux beta Lepus: use alsa sound driver (auto). Current SDL sound driver produces heap corruption and it need to be revised.
  • OpenDingux beta: Auto detect panel type. Panel type is used to determine the valid screen resolutions to be used for the different border sizes.
  • OpenDingux stock and beta: added two new options
    - Video filter: Bicubic (default), Bilinear, Nearest
    - Bicubic sharpness level: default value is 2, minimun 2, maximun 32

Fuse 1.5.7 OpenDingux/RetroFW v0.0.6

10 Jan 00:46
Compare
Choose a tag to compare

Fuse sources and builds for OpenDingux & RetroFW

  • fuse-1.5.7-latest_od-v0.0.6.opk for latest beta OpenDingux firmware
  • fuse-1.5.7-od-v0.0.6.opk for 2014 OpenDingux devices (GCW0, RG350, etc...). If you have stock firmware in your RG350(P), RG350M or RG280M you must use this. Also if you have Rogue firmware.
  • fuse-1.5.7-retrofw-v0.0.6.opk for RetroFW 2 devices (RS97, LDK, etc...)
  • fuse-1.5.7-retrofw-v0.0.6.ipk for RetroFW 1 devices (RS97, LDK, etc...)
  • Sources for Fuse 1.5.7 and libspectrum 1.4.4 in tar.gz and zip formats with patches already applied.

Changes for this release:

  • OpenDingux beta. Fixed L3 & R3 mappings.
  • Added Exit option to main menu
  • Circular navigation in menus and selection widgets
  • In options entries for numbers (as savestate slot) left and right cursors can be used to increase and decrease values.
  • Savestates

Savestates

Main features:

  • Up to 100 savestates per game
  • Savestates formats: SZX, Z80. Default and recommended is SZX.
  • Savestates per machine model. Enabled by default.
  • Savestate screen preview in savestates widget selectors.

Hotkeys assigned for savestates

  • L1 + Cursor down Quicksave state for current slot
  • R1 + Cursor up Quickload state for current slot
  • R1 + Cursor right Increase slot to use
  • R1 + Cursor left Decrease slot to use

Description

The Savestates functionality is a layer for quickly saving and loading snapshots organized by machine models and program names. Internally it uses the main functionality of Fuse to read and write snapshots.

Because the main objective is speed up the operation to read and write snapshots for the use with handhelds the options for savestates has been put directly in the main menu and assigned to new hotkey combos.

For mediums with various parts (disk and tape sides) the emulator tries to determine a name for the saves removing this info, so the savestates for different sides/disks belong to the same program. An example of use is when you load a program and then save an state when you are side2/disk2. Later, in another session, you must directly load this state without load side1/tape1; directly insert the medium for side2/disk2 and load the savestate from menu options or hotkeys combos. If necessary for tapes you can use the tape browser to position in the right phase/position to load.

The slot number for savestates is global. If you load another program without exit the emulator, the slot in use for the savestates of the newly loaded program is the one previously used.

You can choose between SZX and Z80 formats for the savestates, but the Z80 format does not support all combinations for storing information about the media and hardware used, this include same machine models. Some examples of this:

  • Pentagon 256 and 1024 are saved as Pentagon 128, so when you save a savestate with this models the load change to Pentagon 128. If you are using savestates per machine model then the path to access savestates also change.

  • If you are using interface 2 with cartridge this information is lost when saved so the load of savestates will fail.

For a typical media as tapes and disks with no extra hardware attached to emulator you can go ahead with Z80 format, but for best results and combinations of hardware and media it's best to stick with SZX format.

By default the savestates uses different locations for every machine model. This behavior can be changed but that can lead to strange situations. For example with savestates per machine model disabled:

  • Load a program in 48k model
  • Create a savestate
  • Change the model to +2A and load the same program
  • Load the savestate and then the model is changed to 48k model.

Savestates location

  • $HOME/.fuse/savestates/<MODEL>/<PROGRAM NAME>

  • $HOME/.fuse/savestates/<PROGRAM NAME> if disabled per machine model

    • <MODEL> is the name for machine model as informed by libspectrum.
    • <PROGRAM NAME> is the name of the program with an attempt to remove any info about side/disk/part.
    • The name for the savestate will be the slot number with the extension for the selected format in lowercase.

Fuse 1.5.7 OpenDingux/RetroFW v0.0.5

05 Dec 21:17
Compare
Choose a tag to compare

Fuse sources and builds for OpenDingux & RetroFW

  • fuse-1.5.7-latest_od-v0.0.5.opk for latest beta OpenDingux firmware (based on Linux v5.10 an Buildroot 2020.08)
  • fuse-1.5.7-od-v0.0.5.opk for 2014 OpenDingux devices (GCW0, RG350, etc...). If you have stock firmware in your RG350(P), RG350M or RG280M you must use this. Also if you have Rogue firmware.
  • fuse-1.5.7-retrofw-v0.0.5.opk for RetroFW 2 devices (RS97, LDK, etc...)
  • fuse-1.5.7-retrofw-v0.0.5.ipk for RetroFW 1 devices (RS97, LDK, etc...)
  • Sources for Fuse 1.5.7 and libspectrum 1.4.4 in tar.gz and zip formats with patches already applied.

Changes for this release:

  • Fixed wrong calculations of dirty blocks for the border scalings.
  • Fixed Pal TV Filter segfaults when border scaling is in use.
  • New options for beta OpenDingux to adjust screen refresh rate to the nearest for selected machine. With this options and Triple buffer enabled some animations are smoother.

New options

  • Adjust screen refresh rate
    Set the screen refresh rate depending on selected machine:

    • 60Hz for Spectrum 48K NTSC and Timex TS2068 models
    • 50Hz for all other models
  • Dynamic sound rate
    Adjust the rate used in the blip buffer to create sound samples to avoid sound pops.
    This is based on byuu/Near's article "Dynamic Rate Control". See byuu/Near's article in https://byuu.net/audio/dynamic-rate-control/

Fuse 1.5.7 OpenDingux/RetroFW v0.0.4

01 Nov 22:59
d89dd07
Compare
Choose a tag to compare

Fuse sources and builds for OpenDingux & RetroFW

  • fuse-1.5.7-latest_od-v0.0.4.opk for latest beta OpenDingux firmware (based on Linux v5.10 an Buildroot 2020.08)
  • fuse-1.5.7-od-v0.0.4.opk for 2014 OpenDingux devices (GCW0, RG350, etc...). If you have stock firmware in your RG350(P), RG350M or RG280M you must use this. Also if you have Rogue firmware.
  • fuse-1.5.7-retrofw-v0.0.4.opk for RetroFW 2 devices (RS97, LDK, etc...)
  • fuse-1.5.7-retrofw-v0.0.4.ipk for RetroFW 2 devices (RS97, LDK, etc...)
  • Sources for Fuse 1.5.7 and libspectrum 1.4.4 in tar.gz and zip formats with patches already applied.

Changes for this release:

This release is mainly to build for the beta OpenDingux firmware based on Linux 5.10 and a few small bugfixes.
No new features have been added.

Latest beta OpenDingux firmware can be obtained here. See also

Other changes

  • Change from Power button to Select button to close menu.
    In beta firmware Power button is sending various push events. The effect is that when menu is opened with Power button then it closes inmediately. In file dialogs Select is used to change from file filter so it will not close menu.

  • In the Joysticks options, the extension of the mapping files is not displayed to save space.

  • Screenshot fixes. In version v0.0.3 status line info was changed to use a transparent overlay. With this change the ZX Spectrum screen under the overlay is marked as dirty and set to 0xff. If a border is used to scale the screen and a screenshot is taken, the overlay block appear as white block in the screenshot. Now the block of overlay screen is saved before mark it as dirty and is restored previous to screenshot saving.

See Changelog for more details.

About fuse and libspectrum sources and patches used for this release:

Fuse 1.5.7 OpenDingux/RetroFW v0.0.3

13 Oct 19:10
Compare
Choose a tag to compare

Fuse sources and builds for OpenDingux & RetroFW

  • fuse-1.5.7-od-v0.0.3.opk for OpenDingux devices (GCW0, RG350, etc...)
  • fuse-1.5.7-retrofw-v0.0.3.opk for RetroFW 2 devices (RS97, LDK, etc...)
  • fuse-1.5.7-retrofw-v0.0.3.ipk for RetroFW 2 devices (RS97, LDK, etc...)
  • Sources for Fuse 1.5.7 and libspectrum 1.4.4 in tar.gz and zip formats with patches already applied.

Changes for this release:

Rebase the source to latest commits for Fuse and libspectrum. Some patches has been adapted to apply with latest commits.

New options

Sound

  • 'Sound frequency' (default 44100)

General GCW0

  • 'GCW0 keyboard: Map LStick to DPad' (default enabled)
  • 'Border' (default Full)
  • 'Panel type' (default 320x240)
  • 'Show status bar with border' (default enabled)
  • 'GCW0 keyboard: Map LStick to DPad' (default enabled)

Details

Sound frequency option is now visible in Options/Sound menu.

Border option is for scale the main screen reducing the border size.

  • The scaling is done by hardware (IPU scaling).
  • Full, Large, Medium, Small and None options available.
  • Scaling do not work for RetroFW 1.
  • For RG350M (640x480) and RG280M (480x320) the corresponding panel must be selected to make all border options scaling properly with 1x filters.
  • For RG280M (480x320) integer scaling is automatically deactivated with 1x filters.
  • Hotkey combo L1+R1+A assigned to switch between Full and None border.
  • Added an option to enable/disable status bar with other border than Full.

Added a new option to make possible left stick use as directional pad when mapping is active for GCW0 keyboard. Until now left stick can only be used with GCW0 keyboard 1.

Increased buffer sound frames with triple buffer or border scaling.

For Timex models the 2x filters has been removed becouse never will work.

Some minor changes to fix virtual keyboard display with some filters and Spectrum models.

About fuse and libspectrum sources and patches used for this release:

Fuse 1.5.7 OpenDingux/RetroFW v0.0.2

19 Sep 17:39
e5572db
Compare
Choose a tag to compare

Fuse sources and builds for OpenDingux & RetroFW

  • fuse-1.5.7-od-v0.0.2.opk for OpenDingux devices (GCW0, RG350, etc...)
  • fuse-1.5.7-retrofw-v0.0.2.opk for RetroFW 2 devices (RS97, LDK, etc...)
  • fuse-1.5.7-retrofw-v0.0.2.ipk for RetroFW 2 devices (RS97, LDK, etc...)
  • Sources for Fuse 1.5.7 and libspectrum 1.4.4 in tar.gz and zip formats with patches already applied.

Changes for this release:

Renamed OpenDingux/RetroFW options to prefix them with 'od_'. The options renamed are:

    - Triple Buffer
    - Show FPS instead of speed percentaje
    - Confirm overwrite files
    - Show hidden files
    - Hotkey combos
    - Auto-load media with custom roms

You must check your configuration and enable/disable it again if needed.

Authomatic load of control mapping files for RZX Recordings.

New option added in this release:

  • In general options:
    • 'Filter known extensions for load and save' (default enabled).
    • 'Independendt directory access for each media type' (default disabled).
    • 'Save last visited directory' (default disabled).
  • In Control mapping per game options
    • 'Enable kempston joystick if needed' (default enabled).

File dialogs:

  • Select button assigned to switch on/off filters in file dialogs.
  • Active filters are printed on title in file dialogs.
  • Y button assigned to quick save. The filename to save is the name of last filename loaded and default extension for the media being saved.
  • For names entered manually if no extension is supplied then the default extension for the saved media type will be assigned.

Fixed eventual flashing attributes in virtual keyboard.

Triple buffer. Trying to fix screen freeze when disabling triple buffer.

Makefiles refactored to reuse common rules.

IPK build now has entry for systems and the manual is accesible from GMenu2x

About fuse and libspectrum sources and patches used for this release:

Initial release

24 Aug 20:37
Compare
Choose a tag to compare
Initial release Pre-release
Pre-release

Fuse 1.5.7 sources and builds for OpenDingux & RetroFW.

  • fuse-1.5.7-od-v0.0.1.opk for OpenDingux devices (GCW0, RG350, etc...)
  • fuse-1.5.7-retrofw-v0.0.1.opk for RetroFW 2 devices (RS97, LDK, etc...)
  • fuse-1.5.7-retrofw-v0.0.1.ipk for RetroFW 2 devices (RS97, LDK, etc...)
  • Sources for Fuse 1.5.7 and libspectrum 1.4.4 in tar.gz and zip formats with patches already applied.

The Fuse and libspectrum commits used to apply the patches published here are:

  • Fuse 9d8538c4 commit
  • libspectrum 2efbe9a commit
  • For fuse is needed to apply this patch #423 Load/Save binary data for WIDGET UI before apply any patches for OpenDingux/RetroFW. I have uploaded the patch to this repository for completeness.
  • ibspectrum currently is no patched for OpenDingux/RetroFW but I distribute sources here for completeness.