[comp.sys.atari.st] The original Pexec questioner replies.

Pase@DOCKMASTER.ARPA.UUCP (02/05/87)

----------------

I was very distressed by the reply I got from Allan regarding my Pexec
question.  As a professional in the field of Computer Security I cannot
leave the accusations is his message unanswered.  Unfortunately this means
sending the following meassge, which many may consider a waste of their time.
I apologize to those persons in advance, and for the rest, thanx for your time.

> Date: 22 Jan 87 19:39:42 GMT
> From: imagen!atari!apratt@ucbvax.Berkeley.EDU  (Allan Pratt)
> Subject: Re: Pexec
> To: info-atari16@score.stanford.edu
> 
> > Could someone send me info on the form used for calling pexec.  I need
> > the actual call, ie address, plus the expected arguments and return.
> > Thanx in Advance.  /bill
> 
> I don't get it.  "address"?  OS calls on the ST don't have addresses.
> Where's your documentation?  If you don't have any, why not?

I found out about Pexec from the source code of Bmodem which is a free
communications package.  There it is used simply as a C function call and
so there is now way for me to tell whether or not it is just a call or
some kind of trap etc.  I'm not an expert on Gemdos or I wouldn't be asking
this question!  Perhaps my "ie address" ought to have been "eg address"?

For documentation I have the Abacus books.  This is what a lot of the early
ST purchasers got (along with Hippo C?!).  I'm one of the many people who
bought the ST very early on, with very little idea of what was available
and/or lacking in software and documentation.  Atari would not be in the
position it is now were it not for people like myself. 

By the way, the Abacus books make no mention of Pexec.


> Forgive my presumption, but it seems possible that you have an illegal
> copy of Atari's or somebody else's compiler without the documentation.
> There is a mistake in Atari's (and therefore some other people's)
> documentation of the Pexec call (using function code 4), but I'm not
> about to tell you what it is.  Please get legitimate.  It's not even
> that expensive for some of the compilers out there.

This is Atari customer relations???  It sounds an awful lot like slander
to me!!!  I have no stolen copies of any software, nor have I ever.  If I
did I most certainly would not be in the job I am.  I sincerly hope that
nothing serious will develop as a result of this so called "presumption".

Having a copy of a piece of software along with its documentation, no matter
how well written, doesn't mean that the users will be able to figure out how
to do all of the things they might want to!  Especially since we have here
and admission that some documentation is incorrect, but then we all know
that errors do occur.

I am legitimate.  What is this "I know something none of you do".  How
about growing up?!  I would have thought it is in Atari's best interest to
correct any errors as soon as possible.  Secrecy has never helped any product
(the olde TI-99 comes to mind here).

Actually my question resulted from my use of Cambridge Lisp (Metacomco) which
I have bought for $275 CDN.  Really, I'm not cheap!

> There is another possibility: you are writing assembly code with a PD
> assembler, and you haven't bought any of the books describing the ST's
> operating system.  In that case, BTFM! (BTFM = please go purchase a book.)

I avoid assembler with even greater passion than C!  Much for the same reasons
that I avoid finding out much about the OS.  I like to run my code on any of
the machines I use daily without mutiple versions etc.  This cannot be done
given calls to any OS routines.  The reason I wanted Pexec was to call Emacs
from Cambridge Lisp, since that is the editor I use everywhere.

> | Opinions expressed above do not necessarily  |  -- Allan Pratt, Atari Corp.
> | reflect those of Atari Corp. or anyone else. |     ...lll-lcc!atari!apratt

Nor indeed of any reasonable person, on or off the net.

In any case I am expecting a proper apology on this one.

----------------

So, for the folks that Emailed me asking for any info on Pexec, since they could
not figure it out either (even though some are developers with the kit etc),
here is what I've managed to find out so far.

I've concluded that the C Pexec call is likely just a OS trap to Exec, which is
talked about by Abacus.  It takes 5 arguments as follows:
          1.  Function number $4B (or 75 decimal)
          2.  An environment string (don't know what this is)
          3.  A command line string (command arguments)
          4.  A pathname (file) string (the command)
          5.  The number 0 to run it now (vs just load).

So to call "uemacs.ttp" for Cambridge Lisp one would say something like:
          (setq vec (mkvect 4))                   %create vector
          (putv vec 0 75)                         %function number
          (putv vec 1 (ltoc ""))                  %no envoronment
          (putv vec 2 (ltoc ""))                  %no arguments
          (putv vec 3 (ltoc "uemacs.ttp"))%pathname
          (putv vec 4 0)                          %run it now
          (gemdos vec)                            %the OS call
A similar example is shown it an appendix of the manual.  The "ltoc" converts
a lisp string to a C string.  One can also set up C structs if required.

Unfortunately this always returns -32 as its error code which indicates that
the function number is invalid.  So either the docs are wrong or perhaps it is
not supported by Metacomco.  I'll Email them and try to find out what is up.
My registration number is handy, so they won't be able to accuse me of
anything!!!

/bill

----------------

paone@topaz.UUCP (02/06/87)

I have a legal Lattice. It comes with NO documentation on the
BIOS, XBIOS calls and only a VERY brief description of the 
gem calls.  I use as reference the Abascus Internals for the
BIOS et al and GEM Programmers Reference from SYBEX for the
GEM calls.  The Gem Prog Ref is GREAT.  The Abascus leaves alot
to be desired, but it is also the best source for alot of the
stuff you won't find anywhere else.
-- 
Phil Paone
paone@topaz.rutgers.edu

"Admiral...There be whales here"