Commit Graph

43 Commits

Author SHA1 Message Date
Matt Borgerson 57cdee770e mcpx/dsp: Fix some formatting/spelling nits 2025-03-31 12:40:31 -07:00
Matt Borgerson 9439f605a8 mcpx/dsp: Drop redundant value/address assertions 2025-03-31 12:40:31 -07:00
Matt Borgerson e08011b772 mcpx/dsp: Rename *.inl -> *.c.inc 2025-03-31 12:40:31 -07:00
Matt Borgerson 4b81c28901 mcpx/dsp: Migrate some DPRINTFs to trace events 2025-03-31 12:40:31 -07:00
Matt Borgerson 31d8237ee3 mcpx/dsp: Remove dsp56k_execute_one_disasm_instruction 2025-03-31 12:40:31 -07:00
Matt Borgerson 8dafd513b9 mcpx/dsp: Move some debug functions out to debug.c 2025-03-31 12:40:31 -07:00
Matt Borgerson d18125994c mcpx/dsp: Drop some dead code 2025-03-31 12:40:31 -07:00
Matt Borgerson f8cbcbadaa mcpx/dsp: Move dma reg defs to a header 2025-03-31 12:40:31 -07:00
Matt Borgerson c68cdd9479 mcpx/dsp: Fix minor header issues 2025-03-31 12:40:31 -07:00
Matt Borgerson 31c491a702 mcpx/dsp: Move cpu reg defs to a header 2025-03-31 12:40:31 -07:00
Matt Borgerson 5ba2ef790c mcpx/dsp: Factor out debug bits to a header 2025-03-31 12:40:31 -07:00
Matt Borgerson 148f04e1c7 mcpx/dsp: Replace printf -> DPRINTF 2025-03-31 12:40:31 -07:00
Matt Borgerson 115456f255 mcpx/dsp: Bring back disassembly 2025-03-31 12:40:31 -07:00
Matt Borgerson 89f98947f6 mcpx/dsp: Fix dprintf use 2025-03-31 12:40:31 -07:00
Matt Borgerson 9af3c1a005 mcpx/dsp: Add missing copyright 2025-03-31 12:40:31 -07:00
Matt Borgerson bf51af891d mcpx/dsp: Move to a library 2025-03-31 12:40:31 -07:00
Matt Borgerson 312bd94573 mcpx: Move voice_list_regs to apu.c 2025-03-27 23:33:40 -07:00
Matt Borgerson a830cc4526 xbox: Disable clang-format for deliberately aligned reg defs 2025-03-27 23:33:40 -07:00
coldhex 0427ae8cfc mcpx: Implement APU multipass voice processing
Voice Processor (VP) multipass feature allows configuring lists of voices
that are first mixed (in order) into a designated mixbin which is then used
as a sample source when processing voices with multipass flag set to true
in NV_PAVS_VOICE_CFG_FMT. Setting correct voice order in lists is the
responsibility of the game/application and in practice is handled by the
DirectSound library. The multipass mixbin is hardcoded to 31 in
DirectSound, but hardware would allow other bins.

This implementation also adds additional info to audio debug UI to see what
the source and destination voices involved are. The info is only shown
when DSP processing is off, i.e. "VP Only" (MON_VP) is selected. This is
because storing the voice numbers requires additional digging which is
required for MON_VP anyway and therefore is free. The multipass feature
itself works fine with DSP (i.e. GP and EP) enabled, only the additional
debug info is not shown.
2025-02-15 15:01:29 -07:00
Matt Borgerson 281f42c5e1 mcpx: Fix variable shadowing 2025-01-07 00:52:51 -07:00
Matt Borgerson 85f84be04d mcpx: Narrow variable def scopes, fix shadowing 2025-01-07 00:52:51 -07:00
Matt Borgerson 0e50741c28 ui,xbox: Copyright updates on changed files 2025-01-06 23:06:21 -07:00
Matt Borgerson f4ef9f6309 mcpx: Rename dev to parent_obj, use QOM casts 2025-01-06 23:05:53 -07:00
Matt Borgerson 008d848582 mcpx: Use new bql_[un]lock functions 2025-01-06 23:05:53 -07:00
Matt Borgerson 08d4c3611b mcpx: Update headers 2025-01-06 23:05:53 -07:00
Matt Borgerson 81a6985bb0 mcpx: Use new fifo8_pop_buf api 2025-01-06 23:05:53 -07:00
Matt Borgerson 6cce59135b mcpx: Use Resettable interface 2025-01-06 23:05:53 -07:00
Matt Borgerson 212988421f mcpx: Remove set but not used count variable 2024-12-29 18:42:12 -07:00
Matt Borgerson b135dd14ea nv2a, mcpx: Drop minimum_version_id_old from vmsd 2023-01-23 00:30:40 -07:00
Matt Borgerson a198f22981 include: Drop various qemu-common.h imports 2023-01-23 00:30:40 -07:00
Erik Abair 4fd15c00f3 mcpx: Print actual error on OpenAudioDevice fail 2022-07-13 13:41:30 -07:00
Matt Borgerson 9c06980275 ui: Redesign user interface
Introduces a new user interface that looks much nicer, is easier to
navigate with controllers, provides more context to users, and is
scalable. Some additional features are included.

* Adds 'popup menu' with actions that can be used easily from controller
* Adds 'main menu', unifying other configuration dialogs
* Adds port-forwarding user interface
* Adds screenshot feature
* Adds volume control feature
* Adds gamepad auto-bind option
* Adds vsync configuration option
* Adds auto UI scaling
* Adds preferred window size selection
* Adds AV pack selection
* Exposes some existing config items in GUI
2022-05-07 16:09:34 -07:00
Matt Borgerson d14cdbc7ba config: Migrate to genconfig system 2022-04-24 21:15:57 -07:00
Antonio Abbatangelo 2218cdea67 nv2a/mcpx: fix freezing on loadvm failure 2022-02-22 14:40:26 -07:00
Matt Borgerson d40a1c578d mcpx: Start using tracing infrastructure for logging 2022-02-01 23:34:53 -07:00
Matt Borgerson fdd7875051 sdl: Print out SDL_GetError message when subsystem init fails 2021-06-15 22:12:34 -07:00
Matt Borgerson 11a680301a apu: Use new 'q' prefix for atomics 2021-04-18 23:41:28 -07:00
Matt Borgerson db5a8c7755 apu: Use bool type for state change callback running parameter 2021-04-18 23:41:28 -07:00
Matt Borgerson 609aee0bbe build: Convert xemu Makefiles to meson 2021-04-18 23:41:28 -07:00
Matt Borgerson d62b3f4467 mcpx/apu: Leave voice active at EOL if persist set 2021-03-07 23:54:27 -07:00
wutno f36a0d629c
xbox: Update PCI device header revisions to match Xbox 1.0 retail 2021-03-03 13:43:42 -07:00
Matt Borgerson 66f2e9decd mcpx: Fixup compiler warnings in DSP code 2021-01-03 16:14:47 -07:00
Matt Borgerson 416e12c3b3 mcpx: Enable APU pipeline 2021-01-03 16:14:47 -07:00