[hatari-devel] New problem with GullBach demo (Aura falcon demo)
Thomas Huth
th.huth at gmx.de
Sat Jul 18 15:50:55 CEST 2009
On Thu, 09 Jul 2009 09:28:35 +0200
Laurent Sallafranque <laurent.sallafranque at free.fr> wrote:
>
> when I run the Gullback demo from Aura (falcon, DSP), I get the
> following error :
>
>
> M68000 Bus Error at address $ff8e21.
> M68000 Bus Error at address $ff8400.
> hatari: int.c:392: Int_AddRelativeInterruptWithOffset: Assertion
> `CycleTime >= 0' failed.
> Abandon
Hm, I just ran this demo on my computer, but I was not able to
reproduce this error...
Is it reproducible on your system?
On Fri, 10 Jul 2009 10:53:18 +0300
Eero Tamminen <eerot at users.berlios.de> wrote:
>
>> From the trace, it seems the assert is showing a bug that is not
>> related to video.c but was already present in dmasnd.c
>
> Ok, this isn't properly validating the values it reads from ST RAM:
> ----------------
> static void DmaSnd_StartNewFrame(void)
> {
> int nCyclesForFrame;
>
> nFrameStartAddr = (IoMem[0xff8903] << 16) | (IoMem[0xff8905] <<
> 8) | (IoMem[0xff8907] & ~1);
> nFrameEndAddr = (IoMem[0xff890f] << 16) | (IoMem[0xff8911] <<
> 8) | (IoMem[0xff8913] & ~1);
>
> FrameCounter = 0;
> nFrameLen = nFrameEndAddr - nFrameStartAddr;
[...]
> Int_AddRelativeInterrupt(nCyclesForFrame, INT_CPU_CYCLE,
>INTERRUPT_DMASOUND);
>}
> ----------------
You're right. I've added now a check for valid frames there.
> Laurent/Thomas, what happens / should happen on real Falcon if DMA
> sound frame start and end mismatch?
Good question... maybe the sound plays "for ever" until it loops the 24
bit counter?
Thomas
More information about the hatari-devel
mailing list