audio/am: Refactor audio effect versioning #95

Merged
Collecting merged 6 commits from fix/biquad-filter into main 2026-01-13 23:55:23 -05:00
Collaborator

This change addresses critical stability and persistence issues by improving the way the emulator handles different audio renderer revisions.

Audio Core Enhancements:

  • Implemented a more robust versioning check that utilizes the audio renderer's process revision to distinguish between legacy and updated effect structures.

  • Migrated parameter state update logic into the command generator. This ensures that the "Updated" status flag is written to the correct memory offset specific to the application's expected revision (addressing offsets 0x17 vs 0x25).

  • Introduced a hard safety clamp on effect channel counts. By validating that channel counts remain within hardware-supported limits (maximum of 6), the emulator now prevents command buffer overflows and potential memory corruption/SIGSEGV crashes caused by reading unmapped or invalid guest memory.

This change addresses critical stability and persistence issues by improving the way the emulator handles different audio renderer revisions. Audio Core Enhancements: - Implemented a more robust versioning check that utilizes the audio renderer's process revision to distinguish between legacy and updated effect structures. - Migrated parameter state update logic into the command generator. This ensures that the "Updated" status flag is written to the correct memory offset specific to the application's expected revision (addressing offsets 0x17 vs 0x25). - Introduced a hard safety clamp on effect channel counts. By validating that channel counts remain within hardware-supported limits (maximum of 6), the emulator now prevents command buffer overflows and potential memory corruption/SIGSEGV crashes caused by reading unmapped or invalid guest memory.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Kintoki/Emulator!95
No description provided.