Skip to content

Releases: user7182/ao486_MiSTer

Fix for Kings Quest 7

30 Apr 23:43
de86b19
Compare
Choose a tag to compare
Fix for Kings Quest 7 Pre-release
Pre-release

Fix for sound that should work with Monkey Island and Kings Quest 7.

I did a test that set a fixed busy time of around 1 ms, and cleared the writes status port busy flag at the end regardless if the software ever polled the write status port.

Fix for Monkey Island Freezing (Take 2)

23 Jan 05:50
e41382f
Compare
Choose a tag to compare
Pre-release

Changes:

  • Updated the Sound DSP module to look busy while playing sound and receiving DMA commands.
  • Allowed new sounds to play immediately if DMA is paused.

Games, such as The Secret to Monkey Island, have a compiled in CT-VOICE driver
that communicates to the DSP. When the driver knows a sound is currently playing,
it adds an additional step before starting to play the new sound. The driver will poll
the write status port (2xCh) until it sees a busy flag, and if it sees it then it sends
the pause command first. If the driver never sees a busy status it will eventually
timeout polling and skip sending the pause command.

Without setting the busy flag a pause command is not sent, the game becomes out
of sync with the number of bytes it expects to transfer and locks up.

This change was confirmed to fix freezes during The Secret of Monkey Island,
Monkey Island 2, and Jill of the Jungle. It's likely to fix other games that freeze
because of the soundcard.

A fix that does not clear sounds which have been paused

05 Jan 22:31
e5c8e1c
Compare
Choose a tag to compare

With this build it clears the dma_in_progress flag on a set_time_constant command rather than any received command as it was in the previous build.

When clearing the flag on any command it would stop sounds for commands that have nothing to do with starting a new sound. This was seen in Wolfenstein 3D where many game sounds didn't play because it would issue a pause command which incorrectly cleared the in progress flag.

Clearing the in progress flag on the set time constant command may also be the wrong solution, but it narrows the impact of the change. With this change both The Secret of Monkey Island and Wolfenstein 3D have working sound without freezes.

The real root cause and solution still needs to be investigated.

Fix for Monkey Island Freezing

02 Jan 15:57
651e205
Compare
Choose a tag to compare
Pre-release

The Secret to Monkey Island would intermittently freeze. Easy places to reproduce the freezes were in rooms with a lot of sounds:

  • The kitchen in the SCUMM bar with the pot bubbling, keg pouring, and voice speaking.
  • The bottom of the boat with water dripping and voice speaking.
  • Many of the cut scenes.

This release proposes a fix that addresses the freezing. It's expected this will fix other games that play sounds in the same way.

This can be manually installed by:
scp ao486_20220102.rbf root@mister:/media/fat/_Computer/