LMC1992/Microwire test WAS: [hatari-devel] No sound in the Pacemaker Demo

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]

Hi All,

I've just checked that case on real MSTE and combination $ C1FF/$8000 gives the same result as $401/$7ff
How I checked that. I know (http://www.atari-forum.com/viewtopic.php?f=3&t=26360&start=250#p252373) that YM is only audible when LMC mixer is set to Input1.
When Open/Input2/Input3/Input4 is chosen, then the only DMA Sound is audible.

Therefore, first of all I muted YM sound by setting LMC Mixer to Open. 
In the second step, I unmuted YM by setting LMC Mixer to Input1. As expected, keyboard click was audible here.
Again I muted YM sound by setting LMC Mixer to Open.
And finally I run "Test Case1" code - keyboard click was audible here again.

Test Case1
	move.w   #$C1FF,$ffff8924.w   ;set microwire mask
	move.w   #$8000,$ffff8922.w  	;set microwire data
Mixer - Input1
	move.w   #$7FF,$ffff8924.w   ;set microwire mask
	move.w   #$401,$ffff8922.w  	;set microwire data

Mixer - Open:
	move.w   #$7FF,$ffff8924.w   ;set microwire mask
	move.w   #$400,$ffff8922.w  	;set microwire data

Attached you can find my test applications with source code

LMC_0 - Mixer - Open
LMC_1 - Mixer - Input1
LMC_0B - Test Case1


-----Original Message-----
From: David Savinkoff [mailto:dsavnkff@xxxxxxxxx] 
Sent: Tuesday, June 03, 2014 9:29 PM
To: hatari-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [hatari-devel] No sound in the Pacemaker Demo

Note that the data and mask are serially clocked and shifted out
to form the three wire interface; data, data_enable, and clock.

----- David Savinkoff wrote:
> ----- Nicolas Pomarède wrote:
> > Le 29/05/2014 20:00, Jerome Vernet a écrit :
> > > On 29/05/14 16:28, Eero Tamminen wrote:
> > 
> > >
> > > Still no sound in the Pacemaker Demo.
> > >
> > 
> > It seems  there's a problem when microwire mixer is set.
> > 
> > Demo set mask to 0xc1ff and data to 0x8000, which should decode as 
> > command 10 000 000000 and set mixer=0.
> > 
> > But as it was tested lately on real STE (see 
> > http://www.atari-forum.com/viewtopic.php?f=3&t=26360&start=250#p252373
> > , mixer=0 doesn't give any sound. So, this was recently modified in Hatari.
> > 
> > But this demo use a non standard mask of 0xc1ff instead of 0x7ff, maybe 
> > in that case the microwire ignores the command and we should keep the 
> > value set by TOS, which is mixer=1.
> I believe you are correct ( 0xc1ff erroneously contravenes specifications).
> > 
> > I need to check that in the microwire doc.
> > 
> > Nicolas
> > 
> I looked at the LMC1992 data sheet, here is what I surmise:
> 1) The mask must be at least eleven consecutive bits long, or the
>    LMC1992 is left in an intermediate state, and restarts the sequence
>    when there is a break in the mask. Think of the Mask as an enable
>    signal.
>    (Six usable 11 bit Masks. eg. 0011111111111000, 0000011111111111)
>    (Five usable 12 bit Masks)
>    (Zero usable Masks less than 11 bits long)
>    Note that it may be possible to send two (or more) 16 bit Masks that
>    act as a single 32 bit Mask.
>    ( 0000000000011111, 1111110000000000 )
> 2) The first two Mask bits are a device address. The last nine bits
>    are register bits. Any bits between the first two and last nine are
>    lost when the Mask is longer than eleven bits.

Attachment: LMC_TEST.zip
Description: LMC_TEST.zip

Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/