|
Atari coding BBS
Ste and Falcon DMA sound |
Posted by: Laurent Sallafranque
|
May,27.2010-23:27
|
Hello,
I'm back with some more questions about DMA sound for Hatari emulation :)
Questions for Ste DMA sound:
I've read somewhere that if I write to DMA start address register or DMA end address register, I have to set the high bytes first.
example with DMA start register:
$FFFF8902 0 0 X X X X X X X X X X X X X X Hibyte
$FFFF8904 X X X X X X X X X X X X X X X X Midbyte
$FFFF8906 X X X X X X X X X X X X X X X 0 Lowbyte
The DMA-Soundsystem expects you to write the high-byte of the Start- and Endaddress first. Even though this serves no purpose at all, writing the highbyte clears the others. Hence it must be written first.
Is this true ?
Does it mean that if I write a word to $FFFF8902, values for $FFFF8904 and $FFFF8906 are cleared ?
If I write to $FFFF8904.W only, does it clear $FFFF8906.W ?
What if I write value 0 (in byte) to $FFFF8902.b ? Does it clear $FFFF8903.b ?
Does it clear also FFFF8904.w ? $FFFF8906.W ?
Questions for Falcon DMA sound:
Does the precedent rules apply to Falcon DMA ? (writing high bytes first)
On the Falcon, the count registers seem to become R/W (instead of read only for the Ste).
680X0 demo writes values to DMA counter low register ($FFFF890D)
What does it do exactly ? (is the value latched like the start and stop registers ?) Is the value changed immediatly in the internal DMA counter ?
Is there a similar rule (writing high bytes first) than for start/end registers ?
Many thanks for your answears which will help to increase Hatari's accuracy in sound.
Best Regards
Laurent
|
[All messages in this thread] [Start new thread]
What's the anti-troll code? That's your personal code to be able to add comments and messages on the dhs.nu site.
Don't have a code or forgot it? Fix it here.
|