How to recover hidden/faulty allocated data from tape?Background: After a pre-analyse of the Signal read from the tape we know the Signal Data is either TurboTape or Anirog -Data. This isolates the process and we now can focus on the actual analys. Because of my experience and case studies I can determine the different Signal Data Types, pretty easy.

The first image shows a classic physical damage problem also known as "Audiodamaged". Many times this occurs when the Signal on the taps is worn out. As you can see the header is not looking great.

The second image shows the end of the file, that is better looking and has a more steady Signal. The question remain - can we solve this problem?

In this case I was able to encode the Data Signal with some secret methods I won't reveal this time. You know every preserver has his/her secrets! However, when we look at the structure we can see the whole header from the Kernal which keeps track of the loader. The memory area $033c-0efb. But it's wrong and won't work even if we load this segment into $0801. We have to adjust this.

This part known as "header", is not needed. Therefore we can remove it.

When we have moved the data from one adress to another we need to make some changes to get this working. If we look closer we see the adress is totally wrong and we need to reallocate to the proper adress.

Now look at this, it's looking good but not great. This preserver wants to achieve perfect result in TRUE ARCHAEOLOGY.

This is looking like a typical "start up sequence". The first likes indicates the "SYS" adress you see when you typically "List" from basic.When we step further we can also see a so called "Transfer Routine". The TR is what will "move" the actual adress where the game is stored to be executed. This is normally done after the intro, when you press space.TRANSFER SEILDA #$31LDX #$EASTA $0314STX $0315LDA #$00STA $D01ASTA $D418LDA #$81STA $DC0DCLIJSR $FF81LDX #$00LOOPA LDA LABEL1,XSTA $0400,XINXBNE LOOPALDX #$00DIS1 LDA $1700,XSTA $0600,XINXBNE DIS1LDA #$00STA $0800JMP $0400LABEL1 SEILDA #$34STA $01LABEL3 LDX #$00LABEL2 LDA $2200,XSTA $0801,XINXBNE LABEL2INC $0409INC $040CLDA $0409BNE LABEL3LDA #$37STA $01CLIJSR $A659JMP $A7AE

This transfer routine will move data from $2200 to $0801. In this case it's the gamedata, as described.

After a final look in the monitor we see things are looking great and when we execute the new branded .PRG file this is what we get. Now, this was good stuff! An old classic golden nugget from Hotline! Let's press space to execute the "Transfer Routine".

Would you look at that! The game "Painterboy". Successfully recovered!

Conclusion:Total time for this task: 45 minutes reading the data. 10 minutes signal analyse. 2.5 minutes Anirog Decode. 10 minutes transferring the data.Was it worth this? Yes, of course! This will work on any kind of tape data, when you do it the proper way and not just "skip files", because you're lazy. This is also what parts a true Data Archeology from the rest. Dedication or pure madness - You decide!This case study was made to give you a bit of an insight what it takes to get the a good job, greatly done and get to the bottom line with things./Xiny6581 12/01-2016