View Single Post
Old 21 June 2012, 21:47   #6
Registered User
Join Date: Mar 2009
Location: moon
Posts: 366
Originally Posted by Toni Wilen
Because I am too lazy, you can post our findings to that thread, you can use my images if needed.

I guess main things are:

- each channel has own volume counter
- volume really simply works by switching DA output on and off.
- switching rate is exactly color clock / 64.
- volcntrld and counter reset was already sort of documented.
I'm lazy too, so I'll just paste the highlights from our discussion. Regarding the images, Toni measured from U14 (A500) and U15 (A1200) pin 14 due to difficulties with SMD. The LED filter was disabled, so only the fixed 6 dB/oct filter was active (U15, C321/331, R321/331 for left/right on the A1200, same circuit with different component numbers and values on the A500).

Originally Posted by Toni Wilen
AUDxDAT was 0x7070 (written only once. I also tested other values, the smaller value, the less the waveform changed when changing volume, as expected)

Only AUDxVOL was then changed.

5: VOL=1
6: 10
7: 20
8: 30
Originally Posted by Toni Wilen
Ok, A1200 test done..

7_1: vol=32
7_2: vol=10
7_3: vol=20
7_4: vol=1
Originally Posted by Toni Wilen
One more interesting note: channels are not in phase, _1.gif shows two channels with exact same dat and vol being in about 45 degree out of phase.
Originally Posted by Toni Wilen
Writing to DAT will reset vol counter (or when DMA audio starts)

This is actually documented in HRM audio state diagram. It has signal "volcntrld". It also talks about "volume counter". I guess everyone originally thought it is a mistake or something and ignored the "counter" part..

Test was: I wrote same word (0x7070) continuously to DAT (+also cleared intreq) and trace started jumping around randomly.

This needed very small period value to see it clearly because volcntrld only happens when DAT is written and audio state=0.

This proves that each channel has own volume counter.
Originally Posted by absence
The time constant for the A1200 filter matches the rise times in your latest measurements, which means that there is no filtering inside the Paula, and that there would have been straight pulses if the Paula was disconnected from the filter circuits.
Also thanks to kb (the blog author) for providing further insights by e-mail, and pointing out that by mentioning a number of ones and zeros the HRM hints towards a "PWM" counter:

Later I found another hint - modulated carriers only work at max volume:

Finally, Toni saw the volcntrld in the audio state diagram:

I'm not sure what those impulses during switching are. Possibly the scope probe is picking up noise from the components. I don't think they can be part of the audio signal, because the lowpass filter would eat them.

If anything is unclear or I have forgotten to include important details (quotes), feel free to ask.
Attached Files
File Type: zip (184.0 KB, 292 views)

Last edited by absence; 21 June 2012 at 22:22.
absence is offline  
Page generated in 0.04563 seconds with 11 queries