Commit Graph

1085 Commits

Author SHA1 Message Date
win2kgamer
429aa7260c CS423x: Add SBPro OPL3 music handler during SBPro init, fixes OPL3 in SBPro context 2025-10-21 20:40:18 -05:00
win2kgamer
755e25285b CS423x: Always enable OPL3 on CS4232/4236 during context switch as they lack X registers 2025-10-21 20:38:21 -05:00
win2kgamer
71fe92daed AD1848: I23 bits 7-1 are read-only on CS4232/4236 non-B, fixes CS4236 non-B detection on Windows 2000 2025-10-21 20:34:09 -05:00
win2kgamer
ceeb2d057d AD1848: I18/I19 directly control FM volume on CS4232/4236 non-B 2025-10-21 20:32:13 -05:00
win2kgamer
52e22e90fc AD1848: I12 bit 4 is read-only, fixes CODEC detection in OS/2 driver 2025-10-21 20:29:46 -05:00
win2kgamer
7ad56f0179 Minor Aztech changes (#6343)
* Switch CD audio and OPL3 filters on AZT2316 mode switch, fixes FM and CD volume control on Windows

* Add support for I/O port 630h (as used on PB Forte16 cards) to the MKE/Panasonic interface
2025-10-14 06:54:00 +02:00
win2kgamer
57b72c8a5c Aztech AZT1605 (Clinton/Nova 16 Extra) fixes (#6325)
* Add missing cpu.h include to fix compile errors when logging is enabled

* SB DSP: Move Aztech variable command length handling to correct if block, fixes EEPROM writing hang in MIXTSR

* SB DSP: Increment RP after unknown Aztech command 0x08 subcommand 0x01 is run, fixes HWSET detection after EMUTSR is run

* Aztech: Give AZT1605 its own read function and only allocate I/O ports in the 62x/64x range

* Aztech: Add logging code

* AZT1605: Implement the SBPro mixer readout ports, fixes scrambled mixer settings in MIXTSR and HWSET

* AZT1605: Restore WSS mixer from EEPROM during init and use sane initial EEPROM mixer values

* Aztech: Always use AUX1 WSS channel for CD audio on AZT1605, fixes CD volume control on Win3.1 drivers

* AZT1605: Filter OPL3 through WSS AUX2 mixer, fixes FM volume control on Win3.1 drivers
2025-10-12 07:08:02 +02:00
OBattler
f922e78b61 Merge branch 'master' of https://github.com/86Box/86Box 2025-09-28 00:44:28 +02:00
OBattler
6ca6afedd5 AdLib Gold: Everything now outputs to the same 48k source in order to avoid noise caused by the YM7128's resampling which is currently tailored to that frequency. 2025-09-28 00:44:01 +02:00
RichardG867
37eb2cb359 AD1848: Use the correct algorithm for CS423x ADPCM
Still has level and DC offset issues, but actual use cases are lacking (all validation was done with ALSA's adpcm conversion plugin)
2025-09-27 16:33:35 -03:00
TC1995
edb7a040bc Some fixes for the AdLib Gold of the day (September 26th, 2025) (#6227)
* AdLib Gold changes of the day (September 23rd, 2025)

1. Make sure the check to the Surround module is properly placed when disabled/enabled.
2. Replace local adgold_buffer with opl_buffer from its struct to improve the audio output and less clipping.

* Some fixes for the AdLib Gold of the day (September 26th, 2025)

1. Revert the sampling DMA int functions back to void but with a check that monitors the DMA FIFO whenever it's within the range or not.
2. Actually clear the IRQ properly.
2025-09-26 21:05:53 +02:00
Miran Grča
ba9c1732f7 Actually, it's 289B. 2025-09-24 01:41:00 +02:00
Miran Grča
d99d052b82 AdLib Gold: Use the YMF289. 2025-09-24 01:16:20 +02:00
OBattler
087a005664 More AdLib Gold fixes. 2025-09-23 20:46:24 +02:00
TC1995
a87bcd410e AdLib Gold changes of the day (September 23rd, 2025) (#6218)
1. Make sure the check to the Surround module is properly placed when disabled/enabled.
2. Replace local adgold_buffer with opl_buffer from its struct to improve the audio output and less clipping.
2025-09-23 19:49:15 +02:00
OBattler
c71811f579 Attempt to halve the output volume. 2025-09-23 19:36:26 +02:00
OBattler
288b6454ee AdLib Gold: Correctly use separate pseudo-stereo X and Y for the two sources. 2025-09-23 17:55:46 +02:00
OBattler
151c3d8730 Fixes to the floppy samples work. 2025-09-22 01:30:11 +02:00
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 98a0478225.

* Revert "Update vulnerability reporting instructions"

This reverts commit 7d32cb659b.

* 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 307b173ae7.

* 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
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
win2kgamer
8c3e45e691 YMF71x: Call master volume recalc during init 2025-09-21 10:46:27 -05:00
OBattler
82399b4dd6 YMF-71x: Fix two warnings. 2025-09-21 12:14:13 +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
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
Cacodemon345
a9861c04f2 Actually fix OPL4 ID readbacks 2025-09-18 15:10:33 +06:00
Cacodemon345
da6e551463 Restore earlier OPL4 identification method (part 2) 2025-09-18 02:17:20 +06:00
Cacodemon345
942a8e96b1 Restore earlier OPL4 identification method (part 1) 2025-09-18 02:12:14 +06:00
OBattler
9702e28e5c YMF-701: Removed an unused variable. 2025-09-14 23:47:43 +02:00
win2kgamer
39d66f00ef Remove two unused local variables causing a CodeQL failure 2025-09-14 13:45:26 -05:00
win2kgamer
ff32263927 Clarify SB variable names, correct WSS enable in init 2025-09-14 12:14:45 -05:00
win2kgamer
d4c9ee5613 Code cleanup and comment updates 2025-09-13 23:07:31 -05:00
win2kgamer
9ee210f55d Use new method of attaching OPL3 and CD audio to the AD1848 mixer 2025-09-13 22:34:25 -05:00
win2kgamer
7983f499a7 Resolve merge conflict 2025-09-13 22:24:02 -05:00
win2kgamer
fef13a41dd Remove now-unnecessary is_opl3sa AD1848 mixer hack 2025-09-13 22:16:05 -05:00
Alexander Babikov
1340b031ee GUS: Refactor the buffer/mixer code and fix the MAX mixer's GF1 input 2025-09-11 18:46:24 +05:00
Alexander Babikov
14cf9ee80b AD1848: Extend ad1848_filter_aux2 to any channel 2025-09-11 18:46:24 +05:00
Alexander Babikov
a59eb526ed AD1848: Make CD audio input designated per-card
Fixes CD audio mixer not working for GUS MAX
2025-09-11 18:46:23 +05:00
Alexander Babikov
cb96d4e1bc Add the Gravis UltraSound revision 3.7
Implement the ICS-2101 mixer chip that it has
2025-09-11 18:46:22 +05:00
Alexander Babikov
eec9b52151 GUS: Add the UltraSound ACE 2025-09-11 18:46:21 +05:00
Alexander Babikov
7f7461620d GUS: Correct minimum RAM amount for GUS MAX 2025-09-11 18:46:20 +05:00
Alexander Babikov
91413a8457 GUS gameport work
Classic: gameport toggleable by jumper/config option (pre-rev 3.4), disabled by default
MAX: gameport toggleable by software register (post-rev 3.4), enabled by default
Disable access to rev 3.4+ registers on Classic
2025-09-11 18:46:19 +05:00
Jasmine Iwanek
6f9930417d A few EMU8000 Cleanups 2025-09-09 19:57:47 -04:00
Jasmine Iwanek
ea7cb1cc55 Some more clang formatting 2025-09-09 19:57:46 -04:00
win2kgamer
433c45b3e6 Give the Intel TC430HX and Sony Vaio PCV-90 their onboard YMF701 audio 2025-09-06 18:24:29 -05:00
win2kgamer
5225b37448 Initial implementation of the Yamaha YMF-701 audio controller 2025-09-06 16:34:10 -05:00
Jasmine Iwanek
c5cede1a41 Fix default on sound master plus, and comments 2025-08-29 14:40:25 -04:00