Current code is based on jzIntv emulator 1.0-beta4. There is a newer
20200712 version from which have been picked some features:
- Use arithmetic operators when using signed data as bitwise operators
have undefined behaviour.
- sp0256_datafmt table has been extended with an alternate opcode 0001
(LOADALL) as doesn't always update F5/B5.
SP0256 generate signed 16 bits samples in the scratch buffer but Fuse was
passing only the most significant byte to sound_sp0256_write().
With this patch SP0256 samples pass directly to the blip buffer.
According to Thomas Busse tests, some memory addresses are mirrored
when reading (0x1000) or writing to (0x1000, 0x3000 and 0x3001).
Also adds input port on 0x1000 and output ports on 0x1000, 0x3000
and 0x3001, as /MREQ is not decoded.
- Memory read/write at 0x38 should page the ROM in/out
- ROM is mapped to the first 4 Kb only
Thanks to Tim Busse tests tape. Now Booty launches the hidden "diving" game.
as are also commonly used for non ZX Spectrum content
and is better to not associate as the preferred application.
(more from bug #494) (thanks, Berto).
The Freedesktop theme spec says that icons are first searched in
the current theme, then in its parents and finally in the default
"hicolor" theme.
"hicolor" is where Fuse installs its icons, however if generic-icon is
not specified in fuse.xml then it defaults to application-x-generic.
This means that if the current theme provides an icon named
application-x-generic it will be used instead of the ZX Spectrum one.
Fixes bug #494
Multiple changes, fixes needed to make cross compiling for WII fork again:
- Make sure GEKKO constant is set from configure.
- Explicit defining of GEKKO constant removed from wiijoystick.c and wiimouse.c (as it is set from configure).
- Function clock_gettime (wii only) has changed its signature, needing 2 parameters now. I made a best guess here and chose CLOCK_REALTIME as the first parameter.
- In WII mode most of optional stuff is turned off. Sockets including. However some code was still requiring winsock2.h. Wrapped it into ifdef HAVE_SOCKETS.
- compat_dir variable does not need WII specific type override.
- Added missing key mappings based on build failure. Some keys cannot be mapped 1:1, so leaving them at the end. They will not be mapped.
- Removing compatibility file dir.c for WII, as it has now standard POSIX dir related functions.
- Updated github workflow file, fixed path to allow cross-compiling. Also added checks to make sure cross-compiling was active.
- Installing missing packages bison, flex
https://sourceforge.net/p/arki55-fuse-mod/tickets/11/
Created separate menu for sound peripherals, moved 4 devices there.
Moved sound related peripherals' source files into standalone folder (like disk related stuff is in)
See more
https://sourceforge.net/u/arki55/tickets/4/
build: Implemented full workflow for building Fuse APP on Linux.
- It reuses build_linux.yml workflow from fuse libspectrum repository.
- Split into 2 files : _build_linux_sub.yml with logic and steps for building main Fuse APP - checkout, configure, make, make install, etc. And build_linux with actually triggered workflow upon push and pull_request .
- First step is to build libspectrum with its reusable workflow. FOr that purpose repo needs to define variable LIBSPECTRUM_REPO - address of libspectrum repo in github.
- Libspectrum is built, all files zipped into artifact file, which is then loaded by build subprocess and its content installed (make install)
- Libspectrum is built once, then all the dependant various LInux based configurations are built.
- Each build variant provides its specific .configure params, what to verify in .configure output, etc.
Supporting configurations:
- Default built (no params for ./configure)
- NULL UI
- GTK 3 UI
- SDL 1 UI
- SDL 2 UI (only checks that it shows not supported yet)
Deprecated UIs (as per official site):
- GTK 2 UI
- Frame Buffer UI
- X UI