[hatari-devel] Two Hatari bugs

Anders Eriksson ae at dhs.nu
Sat May 14 18:48:05 CEST 2011


On Sat, 14 May 2011, Nicolas Pomarède wrote:

> Do you mean reg 13 in the YM file is never set to 0xff, or the opposite ?
>
> From the code in ymformat.c, we have :
>
>                if (bEnvelopeFreqFlag)
>                        *pYMData++ = SoundRegs[PSG_REG_ENV_SHAPE];
>                else
>                        *pYMData++ = 0xff;
>
> I tried recording an YM from the GEM desktop and reg 13 is always 0xff in the 
> YM file.
>
> Same in the 2 files you sent, reg 13 is always 0xff ; are you sure those 
> tunes don't use mfp timer to change reg 13 ? Because in that case it clearly 
> won't work in Hatari's ym dumping.

Hi,

I think I wasn't clear enough, here's from the YM3! file format 
description:

"SPECIAL: Register 13 !
----------------------

 	Creating a binary with YM registers for each VBL is easy. However
there is special case concerning register 13. Reg13 is used for the volume
envelope wave-form on the YM2149. The problem is writing to that register
"restarts" the wave-form at beginning. That is, you CAN'T access this 
regis-
ter each VBL if the original play-routine does not. So, if the original
player does not write to register 13 on VBL n, write 0xff value.
(So when YM.EXE read 0xff as reg13, the internal emulator register is not
updated)."

http://www.mirkoroller.mynetcologne.de/ym2149hard/ym3.format


As I understand it, reg 13 should only be $ff if the Atari has not 
accessed it during the VBL.

--
Anders Eriksson
ae at dhs.nu     http://www.dhs.nu/
ae at atari.org  http://www.atari.org/


More information about the hatari-devel mailing list