From 921cf9c521b64641f6364ef04b370979ce99fd64 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Wed, 29 May 2024 03:31:23 -0400 Subject: unprotbas: code readability (constants), mention rev B BASIC in doc. --- unprotbas.rst | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'unprotbas.rst') 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 -- cgit v1.2.3