Pase@DOCKMASTER.ARPA (Bill Pase) (01/21/87)
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
apratt@atari.UUCP (Allan Pratt) (01/22/87)
> 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? 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. 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.) /----------------------------------------------\ | Opinions expressed above do not necessarily | -- Allan Pratt, Atari Corp. | reflect those of Atari Corp. or anyone else. | ...lll-lcc!atari!apratt \----------------------------------------------/
pett@socrates.ucsf.edu (Eric Pettersen%CGL) (01/23/87)
In article <536@atari.UUCP> apratt@atari.UUCP (Allan Pratt) writes: >> 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 > >... > >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.) > >/----------------------------------------------\ >| Opinions expressed above do not necessarily | -- Allan Pratt, Atari Corp. >| reflect those of Atari Corp. or anyone else. | ...lll-lcc!atari!apratt >\----------------------------------------------/ Gee, I bought $300 worth of documentation from Atari itself and it doesn't seem to have the correct method of invoking Pexec() in it. I still haven't figured it out. Presumeably, mode 4 (create basepage) would return a basepage address. Does the Atari documentation mention this? No. Once one has a basepage address how does one subsequently invoke Pexec() with this address and what other arguments are then used with the call? The Atari documentation doesn't say. Rumor has it that Mshrink() must be invoked to give the called process memory to execute in. Does the Atari documentation mention this? No. How does one calculate how much memory to keep in the invoking program and starting from what address? The Atari docs don't say. It seems a little ridiculous that after paying $300 for docs that I would have to pay X more dollars to either buy more docs or to get onto Compuserve to see the corrected docs. Is there some gratis method of getting the correct documentaion for Pexec(), Allan? Eric Pettersen UCSF Computer Graphics Lab ucbvax!ucsfcgl!pett
apratt@atari.UUCP (01/27/87)
> Is there some gratis method of getting the correct documentaion for Pexec(), > Allan? Yes. Use the Developer Support phone number provided in your documentation. /----------------------------------------------\ | Opinions expressed above do not necessarily | -- Allan Pratt, Atari Corp. | reflect those of Atari Corp. or anyone else. | ...lll-lcc!atari!apratt \----------------------------------------------/
fischer-michael@YALE.ARPA.UUCP (01/28/87)
> From: imagen!atari!apratt@ucbvax.Berkeley.EDU (Allan Pratt) > > > 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? > > 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. I can't believe this attitude! Someone asks for some information about how to use a system call on the ST. Instead of either ignoring the request or answering it, Allan Pratt says tough luck -- there's a bug in our documentation but I'm not going to tell you (or presumably anyone else out on the net) what it is because I don't believe you've bought our compiler. First of all, Allan's presumption is questionable. The guy might be trying to call GEMDOS from ST Basic or OSS Pascal, both of which provide hooks into the OS but don't describe the calls in their documentation. Second, what good is it going to do the guy to "get legitimate" if Atari's and other people's documentation is wrong anyway? I was not aware of the bug, nor have I had occasion to use Pexec yet. But I expect to soon, and I don't relish the thought of wasting hours of my time finding a bug in the documentation that Atari already knows about but won't tell me about. I have both the developer's kit and Mark Williams C. The MWC documentation is pretty good about correcting the bugs and filling in the omissions from Atari's documentation. I hope when I come to using Pexec that I will find the error corrected there since it looks like I can't expect any help from Atari on this one. By the way, we'd all like to know where our documentation is. We were promised an official Atari ST internals book by Christmas time last year, but like so many Atari promises, it never materialized, nor did we hear any explanation for the delay, nor when it would appear, nor even if it will still appear. What's the story? --Mike Fischer <fischer@yale.arpa> -------
KJBSF@slacvm.BITNET.UUCP (01/30/87)
Date: 29 January 87 22:58-PST From: KJBSF@SLACVM To: INFO-ATARI16@SCORE Subject: Re: Re: Pexec Date: 29 January 1987, 22:56:52 PST From: Kevin J. Burnett x3330 <KJBSF@SLACVM> To: <INFO-ATARI16@SCORE.STANFORD> Subject: Re: Re: Pexec Forwarded-from: KJBSF Alan Pratt writes: >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? > >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. I think this is ridiculous. It's insulting. Who are you to presume that just because someone asks a rather basic question, he is instantly a 'software pirate'? I always cringe when I see comments like the ones above, as they go a long way to destroying the generall feeling of good will I have seen on this mailing list. Kevin J. Burnett KJBSF%SLACVM.BITNET@Forsythe.Stanford.EDU Santa Clara University '88
john@viper.UUCP (02/09/87)
Organization: I am also more than a bit irritated with the current state of technical docs available (or not-available) for the ST. The people responsible for marketing must be living in another universe. How do they expect people to develop code for a machine where the only documentation available either costs far too much or is grossly(!!) inadequate???! The correct, factual information for -ALL- the system calls, all known bugs, and all data structures used should have been made available more than a year ago at a reasonable ( < $35 ) cost in a cleanly written reference manual with a decent index(!!). Come on Atari... This isn't someone asking for a freebe. I'm just asking Atari to sell a concise updated(!) reference so I'll have an even chance at writing the kind of programs that will sell more ST's! Please don't get me wrong, I really like the machine and it's capabilities, but I'm sick and tired of beating my head against the wall trying to get information about even simple things that don't work as-advertised.... There is -NO- reason a developer should have to waste literaly days looking thru hundreds of pages of contradictory information, trying this and that, to get something to work...! (Mind you, -most- of the system functions do exactly what they're suppost to and you don't have to dig to find out what you need to know about them. It's that last 5-10% that's causing needless frustration that's driving programmers crazy...) ---------------------------- The following is the correct (to the best of my knowledge anyway) EXEC call: In assembly language: move.l #env,-(sp) * environment string move.l #tag,-(sp) * command tag move.l #file,-(sp) * full program name.ext move.w #0,-(sp) * load and go subfunction move.w #4b,-(sp) * EXEC (Pexec) function trap #1 * Trap-call GEMDOS to do the work add.l #14,sp * clean-up stack afterwards In C: Pexec(0,file,tag,env); or gemdos(0x4b,0,file,tag,env); char file[] = "EMACS.PRG"; char tag[] = "\008FILE.TXT"; char env[] = "\0"; /* yes, the \0 -is- intentional... */ This assumes you have either assembly language access, or access to a C compiler. In the instance Bill gave, he's using a language where I'm not familiar with the constructs used to access GEMDOS calls, but it looks like the order of parameters as well as the sizes of some of the parameters may be incorrect. The problem most peole have is with the tag parameter. This is the rest of the command line after you've subtracted the leading program file name. The thing not mentioned in 90% of the documentation is that the tag string is a -PASCAL- style string, not C...! In the example I've given, you can see I've added a single byte giving the number of characters to the start of the string. Unless you really need to, ignore the environment (env) string. There are currently two distinctly incompatable formats being used for that string. As long as you don't need them and you have a double-null terminated string, it will work with programs written to either standard. The file name itself must be the full filename plus extension. If you want to run a program from another directory/folder or drive, you have to include the drive and/or path designation because GEM doesn't support search PATHs. Hope this helps, please let me know if you have additional questions...
neil@atari.UUCP (02/24/87)
In article <507@viper.UUCP>, john@viper.UUCP (John Stanley) writes: > I am also more than a bit irritated with the current state of technical docs > available (or not-available) for the ST. The people responsible for > marketing must be living in another universe. We are living in the same universe you are. So is the documentation department. However, the docs in question are in the hands of the software endineering department and an outside writing group, and they are just taking a long time to get finished. This is meant to in no way cast aspersions on anyone, just giving credit where it is due :-) -- --->Neil @ Atari ...{hoptoad, lll-lcc, pyramid, imagen, sun}!atari!neil BIX: neilharris CIS: 70007,1135 Delphi: NEILHARRIS GENIE: nharris WELL: neil Atari Corp. BBS 408-745-5308
john@viper.UUCP (02/25/87)
In article <565@atari.UUCP> neil@atari.UUCP (Neil Harris) writes: > >We are living in the same universe you are. So is the documentation >department. However, the docs in question are in the hands of the software >endineering department and an outside writing group, and they are just >taking a long time to get finished. > Neil, Thank you for your response. I'm glad, no, make that "overjoyed", to hear that something is being done to correct this unfortunate situation. Can you give us a (teeny tiny) hint as to what the current schedule says about a release date and price of this/these(?) documents? I'm sorry I've been doing more than my share of flaming at Atari lately. I suspect(hope) that most of the things I was bitching about are things Atari has plans to correct in the not too distant future. I'm just very emotionaly drained from all the problems and all the support I -personaly- have had to provide people in my area just because Atari hasn't been keeping up with the information needs of people. When a week goes by without my receiving frantic phone calls asking questions, that's when I'll feel that Atari has provided what is needed to make the ST the really great machine I know it can be. --- John Stanley (john@viper.UUCP) Software Consultant - DynaSoft Systems UUCP: ...{amdahl,ihnp4,rutgers}!{meccts,dayton}!viper!john
rowley@ORVILLE.ARPA.UUCP (02/26/87)
In Info-Atari16 Digest, Volume 87 : Issue 92, imagen!turner@ucbvax.Berkeley.EDU (James Turner) writes: > > no necessarily so, i just got an excellant book on the ST, It has > everything in the dev ket doc's including the shell lib in a clear > concise format. It is called > > The Concise Atari ST 68000 Programmer's Reference Guide > by Katherine Peel > I looked this book over. Each function is described in one or two short sentences, and a list of parameters is given. I don't think that the descriptions are adequate in many cases, unless you have lots of time to write and play with sample programs. >> >> P.S. Neil@atari, Jack@atari, others -- where is the documentation that can >> be purchased without paying $300? > >between this book and Abacus (typos and all) books i think this is a >dead issue. For about $20 you can get all the info in the dev kit. > No, this issue is alive and kicking. We are still waiting for some complete and detailed GEM documentation that doesn't come as a box full of paper. Karl Rowley rowley@orville.arpa "It's OK to live in a one-horse town as long as you are the horse."
HAHN_K@DMRHRZ11.BITNET (07/16/87)
Is there anybody in NETland who could provide me with a somewhat complete description of 'long Pexec(a,b,c,d)' ??? I understand that the first parameter can be 0 (i.e. load'n'go) or 3 (i.e. just load and return the basepage's address), but some rumours i heard claimed that there's a possibility to set it to 4 (i.e. take the basepage's address and execute the 'child') and even to five (perhaps that means 'disconnect the drive and rewrite the ROMs' or something else...)! I need to load a child-process (maybe two of them) and execute it/them some time later, but all the time they have to remain in memory, because they are incorporating interrupt-routines. So; what could Pexec() do for me? I'm sure you know. Thanks to all who reply. Klaus. -- Klaus Hahn -- Department of Psychology Gutenbergstr. 18 University of MARBURG D-3550 Marburg, West-Germany <HAHN_K@DMRHRZ11.bitnet>
rowley@ORVILLE.ARPA (Karl Rowley) (08/25/87)
I wrote a desk accessory that brings up a file selector box, and then Pexec's the selected file. I set the screen to a new area in memory before doing the Pexec, and return to the old screen when done. This seems to work fine for programs that don't use GEM. When a GEM application is run from the desk acessory things get really strange. The menu bar for the GEM application gets installed, but the GEM desktop responds to the menu items that are selected. Rebooting is sometimes the only way to straighten things out when a GEM application is run from the desk accessory. Anyway, desk accessories seem to be able to call Pexec just fine, but GEM gets messed up badly if a desk accessory Pexec's a GEM application. I have also tried out the shel_write function. It appears to be not much more than a bells-and-whistles function that calls Pexec. The MWC documentation for shel_write is not very complete. Can anyone shed any light on what this function does besides clearing the screen, and setting the mouse and text cursor? Karl Rowley rowley@orville.nas.nasa.gov
koreth@ssyx.ucsc.edu (Steven Grimm) (09/10/87)
Can anyone give me information about the innards of Pexec()? I have the
following program...
#include <osbind.h>
main()
{
long basepage;
basepage = Pexec(3, "test.tos", "", 0L);
printf("basepage = %08lx\n", basepage);
Pexec(4, 0L, 0L, basepage);
printf("done\n");
}
(test.tos is a single printf statement.) The Pexec(4,...) bombs. I've tried
putting the "basepage" parameter in each of Pexec()'s parameter positions,
with the same results all the time. Jumping directly to the text segment
bombs, too. What do I need to set up before executing a program? I'd hate
to have to waste time writing my own memory management and process management
system, but if necessary I'll do it.
-------------------------------------
Steven Grimm, koreth@ucscb.ucsc.edu
koreth@ssyx.ucsc.edu
-------------------------------------
apratt@atari.UUCP (Allan Pratt) (09/12/87)
in article <767@saturn.ucsc.edu>, koreth@ssyx.ucsc.edu (Steven Grimm) says: > #include <osbind.h> > > main() > { > long basepage; > > basepage = Pexec(3, "test.tos", "", 0L); > printf("basepage = %08lx\n", basepage); > Pexec(4, 0L, 0L, basepage); > printf("done\n"); > } The correct call for Pexec type 4 is "Pexec(4,0L,basepage,0L);" The combination of load/nogo plus just-go does not work reliably. There are bugs in Pexec relating to memory ownership which cause trouble. You should be able to determine something about where the bombs are, though: is the PC in ROM, or less than "basepage" (i.e. in the parent), or greater than basepage (i.e. in the child)? I have a trick which *does* work for fooling with a child before it has started executing, but it is ugly. I use it in my debugger. What are you trying to do? Maybe the same trick would work for you. Mail me more explanation. /----------------------------------------------\ | Opinions expressed above do not necessarily | -- Allan Pratt, Atari Corp. | reflect those of Atari Corp. or anyone else. | ...lll-lcc!atari!apratt \----------------------------------------------/
neil@cs.hw.ac.uk (Neil Forsyth) (02/23/88)
First of all thanks to all those people who responded to my Pexec plea. Here is a uuencoded archived summary of Allan Pratts answers from way back covering:- What the system does when it gets a Pexec What Pexec(4, is about and why it disna work Executing processes at the end of the TPA Since the Pexec cookbook posted here is only a preliminary version I would welcome a more complete version from Allan. ------------------------------------------------------------------------------- "I think all right thinking people in this country are sick and tired of being told that ordinary decent people are fed up in this country with being sick and tired. I'm certainly not and I'm sick and tired of being told that I am!" - Monty Python Neil Forsyth JANET: neil@uk.ac.hw.cs Dept. of Computer Science ARPA: neil@cs.hw.ac.uk Heriot-Watt University UUCP: ..!ukc!cs.hw.ac.uk!neil Edinburgh Scotland ------------------------------------------------------------------------------- table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 PEXEC.ARC M&@A015A%0RY$3T, _W\71A< %<0DDM2!/ J ,0=BP">,&!!0Y8>C0 8$Ba M")TP<M*D /&F(!TT94#,J2-&39DQ"]^8,5@&ST<=+10HH((FS1P0+F$6E%-Fa M#IR*<S+2>0,B# B:<>K47&A&SILV((:@B3B'3AJ"():$*2/'C9@P8]" N-,Ra M*X@D(,Z\H:.@Z%$0((0DH>*D"!4=7T&,(7AB(4TX;/* ().&)LB\(':F7=N6a M"@L08NHL3'("Z4::%"]2!0&GS!N\913<22,0A)DT;L@$;OD2-!VJ0T&?.;SSa M#=PT=$Z\] F')ILT;4!#U&N'ZIPT%2F.E*R 3<4S+<+<"0.[C&@H)3_*??-Fa MC1CJ:T*H3%)0C-$PHD_+:3.'-<;1JE_F>5,'!)HPO0/S7./FS9V>UQ63-#FFa M)^2+"<%$5E,0T?%2'7#T1)E18]14'@ALE&&@@"!$-X9B99A7QDP2UE'52X))a M)E<8 E&E&486O;=0;6\T. >(5.7F1D(UN8 62QF),%>)<H@ 0@LMC)81BRZ^a MQ%4:7M61TW,6*@":D)[UU11E S7X8Y#OO33'41G19!-.:8C!&6QIU/3:0EG*a M!T(;8:R141MEM/&&''DH !]S XD1H9HB/C&%9W/V)%"+"0%G$4\B9L49&8<1a M)!IL[H4!(D^)+:H @E!"=$8=<+JQ4%,1N7$&H') J2@;9+B@4D!L@'!$$4T0a MX>>";YR!$'G^942@'*>)MME%4 XDQQE#(6;<&&L(!\*L<,I))PAV#CI7KWQBa MU(:-(!2!1X-P+/1D;\\B!-D8?5U(WD-NN&A>3'JVN(:3()Y7D:YTT$2'HJ)Za M9A12(FXHFDB9CE'DG&7.%MI/-:5!QH9D*3:F4S55FY$899P!FANJ*3O'Ma MN&:<<^9A(XZ4O6$:3/$&N)Z'"K!H:QA(I<GB57KJ1;'')!Y+HVA!,,&$LD65a M\2;(=&++'45R+%SJ3@JPZ>;'SNIU)V=AZ)F1&8'Z=*IH1#IXV,J1QB?8%$A(a MD8032PBI0+O(@@"V?6X<9J^'&.<KXDX)PE&@LI *]FJL?F)+LE-PRJ< &8B2a MAO)6*+K-GD8/\0H"@JHJD,1(8"N944!CK%?0$ R9Q>]Y"_=F7&5RR ;"&K"Ea M\/7C]-DWFLKL1;M<'B_=YD:ROVKETV=[[ABA:']/04404E!A-.;LG1#?S07Ia MG4?&=BK$L*&OMS<'&NRA&G9&8EF?8D8JN%'&'2JX"JOQR%.A[UE#' 6'YG+Ta MI@ *@8JN$9?7D:%7&6S(">-X$CX!I0 N8+F#44XSNX44[WC),YH;%/# ]KE@a M"AJ"3$Q\8IR0C(0O&U/2;X)3-?8LI%DA6],;%A; 1AU,,A/TB1T@\A2K.4Y[a M$@H, '4W*N[=IPUU\ H*GP6VY7A*36XJ0X("9;'G8>5=(3I/X-#2A#9E9&6Ea MRHK)K(0"KGCL28CC"!T.HSD0L&\(2^A!#%S7DQ?%R6H47!\$E8?!$75&1%ZJa M QL<N+XB8*$(0W#!$Q@2J"W!Z2*J8:.C( 2:9!''9;<R4E>T AW^; 4V6@$0a M43C3I81@9&GO&1\(ZC,>$JFO">R+H$J<(+M/ED%U/@'AA5YD*&5Q)4 53%ZDa M)K47GO0.83;YR$*8ED0X9"Q0<ZM*QH:8!QVH) OL*14D8;8XT-BA.LZY)+!$a M!!XR>.DE (,-.._0'4DI,0S$:J,"N#DL3C%,3;^K0[J<$AP4:!)EC5H(#5!@a MDQ2X@ W^1,O1$/F2J^1$;\2"%Y1 %40Z>.B*CYM+03YSL"=AL9?F8EBA*B*Xa M\Y@&-4U135G*A*K90 8):X%"$!C"33)XTT% D])"Q) '!CKA">ZS:#1!0 65a MNDX!0IC"%(00A"D4@:7G^8P<IM3-;RKKHF)XT406&=0I,*$(3D!J1B(D*F")a M1 $7K:H_G[E3 K7M)A\MU:XF%""4]C0(+< !0R@VES+*-28BXNH9O#H<C*S-a MG C-B*;<><1%BH@,G&J#7I)9$"B +C@B,NL: LK3\]@$*U?;%U"%2E2CKJ"Ja M5\VJ8"XZ!2@L3D0BD.P*,!(&./CHL@W"%A/")"Z]L$E:*$B! H1W( $25"-Za M:]!AY&2'C-'&9)Z:C/"RB5KOE*%-/D+!DX@SPXA4;4]?^()SVW280(D(=-6Ma M(7:WFZPT,*\]9>2<YY(R$4Q)2D"7RLE+F(DM:'H(<D\L65I5V)N7((Z<[QN=a M3B[31@II;@Y-(UH>7/BHONHJ08O4+DW:5"%P?4Q"V3L!9$RH+/H*=()FP,H8a M8>+@_UEX#%R2BW$$V$5,/LDG.NJ*FR8JXCGY"& EU$\-8B"#M=4T8H&*P1+8a M>-MCY?:2G0DQ9Q#SD3"4$5*(JXD;ZK(5@BSDHI(UW!O I<#FA(4ZHB%#0L)@a M(Y5<H7&T81!,U_H@2!%K0BK(6?H QDQ!Z8Q:@H$-7/1'''\IBR!2$YB#" ;Da M4GE)8>]TV&T@=J $13$C"PNQ'C_%,:%-T,-?.6^5CRB8,E;R(]G[GIJ:J*L4a MU_DJ;6-:GZ90W\<A#CU&PB24FK"]4"5+>$9C:SL[I6N=^+6I, 68B$Y]+$?Ra MI-:-9 A4 8M.P;KTFU-]H5_-=Y_?Z&' &EE*LOOVAE9KCWMZ% W%-/)0-44(a M/AG9$'O.H!6CG*6$]@NK4$FEH EO:48VS#(* G3N*<E@R%124D_<8-N<M>C(a MO 7KXTI2&9"HR6EED*V$5#>',.AE91K.2)>=DB\10-Q'BRRBE0UW[OCD>"$Sa M^#>]BWSPB: :Z6ZZ,(J$YH-=0YR<FCH0^= V8!LB04*^$VZWF3%Q?G%0[_Ia M3:BWUSW1E'RK8P'G2&![->]:]B%M2PF;\C!N@HSEDR"(@0V6T-&,4%L^2QQ)a MG>]YT6DBQ7S.*<T<G*D $$"" -3&&PAZ<,-21;6@YNS)LV&Z@KXCYD4:2<.Ua M05!XL:<MRX5/>=I8"P>53 $T5L(RUI.%UN26:H/#/(_> 7;1(51!"E+ JOO>a MRN ;9AP_)ESGL;6]NP9F6-P2$@]_(7I?R=+=[@0@;L39D("\7X8%-EFE[$3.a M:9Z@N WS8^!%S_[6Q"]^D<(# :UIOX;?WUWX_RS^^?#& C+ H.YWWX@8PF_0a M<Q*K_#!(P Y&.?[+M*#]@5W<PGY#$]%4W]J9 7S@1WSFQP(MP$]PD +RIQ$Ya MA"G;9VLH@'_-!G^Z)8!;-GP)(('O=X#]A'[!=X$N< <), (D0 -AD +: 8%a M@6(+0V\/V$@>6"^M-8(QX('=%'XC$ ,P@'QP@(+S-P;G5A#N-2P(I@"L=!]La MUSSQ46ORE"P7Q7I0,BL296>$PD"_=79K]P8*=U];DVLC4A DLB63XUN*4V<Pa MIWT&-P:Y=1A'XA4QH3EDH M,A<C-","83-Z\3<@8 5$ !9GJ"<S50=F8 :^a M<1@2,@;8PDI6J"(W1!%ND!<*\!YBPQ.O]EL5(5R,XS%@LU:3 P=P$09FH'N:a M%&I3^&KO!419H0"?-@8G8%SJ\3A&1 >5<V::"(LC)Q@6HB!;$VJ5XCWB-!W0a M%R$,!#PUT7 R(1CS$G3UHAJM]XN#Q6NEX2D\X762(0=EYQ^;PFLXES$;Q$@*a M$2'*B!"B4@9P(2)*-259 1$B-AG"=A[/^$Z@PHWQLE4;LE=:T8Z9X24>M%#+a M*"K:H0!(@!J+XQ._$8RZ@CNG@13" Q=Z@WA]<QXS4CCX&"5[@HO\@2%V(FV"a MM6OPV(^CTFDY43D)8!SY,@<(&2<H, 9MP"B:PG,*D #I6"HJH)*, @)Q1H0[a M\))[\)+ %Y.((8A;P&,XT 4YR9-W9UX, 2I<M6]$.!$^$'8R8 ,3L9,H6!NFa M808H( +O>$3Q:#?4 2''P05N( (ID),HR%@_$@-F"7Q]8)0$ "IC =Y$(&"a MN (QP (M698) D#\ +I@V)RB8V\E!B#2!5V:9,OX):$N04PT 5[AW-+F9<[a M@()^R8"!6)ARP)B.*1A<A9ANB9:KB ([2),L0)@L -,4)8OV98KD50R!0+7a M9A0R 26K:$>M@E?G49MF($\@44LL2(Y@"1X#%X=B<8TTB8V$Y2WSZ!EZU"K$a M&$QCP(:R)B)Z<Q&'08RC!#,9DI&B@9UTD >5<8V(E#3(J8VXF1'/QR:AT0*Za MLY'9V)&ALAK<"258XR' LI7*"24;4EQ&X0;:V'GB@2TKY0;-62%NP)\5P6LMa M@URZ!R<$\1(B((RFTA*^Z :?!"DK-01/ 59L"Q&L";_<Z!]D: ,XP(BH!(La M$1/9MQF=81S"29U&\3)M<!@-N9SX:3"BL9\CZI_OQ#2PT7H6@B$"@BVT*$INa MIT/CH1NG\2")DC,(XU ?HC8E 2F_&6!0XG;+0YNYJ&0!Q!#UL1#J5@?L!C4Aa M<YV<I !?"BCR5).'Z )317]G4"CQ4:4QP5C.T7J;"&[>LS"FU#M.LA!8@6))a MHQIYD8ACX6L!0A5&86@=$J7Z4YL0(5AL<#LO83YQZA3VPP1/X 1'4$='LB=Ha M^9LOP6?GL35(UBJ2F!&Q^0;1""4(@CIA9P.((4Z5XT=KD11/0 1%, 5T]S>Ra M4D>W\32HU *_RF0PEQ$_2H5W\!)NQTMHZ1-B=W^0,J5D4:6/UA>4$:F>(DD>a M(QEZ(1XR0B,=%1,Q@3CFHTV9Y%=0 *XHH*B_.1&X=B/G,4-L(!2SZ:XKA*S,a M*BE+(C'92A.>8B?+B9;T:J\369LFV11Q8IO7"#JWX1V[P9SS9"@*0*WM*@=Ra M\*YC6 <YHQ<'!FL,JQ)5X 8PYU S<AIYH2&481F8,4!;L4"^1B\%@BG8>88Ba MHE[!,02[)3^<5"I\0093MA!E1%#&R;,1DD4Y\Q(6.Q&_!!6*&BB_"72+M+2Va M^1)?L+2'D1@+<;5X "DD0JEC&#'K&B,PL(:,@R3MUJAN@&"K6F#]TK4+\9M&a M$R4F$1Z*0U,(LW$9DTMTI++$N(6,5'N_=(X+X45"*'2C@K-N4*N]D2+KIA5Ga MUZQ/2C=0$A'L!J9P.QT+H[+/9TQ'^Z<YP093YQ2=$65S$+1$ND.' 1:IFJWWa M@A%V.S&Z$1% -A).^DC\6KNF8K23(8;>"@*RXH4N$;21DC2MET"<T2HWT11.a MLK;UTE"&,AN "B$TXK,T0F^(PXVR*% ?F@5/4 7 .TA4@%)U! 57551%H "Ra MX@0GX#Y"@%-(4 12L"RGEQ158#Q/T 3R:T95 50\ 2Z! 5%L*%7]14?>JNRa MLJOLZSY7 ,!D=R/QFP7JNZGM&Q4W=04@$ 1.D 7C>S9'D,'O6P7NLQ:5P[J7a M@:BA%Q.+1@?!@QW741UK8D4O49L1@GB*I; 1P1YS,+>I&K0["R[9M!%>@3=(a M,AO+R3%DLB,M\+2E8E@QHJ09T1L@,2</4@:-.QJ/NTX8(34:Y"FX02. @6)Na M8#X@D4V_)"*(YA, 8R&MF"]; [ "JD(TL;,&R4 H5ATOG"Q,%VY,1BH7\7RJa M4<(.!AF1.G#_@[%4C#1A812(=Q0N48>MRDW7(38E,6*884[%D4.%$SOW(00=a MV@1!D 0_(X9@,86"ZA>AM[ HYDJ>4JAHP02.$AS#6Q>1*)""D14?D2R*Q8#Ja MZ11C\""D',-ZT;JYX4:B84@2TA*B@BU; ,NA41$*%1PS-"VU]"1&((Y6(D^Da M6R$0 1A3H$0)23'6V 4JH0*00 0J$4A1,155@6IHH#I!D1K!L1R2-,P;)&@Oa M4J9GZQ4&A20=NQ<*8R?[(1WZ\SN<Q( 1,L5R<!@_2[Q?:W%&,B=K<(T/>@>3a M@9L)\:=;(='<>KAF[&)@2"LRNL]:D29VFJ/U(:9:D85:G!&S8K.E2J&I@A9Ga M9EMI<+D4<AUM( 8_@!9"T&1/9KLB?2N[I GK2 JL,(1DCY9&(5_@C^/*#7Ya ML1#_ID@_.2I/4IM!YT.-UD"(,6%KL)QUII[-9HUH$03XO"6T:U+T(H[I1#&2a M8B 9F0>W<QAB"--OPJHKLC?/)R9U\Y%W<&PR.(Y,%M<OT1!I36@(MDBK.!'La M(IS4ML,J\0(M DNP 4*P ?+8DP8@Q,5@@>UX2#9!&^0QA-I2L8.0D. 0*:a M?249+!!0<1 ),6(.04-),2=PH"J:31-FD-"AQZH9 3"U'1&W+0>YK<B -B\5a M$D 1Q]IV5P NP)=LP)?L*3 A,&81<=VU,=L*P 65[0(OD - 052$ 14X#[!a M\2H84P:ZU;S^X<M[P@,W8 ,W 05!Z6+&T0;XP+.40<^<!AK,"?);-\FB0<Na MH-^(V-\,,06G<<5'$!%MT 8347&XXTQ/.0*85Z\MR .LZM>I@@8^H !/*>(Qa M#!JY1>([^90C>1R(P6S$DI,CKN(:F!%\%YHS<!@BL*2RN!-S( (X[N,@@)JJa MJ>)6Z2E8*0(S_I@E ,XP 9X()9 /N-##@()$)HT<!BHB>5,D+4NSMXP3N5%a M3@=';JYE .53SIHD<\K"9)OT5IO?61D@0 .+(P)6?II;/N-V7I8GVIKH>11^a MO5$% 3 N2@8O4!]B$7 OH09*0@<M<.BF.TICL=%RD"RV(5XBP^>$#!F)<0:Ma M6INV42A>2:;/ C>^T1()TH9:45>^910<$2&58U_9UG1]?%W8MC#@"AJE=DC*a M/"HGEXG_<1XZ'56Y G07\;BOL9R.-9M2D+_=52HUG#(%@>1='EUIP-\V,EWGa MH3< 2P<_Q403)HJAU.('U6P,4>W-C>WH*=,I\ /;(6H^L8QM@^HV:;KI$]B3a M3F]8\P8\A*ZZ*-/&*N 4DB7*6"#9%*0<MQH_Z2WY*::N'!=/YBT%L<L+L^G$a M8M8@<&8!$JF 6R_3$^J(T]-HR'4QJQ':&1@1$>^R;N_)<H8K@RU5M&2%XRR9a MP7 #<;*&4CF4;=F8K=E/P-G1^]FA;<RP%Q^O=MH?D=H1L=JM#22O7?,&@1 *a M<1C#G0;%G=N9C3"]O>;%+D#"'3E4'S_&;2-90W#*#4 AZ=R0 -W23=UL8-W8a MG0;:#?5DX=V6G9CN72!($M\QD'(R 1BEK QX )54 5# 7_#3E67 9FX/>2a M@CN!/_B%O^ -OCDV8@1E !H*"QH3#M$6#KQO$#')?:Z<3.)(68WZ:LBW(Q]Va M;7'!*1II5BM$;1J),V!I!R5O1>)3>Y$,!"F88OK8,@6)$R"&2R'4RJ2NM-'$a MVW4$YQ[Z7A/LCNFGK]RI+QB5J#B_M(I9JQ^0 A1UT!<1P\D9XT-K$D1HD&!1a M<Z4Q2M0LVBIP)QHHT$%2YQYEX"$NX<LOX4IC51PLCC>A29HMR0+[B7R*Q]Z[a M]1XR29HV^?\VN9\Y*4^_<0;FXW0L#H Y297R]!MG8#Y.Q^)L$]:*5P9FZ9-Qa M]FQF29*C8B]%F8'%!H"/646XU0(QD)J369D4]2_Z 8#*(BS$,B5LDRPJD)@)a M@)016&P@P /6Q]X@0)4)@)98-07ZVP23F0"5*2S$,B5LDRQI*B:C$J;L%@*>a MF0!MF0!-]9A5A%ML$]:*Y^4)4)EI>+WWQ#;)H@*)F0 ON#O[]FRE66P V ( a MJ)>5B6RU!REX"X \-07SV_XOH0*)F0#V\IBA.9HKB9=$R +[J9>5F8LB0@53a M,+\JD)@)T 1!4P;[]FQZR9>5&30CKS<NE3$JD)@)@);V,IE\69EH^;94FJ^>a MB>:*TS6(]1\RK""II7AE '(<>43R?IX](2?:W&$*UM)#34U/$L\A-<_)2W_9a M=(:_>!IX,&)B]A!9^R)</N[O5[$BVI^\UGJ2]0*4-ZYR!^G3V[F*0>NCQ"GBa M#!<K$XGHIB:?L2D:%!+Z$2?&=/(=BRVG@0=TL )B]A K\'<KL)]V"0-I4TBSa MUW2:(='9?V6PF+R" K9/IR!S4&3,OR<!<C<$1F<*!G1TY60"1 53( 6P-*D0a MK7W(5GL<!!LL++NRJ!(] E U_.@\?,,]TVC/<FE#>D+@=HOHMIYD !,SRJQa M+?=2[_55KRJ\[=M8S/4C,?55+_9-3/;G:O81EP!H$=T#H)US<-U>'_?<W0.0a $ '0: /55a a end
pete@tcom.stc.co.uk (Peter Kendell) (02/23/88)
Does anyone know how to startup a ".PRG" Gem program from a ".TTP" program. I can get the program to load and run but the mouse is not active. The pointer is displayed and moves with the mouse but the buttons do not respond. The ".PRG" program executes correctly when run from the desktop and the ".TTP" program will run other ".TTP" and ".TOS" programs with out problems. Please email - I'll summarise. -- ---------------------------------------------------------------------------- | Peter Kendell <pete@tcom.stc.co.uk> | | ...{uunet!}mcvax!ukc!stc!pete | ----------------------------------------------------------------------------
jjung@castor.usc.edu (John Jung) (06/09/89)
Okay, a technical question for all the die-hard C ST GEM programmers out there. I'm having problems getting shel_write() and Pexec() to work together. Specifically, I have the following situation: Program A terminates and launches Program B with shel_write() Program C activates Program A from within itself. Now, when I start up Program C, it runs Program A. No problem. Program A does a shel_write() call to Program B, and exits. THE ST RETURNS TO PROGRAM C. When Program C terminates, *then* Program B will run. How can I solve this problem? Specifically, how can I have Program B execute after Program A, and *then* return control to Program C? Is there a solution at all (I think NeoDesk had the same problem, but I don't know if it's been "fiexd")? Or is there a way to throw out Pexec() and do what I want without it? Please reply by e-mail or net postings. Thanks in advance. John P.S. To whoever was asking about GDOS fonts in the public domain: They're there, you just have to look around a bit.
kbad@atari.UUCP (Ken Badertscher) (06/13/89)
The current incarnation of shel_write is only useful to chain to another program when you are run from the desktop. If you need to run programs which chain via shel_write from a shell program, the shell program must intercept trap #2 and look for shel_write calls, and handle them itself. This is precisely the same problem NeoDesk was having. In my opinion, the solution of having a "shel_write patch" program in your computer all the time is suboptimal. All that is necessary is for the "shell" type program to perform the shel_write calls itself via Pexec. That's all the AES does when a program uses shel_write to chain to another program. Rather than restarting the desktop, the AES shell Pexecs the program whose name was shel_written. This and other sticky shel_stuff will be covered by the forthcoming (yeah, it's been forthcoming for about 6 months now, so sue me...) shel_games document. -- ||| Ken Badertscher (ames!atari!kbad) ||| Atari R&D System Software Engine / | \ #include <disclaimer>