Article View: comp.sys.atari.st
Article #24776The original Pexec questioner replies.
From: Pase
Date: Thu, 05 Feb 1987 19:06
Date: Thu, 05 Feb 1987 19:06
113 lines
6216 bytes
6216 bytes
----------------
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
----------------
Technical Details
Message-ID:
<870205190608.886416@DOCKMASTER.ARPA>Path:
arc1-ca.pugleaf.net!utzoo!watmath!clyde!cbatt!ucbvax!DOCKMASTER.ARPA!PaseShow Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!cbatt!ucbvax!DOCKMASTER.ARPA!Pase From: Pase@DOCKMASTER.ARPA.UUCP Newsgroups: comp.sys.atari.st Subject: The original Pexec questioner replies. Message-ID: <870205190608.886416@DOCKMASTER.ARPA> Date: Thu, 5-Feb-87 14:06:00 EST Article-I.D.: DOCKMAST.870205190608.886416 Posted: Thu Feb 5 14:06:00 1987 Date-Received: Sat, 7-Feb-87 12:49:38 EST Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 113