Difference between revisions of "Burstnibbler Protection"

From Software Archive
Jump to navigation Jump to search
Line 29: Line 29:
 
[https://www.forum64.de/index.php?thread/69204-burstnibbler/&postID=1143493#post1143493 How To create a working copy of Burstnibbler (german)]
 
[https://www.forum64.de/index.php?thread/69204-burstnibbler/&postID=1143493#post1143493 How To create a working copy of Burstnibbler (german)]
  
Description contributed by markusC64 from Forum-64.
+
Description contributed by markusC64 from Forum-64, translated by enigma.

Revision as of 18:04, 22 July 2019

Burstnibbler 1.5 / 1.9

Burstnibbler 1.9 uses the same copy protection as 1.5.

Burstnibbler 1.5/1.9 uses an autostart. After program start the drive seeks to track 2 sector 0. After the detection of the block header the read speed is set to $00 and the block is read. It is checked if the Sync length is sufficiently long and if no read error is present. If both checks succeed the protection assumes a original disk.

The test for a too long sync happens implicitly: If the sync length measurement has an overflow and the resulting value is too small the internal result is a too short sync.

notable on the Burstnibbler 1.5 disk:

In tracks 2 to 10 the sectors 1, 6 and 11 are missing. At the same tracks sectors 0, 5 and 10 are written with a different (for these tracks wrong) speed and use up more space. Since these tracks are rather empty compared to normal written ones it could happen that a copy has too large gaps between the sectors (if they are not evenly distributed). The regular DOS routine that waits for the next sync times out (20 ms) in this case.

Turbonibbler 4.0

In Turbonibbler 4.0 the protection is simlar but different implemented. The file itself is just 1 block in size and using autostart starts a Mini-Loader. The Mini-Loader executes block track 18 sector 4 (and 18/3) using command "B-E". This code is a contains the actual loader that transfers Turbonibbler 4.0 to the C64. It starts at a fixed encoded block number. If following the block chain the loader reaches track 10 the same algorithm as for loading the blocks of Burstnibbler 1.5/1.9 is used: data block in speed $00, sync length check (without explicit upper limit) while the transfer to C64 is running.

Thus, Turbonibbler 4.0 appears in the memory of the C64 without and code related to copy protection.

Notes

  • Filemaster seems to have the same copy protection as Turbonibbler 4.0
  • Turbonibbler 2.2 has no copy protection.

A copy may file due to three things:

  • multiple speeds used per track
  • snyc length check
  • distribution of sector gaps

How To create a working copy of Burstnibbler (german)

Description contributed by markusC64 from Forum-64, translated by enigma.