Hey John,
Very interesting. It looks like the range is actually 65531-65536 that
are invisible. They don't even show up with a full program edit. You
can't GOTO or GOSUB to them, but you can put "65529 REM" and then GOSUB
65529. Then BASIC will execute the invisible lines. Very nice! Then
you could safely emed ANY ML in strings within those lines it appears.
Ken
On 6/4/18 5:30 PM, John R. Hogerhuis wrote:
OK from what I've researched, lines 65530-65535 are muy especial.
They can appear in a tokenized BASIC program, but they cannot be typed
in, or listed!
So if the scary-ish bits of the locator can be positioned there, they
should not corrupt memory if EDITed.
Of course if someone were to EDIT the entire program, those lines will
gafiate.
To even create such a program I guess you need to modify some line
numbers with a hex editor.
On Mon, Jun 4, 2018 at 2:47 PM, Ken Pettit <[email protected]
<mailto:[email protected]>> wrote:
Hey John,
Yes, low values are doable in BASIC, just potentially dangerous.
As far a inloading CR file, they could simply be called .CO files
instead. Make the first instruction a RET in case anyone tries to
launch it directly. Then the relocator / launcher would simply
add 1 to the published starting location to skip the RET.
I don't know of any provisions for hiding BASIC lines. But using
Steve's encoding technique for ML in strings (escape low codes
with a / character), it would be fairly quick and easy to decode
the relocator from an encoded BASIC string into ALTLCD.
Ken
On 6/4/18 11:41 AM, John R. Hogerhuis wrote:
Yeah maybe.
I thought we decided it was okay to have low values if you
don’t EDIT / Load / list. Always tokenized. Which is
unfortunate since you cannot inload from DO. But you can’t
inload the CR files you want to run directly either.
Also ISTR you could hide some basic lines in a range that
BASIC won’t list? I could be wrong or it could be very limited.
— Hohn.