Morning Tony,

>> Was it *really* protected as such?  
Under normal Archive the only difference between a PROTECTED and an OBJECT and 
a PRG was a single byte in the header. 

When I was writing 'ArSE' many years ago (an Archive Syntax Evaluator/compiler 
to convert Archive programs to DataDesign - never finished it !) I wrote a 
small routine to convert from 'object' to 'source' simply be resetting that one 
byte. (At least I think that's what I did !) The utility was called 'unprotect' 
and simply flipped byte 7 from $01 to $00.

I have the code here somewhere - probably on my USB drive.

BTW - I changed the name as well - to 'dbport'. There was something about 
'ArSE' that didn't quite ring true :o)

The protected programs in the runtime Archive were really protected - as far as 
I remember. 


>> I have never thought of ".pro" as
>> such.  Surely it was simply coded to reduce size. 
You could 'save object' or 'save protected' the difference was a 1 (protected) 
or a zero (object) in the 7th byte of the file. :

0 = 'dbp0' (Archive) or 'dbp1' (Xchange)
4 = Don't care
5 = Don't care
6 = Status byte 0=Object 1=Protected.

Once unprotected by my utility, I could simply load the resulting object file 
and save it out as text/source ready to be dbported.

>> Maybe someone knows how to decode. 
>> Surely also someone has the runtime version.  I haven't a
>> clue where mine is now.

I think it was simply saved in the internal tokenised manner (similar to QSAVE 
and QLOAD for SuperBasic) but the internal format was never documented (as far 
as I know). I'm sure someone could figure it out ...


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

Reply via email to