Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cbatt!cwruecmp!bammi From: bammi@cwruecmp.UUCP Newsgroups: comp.sys.atari.st Subject: Re: The mysteries of Pexec - Help Message-ID: <1815@cwruecmp.UUCP> Date: Thu, 8-Jan-87 13:48:55 EST Article-I.D.: cwruecmp.1815 Posted: Thu Jan 8 13:48:55 1987 Date-Received: Fri, 9-Jan-87 06:52:50 EST References: <724@looking.UUCP> Reply-To: bammi@cwruecmp.UUCP (Jwahar R. Bammi) Distribution: na Organization: CWRU Dept. Comp. Eng., Cleveland OH Lines: 46 In article <724@looking.UUCP> david@looking.UUCP (David Rowley) writes: > >There is one problem, though these various modes are mentioned in the >Atari Docs, they are not fully documented. The reader is referred to >the 'Pexec Cookbook', which according to Atari Canada, does not exist. >As of yet, I have not been able to get this method to work. > If you are programming in Alcyon C, to get at the base page address all you have to do is to declare an external (long)variable '_base'. In gemstart.s the variable __base gets assigned the value of the baspage address. If you are not using Alcyon C, you can still pick up the value in your gemstart.s and pass it on to your program in a similar manner. In gemstart.s .globl __base ........... .text move.l a7,a5 * First executed instruction move.l 4(a5),a5 * a5=basepage address move.l a5,__base * save pointer to basepage .data __base .ds.l 1 I had this same problem with Pexec. I could get Pexec to load & not go (mode 3) using char *basepage, *file, *commandl; int status; basepage = Pexec(3, file, commandl, (long)NULL); But i could not get the just go (mode 4) function to work. It always bombs out. I called it as follows status = Pexec(4, (long)NULL, (long)NULL, basepage); ^^^^^^^^^^^^^^ this is different from what the Hitch Hikers origonally said. I asked the question here and did'nt get any response from Atari. Is anyone listening ?? -- usenet: .....!decvax!cwruecmp!bammi jwahar r. bammi csnet: bammi@case arpa: bammi%case@csnet-relay compuServe: 71515,155