Re: Pointer at the start of a BASIC line: what good is it?

From: Spiro Trikaliotis <ml-cbmhackers_at_trikaliotis.net>
Date: Tue, 2 Nov 2021 19:02:54 +0100
Message-ID: <YYF9TipE4G1tvUED_at_hermes.local.trikaliotis.net>
* On Tue, Nov 02, 2021 at 05:25:58PM +0100 Rhialto wrote:
> On Mon 01 Nov 2021 at 17:09:37 -0700, gsteemso wrote:
[...]
> > At the BASIC level, certainly! *grin* In fact, according to
> > Hydrophilic's unparallelledly awesome BASIC Encyclopedia, the
> > interpreter behaves as if any _even_ secondary address given to it was
> > a zero and any _odd_ secondary address was a 1.
> 
> Not quite, I'd say. I usually type LOAD "blah",8,8 simply because that
> types faster and it works exactly the same as LOAD "blah",8,1.

As I wrote in another mai,, the SA is tested for 0 or not zero only on
IEC drives with LOAD.

> For saving to tape, with SA > 0 on a VIC-20 or later, if I remember
> correctly, it creates a tape header block with a different identifier,
> probably 3 or so (where 1 and 2 are a data file vs a program file, in
> some order) as the first byte in the tape block. Unfortunately PETs
> don't recognize these as valid and skip them.

Bit 0 is "fixed address", while Bit 1 is EOT (End-of-tape).

Thus, you can use:
",1,0" --> writes a basic program, read to start of BASIC (synonym to ",1")
",1,1" --> writes a machinecode program, read to stored program start
",1,2" --> writes a basic program, read to start of BASIC, and set EOT
",1,3" --> writes a machinecode program, read to stored program start, and set EOT

Other bits are not tested, so you can also save ",1,123"

> And did you know that you can OPEN files on the keyboard device (0) or
> the screen (3)? You can PRINT# to the screen and GET# / INPUT# from
> both. And it works differently in some details than the usual GET and
> INPUT.

Yep, at least *I* knew. :)

Regards,
Spiro

-- 
Spiro R. Trikaliotis
https://spiro.trikaliotis.net/
Received on 2021-11-02 20:01:15

Archive generated by hypermail 2.3.0.