BBC Picture Craft

This was supplied on a 40T floppy disk. !BOOT was a short machine code file which seeks track 0 and then *EXECs the file !B. !B sets several resident integer variables, loads the splash screen and then CHAINs the menu program.

The menu has a machine code routine appended above TOP. This routine is moved down to &900 and executed. The routine reads a single sector from the disc, track 27, sector 9 and places this at &A00. The code at &A00 is then compared to the code at &900. If the code matches all is well and the routine returns to BASIC. If the two sections of code do not match the program outputs the message Disc badly copied and hangs.

In addition the disc size and number of files available are wrongly set. This effectively prevents *BACKUP from working. *COPY *.* also will not work due to the data hidden on track 27.

DEFEATING
All files were copied across to a new, formatted disc using *COPY *.* . Using the new disc, !BOOT was deleted and !B renamed as !BOOT. The disc boot option was changed using *OPT 4 3.

The only purpose of the code above TOP in the menu program was to check if track 27 sector 9 contained the correct data. The call to this routine was removed from the menu program and this was saved over the old program. Lastly the title of the new disc was set to match the original disc as the program checks the disc title.

 

2018 - 2021 flaxcottage.com