Re: [hatari-devel] Fixed Stocasto and H2O music

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hi,

On 12/3/20 10:19 PM, Laurent Sallafranque wrote:
I've fixed and reworked the DSP interrupts. Host interrupts seems to work now, but I'll wait your case test to be sure before pushing my changes.

I've updated compat doc for Stocasto & H20
+ few older notes.


@Eero, my crossbar patch seems to have another demo that makes sound (EKO epidemic musicdisk first part. The second part is still bugged for now). Can you confirm that ?

Yes, I can confirm these (but haven't updated
doc yet).

EKO epidemic musicdisk doesn't start after your change unless DSP is enabled. Before the change
it worked also without DSP (obviously with no
sound).  That's not really a regression, just
something that needs to be also updated in doc.


As to your Lockup related improvements, I'm
wondering whether they fix anything else, like
Bound4 & Bound5, Escape's "_" demos...


	- Eero

Le 03/12/2020 à 10:28, Eero Tamminen a écrit :
Hi,

On 12/2/20 5:20 PM, Laurent Sallafranque wrote:
I've pushed a patch to fix both stocasto and H2O music (and still allow to play MP2 musics like in the Wait demo or DHS music disks).

I can update the documentation.


I've tested a few demos and games and didn't notice any regression, but don't hesitate to do some tests on your side.

Nicolas may need to do extra 2.3.1 release due
to IDE crash regression, so I've been keeping my
own code changes out.

I guess it's actually better to do bug fixes
from a separate branch though (forked e.g. from
2.3.0 release notes typo fix commit just before
your fix).


The main problem was that some programs like H2O set the "crossbar to DSP" transfer in handshake mode, but on the DSP side, the DSP still wait for the master clock of the crossbar.

The previous version of the crossbar code always considered that if the program sets a handshake connexion, the DSP was the owner of the master clock, which is wrong.

I've fixed it with a new variable : handshakeMode_masterClk

If the DSP SSI sends a SC1 signal, it is the owner of the master clock, as it sends it to the crossbar.So the new variable keeps the info that the DSP is the master clock. Else, it's the crossbar that is the master clock.

I think it would be better to use bool as type
for variables with only two values (i.e. true /
false), instead of int with magic 0 & 1 values.


    - Eero







Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/