Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!mcvax!nikhefh!gert From: gert@nikhefh.uucp (Gert Poletiek) Newsgroups: net.micro.atari16 Subject: Re: i'm learning, but slowly Message-ID: <196@nikhefh.UUCP> Date: Fri, 15-Aug-86 05:12:29 EDT Article-I.D.: nikhefh.196 Posted: Fri Aug 15 05:12:29 1986 Date-Received: Sun, 17-Aug-86 06:13:52 EDT References: <469@imagen.UUCP> Reply-To: gert@nikhefh.UUCP (Gert Poletiek) Distribution: net Organization: NIKHEF-H Amsterdam (the Netherlands) Lines: 74 Apparently-To: rnews@mcvax In article <469@imagen.UUCP> turner@imagen.UUCP writes: >~~~~~~~~~~~~~~~~~~~\ lineater, \~~~~~~~~~~~~~~~~~~~~~ > >i'm porting uE3.7 to the ST and have run into a few problems, >perhaps some kind soul could help me. I am using Megamax C to do it. > >1) when i call a sub-command using Pexec(0,STcmd,STargs,STenv) >[assume they are all char *] the first character of STargs gets >dropped or more likely the ptr is getting incremented by 1, putting >a leading blank in STargs works but seems silly > Pexex does not work exactly like the unix execve, it has to be called like this: /* if MEGAMAX, DRI etc */ int success; /* if LATTICE .. */ short succes; succes = Pexec(0,STcmd,STargs,STenv) Pexec ( mode, name, tail, envp ) int mode; char *name; PasChar *tail; char *envp; Now your problem pops up : the tail parameter is not a standard C string ( 0 terminated ) but is a standard PASCAL string, the first byte is the character count, and the string needs not be nul terminated. try this before you pass the string to Pexec: j = strlen ( tail ); for ( i=0; i >2) when the program is called from another (i.e. the megamax shell) >the cursor does not appear, if it is called from the desktop all works >fine, i have tried calling Cursconf and naming the file .prg, .tos >or .ttp but to not avail > A program like emacs should have the .tos or .ttp extension. If everything works fine from the desktop you should not worry, MEGAMAX should. >3) if Initmous(0,0,0) is used to disable the mouse (is that >correct?) i know that you use kbdvbase to get the address of the >system interrupt routine, but what about the param struct ? just >malloc some memory before exiting the program and pray ? > The easiest way to get rid of the mouse pointer is calling the AES routine "graf_mous". ( But be sure to turn it back on when emacs quits, because there is a counter involved, that keeps track of the number of mouse hides in the system. Hope this solves the problems.. Gert Poletiek Dutch National Institute for High Energy Physics Amsterdam The Netherlands