<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Tue, 13 Feb 1996 04:14:00 -0500 
From   : "iain (i.) barker" <ibarker@...>
Subject: Tape protection schemes (was: Decoding BBC tapes...) 

In message "Decoding BBC tapes...", you write:

> On Mon, 12 Feb 1996, iain (i.) barker wrote:
> 
> A lot of GP's games did away with the OS loader completely, and
> just wrote a fairly minimal byte stream to the tape (using a timing
> critical encryption/decryption method)
> 

That would mean that the minimal overhead of the byte stream (did I hear you
say Zaxxon?!) could be more easily recovered by non-OS processing of the
data anyway.

> > Elite, FRAK!, Zalaga etc. spring to mind (but you knew that anyway!)
> > There are various other ways to compensate for the protection mechanisms,
> 
> Are you sure you're not thinking of the OS's built in 'Locked' function? 
> If a certain bit is set in the block-header when you save the file, any 
> attempt to load the file except by using *RUN would fail with the 
> 'Locked' error and terminate immediately. The way round this was to hook 
> the VSYNC event with a small routine that just cleared the bit in the 
> OS's block buffer. Since the header is loaded as the first part of the 
> block, but only checked after a full block has been read which takes 
> about a second, this was guaranteed to work.
> 

Yep, that was certainly used for some games such as most of the later
Acortsoft
games with the mode-7 teletext style half-BASIC half-Asm loader.  I was
thinking
of games such as Elite where whole bytes of the block header are inverted
and Xored  (I seem to remember spending *ages* at school trying to figure
out how they were changing the stream...) and Zalaga which always beat my
attempts to get it across to disk.

(by the way, this is the first time in about 10 years I have even begun
to think about the BBC - I've decided that my memory is really shot and
I'm going to have to track down a copy of the AUG...)

> I always preferred to get back to a prompt and do the save by hand. Not
> that this is always possible, if the file is 28K and *really* wants to be
> loaded at page 3 (by a really nasty zero page loader). Such programs were
> usually a real pain to get working off disk anyway, even if you had
> perfect copies of the files. 
> 

It struck me a few years ago that compression is a reasonably recent
addition to runtime code (eg PKlite).  Something like this would have
done wonders in the BBC days.  Does anyone know of any BBC programs which
used compression (albeit relatively simple given the low processing power
available)?

Iain


<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>