+slx Posted July 11, 2015 Share Posted July 11, 2015 My son is trying to program a "fake" SIO tone. Where would I find the specification for the tone short of reading the OS source code? Can that tone actually be "spoofed" or is it something POKEY produces as a side effect when accessing SIO? Thanks! Quote Link to comment Share on other sites More sharing options...
Rybags Posted July 11, 2015 Share Posted July 11, 2015 Grab the Altirra Atari Hardware manual, it describes how the SIO tones from tape and disk I/O come about. The tone could be spoofed to a degree but some of the SIO noise is a result of crosstalk of data coming into the audio input. Quote Link to comment Share on other sites More sharing options...
fujidude Posted July 11, 2015 Share Posted July 11, 2015 Yep, and also the tones are not the data signals themselves. The Atari makes tones while transferring data via SIO, but it is not the data. The exception might be tape. And yeah, there seems to be crosstalk of actual data getting into the sound a little. But anyway, any detail you need just grab that reading material mentioned. Quote Link to comment Share on other sites More sharing options...
Bryan Posted July 11, 2015 Share Posted July 11, 2015 The crosstalk problem is largely because the SIO cables support audio but the audio wire is not shielded. If you disconnect the audio signal at the computer, the IO becomes silent when the beeps are turned off. Of course, cassettes will always have some additional crosstalk. Quote Link to comment Share on other sites More sharing options...
phaeron Posted July 11, 2015 Share Posted July 11, 2015 You didn't mention what your son was trying to reproduce the sound on. If it's anything modern, just sample the sound and play it at about nine times a second with a short pause every 18 sectors for the head step. If the task is to reproduce this sound on the Atari, that's trickier. The problem is that the way the sound is normally generated requires receiving serial data from a device, and you can't spoof that. The basic components are: Send command: quick pop Delay of about 40ms for the disk sector to come around 930-950Hz tone for 68ms to transfer sector This normally happens back-to-back, so the pop is heard at the end of the last sector tone. The sector tone is the tricky part. If you just try to play a tone at 940Hz with POKEY, it won't sound right because the waveform is wrong. What you actually want is a train of really short triangular pulses with alternating polarities. This requires assembly language or at least a compiled language due to the timing needed. The way this waveform is actually produced normally is that it's a 19.2KHz square wave with every 20th transition missing, and the part you hear is due to those missing transitions. Note that this is for disk reads. For disk writes, normally only the command pops are heard. The disk read tone is what's heard the majority of the time, though. Crossover noise isn't really significant unless the normal sound is turned off -- it's dominated by POKEY's output. 1 Quote Link to comment Share on other sites More sharing options...
+slx Posted July 11, 2015 Author Share Posted July 11, 2015 Thanks! Sounds quite complicated but might be a good subject for an Action! Program as he's just digging into Action! Quote Link to comment Share on other sites More sharing options...
xulaokeri Posted July 12, 2015 Share Posted July 12, 2015 (edited) Sounds quite complicated but might be a good subject for an Action! Program as he's just digging into Action! Edited July 12, 2015 by xulaokeri Quote Link to comment Share on other sites More sharing options...
Rybags Posted July 12, 2015 Share Posted July 12, 2015 Possibly it could be emulated with Timer IRQs... have the timer voice slightly ahead of the audio one, then every fourth IRQ set the volume down to 00 for a short period. The crosstalk noise that's easiest to hear when quiet IO is set could probably be done by standard methods - it wouldn't need to be real accurate. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.