BackgroundIn this case we will analyse a corrupted tape where three games are stored at. The fundamental analysis were done to determine whether it was Audio Waveform or Data in the signal. The result was presented in 3 different games:

Kickstart II (Case Study #3)

The Mystery Of The Nile (Case Study #2)

Super Zaxxon (Case Study #1)

The interesting part was to allocate the actual errors and find out where the errors were at to answer why the games did not load or start correctly. All this possible using 3 different analysis methods.

Recovered Data

Lead Signal

C64-ROM-TAPE HEADER

Loader Init Parts(Basic)

Loading picture + VISLOAD T2 + Rest

VISLOAD T2 Game Data

Clean Data

Lead Signal

C64-ROM-TAPE HEADER

Loader Init Parts(Basic)

Loading picture + VISLOAD T2 + Rest

VISLOAD T2 Game Data

Final Data

Lead Signal

C64-ROM-TAPE HEADER

Loader Init Parts(Basic)

Loading picture + VISLOAD T2 + Rest

VISLOAD T2 Game Data

ResultWhen we compare the three different signal flows we see the following:

Lead signals are okay

C64-ROM-TAPE Header can be read, even if the Recovered Data is starting to get artifacts.

The "Loader Init Parts", is when the signal is starting to get bad and corrupted.This part is crucial for the final result since it contains the following data:

Now, this was interesting and give us the full structure of the tape and what is to expect. The Loading Screen is loaded and allocated in $6000 and the actual viewer is allocated in $C000 and VISLOAD T2 will sneak in $CC00, to load the rest of the game. This makes sense too, because first the Loading Screen is loaded and then the viewer is loaded, as the basic program will execute it all. As seen ??? equals OP Code.

Even if the chunk is loaded to $8000, it starts on $8036. This is because the lower part is where VISLOAD T2 is located and loaded into $033C.But as far as the analyse go, we see a damaged signal in the Recovered Data and even if we managed to repair most of the signal in Clean Data, we still had to give it another go to successfully get to the Final Data.The last part had lots of error and since it only uses Long and Short Pulses, which is the structure of VISLOAD T2, this must be read exact to be able to start the game. No data, no game. Again we had to clean up and use parts of the Clean and Recovered Data to reconstruct the Final Data. This time we used a 3 pass recovery process. Most of the work was done in TapClean, but the multiple wave files were also analysed in an audio editor using equalizers and filters.

ConclusionWe got the job done! Kickstart II was recovered and saved as a .tap file. Even if this game exists, the process would be the same for any kind of data recovery and most important we could recover and we extended some knowledge.