This program is designed to take a standard AY music file (which are
really intended for use with Emulators) and allow it to be played-back
on a genuine, physical Sinclair Spectrum machine. It's been tested on
the original Spectrum 128, +2 and +3, but should run on any 128k
Spectrum.
This document refers to Version 0.3a of SpecAY.
The PC-based program really just takes any old PC file, and converts it into a Spectrum datablock to be loaded into a particular location in the Spectrum's memory. That really is all it does, so the file need not be an AY file at all - it can be used to load any type of file into the Speccy (provided it will fit in RAM, of course!). The file is output as a TAP file, for output using a utility such as Taper or HypraLoader.
The Spectrum-based program loads the datablock into Spectrum memory, and if it is a valid AY file, it will examine it, display the author, title and other details, and let you choose a particular tune from the file to listen to. It then loads the relevant datablocks from the AY file into the right places in memory, and calls the Z80 code to play the tune.
There is also a BAT file "wrapper" which can be used to convert the AY file, and add the player, and produce a TAP file containing both in one operation.
1. Extract the contents of the ZIP file to a suitable directory on
your
PC. (I suggest C:\AY2TAP)
2. Copy the AY file you wish to play into the same directory.
3. From a command-prompt window, cd to the directory.
4. Type the following command:
AY2TAP <filetoplay>
this produces a file called "filetoplay.tap"
5. Start Taper
or HypraLoader,
and load the resulting TAP file, and play it out as normal!
Note that the following files must all be in the current directory
for
the batch file to work properly:
FILE2TAP.EXE (this converts a
PC file into a Spectrum-loadable TAP file)
LOADER.TAP (this is the
Spectrum-based
loader and player program)
Also note that, in order to handle long filenames, the batch file
creates two temporary files in the current
directory, which will normally be deleted if the the operation is
successful.
I plan to produce a native MS Windows version at some point which
should do away with all this mucking about, but that hasn't happened
yet.
Sergey Bulba - for producing the best PC-based AY player there is, and also for his documentation on the AY file format. This has been the single most useful reference work throughout the project!
The many good folks on the WOS Forums and c.s.s,
who have assisted with
machine-code
problems - there are now too many to list, and attempting to list
everyone who's helped would risk leaving someone out, so I won't list
you all. You know who you are, and I am very grateful to all of you!
Some of the machine code routines are lifted (but slightly modified)
from the z88dk
source tree: specifically this project makes use of the zx_setstr
routine by Stefano Bodrato.
And, of course, not forgetting Patrik Rak, who came up with the AY file format in the first place :-)
If you have any comments, or feature requests for future versions, don't hesitate to drop me a mail! I can't promise to reply to every single e-mail, but I will read them all and make an effort to respond to specific queries. Before mailing with questions, check the Release Notes to see if your problem is a known issue.