Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!julius.cs.uiuc.edu!psuvax1!rutgers!rochester!pt.cs.cmu.edu!o.gp.cs.cmu.edu!andrew.cmu.edu!cs4w+ From: cs4w+@andrew.cmu.edu (Charles William Swiger) Newsgroups: comp.sys.apple2 Subject: Re: Amiga Bashers Message-ID: Date: 23 Sep 90 18:49:41 GMT References: <9009200536.AA27514@apple.com> <15362@yunexus.YorkU.CA> <1990Sep21.225236.26561@ux1.cso.uiuc.edu> <5588@mace.cc.purdue.edu>, <1266.26fbd120@desire.wright.edu> Organization: Carnegie Mellon, Pittsburgh, PA Lines: 58 In-Reply-To: <1266.26fbd120@desire.wright.edu> >What do you mean by different resolutions in different >windows? The hardware controlling the screen normally >prevents having more than one resolution active at a >time. Each scan line has a seperate byte (200 in all, one for each line) that controls such things as the resolution (640x2 bit vesus 320x4 bit), which color palette to use, whether "fill" mode is active, etc. You normally set all of these bytes to the same value, so that you use the same palette, resolution, etc. But, you don't have to. If you set these scan line bytes differently, you can combine different graphics modes on the same screen. A demo called FillMaze uses this to produce 3D graphics animation, in both 640 and 320 mode, producing about 60 colors on the screen at once, with a frame rate of better than 50 frames per second!!! I watched this program run and had to collect the pieces of my jaw of the floor. :-) It is VERY impressive! >As far as multi-tasking, I really am not sure if the >GS does or not. We do have the ability to multiprocess >with the standard desk accessories, and some programs >take advantage of this ability internaly[sic]. >Somewhere in the system software is a task manager >which passes out time slices from the processor to all >the different things running. Because it is not >straightforward like the '&' in Unix, I would guess >that it's hard to say if a GS is truly multitasking or >not. Apparently the Mac which does have Multifinder >to do multitasking does not have this Taskmanager and >Mac programers have to do the same thing from scratch. Without arguing ovcer the exact meaning of multitasking, the //gs does not have the ability to multitask seperate processes. Neither do Macs running multifinder, although a Mac // can run other programs (like Mac-Mach) that will do multitasking. The ability of the //gs to do background tasks (like print spooling, background file loading, some others) is entirely interrupt based. The //gs has a fairly sophisticated interrupt handler that is able to recognize the source of the interrupt (via polling through the interrupt chain). So, when the printer buffer is empty, it causes an interrupt that halts the current program, runs a very short routine that MUST NOT disturb things that the program it interrupted was using, refills the printer buffer, and returns from the interrupt to the previous program. The reason that the //gs cannot do more is because it lacks the memory management unit required to provide "memory protection." For example, say a program is running, and it tries to use a pointer to a memory location that is in the middle of another program that you are trying to run at the same time. On the //gs, the computer has no way of protecting the second program's memory area from being corrupted. On a computer with the MMU required, that pointer reference would generate an error called a "segmentation violation," which halts execution of the program with the bad pointer, and leaves the other program(s) untouched. >cse0507@desire.wright.edu (By the way, what is your name?) -- Charles William Swiger cs4w+@andrew.cmu.edu