Re: [hatari-devel] 8 runes of aerillion doesn't have sound

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


Hi Anders,


Sadly, I've lost all my mails before 2021, so I can't retrieve these old exchanges.

Just to be sure, the video on Youtube was encoded from the real falcon ?

At least, I remember the demo ran on the real falcon at the sillyventure and at home.

I'll run it again on my falcon this afternoon  to be sure it works like this on the real falcon.


Regards

Laurent


Le 17/03/2024 à 10:22, Anders Eriksson a écrit :


Le 16/03/2024 à 23:07, Nicolas Pomarède a écrit :

Le 10/03/2024 à 21:45, Nicolas Pomarède a écrit :

Le 10/03/2024 à 08:32, Laurent Sallafranque a écrit :

Maybe this can help.

I use a variable : "music_sequence_index" to keep the current sample
index.
I've traced my code and I see that "music_sequence_index" goes from
0(*8) to 2(*8) immediately at the beginning of the music,
which means there's an interrupt played immediately after the
beginning of the music.

The VHS intro plays a sample without interrupts.
I stop the music between the VHS screen and the intro of the demo.
The sample is bigger than the effect length, so, I stop it, load the
1st music sample into memory and start to play the music.

In the music_start code, I add #8 to "music_sequence_index" because
I read this value at the beginning of the interrupt code to load the
next sample.
I also increment by #8 this variable during each interrupt in the
interrupt code.

The traced value of 2(*8) for the variable means that there's a
first interrupt triggered.
Hi

thanks for the information.

What Hatari does at the moment is that it triggers an interrupt (TAI
or GPIP7) when sample start playing (this is because SNDINT signal
goes from idle to playing).
And optionaly it triggers an interrupt when reaching the end of the
sample buffer (if value is set at $FF8901)

I thought signal always goes from idle to playing when starting a
sound, but from what you describe it seems it's not the case, because
this extra interrupt at start explains why sample 1 is not played and
it "jumps" directly to sample 2.

That would mean DMA sound triggers an interrupt at start only if
FF8901 is not enabled to trigger an interrupt at the end (Hatari
allows both at the moment)

I need to write a small test program for falcon that would check the
different cases (loop yes/no and interrupt at end yes/no), because so
far the lack of real documentation from Atari makes it difficult to
emulate.
Hi

looking at the demo, I see that the 1st sample is skipped because when
you stop the music after the vhs-like / blue screen then dma sound
channel goes to idle (=1) and this trigger the un-wanted gpip7
interrupt because bit 7 in MFP's Active edge register is set to 1 (so
0->1 transition on GPIP7 will give an interrupt)

This is not the TOS default value, usually AER's bit 7 = 0 (transition
on 1->0 on gpip7)

I see that at the start of the demo you save MFP content and you also
do this :

0001fd14 0838 0007 fa01 btst.b #$0007,$fffffa01.w
0001fd1a 6608 bne.b #$08 == $0001fd24 (T)
0001fd1c 08b8 0007 fa03 bclr.b #$0007,$fffffa03.w
0001fd22 6006 bra.b #$06 == $0001fd2a (T)
0001fd24 08f8 0007 fa03 bset.b #$0007,$fffffa03.w
0001fd2a 08b8 0007 fa0b bclr.b #$0007,$fffffa0b.w
0001fd30 08f8 0007 fa13 bset.b #$0007,$fffffa13.w

It checks bit7 of of GPIP7 (dma sound status) and depending on that it
changes AER bit7. And in this case it sets AER bit7=1 insted of
leaving it to 0 (because dma sound is idle when starting the demo from
tos)

Why is this needed, can you tell what's the purpose of changing AER ?

Nicolas
Hi,


But, as it worked for "Electric Night" on the real hardware, I think it
should be emulated, no ?

(I can modify the code of electric night and deliver a new version, but
I would prefer Hatari to be closer to the real hardware if possible).

Hi, as a sidenote;

when you asked me to record Electric Night all those years ago, I remember you said the demo was out of sync in my recording when I had captured from a real Falcon.

--
Anders Eriksson
ae@xxxxxx






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