Previous | Next
| From: Crown (all posts)
Date: 1998-09-11
Subject: Re: FF30, timers, FF11
|
Hi,
Before commenting, one thing, you might want to check the thread,
Re: 2 Levente in the archives. It was around 26 May 1998.
I also checked it with a scope and got similar results like you.
>To answer the $FF11 question once and for all, I looked at the output of
>the SND pin on TED with an oscilloscope. It is digital, using PWM (pulse How close was you measurement point to the TED? If you had an AC sygnal then you are not close enough. You do have to measure at a point where you have DC (no negative voltages), before the sygnal goes through any capacitors.
>width modulation) and for each value of $FF11 (assuming bit 7 set) there
>is a ratio which corresponds to the analogue voltage at the video
>connector, after the filtering has been applied. When one voice is
>enabled, the period of each cycle is twice as long (exact value in clock
>cycles to follow) as when both voices are on. The width of the pulse is
>determined by the volume setting, and is an integer number of clock
>cycles. (14 or 17MHz clock)
I have also seen the period doubling, but it was not consistent,
it depends also on volume level.
The only problem with this is the fact, that an emulator can't output such high-frequency waveforms, so from the emulators point of view these triangle waves are perfectly level sygnals. Now the problem is how do you determine, what is the best level value to approximate the same sygnal. Well what you should do is to digitize it with superhigh quality (that means >17Mhz) do an integral on it and divide that with the samples time period. Of course you can't do this.
Well the range 0x80-0xff is quite well explained already, but what is not have been, is when you set the freq with values like $ffe $ffd $ffc and the likes. These are wanted to be square waves, but because the sygnal needs some time to reach full level, and the rising edge is aborted by the high freq settings before they reach full level, these have some very interesting waveforms, but they can be still considered and emulated as a level sygnal because their spectrum has not audible frequencies. For these, you just can't tell what value should be used as emulation, by simply checking them through a scope, you really do have to calculate the integral of one period here, by hand.
Tibor Biczo
|
| |
Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon |