From 4d001f907cacf66b66a57944ec5d4038113cfbfe Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Tue, 28 May 2024 02:45:18 -0400 Subject: unprotbas: tweak doc. --- unprotbas.1 | 12 ++++++------ unprotbas.rst | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/unprotbas.1 b/unprotbas.1 index 8719710..e3bdee4 100644 --- a/unprotbas.1 +++ b/unprotbas.1 @@ -189,9 +189,9 @@ scrambling. .TP .B Bad next\-line pointer Every line of tokenized BASIC contains a line length byte, which -BASIC uses as a pointer to the next line of code. Before printing -the READY prompt, BASIC iterates over every line of code in the -program, using the next\-line pointers, in order to delete any +BASIC uses as a pointer to the next line of code. Before executing +an immediate mode command, BASIC iterates over every line of code in +the program, using the next\-line pointers, in order to delete any existing line 32768 (the previous immediate mode command). If any line\(aqs pointer is set to zero, that means it points to itself. .sp @@ -204,9 +204,9 @@ use the RUN command with a filename, and if the program ever exits (due to END, STOP, an error, Break key, or even System Reset), BASIC will get stuck again. .sp -This doesn\(aqt \fIhave\fP to be done with the last line in the -program. The "poisoned" line could be followed by more lines of -code, though they could never actually execute. +This doesn\(aqt \fIhave\fP to be done with the last line in the program, +though it normally is. The "poisoned" line could be followed by more +lines of code, though they could never actually execute. .sp Line 32100 in the example above does this job, taking advantage of the STMCUR pointer used by BASIC, which holds the address of the diff --git a/unprotbas.rst b/unprotbas.rst index d0ba0dc..3143baf 100644 --- a/unprotbas.rst +++ b/unprotbas.rst @@ -163,9 +163,9 @@ Variable name table scrambling Bad next-line pointer Every line of tokenized BASIC contains a line length byte, which - BASIC uses as a pointer to the next line of code. Before printing - the READY prompt, BASIC iterates over every line of code in the - program, using the next-line pointers, in order to delete any + BASIC uses as a pointer to the next line of code. Before executing + an immediate mode command, BASIC iterates over every line of code in + the program, using the next-line pointers, in order to delete any existing line 32768 (the previous immediate mode command). If any line's pointer is set to zero, that means it points to itself. @@ -178,9 +178,9 @@ Bad next-line pointer (due to END, STOP, an error, Break key, or even System Reset), BASIC will get stuck again. - This doesn't *have* to be done with the last line in the - program. The "poisoned" line could be followed by more lines of - code, though they could never actually execute. + This doesn't *have* to be done with the last line in the program, + though it normally is. The "poisoned" line could be followed by more + lines of code, though they could never actually execute. Line 32100 in the example above does this job, taking advantage of the STMCUR pointer used by BASIC, which holds the address of the -- cgit v1.2.3