Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

AY output measurements

127 views
Skip to first unread message

Matthew Westcott

unread,
Dec 21, 2001, 3:22:39 PM12/21/01
to
*** techy alert***

After what Russell mentioned a couple of weeks back about the lack of
publicised measurements of AY chip volumes - I've finally got round to
making these readings, and I'm placing them in the public domain - so
anyone's welcome to use them in emulators or anything else.

To make the readings, I set up the chip to produce a constant voltage on
channel C (setting bits 2 and 5 of register 6), and varied the amplitude
(the low 4 bits of register 10). The voltages were measured between the
channel C output (pin 1) and ground (pin 6).

Level Voltage
0 1.147
1 1.162
2 1.169
3 1.178
4 1.192
5 1.213
6 1.238
7 1.299
8 1.336
9 1.457
10 1.573
11 1.707
12 1.882
13 2.06
14 2.32
15 2.58

Presumably anyone doing anything useful with these will want to subtract
1.147 from all of these to get a scale that starts at zero. Oh, and the
'blip' at levels 7 and 8 (as shown in the RealSpec and AYEmul results)
happens here as well.

--
Matthew Westcott - CSSfiance to Nattie
http://www.zxdemo.org/ - the home of the Spectrum demo scene
"there's a breach in security, a disturbance in the chuntey"

Russell Marks

unread,
Dec 23, 2001, 6:53:28 AM12/23/01
to
(I sort-of-posted this yesterday, but didn't realise I'd ended up
emailing rather than actually posting. D'oh. So here it is `again'.)

gas...@raww.org.RemoveThisBit.invalid (Matthew Westcott) wrote:

> *** techy alert***
>
> After what Russell mentioned a couple of weeks back about the lack of
> publicised measurements of AY chip volumes - I've finally got round to
> making these readings, and I'm placing them in the public domain - so

Thanks!

> anyone's welcome to use them in emulators or anything else.
>
> To make the readings, I set up the chip to produce a constant voltage on
> channel C (setting bits 2 and 5 of register 6), and varied the amplitude
> (the low 4 bits of register 10). The voltages were measured between the
> channel C output (pin 1) and ground (pin 6).
>
> Level Voltage
> 0 1.147
> 1 1.162
> 2 1.169
> 3 1.178
> 4 1.192
> 5 1.213
> 6 1.238
> 7 1.299
> 8 1.336
> 9 1.457
> 10 1.573
> 11 1.707
> 12 1.882
> 13 2.06
> 14 2.32
> 15 2.58

Since I did this with the AYEmul/RealSpec reverse-engineered values
too, a normalised version:

0 0.0000
1 0.0105
2 0.0154
3 0.0216
4 0.0314
5 0.0461
6 0.0635
7 0.1061
8 0.1319
9 0.2163
10 0.2973
11 0.3908
12 0.5129
13 0.6371
14 0.8186
15 1.0000

But comparing these with the AYEmul and RealSpec values makes it clear
that the speccy is doing some post-chip amplification (well,
obviously!) which is increasing the gain. Raising to the power of
0.95-(x/110) seems to compensate for this, giving something
almost-but-not-quite indistinguishable from the AYEmul and RealSpec
values. So, I think these levels are pretty reasonable if you're
specifically emulating an AY as used in a speccy:

0 0.0000
1 0.0137
2 0.0205
3 0.0291
4 0.0423
5 0.0618
6 0.0847
7 0.1369
8 0.1691
9 0.2647
10 0.3527
11 0.4499
12 0.5704
13 0.6873
14 0.8482
15 1.0000

And again, anyone can use the values for anything they want.

-Rus.

0 new messages