Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!sri-spam!mordor!lll-lcc!ames!ucbcad!ucbvax!decvax!decwrl!delni.dec.com!goldstein From: goldstein@delni.dec.com.UUCP Newsgroups: comp.sys.atari.st Subject: multitask discussion Message-ID: <8019@decwrl.DEC.COM> Date: Wed, 11-Feb-87 11:59:17 EST Article-I.D.: decwrl.8019 Posted: Wed Feb 11 11:59:17 1987 Date-Received: Thu, 12-Feb-87 19:52:34 EST Sender: daemon@decwrl.DEC.COM Organization: Digital Equipment Corporation Lines: 48 Okay, just how tough a nut to crack is multi-tasking on the ST? Hackers are hereby solicited. I'm a user, not a developer. I don't want to learn 68000 machine language in order to figure out what's going on in the ST. I've heard various rants on the net about how you can't do decent multi-tasking on a 68k without a hardware memory manager. Others claim it's possible, if a bit tricky. Here's what I've gleaned so far. I hereby solicit mavens to correct me, add details, etc. The 68000 has numerous addressing modes. Absolute addressing permits the entire 24-bit address bus to be used, sans segmentation, but such programs are not relocatable. (My RT-11 background reminds me of "background" .SAV files.) Other address modes permit relocatable code, but the PC relative pointers are only 16 bits wide, so these programs must be segmented a la 80-series programs. Macintosh progams are required to do this, but ST programs aren't. (Developer's guidelines and all that.) If this is true, then for multitasking to work, any given program must be able to go anywhere in memory. This means that either the program is coded/linked as relocatable (a pain if this means segmenting, or just a useful guideline if it doesn't mean segmenting), or there must be something in the O/S (image activator?) that actually mungs all the absolute addresses in the image to fit the available memory location. Could that be done reasonably, or would it be too complex? One proposal (in the discussion of porting MINIX) said that you could outswap each task (into memory, not physical disk) every time the context swapped. That sounds a bit slow -- shuffling a good-sized image into high memory might slow things down quite a bit, though a blitter might make it reasonable! Plus you'd need enough memory for the largest image to run in plus for all the images to outswap to. On the other hand a 1040ST has an awful lot of memory. I'd be very willing to pay a bit for, say, a cartridge that added multi-tasking to the ST. If some hacker out there wrote a p.d. program that added it, with GEM intact (not like MT-C Shell, which provides its own environment), then he'd be a bit of a hero, don't you think? We'll save the discussion about stealing the whole screen, vs. using a window for a program to run in, for later. (Desk accessories seem to be the only ones that usually don't grab it all. I suppose it's the efficiency of bypassing GEM, which doesn't do text too well.) fred