[hatari-devel] New patch for crossbar : ultimate arena wanted
Eero Tamminen
eerot at users.berlios.de
Wed Jun 1 21:51:31 CEST 2011
Hi,
On keskiviikko 01 kesäkuu 2011, Laurent Sallafranque wrote:
> I've patched the crossbar. The $ff8901 bug seems to be removed.
What's this change:
---
1.2 +++ b/src/falcon/crossbar.c Wed Jun 01 10:02:48 2011 +0200
1.3 @@ -458,8 +458,6 @@
1.4 dmaPlay.isRunning = 0;
1.5 dmaPlay.loopMode = 0;
1.6 nCbar_DmaSoundControl = sndCtrl;
1.7 - memset(dac.buffer_left, 0, sizeof(dac.buffer_left));
1.8 - memset(dac.buffer_right, 0,
sizeof(dac.buffer_right));
1.9 }
1.10
1.11 /* DMA Record mode */
----
?
Btw. Nicolas, when I looked how the STE DMA code handles it:
---- ioMemTabSTE.c --------
{ 0xff8900, SIZE_WORD, DmaSnd_SoundControl_ReadWord,
DmaSnd_SoundControl_WriteWord }, /* DMA sound control */
---- dmaSnd.c --------
void DmaSnd_SoundControl_ReadWord(void)
{
IoMem_WriteWord(0xff8900, nDmaSoundControl);
...
void DmaSnd_SoundControl_WriteWord(void)
{
...
nNewSndCtrl = IoMem_ReadWord(0xff8900) & 3;
---------
While I assume this works fine, according to Compedium $ff8900 byte of this
word is Falcon only while $ff8901 byte is used by everything else except
STF, so the code above seems a bit misleading?
> Eero, in an old thread
> (https://lists.berlios.de/pipermail/hatari-devel/2010q1/001514.html),
> you said Ultimate Arena had also the $ff8901 bug.
>
> Could you please test again and tell me if it's OK now ?
It seems to work fine, but as I didn't have it in my broken programs folders
I'm not sure how easy the issue was to trigger.
When running, it output this once to console:
crossbar DMA Play: Illegal buffer size (from 0x076b1c to 0x076b1c)
> Could you also send me this game ? (I haven't got it) ?
> If you have a link (for download), could you add it to the compatibility
> list ?
It was already in the list, but commented to be unstable. As it seemed to
work now fine, I removed that comment & updated Hatari version for it to
v1.5. :-)
- Eero
More information about the hatari-devel
mailing list