Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!mit-eddie!ll-xn!ames!ucbcad!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga Subject: Big Enhancements for 1.3 Message-ID: <8712070010.AA21837@cory.Berkeley.EDU> Date: Sun, 6-Dec-87 19:10:09 EST Article-I.D.: cory.8712070010.AA21837 Posted: Sun Dec 6 19:10:09 1987 Date-Received: Fri, 11-Dec-87 20:45:56 EST Sender: daemon@ucbvax.BERKELEY.EDU Lines: 69 How About (Big enhancements): -Allow windows to be partially off the screen. Quite simple, really. First limit a window's maximum size to be that of the blitter's maximum handling capabilities (1024x1024?). Then allow the window to be moved off the screen top, bottom, left, and right. This requires changes only to Layers and workbench + minor checking of related code making sure nothing blows up with negative screen coordinates. -Allow user gadgets in the top screen border. -Allow programs to access other program's custom screens if those other programs allow it. Access is by name. Cause CloseScreen() NOT to close a screen if windows still exist on it, and if so to flag the screen as "CLOSE_AFTER_LAST_WINDOW" rather than block. -Blitter: Allow one level of asyncronous control over graphics calls. It is too late to make a device out of it. Gasync(Rp,1); Move(Rp, a, b); Draw(Rp, c, d); Draw(Rp, c, d); Gasync(Rp, 0); I.e. if the first draw must do several blitter runs due to overlapping windows, it returns after starting the LAST run in the series. This would work extremely well for area fills and other routines allowing fast 3D packages to use the graphics library rather than write their own custom blitter routines. -Gfx Calls: Better bounds checking. Should never crash when rendering into clipped rastports no matter what coordinate arguments are given. ALSO, if the structures required for Area routines are not present, do not crash, simply return an error. -Protect critical library calls from software interrupts. For instance, I want to be able to set the exception mask for intuition messages and handle them (via GetMsg()) from the SOFTWARE interrupt routine for that task... even to ReplyMsg() them... Also to be able to call exit() from the routine (assuming Aztec and Lattice were to suitably update their libraries). Have a quick system call to enable/disable critical in-task areas available to programmers. (Note: This is NOT Forbid()/Permit()) -Provide system calls to control software interrupt routines (abort and beyond current support) and provide better documentation of the calling sequence to software interrupts. -Provide a new DOS call which creates a process for a SegList giving it a specified input stream and output stream, and a CLI, and creating (or using) a message port from which the return value can be retrieved after execution completes. Allow said DOS process to execute another DOS call which simulates an exit (writing a return value to the message port) but allows the DOS process to continue to run. The final exit code would be lost. Have the restriction that once a process simulates an exit it may no longer use it's original input and output stream. -Provide a new DOS call which DUPlicates a FileHandle!!!!. Provide a new message for DOS device drivers supporting this call. -Matt