Re-added the change to make the dsp remaining block count zero-based. Fixes Dream Mix TV World Fighters.
This commit is contained in:
parent
16d3604211
commit
30c8de495e
|
@ -435,7 +435,10 @@ void RegisterMMIO(MMIO::Mapping* mmio, u32 base)
|
||||||
// Audio DMA blocks remaining is invalid to write to, and requires logic on
|
// Audio DMA blocks remaining is invalid to write to, and requires logic on
|
||||||
// the read side.
|
// the read side.
|
||||||
mmio->Register(base | AUDIO_DMA_BLOCKS_LEFT,
|
mmio->Register(base | AUDIO_DMA_BLOCKS_LEFT,
|
||||||
MMIO::DirectRead<u16>(&g_audioDMA.remaining_blocks_count),
|
MMIO::ComplexRead<u16>([](u32) {
|
||||||
|
// remaining_blocks_count is zero-based. DreamMix World Fighters will hang if it never reaches zero.
|
||||||
|
return (g_audioDMA.remaining_blocks_count > 0 ? g_audioDMA.remaining_blocks_count - 1 : 0);
|
||||||
|
}),
|
||||||
MMIO::InvalidWrite<u16>()
|
MMIO::InvalidWrite<u16>()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue