Log in

No account? Create an account

faerie_gift in td_project

Welcome to the Tap Dancer Project

I've started this journal to document creation of Tapdancer.

Tapdancer will be a cross platform utility for managing Commodore 64 (and eventually ZX Spectrum) tape emulation files. There are already a few utilities available, but hardly any for Mac OS X, and very few that allow any kind of batch conversion of tape files.

These tape files store a representation of a series of audio pulses, which is how Commodore machines load off tape. The tape contains a series of square wave pulses of varying frequencies, which when combined, represent the bits (1's and 0's) of the stored program.

It is possible to convert these digital representations back into analog signals on tape, which is one of the jobs that Tap Dancer will perform. With a bit of fiddling, a car-audio cassette adaptor, a CD player, it is possible to load these images back onto an original C=64 or C=128, or of course, you could take the more obvious route, and just record them onto tape, and hey presto - you have software!

At this stage, the project is at the proof of concept stage of things...

I'm writing this in Object Pascal, because I think it is a wonderfully clean language which is still close enough to the actual machine / operating system to be useful.

At this stage I have created two main classes: - TTapeFile, which represents one of these emulator tape files, and TAUFile, which represents the SUN / Next AU audio file format. TTapeFile is already capable of loading, checking and performing some basic work on the TAP files, and TAUFile can now write 8/16/24/32 bit linear PCM files, which will serve as a conversion target for these tape images. I chose the AU format, because it has a very simple header structure, unlike something like the RIFF-WAVE format, which erm... just doesn't. Plus, AU files are very Mac/Unix friendly. I was looking at AIFF, but at this stage I think I'll wait on that one, since anyone can convert AU files to almost any format. (Just Google SoX)

So far, I can convert a TAP file into an AU file, but they are not playing as nicely with the real machine as I would like.




March 2008

Powered by LiveJournal.com