[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