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