Skip to content

Commit f3eb1c8

Browse files
committed
Merge remote-tracking branch 'upstream-main/master' into gdbserver_osx
2 parents 80ed0d9 + dc4e279 commit f3eb1c8

329 files changed

Lines changed: 8655 additions & 2546 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ tags
7979
/ui/gtk/options_internals.h
8080
/ui/null/options.c
8181
/ui/sdl/keysyms.c
82-
/ui/svga/keysyms.c
8382
/ui/widget/fuse.font
8483
/ui/widget/menu_data.c
8584
/ui/widget/options.c

AUTHORS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Fuse has been brought to you by:
3232
* Matthew Wescott: the AY logging code.
3333

3434
* Marek Januszewski: Some patches making Fuse much closer to compiling under
35-
Win32, and fixing up the GTK+ 2.0 interface.
35+
Win32, and fixing up the GTK 2.0 interface.
3636

3737
* Sergio Baldoví: improvements to the Win32 UI.
3838

ChangeLog

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,111 @@
1+
2021-??-?? Philip Kendall <philip-fuse@shadowmagic.org.uk>
2+
3+
* Fuse 1.?.? released.
4+
5+
* Emulation core improvements:
6+
* Speed up reading emulated memory locations (Jindřich Makovička).
7+
8+
* UI improvements:
9+
* Timex: don't abort if the Timex dock cartridge image is not
10+
found (Alberto Garcia).
11+
* WidgetUI: rearrange AY register and Z80 flags in the debugger
12+
(Gergely Szasz).
13+
* GTK UI: Fix loading binary data from deleted files (thanks, Crisis)
14+
(Sergio Baldoví).
15+
16+
* Miscellaneous improvements:
17+
* Add ZIP files to the bash completion script (Alberto Garcia).
18+
19+
2021-02-27 Philip Kendall <philip-fuse@shadowmagic.org.uk>
20+
21+
* Fuse 1.6.0 released.
22+
23+
* New features:
24+
* Add TTX2000S emulation (Guesser).
25+
* Experimental PulseAudio sound driver (Grzegorz Jablonski and Sergio
26+
Baldoví).
27+
28+
* Emulation core improvements:
29+
* Fix activation of joystick and IF2 peripherals when loading a
30+
snapshot (thanks, ICEknight) (Sergio Baldoví).
31+
32+
* UI improvements:
33+
* New higher resolution keyboard picture on GTK and win32 UIs
34+
(thanks, Andrew Owen for the picture) (Sergio Baldoví and Philip
35+
Kendall).
36+
* GTK UI: Add Fuse icon to the about dialog and the main window
37+
(Alberto Garcia).
38+
* GTK UI: Load/save binary dialog remembers last values (Derek
39+
Fountain).
40+
* GTK 3 UI: Improve moving and sizing Fuse's window under Wayland
41+
(Sergio Baldoví).
42+
* GTK 3 UI: Fix kempston mouse values on Wayland (thanks, Philip
43+
Kendall) (Sergio Baldoví).
44+
* GTK 3 UI: Fix bug when resizing from 2x to 3x on GTK UI (Sergio
45+
Baldoví)
46+
* SDL UI: Fix crash when using dispmanx backend on the Raspberry Pi
47+
(Jools Wills).
48+
* SDL UI: Allow forcing fullscreen mode when SDL doesn't report
49+
available screen modes (Sergio Baldoví).
50+
* WidgetUI: New dialog to load/save binary data (Gergely Szasz).
51+
* WidgetUI: Enable HOME and END keys in menus on widget UIs (Gergely
52+
Szasz).
53+
* WidgetUI: Use monospaced characters on memory browser (Gergely
54+
Szasz).
55+
* WidgetUI: Fix crash when trying to overwrite read-only files (Pedro
56+
Luis Rodríguez González).
57+
* Win32: Fix bitwise operation in debugger (Sergio Baldoví).
58+
* Xlib UI: Try to keep graphic filter when the user resize the window
59+
(Gergely Szasz).
60+
61+
* Scaler improvements:
62+
* Fix display corruption with HQ 3x scaler (thanks, Philip Kendall)
63+
(Sergio Baldoví).
64+
* Fix antialiasing effect of AdvMAME3x scaler (Sergio Baldoví).
65+
* Add 4x, TV 4x, Pal TV 4x and HQ 4x scalers on GTK, SDL, win32 and
66+
Xlib UIs (Sergio Baldoví and Gergely Szasz).
67+
* Allow screenshots with TV 3x, PAL TV and Timex 1.5x scalers (Sergio
68+
Baldoví).
69+
70+
* Miscellaneous improvements:
71+
* Allow selection of audio driver at build time (thanks, kov_serg)
72+
(Alberto Garcia).
73+
* Support of SDL 2 for joystick and audio drivers (Alberto Garcia).
74+
* Fix GTK 3 build when the GTK version is < 3.20 (thanks, Thrice)
75+
(Alberto Garcia).
76+
* Fix GTK build with Wayland, Quartz and Windows backends (thanks,
77+
Stuart Brady) (Sergio Baldoví).
78+
* Various fixes to allow compilation with GCC 10 (Alberto Garcia and
79+
Sergio Baldoví).
80+
* Suppress a couple of -Wunused-result warnings from gcc (Alberto
81+
Garcia).
82+
* Improve error message when opening a directory from the command
83+
line (thanks, Philip Kendall) (Alberto Garcia and Sergio Baldoví).
84+
85+
2018-12-09 Philip Kendall <philip-fuse@shadowmagic.org.uk>
86+
87+
* Fuse 1.5.7 released.
88+
89+
* UI improvements:
90+
* GTK+ 3: Make the offset entry wider in memory browser (Derek
91+
Fountain).
92+
* GTK+: Remove duplicated surface creation code (Philip Kendall).
93+
* GTK+: Remove use of deprecated gtk_device_(un)grab functions
94+
(Philip Kendall).
95+
* GTK+/Win32: Add *.bin as an allowed filetype to file selectors and
96+
amend .fmf filetype (thanks, Allan Turvey) (Sergio Baldoví).
97+
* Improve Fuse's window sizing under Wayland; still not right, but
98+
better than it was before (Sergio Baldoví).
99+
* Improve Fuse's Kempston mouse handling under GTK+ 3.x (Philip
100+
Kendall).
101+
* Stop Kempston mouse causing a crash under Wayland; still doesn't
102+
work properly though (Philip Kendall).
103+
104+
* Miscellaneous improvements:
105+
* "Save binary" command can now save 65536 bytes again (regression
106+
introduced in 1.5.6; thanks, thrice) (Philip Kendall).
107+
* Remove gcc 8 string overflow warnings (Philip Kendall).
108+
1109
2018-08-06 Philip Kendall <philip-fuse@shadowmagic.org.uk>
2110

