Unprotecting BASIC programs: Have you looked at a .BAS file and seen gibberish? Ever loaded a BASIC program and tried to LIST it, only to get "Illegal function call" back? Your BASIC program is "protected". Protecting a BASIC program is done via: SAVE "filename.bas",p ...and scrambles the tokenized format and strings so that it can't be LISTed or viewed. But, it is flimsy protection, and can be undone via saving the state of BASIC and then restoring it after the protected source code is loaded. First, note these offsets: IBM ROM BASIC: 1124 Compaq BASIC 2.11: 1228 Compaq BASIC 3.11: 1433 Record the $OFFSET for the BASIC you're using. Then, load your BASIC and *immediately* type: BSAVE "UN.P",$OFFSET,1 ...substituting one of the numbers above for $OFFSET. Then load your protected source code: LOAD "filename.bas" ...then restore the state via: BLOAD "UN.P" At this point you should be able LIST the program. If you want to save this back out as human-readable ASCII, type: SAVE "progname.bas",a ...and the ,a option will save it as ASCII. trixter, 20200313