Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
d36545d
Added support for loading .S snapshot files (D40's snapshots when ex…
arki55 Nov 9, 2022
c5e6e61
Arki55 T6 - Describing file format in options.dat
arki55 Dec 17, 2022
2effbd6
More accurate emulation of AM29F010B flash ROM.
ZXGuesser Sep 21, 2022
382e41a
build: Supporting bash script for github workflows, used to verify if…
arki55 Feb 5, 2023
ef43aa1
arki55 / T9-github-build-checks
arki55 Feb 5, 2023
0c515b4
fix: Wrong branch name, was missing bash script
arki55 Feb 5, 2023
58ac76a
fix: Updated in_config.sh as it should be, Checking that a message is…
arki55 Feb 5, 2023
089c82c
Arki55/features/t9 GitHub build checks fuse App ==> arki55/github-w…
arki55 Mar 5, 2023
3183073
Arki55/features/t9 GitHub build checks fuse ==> arki55/github-workflo…
arki55 Mar 8, 2023
f25b134
Merge /u/arki55/fuse/ branch arki55/github-workflows into master
Mar 19, 2023
844574d
Merge /u/arki55/fuse/ branch arki55/features/T6-options-dat-descripti…
Mar 19, 2023
dad3ee2
Suppress maximizing on win32 UI
arki55 Apr 4, 2023
53f2658
Fixed handling of multiple monitors on win32 UI
arki55 Apr 13, 2023
10d667d
feat: Move sound peripherals into its own menu "Peripherals/Sound"
arki55 Apr 27, 2023
69793e3
fix: Update cross-compiling for WII
arki55 May 3, 2023
dbd89b5
Merge request #12: support for loading .S snapshot files
sbaldovi May 4, 2023
93c6cd5
feat: Added build definition for SDL 1 UI + Sound on Windows
arki55 May 16, 2023
8dade2e
Merge request #22: Fix cross-compiling for WII
sbaldovi May 18, 2023
e3abbdf
Merge request #23: Add GitHub workflow for SDL 1 UI + sound
sbaldovi May 18, 2023
1b3d133
Replace obsolete autoconf macros
sbaldovi Jun 3, 2023
9f55934
Rename 'icon' to 'generic-icon' in the mime-info file
bertogg Jun 3, 2023
adf05c4
Remove mime types for img/raw/rom files
sbaldovi Jun 10, 2023
69a847a
Merge request #20: Move sound peripherals into its own menu
sbaldovi Jun 10, 2023
2ff7ebb
Document Sound Peripherals Options dialog
sbaldovi Jun 10, 2023
81efcbc
Reset machine when enabling/disabling a sound peripheral
sbaldovi Jun 11, 2023
e09eeec
Initial support for Currah uSpeech peripheral
sdbrady Jul 11, 2023
8fd7451
Add UI elements to manage SP0256 ROM file location
Jul 19, 2023
3276880
Enhanced Currah uSpeech paging logic:
Jul 19, 2023
a263ed4
Enable snapshot support for Currah uSpeech
Jul 19, 2023
b5830f3
Document SP0256 ROM option and uSpeech memory source
sbaldovi Jul 19, 2023
4ac1289
Fix ROM entries order in menu.c
Jul 21, 2023
47275ac
Do ZX Spectrum ROM inaccessible while uSpeech is paged
sbaldovi Jul 21, 2023
165e303
CI: TEST-BUILD and Nightly Build GitHub workflows
arki55 Jul 25, 2023
06039b5
ci: Remove unused workflow file
arki55 Jul 25, 2023
2324c3d
Add memory address mirroring and more I/O ports to uSpeech
sbaldovi Aug 5, 2023
4b1a7e6
ci: Daily test (pre)release as new release with date+time, dropping o…
arki55 Aug 7, 2023
7718c3a
Merge request #25: GitHub test and nightly builds
sbaldovi Aug 21, 2023
adc0759
Fix audio glitches in SP0256 samples
sbaldovi Aug 28, 2023
8813734
Update SP0256 code from upstream
sbaldovi Aug 30, 2023
a92e319
Beautify uSpeech code with uncrustify
sbaldovi Aug 30, 2023
efffc40
Document uSpeech volume option
sbaldovi Aug 30, 2023
1bb5a4c
Add uSpeech page/unpage events to debugger
sbaldovi Sep 19, 2023
bd36f29
Limit uSpeech to 48K machines
sbaldovi Sep 19, 2023
404a9b5
uSpeech intonation changes SP0256 clock frequency
sbaldovi Sep 26, 2023
0302d3b
Avoid the use of 64-bit integers
sbaldovi Sep 26, 2023
bd5c569
Disable debugging macros
sbaldovi Sep 26, 2023
bf896c0
Declare missing function prototypes and unused parameters
sbaldovi Sep 28, 2023
c8f1224
Fusify C99 variable types (we are still C89)
sbaldovi Oct 1, 2023
03924f6
Document sp0256 ROM
sbaldovi Oct 1, 2023
7d00e36
List Currah uSpeech as a supported peripheral
sbaldovi Oct 8, 2023
c80f3d9
Merge branch 'patches-142-currah-uspeech'
sbaldovi Oct 8, 2023
eacc100
Group empty memory mapping of Spectrum 16K on debugger
sbaldovi Oct 8, 2023
f804695
Distribute sp0256.h and uspeech.h in source tarballs
sbaldovi Oct 8, 2023
ce0a650
Fix SCAN bug in uPD765 FDC
szaszg Oct 21, 2023
84f7feb
Add debugging info in uPD765 FDC
szaszg Oct 21, 2023
3af9c32
Pad disk tracks to length multiple of 256 bytes
szaszg Nov 1, 2023
d789c00
Treat special "Stored data length" in EDSK images
szaszg Nov 4, 2023
edac608
Allow to merge disk sides with different bpt
szaszg Nov 4, 2023
51f4e27
Allow to load unformatted EDSK disk images
szaszg Nov 4, 2023
54bb531
Bug 504 - avoid overflow in event_add_cmp
petemoore Jan 20, 2024
03bee5e
Cap tstates of timer event to (further) prevent segfault.
pak21 Jan 24, 2024
d9dc145
Remove use of deprecated `gdk_keymap_get_default` function.
pak21 Feb 18, 2024
256bd78
Protect against desynchronized packet streams, and fast forward buffe…
ZXGuesser Apr 6, 2024
52da915
move FIONREAD probe to compat function
ZXGuesser Jun 30, 2024
8fd925c
Merge request #30: improve the teletext datastream code
sbaldovi Jul 6, 2024
5143897
Use PNG instead of XPM for the icons in the GTK UI
bertogg Oct 11, 2024
9b8343b
Don't leak tape_marker_pixbuf when the tape browser is closed
bertogg Oct 11, 2024
8f11027
Remove GTK names for XPM icons used in Xlib UI
sbaldovi Oct 19, 2024
e65a7bb
Suppress a -Wmisleading-indentation warning from GCC in Xlib UI
sbaldovi Oct 19, 2024
039d7db
Keep only the mime types for the most common formats
bertogg Oct 5, 2024
cf5f29e
Updates for next version
fmeunier Mar 8, 2026
396039a
Add missing include in ui/uijoystick.c (patch #445) (Viorel).
fmeunier Mar 8, 2026
4691257
Update dates for next release.
fmeunier Mar 10, 2026
2cc00a7
Updates for a "1.7.0" version
fmeunier Mar 10, 2026
e550d79
Ignore .grepai directory
fmeunier Mar 10, 2026
b1ed033
Fuse depends on libspectrum 1.6.0 for uSpeech and .S support
fmeunier Mar 10, 2026
d936529
Raise W5100 CON and DISCON socket interrupts on state transitions
fmeunier Mar 15, 2026
3b138af
Update dates for 1.7.0 release
fmeunier Mar 20, 2026
d30cd15
Fix minor version and dates
fmeunier Mar 20, 2026
d20d052
Remove GTK2 from the build.
Mar 24, 2026
4377e2b
Remove conditional GTK2 sections from the code.
Mar 24, 2026
276955f
GTK2 removal cleanups.
Mar 24, 2026
b9ce7d3
Add back in the gtk3=yes flag, it was missing from the summary
Mar 24, 2026
404e45b
Suppress GTK compilation warnings.
Mar 25, 2026
dc8bb80
Compile warnings cleanup
Mar 25, 2026
ee4be00
One more compile warning
Mar 25, 2026
ce5dbbb
Correct libspectrum DLL version (thanks, Guesser)
fmeunier Mar 26, 2026
4246cd3
Merge /u/dfzx/fuse-emulator/ branch df-remove-gtk2 into master
Mar 26, 2026
d17c3cd
Remove a couple more GTK2 files
Mar 26, 2026
6ef15e1
Use LIBSPECTRUM_SUPPORTS_WAV to gate wav feaures
fmeunier Mar 27, 2026
1ab5a70
Merge /u/dfzx/fuse-emulator/ branch df-gtk3-cleanups into master
Mar 27, 2026
74187c4
Merge /u/dfzx/fuse-emulator/ branch df-fix-warnings into master
Mar 27, 2026
ff4052e
Avoid common-symbol alignment warnings on macOS
fmeunier Mar 27, 2026
a4a3ddd
Avoid startup abort when Spectranet networking is blocked
fmeunier Mar 28, 2026
9b20041
Set default scaler to 2x
fmeunier Mar 29, 2026
09ca6b1
Mark source .dat files as text for merges
fmeunier Mar 29, 2026
3aecb61
Document the profiler menu options (fixes bug #303)
fmeunier Mar 30, 2026
9a93922
Fix out-of-tree builds by using full paths in generated #includes
fmeunier Mar 30, 2026
0ff7fe6
Add AppStream metainfo file
bertogg Mar 30, 2026
f94cd73
Remove $-prefixed hex digit syntax from the debugger (fixes bug #407)
fmeunier Apr 4, 2026
9370801
Add mempool_strdup and edge-case coverage to unittests
fmeunier Apr 4, 2026
8b7367b
Uncrustify event.c
fmeunier Apr 5, 2026
74b3d01
Add utils_safe_strdup unit test
fmeunier Apr 5, 2026
6de4576
Use __builtin_ctz to speed up display dirty-bit scanning
fmeunier Apr 7, 2026
9841967
Rectangle merge misses same-y overlap when frame skip enabled
fmeunier Apr 7, 2026
a40dfed
Fix same-x overlap miss in x-dimension merge
fmeunier Apr 9, 2026
6b98f41
Bump actions/checkout@v3 to v4
fmeunier Apr 9, 2026
d295569
Add bitmap_ops_test to cover bitmap.h bit manipulation
fmeunier Apr 10, 2026
44e574a
Initial commit of a display.c unit test code.
pak21 Mar 11, 2017
acf5a67
A first actual test.
pak21 Mar 13, 2017
bee397a
Add a first non-trivial test.
pak21 Mar 16, 2017
4abc180
Add a test for reading from correct x.
pak21 Mar 16, 2017
c0f6555
Tidy up duplicated code and add one more test.
pak21 May 4, 2017
719e1fc
Add test for flashing colours.
pak21 May 4, 2017
b58886d
Add tests for display_dirty_sinclair().
pak21 May 4, 2017
9c2e74b
Improve isolation of display unit tests
fmeunier Apr 10, 2026
dc40286
Move test target to top level Makefile.am
fmeunier Apr 10, 2026
484352d
Add some more ChangeLog entries for the next release
fmeunier Apr 10, 2026
5e64a70
Improve make check: add displaytest
fmeunier Apr 11, 2026
6d4277c
Add mempool_strdup NULL guard
fmeunier Apr 11, 2026
54a5224
Add SDL2 UI
fmeunier Apr 12, 2026
9be1741
Run make check in the null-UI Linux build
fmeunier Apr 12, 2026
62dd4da
Add edge-case coverage to sdl2displaytest
fmeunier Apr 12, 2026
a51a68d
Updare ChangeLog`
fmeunier Apr 13, 2026
18b94af
Run make check in the null-UI macOS build
fmeunier Apr 13, 2026
1f201cd
Add boundary and guard-condition tests for SDL2 joystick and mouse he…
fmeunier Apr 15, 2026
0797793
Add tiebreaker and edge-case tests for sdl2display_compare_mode_info
fmeunier Apr 15, 2026
5197fb6
Rename ui/gtk to ui/gtk3
Mar 27, 2026
197598e
Store the configuration file in the XDG configuration directory
bertogg Apr 17, 2026
9b4c365
Add missing branch coverage for compare_and_merge_rectangles
fmeunier Apr 20, 2026
77ab511
Add coverage for display_write_if_dirty_timex
fmeunier Apr 20, 2026
5196785
Merge /u/bertogg/fuse-emulator/ branch patch-443-use-xdg-config-home-…
Apr 20, 2026
0dbd14e
Use the macros provided by gtk/glib to disable deprecation warnings
bertogg Apr 22, 2026
90a4e48
gtk3: Add menu_data.ui to the GResource file
bertogg Apr 22, 2026
ee67771
Get rid of UTILS_AUXILIARY_GTK
bertogg Apr 22, 2026
761733c
Distribute ui/widget/fuse.font in SDL2 build for Windows
sbaldovi Apr 26, 2026
b6993b5
Add GitHub Actions libspectrum workflows and Windows release packaging
fmeunier Apr 28, 2026
960610d
Document new location of the configuration file
sbaldovi Apr 28, 2026
bbc28dd
Fix missing bit number in DD/FD CB disassembly
fmeunier Apr 29, 2026
e86746c
Use BIT helpers in DD/FD CB disassembly
fmeunier May 1, 2026
9a56b2e
Add BIT/RES/SET disassembler regression tests
fmeunier May 2, 2026
fda3970
Add coverage for display_dirty_flashing_sinclair
fmeunier May 2, 2026
1844814
Add coverage for display_write_if_dirty_pentagon_16_col
github-actions[bot] Apr 18, 2026
ad44dad
Expand queued redraw areas to avoid redraw seams in GTK3 (fixes bug #…
fmeunier May 3, 2026
0b4c6dd
Align upload-artifact to v8 across all workflows
fmeunier May 4, 2026
ff0bb0e
Extend disassembler coverage for FD CB and negative offsets
fmeunier May 4, 2026
87954ef
Add coverage for display_dirty_flashing_timex
fmeunier May 4, 2026
ffa4f49
Print expected vs actual in failing disassembler tests
fmeunier May 5, 2026
07d6bba
Add ED-prefix disassembler coverage
fmeunier May 5, 2026
18cd3a5
Merge upstream Fuse master (fuse-1.7.0 + 70 commits)
morozov May 11, 2026
b537481
Trim and fix CI
morozov May 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
39 changes: 39 additions & 0 deletions .beads/issues.jsonl

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/settings.dat text
/menu_data.dat text
/keysyms.dat text
/ui/options.dat text
/z80/*.dat text
8 changes: 8 additions & 0 deletions .github/scripts/in_config.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash
echo -n "Verify configure line '$1' .. "
lines1=(`cat "./configure.out" | grep -c "$1"`)
if [[ "$lines1" -lt "1" ]]; then
echo "NOT FOUND"
exit 1
fi
echo "OK"
155 changes: 155 additions & 0 deletions .github/workflows/build_libspectrum_macos_sub.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
name: Libspectrum for MacOS
run-name: Build and test Libspectrum for MacOS / ${{ github.actor }} /

on:
workflow_call:
inputs:
key:
type: string
required: true
libspectrum_ref:
type: string
required: false
default: master
use_zlib:
type: boolean
required: false
default: true
use_bzip2:
type: boolean
required: false
default: true
use_libgcrypt:
type: boolean
required: false
default: true
use_fake_glib:
type: boolean
required: false
default: false

jobs:
build:
name: Build & Test
runs-on: macos-26
timeout-minutes: 15
defaults:
run:
shell: bash
env:
LIBSPECTRUM_DIR: libspectrum
LIBSPECTRUM_GIT_URL: https://git.code.sf.net/p/fuse-emulator/libspectrum

steps:
- name: (1) Prepare environment
run: |
echo -n "Current directory: "
pwd
ls -la

echo "Libspectrum URL: $LIBSPECTRUM_GIT_URL"
echo "Libspectrum ref: ${{ inputs.libspectrum_ref }}"

echo "Use lib zlib: ${{ inputs.use_zlib && 'yes' || 'no' }}"
echo "Use lib bzip2: ${{ inputs.use_bzip2 && 'yes' || 'no' }}"
echo "Use lib libgcrypt: ${{ inputs.use_libgcrypt && 'yes' || 'no' }}"
echo "Use lib libaudiofile: no"
echo "Use fake glib: ${{ inputs.use_fake_glib && 'yes' || 'no' }}"

- name: (2) Clone libspectrum source
run: |
git init "$LIBSPECTRUM_DIR"
git -C "$LIBSPECTRUM_DIR" remote add origin "$LIBSPECTRUM_GIT_URL"
git -C "$LIBSPECTRUM_DIR" fetch --depth 1 origin "${{ inputs.libspectrum_ref }}"
git -C "$LIBSPECTRUM_DIR" checkout FETCH_HEAD

- name: (3) Install dependencies
run: |
echo "Inspect if brew installed .."
brew doctor || true

echo "Installing dependencies .."
brew install \
automake \
bzip2 \
libgcrypt \
libtool \
glib

echo "Configuring Homebrew search paths .."
echo "CPPFLAGS=-I$(brew --prefix)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix libgcrypt)/include -I$(brew --prefix glib)/include" >> "$GITHUB_ENV"
echo "LDFLAGS=-L$(brew --prefix)/lib -L$(brew --prefix bzip2)/lib -L$(brew --prefix libgcrypt)/lib -L$(brew --prefix glib)/lib" >> "$GITHUB_ENV"
echo "PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig:$(brew --prefix bzip2)/lib/pkgconfig:$(brew --prefix libgcrypt)/lib/pkgconfig:$(brew --prefix glib)/lib/pkgconfig" >> "$GITHUB_ENV"

- name: (4) Autogen.sh
working-directory: ${{ env.LIBSPECTRUM_DIR }}
run: |
echo "Running autogen.sh .."
./autogen.sh

- name: (5) Configure for MacOS
working-directory: ${{ env.LIBSPECTRUM_DIR }}
run: |
echo "Running configure .."
./configure \
${{ inputs.use_zlib == false && '--without-zlib' || '' }} \
${{ inputs.use_bzip2 == false && '--without-bzip2' || '' }} \
${{ inputs.use_libgcrypt == false && '--without-libgcrypt' || '' }} \
--without-libaudiofile \
${{ inputs.use_fake_glib == true && '--with-fake-glib' || '' }} \
| tee ./configure.out

- name: (6) Verify output from configure
working-directory: ${{ env.LIBSPECTRUM_DIR }}
run: |
.github/scripts/in_config.sh "libspectrum is ready to be compiled"
.github/scripts/in_config.sh "zlib support: ${{ inputs.use_zlib && 'yes' || 'no' }}"
.github/scripts/in_config.sh "bzip2 support: ${{ inputs.use_bzip2 && 'yes' || 'no' }}"
.github/scripts/in_config.sh "libgcrypt support: ${{ inputs.use_libgcrypt && 'yes' || 'no' }}"
.github/scripts/in_config.sh "libaudiofile support: no"
.github/scripts/in_config.sh "Internal GLib replacement: ${{ inputs.use_fake_glib && 'yes' || 'no' }}"

- name: (7) Make
working-directory: ${{ env.LIBSPECTRUM_DIR }}
run: |
echo "Running make .."
make

- name: (8) Install
working-directory: ${{ env.LIBSPECTRUM_DIR }}
run: |
echo "Running make install .."
sudo make install

- name: (9) Run tests
id: run-tests
working-directory: ${{ env.LIBSPECTRUM_DIR }}
run: |
echo "Building and running tests .."
make check

- name: (10) Verbose check tests (on failure)
if: failure() && steps.run-tests.outcome != 'success'
working-directory: ${{ env.LIBSPECTRUM_DIR }}
run: |
echo "Listing all tests individually .."
test/test

- name: (11) Pack installed library files
working-directory: ${{ env.LIBSPECTRUM_DIR }}
run: |
find /usr/local | grep libspectrum > .tar_files
sudo tar -cvf \
libspectrum-installed-macos.tar \
-C /usr/local/ -T.tar_files

- name: (12) Upload generated tar file
uses: actions/upload-artifact@v7
with:
name: libspectrum-installed-macos-${{ inputs.key }}
path: |
${{ env.LIBSPECTRUM_DIR }}/libspectrum-installed-macos.tar

- name: (13) Finish
run: |
echo "Finishing with status ${{ job.status }}."
Loading
Loading