3111
* Fuse 1.5.6 released.

INSTALL

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ $ ./configure
88
There are now some options you can give to configure; `configure
99
--help' will list them all, but the most important are:
1010

11-
--with-fb Use the framebuffer interface, rather than GTK+.
12-
--with-sdl Use the SDL interface, rather than GTK+.
13-
--with-svgalib Use the SVGAlib interface.
11+
--with-fb Use the framebuffer interface, rather than GTK.
12+
--with-sdl Use the SDL interface, rather than GTK.
1413
--without-gtk Use the plain Xlib interface.
1514

1615
If glib is installed on your system, Fuse will use this for a couple
@@ -143,7 +142,7 @@ PKG_CONFIG_LIBDIR=/usr/local/i686-w64-mingw32/lib/pkgconfig \
143142
--prefix=/usr/local/i686-w64-mingw32
144143
make
145144

146-
Note: you need `libspectrum-8.dll' and the `roms' directory and the `lib'
145+
Note: you need `libspectrum-9.dll' and the `roms' directory and the `lib'
147146
directory to `fuse' run perfectly. You may copy this file and directories
148147
into that directory where `fuse.exe' exists. On Windows you may need to
149148
copy all files from `lib/uncompressed' into `lib'. Alternatively, you could

Makefile.am

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,13 @@ fuse_LDADD = \
6262
$(GTK_LIBS) \
6363
$(GLIB_LIBS) \
6464
$(PNG_LIBS) \
65-
$(SDL_LIBS) \
6665
$(X_LIBS) \
6766
$(XML_LIBS)
6867

