[comp.sys.amiga.tech] Tripos

pete@violet.berkeley.edu (Pete Goodeve) (11/13/90)

In  <2424@wn1.sci.kun.nl> (9 Nov),
Olaf Seibert (rhialto@cs.kun.nl) writes:
> As I have been peeking though memory, it appears to be some Tripos
> convention that FileHandles may have some buffer attached to them.
> The argument line pointer that a CLI process receives simply points
> into this buffer.

Yes, exactly.  BCPL programs, and -- I assume -- the AmigaDOS Read() and
Write() calls, use and maintain this buffer, as well as two buffer indices
(Pos and End) in the File Handle structure; other entries in the structure
point to the BCPL functions used for buffer maintenance.  (I had to dope
all this out nearly five years ago to make my CLI replacement Sili(CON:)
work!)

And in  <ggk.658869871@tirith.UUCP> (10 Nov),
Gregory Kritsch (ggk@tirith.UUCP) writes:
> So thats what the buffer variables are used for.  Does anyone know where
> they're interpreted - within Read() or the filesystem's ACTION_READ
> code, or by some magical BCPL thing?

... see above.  But no, not in ACTION_READ: that does just what the
manual says -- fills the supplied buffer.  The BCPL stuff of course
uses the same packet scheme (as this is from Tripos), but simply sets
up and uses the packet to fill the handle buffer.


Olaf again:
>
> I suspect that there would be some documentation of Tripos, somewhere.
> Could I get a reference? A copy just might be in our local CS library.
> --

The original Tripos reference is:

    Martin Richards, "TRIPOS -- A Portable Operating System for
    Minicomputers"
    [Software--Practice and Experience vol 9 (1979) 513-526]

(and it's immediately followed [527-534] by the description of our
familiar pattern-matching algorithm!)

I also have a copy of a post-Amiga article from Wireless World (a UK
magazine) on the mechanisms of Tripos (and noting that it has been ported
also to the 68070(!)).  Unfortunately there is no date on the pages, but it
must have been around '87.

                                            -- Pete --