10 Commits

Author SHA1 Message Date
Andre Zeps
ca4216f956 FMV: Added support for window, screen, display offset and NIS events
- Fixes wrong offset with "Les Guignols de l’Info"
- Fixes graphical corruption with "Christmas Crisis"
- Fixes "skewed image corruption" with MPEG video
- Adds support for NIS video event due to update of sequence parameters
- Fixes "Philips Logo Intro" with "Brain Dead 13"

Dynamic behavior is probably not yet correct.
- "Christmas Crisis" is stuttering in the bonus rides.

It should be noted that "Brain Dead 13" is still not working
after the company logo.
2025-12-18 13:30:33 +01:00
Andre Zeps
fefabe413e CDIC: Fixed reading offset of ADPCM sound parameters
Adapted to actual behavior of real hardware
Investigation performed using CDIC_BlackBoxAnalyzer

Fixes menu sound effect of "Golf Tips"
2025-07-30 22:22:03 +02:00
Andre Zeps
d53c682fcc CDIC: Rewritten audio state machine
- Changes based on findings of the CDIC_BlackBoxAnalyzer project
  - Removed side channel for audio coding
    - A real CDIC reads the audio coding always from RAM
  - Removed the concept of the audio tick found in MAME
    - A real CDIC performs audio playback asynchronous to the CD reading
- Seek time now 19 sectors
  - Fixes audio glitch in "Help cutscene" in "Zelda - Wand of Gamelon"
    "Remember, tools can only be used..."
- Fixes audio regression during "Hotel Mario" score screen
- Fixed spurious IRQ caused by sector data interrupt after reading stopped
  - Should fix hang on shopkeeper cutscene in "Zelda - Wand of Gamelon"
    (Cannot be reproduced or is very unlikely now)
2025-03-17 21:58:10 +01:00
Andre Zeps
ee0738cc5b CDIC: Adapted audio control register to measurements
Lowest bit is now set when the audiomap has
finalized the playback after processing the 0xff decoding.
The bit is reset after reading it.

Derived by observing the registers on a 210/05 unit.
2025-02-23 20:15:52 +01:00
Andre Zeps
2c5b60519e CDIC: Rework of audio player state machine
- Removal of Tick wait counter
  It was an artifact only required by software emulators
- Added abort of playback
  Fixes some audio map related sound glitches in Zelda's Adventure
- Added mysterious bit reset
  Forces Unmute during Audio Channel playback
  Full function not yet understood

AD7528: Added instances for stereo mixing

- Fixes audio panning in Zelda's Adventure
- Fixes stereo to mono mixing (SFX + BGM)
  - Hotel Mario
  - Zelda - Wand of Gamelon
2025-02-14 20:54:19 +01:00
Andre Zeps
934d3af20e CDIC: Fixed sample rate change during playback
Fixes bootup of Burn Cycle
2025-01-24 15:24:35 +01:00
Andre Zeps
53a483951d CDIC: Fixed subchannel data for CDDA
Also introduces negative LBA for TOC reading
2025-01-17 20:21:32 +01:00
Andre Zeps
e0991d0753 CDIC: Added experimental CDDA support
- Fixes audio in "The Apprentice (USA)"
- Adds stub TOC to satisfy "The Apprentice (USA)"
  during starting phase
2024-12-30 15:39:31 +01:00
Andre Zeps
0f51aae7eb CDIC: Add audiomap and related features
- Added state management for audiomap usage
- Added coding dependent sector playback delay
- Basic seeking time simulation and constant data rate
- Removed debugging option to disable MODE2 filters
- Added a lot documentation about expectations of
  the CDIC to the code
- Splitted off all audio playback into seperate file
- Added DC bias filter to reduce pops between playbacks
- Fixed wrong sample during underflow of FIFO
- Added two sample delay for ADPCM
  Fixes frequent clicks and pops due to latency of ADPCM calculation
- Buffer management now equal to CDIC emulation of MAME
  Uses internal bank switching to avoid ADPCM overwrite
  Stabilizes intro of "Zelda's Adventure" and "Hotel Mario"

SCC68070: DMA support for transfer to CDIC memory

Added additional test roms to verify the additions

Known issues:
- Hotel Mario hangs during score screen
- Frog Feast hangs ingame
2024-11-15 12:18:55 +01:00
Andre Zeps
ced50442a9 renamed audioplayer to audiodecoder
in between commit to make git recognise
the rename and not loose history
2024-11-14 13:46:56 +01:00