ZX Spectrum cassette tapes database

What is the purpose of the database ?

The aim of the database is to identify all known cassettes (or as many as possible) that were originally released for the ZX Spectrum, In order to archive this (mammoth task) we need to obtain as many tapes as possible - this is where you can help if you have any boxes of old unwanted Spectrum tapes then don't bin them donate them to this worthy project.

lf you have a tape or a .tzx of a tape we seemed to have missed then please let us know - contact us

Additionally we always need donations to help with development, hosting, bandwidth and purchasing tapes :)

How does it work ? (non techie, basic terms)

The Spectrum Tape
First we need a little understanding of the spectrum tape...
This holds an analogue "noise" more specifically a sequence of pulses, the spectrum listens (when asked) to these pulses and interprets them into the 0's and 1's needed to build the bytes of the program saved on the tape.

The Interpreted Bytes
So in an ideal world using a standard loader we can retrieve the bytes by doing the same as the spectrum and interpreting the pulses into their 1s and 0's then into the bytes this is what a .tzx creation tool is attempting to do rebuild the bytes of the original program which was saved onto the tape then by recording or recognising the loading method it is then possible to emulate the tape playback.

The Hash (checksum)
Now we (hopefully) have the bytes which exist on the tape using this data we can create a fixed length hash of the totaling block in this case we are using a fixed length MD5 128 bit hash value, each tape would have its own unique value in the database along with additional information about the tape.

Using the Database
Finally this is the end you see, On your PC would be (latest version) of the tape database and application opening this would enable you to scan through your .tzx files in your collection and/or new ones you've created from your own tapes and find matches in the database immediately allowing you to see if the files are recognised and if so detail on the original tape held in the database, if files are not recognised this could potentially be a new tape found instantly allowing for differing versions of the same titles.

Ok this is the theory,
and so far it's working very well .... and although there are known issues... no one thought it would be easy!


Update on Work In Progress

Been testing the tzx scanner engine on the full collection to create the database, then against some adjusted files and names to try all scenarios and OK the user interface isn't anything like it will be but gives some idea of how it will work, So far its scanning average 16.57 tzx files a second so that's around the ~1000 a minute mark without any optimised code yet, also a scaled down version is being used to check tapes from individual tape images which has already turned up some useful info!!!! and it will currently detect over 13,000 tape images.

From the snap below you can see of the files scanned,

1942Mission(CCS).tzx
inside the zip is "Unknown - meaning the image is not in the database

2DGameMaker.tzx inside the zip has Incorrect Name with the correct shown as "2D Game Maker.tzx"

3DContructionKit.Zip
is Complete and has only been expanded to show the contents of the release zip which can contain multiple images over multiple tapes!

Colour Key:

Complete
Incorrect Name
Unknown Image
Contains Illegal Block
tzx scanner ZX Spectrum

 

ZX Spectrum tape finder

 

Behind the scenes: Another small step for our sinclair buddy, but a giant leap for .net - tape2tzx

Interrupting the bytes from an audio wav file, although possibly bit hard to see from the image below (nice user interface!) the audio wav is squared to produce the pulses recognised by the spectrums in(ear) port, the gray lines are the digital audio wave, the red lines squared and lifted for overlaying view.

The approach so far has been to build the code to apply rules of known timings constants against the wave directly, rather than use our existing z80 engine, and with no optimisation a 12mb wav of over 5 minutes takes just over 2 seconds on development machine to analyse and produce a tzx which is ok for us, although when it comes loaders it may be we take the z80 engine option! See how we go.

Spectrum Games

fyi: Why haven't we used our z80 engine to interpret the bytes from the wave? We'll as we mentioned maybe we will use it, but the reason we've so far opted for direct method is for the ease of debugging as we have no emulation to step through we get a clearer view of what's going on rather than debugging emulation which is trying to emulate something else! - did that make sense who knows?!

Coming soon ... Download ZX Spectrum Tape Database

 

If you like the site, emulator or any of the tools or just the ZX Spectrum then please link to us, help us climb the Google.

Thanks for reading, please if you can help out do so - Enjoy ZXSpectrum4.net Team.

Key Points

we need your help!

ZX Spectrum Cassette Database

In order to maximise the database we need to find as many cassettes as possible, from unknown ones to ones known but we are unable to locate.

If you can help us with any old cassettes you may have in the loft you no longer want or know someone that has then please contact us and give them to a good home, If we can't get there in person we can get them collected by courier - please don't throw them!
If you have a tzx of any ZX Spectrum cassette which we are missing please contact us and send it across.

Don't worry if you have no old cassettes or hardware donations to help purchase others for sale are welcome, every bit helps.


A big "THANK YOU!" to everyone the has donated, time, money, knowledge, tapes and hardware we are truly grateful - ZXSpectrum4.net Team.

emulator

ZX Spectrum Emulator for Microsoft Windows, developed under Microsoft .net framework.

The emulator currently supports 48k rom, tzx tape file and tape deck emulation, Sound, Border (loading boarders), Basic, Snapshot saving and more ...other supported file formats include sna, z80, tap

The ZX Spectrum emulator was the result of getting to know the .net environment a little better, and since staring have found ourselves up against barriers within the environment leaving no choice but to use some existing native windows calls, thanks Microsoft.

GAMES!

We've now included a couple of games in different formats to help those non-techie get started.

Requirements

Microsoft Windows XP, Vista, Possibly others (let us know), 32bit and 64bit.
Microsoft .net framework (Vista and Windows 7 has this built in)

NO install required, and NO registry garbage.

Download the ZXSpectrum4.zip
Latest Version 1.0.3784 Build: 26497 Download