[hatari-devel] [Crossbar emulation] : new infos and a problem in DmaSnd.c (I think)

Thomas Huth huth at users.berlios.de
Mon Sep 28 22:42:16 CEST 2009


On Mon, 28 Sep 2009 22:32:44 +0200
Laurent Sallafranque <laurent.sallafranque at free.fr> wrote:

> At first view, it seems to work.
> 
> Do you want to give it a try ?

I currently don't know any STE/Falcon program that really needs this
feature. Do you have a program that depends on this?

 Thomas


> 
> Thomas Huth a écrit :
> > On Tue, 22 Sep 2009 00:11:45 +0200
> > Laurent Sallafranque <laurent.sallafranque at free.fr> wrote:
> >
> >   
> >> Another problem (I think) :
> >>
> >> Thomas, in dmaSnd.c, I think there's a problem in :
> >>
> >> void DmaSnd_FrameCountHigh_ReadByte(void)
> >> void DmaSnd_FrameCountMed_ReadByte(void)
> >> void DmaSnd_FrameCountLow_ReadByte(void)
> >>
> >> You call DmaSnd_GetFrameCount().
> >>
> >>     if (nDmaSoundControl & DMASNDCTRL_PLAY)
> >>         nActCount = nFrameStartAddr + (int)FrameCounter;
> >>
> >> The problem (I think is that you always return (nFrameStartAddr +
> >> 0), as FrameCounter is only computed in a loop in
> >> DmaSnd_GenerateSamples. 
> >
> > Looks like you're right. I guess there should be a call to
> > Sound_Update() at the start of DmaSnd_GetFrameCount() so that the
> > FrameCounter get's updated right, what do you think? That should
> > call Sound_GenerateSamples() which then calls
> > DmaSound_GenerateSamples() which then finally updates the
> > FrameCounter variable.
> >
> >  Thomas



More information about the hatari-devel mailing list