68+
if USE_SDL
69+
fuse_LDADD += $(SDL_LIBS)
70+
endif
71+
6972
fuse_DEPENDENCIES =
7073

7174
EXTRA_fuse_SOURCES =
@@ -87,9 +90,12 @@ AM_CPPFLAGS = \
8790
$(LIBSPECTRUM_CFLAGS) \
8891
$(XML_CFLAGS) \
8992
-DFUSEDATADIR="\"${pkgdatadir}\"" \
90-
$(SDL_CFLAGS) \
9193
$(PNG_CFLAGS)
9294

95+
if USE_SDL
96+
AM_CPPFLAGS += $(SDL_CFLAGS)
97+
endif
98+
9399
AM_CFLAGS = $(WARN_CFLAGS) $(PTHREAD_CFLAGS)
94100

95101
noinst_HEADERS = bitmap.h \
@@ -185,7 +191,6 @@ include ui/gtk/Makefile.am
185191
include ui/null/Makefile.am
186192
include ui/scaler/Makefile.am
187193
include ui/sdl/Makefile.am
188-
include ui/svga/Makefile.am
189194
include ui/widget/Makefile.am
190195
include ui/wii/Makefile.am
191196
include ui/win32/Makefile.am

README

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
The Free Unix Spectrum Emulator (Fuse) 1.5.6
1+
The Free Unix Spectrum Emulator (Fuse) 1.6.0
22
============================================
33

