Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!nike!ucbcad!ucbvax!miro.Berkeley.EDU!metcalf From: metcalf@miro.Berkeley.EDU (Chris Metcalf) Newsgroups: net.micro.atari16 Subject: Re: i'm learning, but slowly Message-ID: <15247@ucbvax.BERKELEY.EDU> Date: Thu, 14-Aug-86 02:46:06 EDT Article-I.D.: ucbvax.15247 Posted: Thu Aug 14 02:46:06 1986 Date-Received: Thu, 14-Aug-86 20:18:38 EDT References: <469@imagen.UUCP> Sender: usenet@ucbvax.BERKELEY.EDU Reply-To: metcalf@miro.Berkeley.EDU (Chris Metcalf) Organization: University of California, Berkeley Lines: 43 In article <469@imagen.UUCP> turner@imagen.UUCP writes: >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. I've just finished doing a port to the Atari with Megamax. Not entirely straightforward. The problem with Pexec() is an annoying one. It's not that the first character of the args is being dropped; rather, the first character of the arg string is supposed to be the LENGTH of the rest of the string (0-127). You can't specify a longer argument list than that, and you have to tell Pexec() how long the arg list is. Remember, we're dealing with an MS-DOS/CPM lookalike computer here, and the "commandline" argument is simply copied into the new program's base page starting at location 0x0080. I didn't run into your other problem, with losing the cursor. I don't know why that should happen; I get a cursor with mine. Certainly avoid naming the file "emacs.prg", since you're guaranteed not to get a cursor that way. I also don't know why you're using Initmous(); there's no mouse pointer when I run emacs (is it for character input, or ...?). One problem I ran into with porting to emacs is that calling Bconin() or Crawcin() always return ^@ for "extended function" keys like the cursor keys. I eventually got around this problem by calling appl_init() and appl_exit() in ttopen() and ttclose(), and using evnt_keybd() to get characters from the keyboard. Kind of ugly. But Bconstat() and Bconout() work fine for typeahead detection and fast character output. One possibly undocumented feature of the Atari's lowlevel VT52 emulation is that it DOES support reverse field. If you output an ^[p the output goes into reverse field; use ^[q to return to normal. Convenient! To use it, fix up the vt52rev() function in vt52.c and add "revexist = TRUE" to vt52open() (as well as defining REVSTA in estruct.h). The only fix I still want to make to Atari emacs is to add a 50-line mode for monochrome; once I've got that in place I'll submit some diffs (probably to Lawrence, the emacs coordinator). I already hacked up a nice Amiga version; I love that 80 x 50 line screen, and running Emacs on the ST over the serial line as a background job on the Amiga isn't bad either... Yours in MicroEMACS hacking, Chris Metcalf (metcalf@yale.ARPA) ..!decvax!yale!metcalf (metcalf@yalecs.BITNET) ..!ihnp4!hsi!yale!metcalf