1
0
mirror of https://git.code.sf.net/p/fuse-emulator/fuse synced 2026-01-27 01:41:34 +03:00
Commit Graph

4200 Commits

Author SHA1 Message Date
Sergio Baldoví
efffc40084 Document uSpeech volume option
and add new options to shell completion
2023-09-01 05:53:37 +02:00
Sergio Baldoví
a92e319a33 Beautify uSpeech code with uncrustify 2023-09-01 05:51:58 +02:00
Sergio Baldoví
8813734d51 Update SP0256 code from upstream
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.
2023-08-30 19:41:36 +02:00
Sergio Baldoví
adc0759998 Fix audio glitches in SP0256 samples
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.
2023-08-28 14:18:04 +02:00
Sergio Baldoví
2324c3dd2a Add memory address mirroring and more I/O ports to uSpeech
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.
2023-08-06 00:34:22 +02:00
Sergio Baldoví
47275accb9 Do ZX Spectrum ROM inaccessible while uSpeech is paged
and add missing unit test.
2023-07-21 21:32:59 +02:00
Vic Chwe
4ac12898e7 Fix ROM entries order in menu.c 2023-07-21 06:18:47 +02:00
Sergio Baldoví
b5830f37fe Document SP0256 ROM option and uSpeech memory source 2023-07-19 19:40:12 +02:00
Vic Chwe
a263ed4ddf Enable snapshot support for Currah uSpeech 2023-07-19 19:06:27 +02:00
Vic Chwe
327688086c Enhanced Currah uSpeech paging logic:
- 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.
2023-07-19 18:52:13 +02:00
Vic Chwe
8fd745102c Add UI elements to manage SP0256 ROM file location
SP0256 ROM initialisation moved to the uspeech.c and produces meaningful
error messages if something goes wrong.
2023-07-19 18:47:01 +02:00
Stuart Brady
e09eeec109 Initial support for Currah uSpeech peripheral
(patches #142)
2023-07-11 19:31:02 +02:00
Sergio Baldoví
81efcbce8f Reset machine when enabling/disabling a sound peripheral
that requires it
2023-06-11 20:55:15 +02:00
Sergio Baldoví
2ff7ebb868 Document Sound Peripherals Options dialog 2023-06-10 06:20:07 +02:00
Sergio Baldoví
69a847ad7f Merge request #20: Move sound peripherals into its own menu 2023-06-10 06:13:34 +02:00
Sergio Baldoví
adf05c4f55 Remove mime types for img/raw/rom files
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).
2023-06-10 06:05:29 +02:00
Alberto Garcia
9f559346b2 Rename 'icon' to 'generic-icon' in the mime-info file
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
2023-06-03 06:49:18 +02:00
Sergio Baldoví
1b3d133540 Replace obsolete autoconf macros
- Remove AC_CHECK_INCLUDES_DEFAULT macro. Improves compatibility with
  older autoconf versions. AC_INCLUDES_DEFAULT are implicitly checked
  by LT_INIT and AC_CHECK_HEADERS macros.
- Remove unused AC_PROG_EGREP macro.
- ax_string_strcasecmp.m4 file updated from upstream.
- gtk-2.0.m4 file updated by autoupdate.
- sdl.m4 file updated from upstream.
2023-06-03 06:11:18 +02:00
Sergio Baldoví
e3abbdffae Merge request #23: Add GitHub workflow for SDL 1 UI + sound 2023-05-18 07:01:58 +02:00
Sergio Baldoví
8dade2e813 Merge request #22: Fix cross-compiling for WII 2023-05-18 06:51:12 +02:00
Miroslav Ďurčík
93c6cd556f feat: Added build definition for SDL 1 UI + Sound on Windows
Modified GitHub build workflow files for Windows and so introduced configuration with SDL UI (widget) + SDL Sound
Small fixes within the sub workflow file.