44
Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat
@@ -17,20 +17,23 @@ What Fuse does have:
1717
Scorpion ZS 256 emulation.
1818
* Runs at true Speccy speed on any computer you're likely to try it on.
1919
* Support for loading from .tzx files, including accelerated loading.
20-
* Sound (on systems supporting the Open Sound System, SDL, or OpenBSD/
21-
Solaris's /dev/audio).
20+
* Sound (on systems supporting the Open Sound System, SDL, OpenBSD/
21+
Solaris's /dev/audio, CoreAudio or PulseAudio).
2222
* Emulation of most of the common joysticks used on the Spectrum
2323
(including Kempston, Sinclair and Cursor joysticks).
2424
* Emulation of some of the printers you could attach to a Spectrum.
2525
* Support for the RZX input recording file format, including
2626
rollback and 'competition mode'.
27-
* Emulation of the Currah µSource, DivIDE, DivMMC, Interface 1, Kempston mouse,
28-
Multiface One/128/3, Spectrum +3e, ZXATASP, ZXCF and ZXMMC interfaces.
27+
* Emulation of the Currah µSource, Interface 1, Kempston mouse,
28+
Multiface One/128/3 and TTX2000S interfaces.
2929
* Emulation of the Covox, Fuller audio box, Melodik and SpecDrum audio
3030
interfaces.
31+
* Emulation of the DivIDE, DivMMC, Spectrum +3e, ZXATASP, ZXCF and ZXMMC
32+
storage interfaces.
3133
* Emulation of the Beta 128, +D, Didaktik 80/40, DISCiPLE and Opus Discovery
3234
disk interfaces.
3335
* Emulation of the Spectranet and SpeccyBoot network interfaces.
36+
* Emulation of the TTX2000 S Teletext adapter.
3437
* Support for the Recreated ZX Spectrum Bluetooth keyboard.
3538

3639
Help! <xyz> doesn't work
@@ -48,7 +51,7 @@ Unix, Linux, BSD, etc.
4851

4952
Required:
5053

51-
* X, SDL, svgalib or framebuffer support. If you have GTK+, you'll get
54+
* X, SDL or framebuffer support. If you have GTK, you'll get
5255
a (much) nicer user interface under X.
5356
* libspectrum: this is available from
5457
http://fuse-emulator.sourceforge.net/libspectrum.php
@@ -111,4 +114,4 @@ Usenet newsgroup `comp.sys.sinclair' or the World of Spectrum forums
111114
<http://www.worldofspectrum.org/forums/>.
112115

113116
Philip Kendall <philip-fuse@shadowmagic.org.uk>
114-
6th August, 2018
117+
27th February, 2021

THANKS

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Some thanks (in alphabetical order):
2222

2323
* Ivan Ruiz Etxabe: for helping test RZX competition mode recording.
2424

25-
* Martin Garton: making the GTK+ user interface compatible with GTK+ 2.0,
25+
* Martin Garton: making the GTK user interface compatible with GTK 2.0,
2626
although I then went and broke it in other ways.
2727

2828
* Ian Greenway: for information about reading from unattached ports. If
@@ -60,6 +60,9 @@ Some thanks (in alphabetical order):
6060

6161
* David Muriel: for helping test RZX competition mode recording.
6262

63+
* Andrew Owen: for providing the PNG keyboard image used in GTK and
64+
win32 UIs.
65+
6366
* Santiago Romero: for putting me on the track of a bug in Fuse's keyboard
6467
emulation.
6568

compat.h

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,10 +182,24 @@ int compat_get_tap( const char *interface_name );
182182

183183
/* Socket handling */
184184

185-
#ifndef WIN32
186-
typedef int compat_socket_t;
187-
#else /* #ifndef WIN32 */
185+
#ifdef WIN32
186+
#include <winsock2.h>
187+
#define COMPAT_ENOTCONN WSAENOTCONN
188+
#define COMPAT_EWOULDBLOCK WSAEWOULDBLOCK
189+
#define COMPAT_EINPROGRESS WSAEINPROGRESS
190+
#define COMPAT_ECONNREFUSED WSAECONNREFUSED
188191
typedef SOCKET compat_socket_t;
192+
typedef SOCKADDR compat_sockaddr;
193+
#else /* #ifndef WIN32 */
194+
#include <sys/socket.h>
195+
#include <netdb.h>
196+
#include <errno.h>
197+
#define COMPAT_ENOTCONN ENOTCONN
198+
#define COMPAT_EWOULDBLOCK EWOULDBLOCK
199+
#define COMPAT_EINPROGRESS EINPROGRESS
200+
#define COMPAT_ECONNREFUSED ECONNREFUSED
201+
typedef int compat_socket_t;
202+
typedef struct sockaddr compat_sockaddr;
189203
#endif
190204

191205
extern const compat_socket_t compat_socket_invalid;
@@ -194,6 +208,7 @@ extern const int compat_socket_EBADF;
194208
void compat_socket_networking_init( void );
195209
void compat_socket_networking_end( void );
196210

211+
int compat_socket_blocking_mode( compat_socket_t fd, int blocking );
197212
int compat_socket_close( compat_socket_t fd );
198213
int compat_socket_get_error( void );
199214
const char *compat_socket_get_strerror( void );

compat/amiga/osname.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
2222
*/
2323

24-
#include <config.h>
24+
#include "config.h"
2525

2626
#include <errno.h>
2727
#include <stdlib.h>

compat/amiga/paths.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
2222
*/
2323

24-
#include <config.h>
24+
#include "config.h"
2525

2626
#include <errno.h>
2727
#ifdef HAVE_LIBGEN_H

0 commit comments

Comments
 (0)