Burstnibbler Protection

From Software Archive
Revision as of 23:18, 17 March 2023 by Enigma (talk | contribs)
Jump to navigation Jump to search

Burstnibbler Disk Protection

Disk layout

Track 10 is written with a different speed. The sectors 1, 6 and 11 are missing. All sectors except 0, 5 and 10 are filled with zero.

Burstnibbler, Turbonibbler 4.0 and Filemaster check the existence of sector 0, 5, 10 on track 10 (speed 0).

Burstnibbler

A autostart routine is used. After program start the drive seeks to

  • BurstNibbler 1.5 : track 2 sector 0
  • BurstNibbler 1.9 : track 2 sector 0
  • BurstNibbler other version : location not verified

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.

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). In this case the regular DOS routine that waits for the next sync times out (20 ms).

  • Read sector 5 track 10 at speed 0
Turbonibbler 4.0

In Turbonibbler 4.0 the protection is similar 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" in the floppy drive. This code 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 any code related to copy protection.

Compared to the Burstnibbler protection the sector on track 10 with the different speed is part of the loaders block chain and thus part of the Turbonibbler program data.

  • Reads data sector 10 on track 10 at speed 0
Filemaster

Filemaster uses the same copy protection method as Turbonibbler 4.0.

  • Reads data sector 5 track 10 at speed 0
Notes
  • Turbonibbler 2.2 has no copy protection.

A copy may file due to three things:

  • multiple speeds used per track
  • sync 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.

Pages that refer to this protection