Ladybird

This is a generic protection method (with minor variations) for Ladybird - Longman titles.

The disk was 40T with Track 1 either unformatted or formatted with a single sector where all the IDs were set to 229. The last file in the catalogue was named "S.", which would stop *COPY *.*, and *BACKUP would be stopped by Track 1. The file "$." was in place to protect Track 1 from being read or written to. Other files also contained VDU21 codes to stop the full catalogue from being displayed.

The protection was checked by a file !MAIN or P.MAIN. This file was *RUN and checked whether Track 1 Sector 0 was bad or not. If the sector was good, ie. a copied disk, the code output the message "Bad Copy" and entered an endless loop. If the sector was bad then the code copied a BASIC program to the appropriate page (&1200 or &1300), set the BASIC page pointers and RAN the code.

DEFEATING
The disk catalogue was viewed using ADI2. All wanted files were copied across to a newly formatted disk. !MAIN was edited to ignore the protection and to stop after the BASIC program had been moved to the correct page. PAGE was set appropriately and the BASIC program saved as BCODE1. !MAIN was no longer needed.

A file O.BEGIN (or O.START) was used to boot the program. This file was edited to CHAIN "BCODE1" rather than *RUN !MAIN (or P.MAIN) and saved as O.BEGIN1 (or O.START1). !BOOT was changed to CHAIN"O.BEGIN1" (or O.START1) and the original !BOOT saved as OLDBOOT.

The title now ran correctly after Shift-Break on all variants of BBC micro and all filing systems.

 

2018 - 2020 flaxcottage.com