https://sourceforge.net/p/arki55-fuse-mod/tickets/12/
2023-05-16 21:55:03 +02:00
Sergio Baldoví
dbd89b534e Merge request #12: support for loading .S snapshot files 2023-05-04 06:42:24 +02:00
Miroslav Ďurčík
69793e332b fix: Update cross-compiling for WII
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/
2023-05-03 22:48:09 +02:00
Miroslav Ďurčík
10d667dc7e feat: Move sound peripherals into its own menu "Peripherals/Sound"
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/
2023-04-27 22:09:45 +02:00
Miroslav Ďurčík / Arki55
53f26587c0 Fixed handling of multiple monitors on win32 UI
(fixes bug #491)
2023-04-14 18:45:45 +02:00
Miroslav Ďurčík / Arki55
dad3ee2f00 Suppress maximizing on win32 UI
Suppressing doubleclick message on title bar to not do window maximizing
(fixes bug #488).
2023-04-09 07:15:19 +02:00
b'Sergio Baldov\xc3\xad
844574de5f Merge /u/arki55/fuse/ branch arki55/features/T6-options-dat-description into master
https://sourceforge.net/p/fuse-emulator/fuse/merge-requests/15/
2023-03-19 19:03:41 +00:00
b'Sergio Baldov\xc3\xad
f25b134dbb Merge /u/arki55/fuse/ branch arki55/github-workflows into master
https://sourceforge.net/p/fuse-emulator/fuse/merge-requests/16/
2023-03-19 18:47:25 +00:00
Miroslav Ďurčík
3183073ad3 Arki55/features/t9 GitHub build checks fuse ==> arki55/github-workflows (#3)
build: Squash merge
2023-03-08 22:15:53 +01:00
Miroslav Ďurčík
089c82ce8e Arki55/features/t9 GitHub build checks fuse App ==> arki55/github-workflows
https://sourceforge.net/p/arki55-fuse-mod/tickets/9/
feature: GitHub workflow build scripts for FUSE App -  for linux, WII, WIN32 and MacOS
2023-03-05 19:45:34 +01:00
Miroslav Ďurčík / Arki55
58ac76a72e fix: Updated in_config.sh as it should be, Checking that a message is at least once in output. 2023-02-05 20:29:14 +01:00
Miroslav Ďurčík / Arki55
0c515b4c45 fix: Wrong branch name, was missing bash script 2023-02-05 20:17:31 +01:00
Miroslav Ďurčík / Arki55
ef43aa1c64 arki55 / T9-github-build-checks
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
2023-02-05 20:11:23 +01:00
Miroslav Ďurčík / Arki55
382e41a325 build: Supporting bash script for github workflows, used to verify if output from configure script contains certain text. 2023-02-05 19:46:29 +01:00
ZXGuesser
2effbd6d9c More accurate emulation of AM29F010B flash ROM. 2023-01-08 06:37:57 +01:00
Miroslav Ďurčík / Arki55
c5e6e6194e Arki55 T6 - Describing file format in options.dat 2022-12-18 00:14:09 +01:00
Miroslav Durcik / Arki55
d36545de56 Added support for loading .S snapshot files (D40's snapshots when extracted from floppy)
https://sourceforge.net/u/arki55/tickets/1/
2022-11-09 20:20:48 +01:00
Alberto Garcia
dc4e279f21 Add ZIP files to the bash completion script
(patch #436).
2021-06-02 19:32:23 +02:00
Sergio Baldoví
65293b0db1 Fix loading binary data from deleted files in GTK
The dialog keeps info about last operation. This patch checks that last
file exists before reading it (thanks, Crisis)
2021-05-22 07:29:31 +02:00
Gergely Szasz
128e2dc31b Rearrange AY register and flags in the widget debugger
(fixes bug #482)
2021-05-02 07:41:39 +02:00
Sergio Baldoví
f56eeffd9e Update compile instructions for win32 UI 2021-03-24 23:40:46 +01:00
Sergio Baldoví
da98b07c8e Simplify TTX2000S redundant check in readbyte() 2021-03-24 23:33:45 +01:00
Jindřich Makovička
fe8398c068 Speed up readbyte()
Check the address first and only test for the peripherals if the address
is in the relevant range.
2021-03-20 13:55:04 +11:00
Fredrick Meunier
b0fff7d48b Don't abort if the Timex cartridge is not found
(fixes bug #468) (Alberto Garcia and Fredrick Meunier).
2021-03-17 21:48:26 +11:00
Fredrick Meunier
3e0f452e78 Clean up uninitialised value warning in widget UI 2021-03-16 20:05:26 +11:00
Sergio Baldoví
3ee2bf8dc7 Remove SVGAlib UI
Last SVGAlib release dates from 2001 and is not available in major Linux
distributions.
2021-03-16 00:44:54 +01:00
Fredrick Meunier
a44a74e3a7 Change libspectrum.h and config.h include style 2021-03-15 23:04:27 +11:00
Sergio Baldoví
240b794048 Remove a C99 comment 2021-03-14 20:23:16 +01:00
Sergio Baldoví
db5c27ddac Include some prototypes of global functions 2021-03-14 20:17:49 +01:00
Sergio Baldoví
c49ef7ba83 Mark some functions as static 2021-03-14 19:13:08 +01:00