Commit Graph

17198 Commits

Author SHA1 Message Date
Toni Riikonen
1859e7cf68 Floppy disks sound emulation prototype for reviewing (#6166)
* Initial spindle emulation working for windows atleast

* Spingle motor spin-up, spin-down implemented with smooth transitions to motor-on loop.

* Moved fdd audio emulation to a separate file

* Multiple drives sound emulation

* Single sector movement sound emulations implemented

* Rename project to Immersive86Box and update details

Updated README to reflect the new project name and added details about the Immersive86Box features and future plans.

* Revise contribution guidelines in CONTRIBUTING.md

* Update vulnerability reporting instructions

* System fan-sound next feature after basic fdd sound emulation is ready

* v0.5 multitrack audio seek sfx

* Removed unnecessary stuff

* no .vs folder for git

* Added currently used fdd sound effects and readme.txt for source of the files and intallation instructions

* Add audio emulation installation instructions

Added instructions for audio emulation installation.

* Code and audio samples merged

* Simplify audio emulation installation instructions

* FDC seeking fixed, not instant anymore drive is set to busy during the operation and when it's finished at call fdc to set the appropriate fdc flags.

Also added time logic to fdd to calculate seek duration and a callback function for it.

* FDD sound samples volume control

* Menu options to enable / disable fdd sound for all drives.
DISABLE_FDD_AUDIO definition added, to disable the feature via cmake/build.

* Revert readme etc. changes

* Revert "Revise contribution guidelines in CONTRIBUTING.md"

This reverts commit 98a0478225bbf8bf0fb0e7edfd5c00636ecc0eed.

* Revert "Update vulnerability reporting instructions"

This reverts commit 7d32cb659b018b26bdaa4a1e06ee9c3d09278aac.

* Fixed merge issue

* Removed excess files

* Fixed PCJr seeking not to break the FDC implementation. Now seeking will take the "correct" amount of time for each system and the seek time is based on the track count. E.g. 40 track FDD system causes 40 track seek time to be 80/40 * 6ms * 40 tracks + 50ms = 480ms + 50ms -> 530ms.

80 track system full seek is 80/80 * 6ms * 80 + 50ms = 530ms, 40 track seek would take 240 + 50 = 290ms.

* Fixed PS/1, PS/2 and PS/55 FDD issues.

* FDD_AUDIO: Updating samples looked in executablePath/samples and if now found there, looks in the executable directory

* Updated installation instructions

* Removed samples path strcat use

* fdd_audio 5.25 samples and support added

* FDD audio timing/volume tunings

* Timing fixes for authentity and special longer timings for PCJr

* Fixed second drive motor keeps running when first drive is only accessed.

* Fixed PCJr random failure issue, timings

* CodeQL fix for load_wav-function. Check the filename to be proper filename

* Revert "Fixed second drive motor keeps running when first drive is only accessed."

This reverts commit 307b173ae7d40c9efafed8d432e01cce9808b111.

* Teac 5.25" drive samples added. Added per drive audio selection to FDD settings.

* Fixed mistake in samples folder recreation

---------

Co-authored-by: Toni Riikonen <domppari@hotmail.com>
2025-09-22 01:03:07 +02:00
Miran Grča
810f17c50f Merge pull request #6192 from 86Box/feature/int-cast
Add integer casting macros
2025-09-22 00:55:49 +02:00
RichardG867
e4acf4d013 Revert "Temporary audio system override" [skip ci]
This reverts commit da7bec3beb.
2025-09-21 19:42:16 -03:00
Miran Grča
825e485340 Merge pull request #6211 from jriwanek-forks/buildtest
Github Actions improvements and CodeQL fixes
2025-09-22 00:35:56 +02:00
Jasmine Iwanek
f47b5dc75e CodeQL Build Cleanups 2025-09-21 18:26:52 -04:00
Jasmine Iwanek
f3943bd2e5 Fix CodeQL Builds 2025-09-21 18:07:43 -04:00
Jasmine Iwanek
cb3ba18645 GHA Build cleanups 2025-09-21 18:07:43 -04:00
Miran Grča
d527d1c37c Merge pull request #6210 from jriwanek-forks/richardg-vfio
VFIO - Virtual Function I/O
2025-09-22 00:04:15 +02:00
Jasmine Iwanek
f3f2068d1a VFIO - Virtual Function I/O
Co-Authored-By: richardg867 <540874+richardg867@users.noreply.github.com>
2025-09-21 18:02:46 -04:00
RichardG867
da7bec3beb Temporary audio system override 2025-09-21 15:18:17 -03:00
Miran Grča
364468028e Merge pull request #6207 from nstarke/bugfixes/midi-in-sysex-hang
BUGFIX: MIDI In causes VM hang when sysex message received.
2025-09-21 20:05:13 +02:00
nstarke
d087ea2ab5 BUGFIX: MIDI In causes VM hang when sysex message received. This commit fixes the issue. 2025-09-21 11:39:40 -05:00
Jasmine Iwanek
704dd93311 Merge pull request #6206 from win2kgamer/ymf71x-wrapup
YMF71x: Minor fixes
2025-09-21 12:30:20 -04:00
win2kgamer
8c3e45e691 YMF71x: Call master volume recalc during init 2025-09-21 10:46:27 -05:00
Miran Grča
10477fa822 Merge pull request #6204 from Cacodemon345/software-renderer-white-fixes
Clear screen to black on software renderer after it starts
2025-09-21 16:17:59 +02:00
Miran Grča
710d79acb9 Merge pull request #6203 from Cacodemon345/patch-241374
SVGA: Fix overflow crashes in certain cases
2025-09-21 16:17:29 +02:00
Cacodemon345
388f39e195 Clear screen to black on software renderer after it starts 2025-09-21 17:55:39 +06:00
Cacodemon345
0b0bf2e438 Fix overflow crashes in certain cases 2025-09-21 17:39:40 +06:00
OBattler
e736dbc694 CL-GD 5436: Correct the ICS SB486PV check. 2025-09-21 12:24:17 +02:00
OBattler
82399b4dd6 YMF-71x: Fix two warnings. 2025-09-21 12:14:13 +02:00
Miran Grča
7783268454 Merge pull request #6202 from jriwanek-forks/headerclean
Header cleanups (1/2)
2025-09-21 12:11:01 +02:00
Jasmine Iwanek
3c5190a0db Header cleanups (1/2) 2025-09-21 00:48:38 -04:00
win2kgamer
b268f95b19 Add the Yamaha YMF-71x (OPL3-SA2/3) audio controllers (#6200)
* Initial implementation of the Yamaha YMF-71x (OPL3-SA2/3) audio controllers

* Give the Intel AN430TX its onboard YMF-715

* Forgotten change to snd_sb_dsp.c

* Disable logging, code cleanup

* Use 32K default SB DSP DMA buffer globally and remove the Yamaha subtype

* Hook up master volume control to the OPL3 as well

* Use custom CD audio filter to apply master volume

* Initial implementation of the OPL3-SA3 bass/treble controls

* Improve CD audio volume filter

* Implement the power management registers

* Move master volume recalc to its own function and update on register write

* Correct YMF-719 PnP ROM filename

* Cleanup
2025-09-21 00:32:11 -04:00
Miran Grča
cc1dd22ad0 Merge pull request #6199 from Cacodemon345/patch-580008
Always use desktop OpenGL implementations
2025-09-21 01:18:14 +02:00
Cacodemon345
37bb704474 Always use desktop OpenGL implementations 2025-09-21 05:16:26 +06:00
RichardG867
cfa00e9e55 Add a couple more cast macros 2025-09-20 11:20:33 -03:00
Jasmine Iwanek
3b0172970f Merge pull request #6195 from win2kgamer/cs4231-i23-fix
Correct CS4231 indirect register 23 behavior
2025-09-20 05:27:09 -04:00
Jasmine Iwanek
98ec5a2a1a Merge pull request #6196 from Cacodemon345/shader-version-fixes
Bump GLSL version of default shaders to 1.50
2025-09-20 05:26:35 -04:00
Cacodemon345
999812e9b9 Bump GLSL version of default shaders to 1.50 2025-09-20 12:40:58 +06:00
win2kgamer
a314ff44d8 AD1848: I23 register on CS4231 is read-only, fixes codec misdetection on Linux 2025-09-20 00:57:46 -05:00
RichardG867
7c25ca22e3 Convert existing code to the integer casting macros 2025-09-19 20:09:29 -03:00
RichardG867
80ebd5a92e Add integer casting macros 2025-09-19 20:09:14 -03:00
RichardG867
25146643f9 Migrate remaining machine-specific checks from internal name to init function 2025-09-19 19:41:01 -03:00
RichardG867
9b5f4ba7b1 BIOS ROM presence checking optimizations 2025-09-19 19:11:06 -03:00
RichardG867
bc350fc8ce QIcon caching optimizations in settings pages 2025-09-19 19:04:24 -03:00
RichardG867
4b8b0efa48 Optimize a couple CPU block checks 2025-09-19 18:45:35 -03:00
RichardG867
13d5de4e7b ROM file check optimizations and cleanups 2025-09-19 17:51:01 -03:00
Miran Grča
36f51f119b Merge pull request #6191 from Cacodemon345/rom-file-checking
Introduce `plat_file_check` and use it for ROM existence checking
2025-09-19 20:57:50 +02:00
Cacodemon345
fdbf4a066b Introduce plat_file_check and use it for ROM existence checking 2025-09-20 00:30:29 +06:00
Miran Grča
9cdb597760 Merge pull request #6190 from MaxwellS04/Small_Fix
A small machine table fix (September 19)
2025-09-19 16:36:46 +02:00
MaxwellS04
83b7698d42 Oopsie, alphabetize 386 Chaintech 2025-09-19 20:23:22 +07:00
Miran Grča
602a77ecb3 Merge pull request #6189 from MaxwellS04/Machine_Changes_Sep19
Machine Changes (September 19)
2025-09-19 11:54:44 +02:00
Miran Grča
e7060cd590 Merge pull request #6188 from Cacodemon345/software-renderer-qwindow
Software renderer no longer uses QRasterWindow
2025-09-19 11:54:30 +02:00
Cacodemon345
cdd72a18b6 Fix resize glitches while paused 2025-09-19 15:46:36 +06:00
MaxwellS04
a1c974c045 Machine Changes
1. Changed the names for two Chaintech machines (for example, 333AXB and 416SX)
2. Added the "AB" name to ABIT machines
3. Removed the space from PCChips and PCPartner names
4. BIOS name related corrections
5. Make few machines use their latest revisions as default BIOS option
2025-09-19 16:31:32 +07:00
Cacodemon345
f1bfe48832 Software renderer no longer uses QRasterWindow 2025-09-19 14:50:30 +06:00
Jasmine Iwanek
84e4a29528 Merge pull request #6186 from Cacodemon345/opl4-fixes-2
Actually fix OPL4 ID readbacks
2025-09-18 05:17:12 -04:00
Cacodemon345
a9861c04f2 Actually fix OPL4 ID readbacks 2025-09-18 15:10:33 +06:00
OBattler
376dccf86d Qt Software renderer: Use a simple XOR instead of increase and modulo 2. 2025-09-18 04:37:11 +02:00
OBattler
381a06a44c Qt Software Rendrer: Use a casted comparison instead of calling memcmp(). 2025-09-18 04:32:23 +02:00