Flyinghead
5393235c40
aica: skip remaining step functions when channel is disabled
...
CA is reset to 0 when channel is disabled due to AEG and this value must
not be changed.
Issue #472 and #1180
2024-09-07 14:55:45 +02:00
Flyinghead
b468c9bdae
aica: reset CA to 0 when disabling channel due to AEG
...
CA was reset to 0 for non-looping sound when ending, but not for looping
ones when they reach full attenuation. This confuses some games.
Disable the channel when it reaches full attenuation and reset CA to 0.
Revert a7702c622a
Issue #1602
Better fix for
Issues #472 , #483 , #1180 , #1249 , #1030 (partial)
2024-08-29 13:09:39 +02:00
Flyinghead
136ce267dc
aica: apply 6dB attenuation after adding channels in mono
...
Less saturation with sega bass fishing challenge's default audio
settings.
Issue #1564
2024-07-06 14:03:48 +02:00
Flyinghead
eaa22a49d1
msvc build fix
2024-04-06 19:07:27 +02:00
Flyinghead
4f87a3556e
Fix vmu beep frequency
2024-04-06 17:43:19 +02:00
Flyinghead
c001240797
move audio drivers to their own folder
2024-01-10 11:45:54 +01:00
Flyinghead
a7702c622a
aica: don't disable channel when reaching full attenuation
...
Some games rely on the channel still being processed and CA/LP being
updated. Courtesy of @kihato
Issues #472 , #483 , #1180 , #1249 , #1030 (partial)
2023-12-31 12:02:42 +01:00
Flyinghead
41723a831f
use static init when possible. use unnamed bit-fields. refactor vmuBeep
...
no functional changes
2023-11-11 18:54:10 +01:00
Flyinghead
bafe07de85
aica: better sounding LPF
...
Use 4 bits of exponent instead of 5 for the cut off frequency
Force sample to 0 if cut off freq is 0
Improve BIOS menu sounds
Issue #108
2023-11-02 18:33:14 +01:00
Flyinghead
93e47dd410
aica: don't change LEA for non-looping sounds
...
Non-looping sounds with LSA=0 and LEA=0 shouldn't be played at all.
Regression introduced by dac5b991e0
.
Fixes white noise in Sonic Adventure Emerald Coast action stage.
Issue #1264
2023-10-27 14:52:07 +02:00
Flyinghead
dac5b991e0
aica: ignore LEA if <= LSA
...
Fixes Legacy of Kain Ash Village music
Issue #1104
2023-10-22 10:12:30 +02:00
scribam
1b565f9879
clang-tidy: run modernize-concat-nested-namespaces
2023-07-22 19:04:52 +02:00
Flyinghead
83bfa9158d
aica: don't crash if AFSEL=1
...
Fixes MINIDUMP-XW
2023-05-14 16:22:10 +02:00
Flyinghead
885a0508c0
Merge remote-tracking branch 'origin/master' into dev
...
# Conflicts:
# core/hw/aica/sgc_if.cpp
# core/hw/naomi/naomi.cpp
# core/hw/sh4/dyna/driver.cpp
2023-02-28 20:02:23 +01:00
Flyinghead
8d54382b10
aica: apply RAM mask to sample address (SA)
...
Fixes MINIDUMP-B9
2023-02-24 21:24:56 +01:00
scribam
d8137a967c
C++17 ( #926 )
...
* cmake: use c++17
* Use std::size
* Use std::make_unique
* Use std::clamp
* Use structured binding
* Use [[fallthrough]]
* Use enable_if_t/is_enum_v/is_integral_v/is_same_v
* Use if constexpr
* Use try_emplace
* Use auto for iterators
* Use inline variables
2023-02-18 13:24:34 +01:00
Flyinghead
d1ab3461a6
savestates: dropping support for old formats
...
savestates older than 3 years aren't supported anymore
2023-01-31 17:57:54 +01:00
Flyinghead
b1479e6e34
aica: use namespaces, simplify api, handle serialization
...
Rename VArray2 to RamRegion. Add alloc(), free(), setRegion() and
de/serialize()
2023-01-30 10:40:07 +01:00
Flyinghead
99d5266aa0
Merge remote-tracking branch 'origin/master' into dev
...
# Conflicts:
# core/hw/holly/sb_mem.cpp
# core/hw/naomi/naomi.cpp
# core/hw/naomi/naomi_flashrom.cpp
# core/hw/pvr/ta_ctx.h
# core/rend/gui.cpp
2023-01-27 15:41:45 +01:00
scribam
80cf4406a7
cleanup include headers
2023-01-26 10:06:51 +01:00
Flyinghead
f8372c51a7
Revert "wip headers"
...
This reverts commit e3e2c3a0d2
.
2023-01-24 14:26:14 +01:00
scribam
e3e2c3a0d2
wip headers
2023-01-23 18:29:04 +01:00
Flyinghead
a6bf9dd39c
Option to disable VMU sounds. VMU sounds use better waveform.
2023-01-21 11:54:34 +01:00
Flyinghead
d417237e64
Merge remote-tracking branch 'origin/master' into dev
...
# Conflicts:
# core/emulator.cpp
2022-12-06 21:47:50 +01:00
Flyinghead
59ff44132b
aica: get rid of audio samples batching
...
Some audio issues are reported because of this option and the now
correctly clocked aica cpu.
2022-12-05 18:34:52 +01:00
scribam
f6532ca27a
fix some warnings
2022-11-19 12:52:26 +01:00
Flyinghead
decf70c87c
get rid of INLINE, NOINLINE, __forceinline
2022-10-22 22:14:19 +02:00
Flyinghead
fc9e1e401b
naomi: emulate midi ffb drive board response
...
needed for driving simulator
2022-04-27 14:28:58 +02:00
Flyinghead
039c666247
more types.h clean up. better aica handler templates
2022-04-15 17:03:49 +02:00
Flyinghead
6c38295d62
new naomi network protocol. vblank event. initd rumble support
...
new vblank event, used by cheats, lua and naomi net
new udp net protocol for naomi. rx/tx on vblank on emu thread.
input: rumble power configurable (Issue #158 )
ui: rumble intensity slider, enable/disable upnp
aica: hook to consume midi out
decode midi out to simulate rumble for initd
upnp can now be disabled
2022-03-27 15:23:21 +02:00
Flyinghead
8f80bcb159
New serialize framework. Delay maple dma xfer
...
New serialize framework. Refactor serialization into modules.
Maple dma xfer must not be executed immediately. Delay until interrupt
is raised.
Fixes Geist Force freeze at start.
2021-11-13 15:56:42 +01:00
Flyinghead
8b986dfab3
vmu beep support
2021-10-10 16:33:37 +02:00
Flyinghead
69d0801121
net rollback with ggpo
2021-09-02 17:51:23 +02:00
Flyinghead
ca17717af7
dsp: map TEMP/MEMS/MIXS regs to sh4 and aica address space. Clean up
2021-08-26 10:16:07 +02:00
Flyinghead
e5ca63db20
aica: arm32 dsp dynarec. Correct dsp level when dsp disabled
2021-08-24 20:49:53 +02:00
Flyinghead
57874a9bcb
libretro: savestate compatibility. B1/D1 vmus now visible
2021-07-10 17:39:16 +02:00
Flyinghead
7af667cdf8
missing change from previous commit
2021-03-21 18:03:22 +01:00
Flyinghead
c3a95594f9
New option system
...
Fix per-game settings (Issue #115 )
Automatic load/save state (Issue #173 )
Reload Naomi/AW BIOS after per-game settings are loaded to allow
per-game BIOS region. (Issue #96 )
Restrict Soul Reaver widescreen cheat to the EU version (Issue #188 )
Disable UI elements for overridden settings
Clean up/simplify legacy Naomi ROM loading
2021-03-01 10:13:40 +01:00
flyinghead
16dec49e08
windows: use utf8 internally. Support latin2, cyrillic, etc. pathnames
...
upgrade libzip to 1.7
imgui: use all glyphs from font including latin2, cyrillic, greek, etc.
2021-01-19 11:11:01 +01:00
Flyinghead
14393ea6b1
improved microphone emulation. support for linux and windows
2020-12-05 18:47:09 +01:00
Flyinghead
4dd05ca23f
aica: saturate EG when aeg reaches 3bf. non-functional changes
2020-11-24 20:07:10 +01:00
Flyinghead
d7b1ad61f3
aica: make sure lpf cutoff value is > 0
...
Issue #108
2020-08-31 21:53:33 +02:00
Flyinghead
fee28194fb
savestate: save sq_remap, save aw cart state, fix lr aw format
...
save AW cart state
save sq_remap used for mini-mmu with store queues
allow loading lr aw savestate. upgrade to v11
aica: saturate EG register
savestate: save current TA data
texcache: fix race condition when deleting a texture
handle 1x1 YUV tex as 565
2020-07-06 16:28:53 +02:00
Flyinghead
333df13fce
sh4 icache implementation. move aica out of sh4/interp.
...
revert to original div1 impl
serialize rtc clock value
cmake fixes: asan and logging options, -no-pie on x64/linux
2020-06-09 12:02:01 +02:00
Flyinghead
002a05f866
dsp: proper MIXS input shift
2020-05-30 19:57:58 +02:00
scribam
e99aac3575
Remove "using namespace std;"
2020-03-30 23:00:43 +02:00
scribam
4bf6802855
Cleanup include headers
2020-03-29 14:26:21 +02:00
Flyinghead
ad3dce1102
fix alignment issues reported by ubsan on x64
...
Fix chd lzma and zlib buffers alignment
Fix ChannelEx struct alignment
2020-03-14 22:23:13 +01:00
Flyinghead
1b49bdd31e
reduce save states size by ~20mb
2020-01-07 20:13:33 +01:00
Flyinghead
553343e698
suport latest lr core savestate format
2019-12-13 12:59:35 +01:00