home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / sys / apple2 / 25575 < prev    next >
Encoding:
Internet Message Format  |  1992-12-14  |  3.7 KB

  1. Path: sparky!uunet!stanford.edu!apple!dlyons
  2. From: dlyons@Apple.COM (David A Lyons)
  3. Newsgroups: comp.sys.apple2
  4. Subject: Re: The Apple II Now and Forever
  5. Message-ID: <75599@apple.apple.COM>
  6. Date: 15 Dec 92 01:46:24 GMT
  7. References: <mattd-041292181555@city-lights.apple.com> <Bz408F.Ixo@news.iastate.edu>
  8. Organization: Apple Computer Inc, Cupertino, CA
  9. Lines: 73
  10.  
  11. In article <Bz408F.Ixo@news.iastate.edu> hal@budapest.math.macalstr.edu (Harold Byron Bouma) writes:
  12. >[...]
  13. >However, it is known that there were some decisions that were made while
  14. >the toolbox was being written that has created some problems. Some of the
  15. >long term effects of certain decisions were not know about, such as not
  16. >making the toolbox calls re-enterant. If they were re-enterant, this would
  17. >have made making a Multifinder much easier. But these concepts were not well
  18. >known at the time, so I can understand that.
  19.  
  20. I was not around for the initial design, but I can safely say four
  21. things:
  22.  
  23.   --GS System Software folks have always been aware of the concept of
  24.     reentrancy.
  25.  
  26.   --The system was never intended to be fully reentrant (a few parts
  27.     are, but the toolbox is not reentrant in general, and GS/OS is
  28.     not reentrant at all).
  29.  
  30.   --"MultiFinder"-style multitasking is cooperative, not preemptive,
  31.     and therefore does not require the system software to be reentrant
  32.     (Macintosh system software is not generally reentrant, either).
  33.  
  34.   --Reentrant system software is considerably harder to design, implement,
  35.     test, debug, maintain, and extend.  This is an understatement.
  36.  
  37.  
  38. >Other limitations however, such as the hard-coded QuickDraw II is a better
  39. >example. Last year, there was quite a bit of discussion about having 
  40. >better resolution supported by QuickDraw II. One article that Dave Lyons
  41. >wrote was that there were some constraints that had to be done for time/
  42. >space/budget reasons. And some assumptions about the hardware were made
  43. >to meet these requirements. And as Dave said, to fix these would make a
  44. >lot of current software not able to run anymore. [...]
  45.  
  46. There are three interesting topics here:
  47.  
  48. Genericness of QuickDraw II
  49.  
  50.   QD supports 2- and 4-bit deep pixel maps only.  It could have been
  51.   written to support arbitrarily deep pixel maps (or 1, 2, 4, 8, 16,
  52.   and 32), but it would be way slower, so the current 2- and 4-bit
  53.   code would still have to exist for performance, as would the special
  54.   code for rectangular regions and 160-byte-wide pixel maps that gives
  55.   you the level of performance you get today (ROM 3+ or System 5.0+).
  56.  
  57. System Software peeking through the QD encapsulation of graphics
  58.  
  59.   There are places where the system software "knows" things that would
  60.   be cleaner if only QuickDraw knew about them.  This includes the Menu
  61.   Manager slamming the pixel images of menus onto the screen itself, and
  62.   restoring what was underneath itself. -- The Menu Mgr "knows" that the
  63.   screen is only 200 pixels tall and 160 bytes wide.  A few other parts
  64.   of the system "know" similar things.
  65.  
  66. Third-party software accessing hardware directly
  67.  
  68.   This is the big one.  For whatever reasons, tons of 3rd-party software
  69.   accesses the screen hardware directly.  (A popular reason is that QD
  70.   wasn't fast enough for their purposes, of course.)
  71.  
  72.   Even if you get past toolbox application-interface issues and fix the
  73.   system software to always use QuickDraw instead of knowing things about
  74.   the screen, careless 3rd-party software compatibility is a big problem
  75.   if you're trying to do a larger-than-standard screen, or an other-than-
  76.   2-or-4-bit-deep screen.
  77.  
  78. -- 
  79. David A. Lyons, Apple Computer, Inc.      |   DAL Systems
  80. Apple II System Software Engineer         |   P.O. Box 875
  81. Internet:dlyons@apple.com                 |   Cupertino, CA 95015-0875
  82.  
  83. My opinions are my own, not Apple's.
  84.