Short: "Saves" files to ZX Spectrum from Amiga. Author: prak3264@ss1000.ms.mff.cuni.cz (Patrik Rak) Uploader: prak3264 ss1000 ms mff cuni cz (Patrik Rak) Type: misc/emul Version: 1.2 Architecture: m68k-amigaos #include This program is for all people who still have not thrown their ZX Spectrums to the bin and would like to use it ocassionally but can't since their tapes are destroyed or lost or wiped out or like. I wrote this program because I didn't like these tape drop outs, "R Tape loading error"s, problems with casette player etc. and I would like to play some great ZX games again. As I have transfered about 10megs of lharced files from my tapes to my harddisk (see zxtools somewhere on aminet for how I did that), I needed something which could transfer them back effectively. And this is the result - Toot. So, what does it do? It simply "saves" the file using the amiga audio hardware, so it sounds as if it was produced by original ZX Spectrum. And if you connect your ZX to the audio output (probably using some amplifier -- I use earphone jack on my old 1084S monitor :-), wow, the ZX can't find the difference and loads the data as if it was coming right from your casette player. The usage of the command should be self explaining, type "toot ?" to find the template (you will probably use only filelist and perhaps volume anyway). To break the command, simply press Ctrl-C or send break signal to it (it is the same indeed :). Note that the program uses surprisingly few CPU time even on plain A500, so you can continue working while it transfers the file, however, you should avoid doing anything what disables the multitasking for too long time (eg. swapping screens many times with installed MultiCX might cause problem). In case you experience some drop outs in the signal, check out that there are no time stealers installed on your system before contacting me... Also, using OLDMODEL switch might cure your problems... In case you have any questions or comments, you can try to reach me on: prak3264@barbora.ms.mff.cuni.cz or prak3264@ss1000.ms.mff.cuni.cz In case you use this program for some time, feel free to send me some cash (whatever amount you want, but from 2 to 5 US$ would be nice) to: Patrik Rak Modra 1979/6 155 00 Praha 5 Czech Republic In this package I include copier for ZX called Merlin (with realtime compression, realtime freemem and size counters and other nice features) which I wrote in the past and which should be helpful tool for testing the Toot (both as data to transfer and program to check what Toot sends). Usage is written on the title screen (note that the address there is not valid any more; also note that to delete block, it's 0, not D). I also include simple program for controlling audio filter. Use `togglefilter 1' to turn filter on, `togglefilter 0' to turn it off and just `togglefilter' to toggle its state. Generally, it should be turned off when using Toot. And that's all. Patrik Thanks to: Steve Elliott and his friend for letting me know there is at least one person out there in the world who tries to use Toot (although unsuccessfuly), which forced me to write version 1.1. Graeme George Gregory for reporting problems with 1.1 and beta-testing 1.2. History: 1.0 First public release 1.1 Now all four channels are used to produce the sound, resulting in much louder signal. (I wanted to avoid this in 1.0, bcs of bugs in audio.device, which sometimes fails to synchronize the four channels perfectly; also, this requires four times more activity on the bus). Volume can be adjusted now. Completely rewrote the leader and sync soundwave generation. It seems that the way audio.device changes the sample periods is not sufficient enough for us, because ZX recognizes even the smallest click or droupout in the sound. So I decided to take data period as the base period and derive leader and sync periods from this one to make the sound butt as smoothly as possible, instead of having different and more exact periods for leader and sync. (Data period had to be doubled to allow finer matching with leader and sync periods, resulting in two times larger sample buffer and two times more activity on the bus). 1.2 My misgivings about audio.device and its possibility to synchronize several channels properly has proven as being appropriate. I have got report that on some hardware the channels are always out of sync. This made me to add switch O=OLDMODEL to the template, which, when used, makes Toot to use just one channel instead of all four (for those who are curious, despite it is called "oldmodel", the sound generation scheme introduced in 1.1 is used, instead of the one used in 1.0).