[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Test: the cycle
On Fri, 10 Feb 2012, Michael J. Mahon wrote:
I develop on a Zip Chip-equipped //e, so all my cycle-counted code
depends on temporarily disabling the acceleration it provides.
Yes, as long as they are cyclic enough.
In NadaNet, my approach is to reference the "motor off" softswitch
repeatedly (more often than every 50ms) in NadaNet arbitrate, send,
and receive code. I find this approach much simpler than the IIgs approach
of using multiple instructions to set and reset a speed
toggle.
This is definitely a very specific corner case. :-)
In my sound synthesis code, the problem of rests does not arise,
because a "rest" is actually a continuous stream of 22kHz speaker
pulses, so speaker references never actually stop.
PWM can't have problems with ZipChip. I was thinking simpler one-voice
output.
I've never heard of any program that is incompatible with the
"50ms slowdown" approach, though as Vlad points out, one could
easily be constructed by using a timed disk access delay in
excess of 50ms.
The one that bit me nasty with HDDD A2 - very popular disk copy program (I
think it was Locksmith) doing simple timed delay on drive spin-up. With 4
MHz ZipChip this delay goes less than 200 msec and it's a bit of a miracle
that regular Disk II drive is still able to write reliable data.
Besides not being particularly useful, such a timed delay would
need to be quite tolerant of variations, since 50ms is 1/4th of
a rotation, and normal disk speed variations would result in a
significant variance in track position after such a long delay.
By quick calculation variation in position (relative to track) due to disk
speed seems to be within +/- 4%, which is comparable to one sector, so a
very pathologically synthetical case seems still possible.
For cases where a shorter slowdown is appropriate, a reference
to the paddle timer trigger will cause the Zip Chip to slow down
for about 7ms, IIRC, if the chip's mode is set for paddle slowdown.
Ouch, I forgot that paddle and speaker enjoy much smaller delay - about 5
msec. That makes my sound prediction much much worse. ;-)