diff options
Diffstat (limited to 'unprotbas.rst')
-rw-r--r-- | unprotbas.rst | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/unprotbas.rst b/unprotbas.rst index 1df865f..4228d91 100644 --- a/unprotbas.rst +++ b/unprotbas.rst @@ -208,11 +208,19 @@ Bad next-line pointer One more thing **unprotbas** can do is remove extra data from the end of the file. It's possible for BASIC files to contain extra data that -occurs after the end of the program. Some programs use this as a way -to load arbitrary binary data into memory along with the program; for -other programs, the extra data is truly garbage (e.g. an EOF character -if the file came from a CP/M system, or padding to a block size if a -dumb implementation of XMODEM was used to transfer the file). +occurs after the end of the program. Such data might be: + +- Arbitrary binary data used by the program at runtime, such as + machine language routines, or fonts. + +- Zero bytes, caused by SAVEing the program with revision B BASIC. Every + time a program is LOADed, edited (or not) and then SAVEd again, 16 + bytes of extra (garbage) data gets added to the program. To avoid + this, don't use revision B (use rev C if possible, A otherwise). + +- Garbage added by some system previously used to store or transmit + the file. CP/M systems might add an EOF (^Z) character. Dumb + file transfer software might pad the file up to its block size. Normally, such "garbage" doesn't hurt anything. BASIC ignores it. Or it normally does... if you suspect it's causing a problem, you can |