> A lot of mdv programs are protected via the "Software produktion kit"
> (SPK)
> from sinclair, checking the "magic number" from an mdv.
> 
> The SPK (written by Tony Tebby) uses a keyword "PROT" to format an mdv
> with
> the magic number of the original mdv during the copying process.

On a 128KB QL, there was also a way to do this from SuperBASIC without the
PROT keyword. If the QL had no resident code loaded, microdrive sectors
would always be loaded at the same address and a PEEK_W allowed to get the
"magic number". A POKE_W of the magic number at location 163886 (the "random
number" system variable) just before the FORMAT command would do the trick
to produce a microdrive having the same magic number.

The file utilities that come with Q-emuLator allow reading the "magic
number" (and some other info sometimes used in copy protection schemes) from
a QL with working microdrives (on any QL, not just 128KB QLs with no
resident code loaded) and embed it in the files themselves. These files can
then be transferred to any media (for example, a DVD burned on your PC or
Mac) and whenever they are accessed, Q-emuLator will simulate reading them
from a microdrive having the original magic number.


> Unfortunately, a lot of software (usually non "sinclair-branded" ones) on
> mdv uses very different protection mechanisms. "The Pawn" (Magnetic
> Scrolls)
> linked an own OS into the QL an switches QDOS off, "Tankbusters" and most
> "Talent" games had very hard mechanisms. I know (from one author), that
> Talent has given their mechanism to the authors to put it into the code.

I think at least Talent's Zkul only relied on the "magic number", and maybe
on some weird character in the cartridge name.

Other common (and easy to work around) protection schemes involved special
files with weird/special characters in their names or with no name at all,
or with special information in their file header (all of these can't be
copied by typing a simple COPY command). More complex schemes involved
reading data from MDV sectors that where marked as free or damaged on the
MDV map, or marking as damaged a particular sector number.

I also tried to create a protection mechanism based on formatting
microdrives with different characteristics (e.g. 256 bytes per sector
instead of 512), but never succeeded because of timing differences between
code running in RAM and ROM. Because of this problem, even the normal
sectors I would need to format (from my in-RAM code) with standard params to
hold the boot loader code would not be readable from the QL's microdrive
routines (in-ROM code).


> Beside the both mentioned programs, there was also "QLone+" from
> Ultrasoft,
> which was also able to copy mdv programs, which read the "magic number" in
> formatting a new cartridge with the same number.

I also wrote a similar program with my dad. It copied the magic number and
also allowed wery quick microdrive physical copies on unexpanded QLs by
reading/writing mdv sectors out of order. I used it extensively to back up
my microdrives, as I found them to be quite unreliable. Unfortunately the
program's interface is in Italian only, and I don't know if I still have the
sources, but if anybody needs a free tool to back up his protected
microdrives, and if such a free tool is not already available, let me know
and I'll try to find the executable.


Daniele

_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to