Commit Graph

47 Commits

Author SHA1 Message Date
Jasmine Iwanek
ba2381eb8b Cleanups to OPL backends 2024-12-18 17:44:21 -05:00
Jasmine Iwanek
b5c7e59ab7 Nuked: Last of the update 2024-07-15 23:00:10 -04:00
Jasmine Iwanek
8056c1bc9a Nuked: wrbuf -> writebuf 2024-07-15 01:03:15 -04:00
Jasmine Iwanek
e654d01bd0 Nuked: chan_t -> opl3_channel 2024-07-15 01:03:15 -04:00
Jasmine Iwanek
e4ee5d2d01 Update snd_opl_nuked.c 2024-07-15 01:03:15 -04:00
Jasmine Iwanek
c7a268a01e Nuked: ch/chan -> channel 2024-07-15 01:03:14 -04:00
Jasmine Iwanek
2bcfc8e697 Nuked: dev -> chip 2024-07-15 01:03:14 -04:00
Jasmine Iwanek
8cb40b8b68 Nuked: Move stuff out to it's header 2024-07-15 01:03:14 -04:00
Jasmine Iwanek
d3142e7793 More reorganization in snd_opl_nuked.c 2024-07-15 01:03:14 -04:00
Jasmine Iwanek
483fe43fb4 Nuked: Compile fixes
Update snd_opl_nuked.h
2024-07-15 01:03:13 -04:00
Jasmine Iwanek
3c0387bfc1 Nuked: nuked_t -> opl3_chip 2024-07-15 01:03:13 -04:00
Jasmine Iwanek
29d72a82dc Nuked: slot_t -> opl_slot 2024-07-15 01:03:13 -04:00
Jasmine Iwanek
f68e7d3eae Nuked: env -> envelope 2024-07-15 01:03:13 -04:00
Jasmine Iwanek
2f097d2fe6 reorganise snd_opl_nuked.c to closer match upstream 2024-07-15 01:03:12 -04:00
Jasmine Iwanek
56f50f4ebe Fix the envelope generator
Co-Authored-By: nukeykt <alexeytf2@gmail.com>
2024-07-15 01:03:12 -04:00
Jasmine Iwanek
5209e949ad Fixed conflict with Qt because of global "slots" macro
Co-Authored-By: Vitaly Novichkov <6751442+wohlstand@users.noreply.github.com>
Co-Authored-By: nukeykt <alexeytf2@gmail.com>
2024-07-15 01:03:12 -04:00
Jasmine Iwanek
5efc896a44 snd_opl_nuked.c: Fixed the uint64_t comparison issue
UINT64_C macro added because of comparison issues in some cases.

Co-Authored-By: Vitaly Novichkov <6751442+wohlstand@users.noreply.github.com>
Co-Authored-By: nukeykt <alexeytf2@gmail.com>
2024-07-15 01:03:12 -04:00
Jasmine Iwanek
b5b5353d46 Use only unsigned literals inside array index math expressions
Avoids OOBs as detected by UBSan

Co-Authored-By: Evan Ramos <1585791+hendricks266@users.noreply.github.com>
2024-07-15 01:03:11 -04:00
Jasmine Iwanek
0646a322e1 Add 4-channel output support
Co-Authored-By: Kagamiin <kagamiin@riseup.net>
2024-07-15 01:03:11 -04:00
Jasmine Iwanek
e5aa36919b Allow replacement of the sin() function used to populate the panning table
Co-Authored-By: Evan Ramos <1585791+hendricks266@users.noreply.github.com>
2024-07-15 01:03:11 -04:00
Jasmine Iwanek
996e5cc784 Add stereo extension
Co-Authored-By: Evan Ramos <1585791+hendricks266@users.noreply.github.com>
Co-Authored-By: nukeykt <alexeytf2@gmail.com>
2024-07-15 01:03:10 -04:00
Jasmine Iwanek
87cdb6ac28 Add toggle to disable uneven L/R sample timing quirk
Co-Authored-By: Evan Ramos <1585791+hendricks266@users.noreply.github.com>
2024-07-15 01:03:10 -04:00
Jasmine Iwanek
6332fd0b5e Factor slot loop bodies in nuked_generate into process_slot
Co-Authored-By: Evan Ramos <1585791+hendricks266@users.noreply.github.com>
2024-07-15 01:03:10 -04:00
Jasmine Iwanek
e6466c4d25 Unroll accumulator loops
Co-Authored-By: Evan Ramos <1585791+hendricks266@users.noreply.github.com>
2024-07-15 01:03:09 -04:00
Jasmine Iwanek
39e6b0fb2a Factor out repeated structure accesses into local variables
Co-Authored-By: Evan Ramos <1585791+hendricks266@users.noreply.github.com>
2024-07-15 01:03:09 -04:00
Jasmine Iwanek
3bc9d82f67 get rid of left shift
Co-Authored-By: nukeykt <alexeytf2@gmail.com>
2024-07-15 01:03:09 -04:00
Jasmine Iwanek
24b39c9c8f Move stuff around to accomodate nukedopl update 2024-07-15 01:03:09 -04:00
Jasmine Iwanek
4f020f9a83 Update Nuke.YKT's copyright date 2024-07-15 01:03:08 -04:00
Jasmine Iwanek
f4d57a8411 Some formatting in snd_opl_nuked.c 2024-07-15 01:03:08 -04:00
OBattler
e0d80aefb4 Moved OPL2 and OPL3 to a new 49716 Hz source so resampling is no longer needed, also fixed SB OPL and PC Speaker filtering (OPL was being downsampled to the selected DSP sample rate, which is incorrect, and the PC Speaker filter was using the wrong filter index in some liens). 2024-03-01 06:52:48 +01:00
OBattler
1f569f2338 NukedOPL: Fast track updates to the new mode flag (register 105h), fixes #4026. 2024-01-11 22:11:23 +01:00
Jasmine Iwanek
c8cef69904 Merge branch 'master' into pr/2899 2023-08-06 20:47:04 -04:00
Jasmine Iwanek
998cfe5cc8 Constification 2023-07-25 17:59:24 -04:00
Jasmine Iwanek
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04:00
Jasmine Iwanek
ed1b369abd Yet more sonarlint fixes 2023-05-29 06:21:17 -04:00
Cacodemon345
2614a2538e Merge remote-tracking branch 'origin/master' into opl4-daughterboard 2023-03-01 17:00:38 +06:00
Jasmine Iwanek
e39dde3413 Magic numbers for sound freq changed to defines 2023-03-01 03:00:47 -05:00
Cacodemon345
facdbfaef6 Add OPL4-ML daughterboard emulation 2022-11-28 20:30:07 +06:00
Jasmine Iwanek
3fe4f75108 A bit more clang-format 2022-11-19 11:53:07 -05:00
Jasmine Iwanek
fab1632cee Fixes almost all the logging options which were previously broken 2022-10-27 11:23:10 -04:00
Jasmine Iwanek
645732b7bf clang-format in src/sound/ 2022-09-18 17:22:55 -04:00
Adrien Moulin
808337aac3 OPL: add the faster YMFM cores
This refactors the OPL interface in two drivers : Nuked and YMFM
Nuked is used by default, YMFM can be enabled with [Sound] fm_driver = ymfm
2022-07-25 20:24:31 +02:00
Jasmine Iwanek
f7084993c3 Formatting updates in src/sound + related includes 2022-02-25 22:06:27 -05:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
OBattler
797af21ad9 Finished the sound/snd_opl.c rewrite. 2020-07-26 02:35:41 +02:00
OBattler
f545c7f1e6 OPL3 timers rewrite, DOOM OPL3 now actually appears to be in stereo. 2020-07-26 01:13:03 +02:00
OBattler
4f3ae96b63 Switched the OPL and NukedOPL code to VARCem's reworked (and cleaner) versions. 2020-07-19 03:24:45 +02:00