Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!corton!imag!imag.imag.fr From: gourdol@imag.imag.fr (Arnaud Gourdol) Newsgroups: comp.sys.mac.misc Subject: Re: IBM been goowy for along tyme Message-ID: <17981@imag.imag.fr> Date: 11 Feb 91 17:26:01 GMT References: <1991Feb9.035631.15285@gsm001.uucp> <1991Feb9.212956.12871@ux1.cso.uiuc.edu> <1991Feb10.023034.858@gsm001.uucp> Sender: news@imag.imag.fr Organization: Grenoble University. IMAG-LGI-IHM Human Interface Lines: 73 Nntp-Posting-Host: mac_b2-29.imag.fr In article <1991Feb10.023034.858@gsm001.uucp> gsm@gsm001.uucp (Geoffrey S. Mendelson) writes: >>What's the difference whether your GUI support >>library is in ROM or RAM? > > ROMs don't change much. Either intentionaly such as bug fixes or >unitentionaly due to wild stores. > > A stable base to develop code on is very useful, especially on a >machine without memory protect. The Macintosh toolbox IS in ROM. But this does not mean that there can't be bug fixes, new features added, etc. (The same is true for the Amiga). The Macintosh system allows you to alter the comportement of system calls by defining "Trap Patches". This features is used to write zillions of Inits AND by Apple to correct the bugs found in the ROM. The system automaticall installs those patches at boot time, and of course they reside in RAM. New features can be added, such as 32 bit Color Quickdraw, sound compression (MACE) and even System 7 which do not requires that you change the ROMs, but however adds thousands of features. [Comments about the fact that a library in RAM would have to be duplicated several times] This is not necesarily true. One could imagine shared libraries in RAM. In fact, this is the way it works with the Amiga and the way it was supposed to work with the NeXT (the feature was not implemented in OS 0.9, I presume it is now?). > For efficency, I would hope that the ROMS are copied into RAM on >machines with MMUs. This is because the access time of ram is much faster >than the roms currently in use. On the other hand using a rom chip is >much cheaper than an mmu. It's sort of a poor man's memory protect. On the original Mac, and I think still on the Mac Classic, the ROM is in fact faster than the RAM. This is because the RAM is used as a video memory and that the video chip steals one cycle every four cycles to the processor. Of course, the video memory don't steal cycles for the ROM, so the code in ROM executes faster. This is no more true with the Mac II line, because the video RAM is distinct from the "real" RAM, so there is no cycle stealing. However, this might be the case for Macintosh with built-in video, such as the Mac II ci, Mac II si and Mac LC. Besides, I am not sure that ROM chips on the Mac IIs are slower than RAM chips, but even if that was the case, this would not matter much, as Mac IIs are equiped with processors with a cache built-in. >---------------------------------------------------------------------------- >| Geoffrey S. Mendelson | Computer Software Consulting | Dr. | >| (215) 242-8712 | IBM Mainframes, Unix, PCs, Macs | Who | >| uunet!gsm001!gsm | | Fan too!| > IMHO, the main advantage to have the code in ROM is that it's readily available. Say you want to display some text in a window. If your system has standard libraries call that can do this reasonably well, what will you do? You'll use them, of course. Benefit for you: few line of codes to write. Benefit for your user: consistency with other application he uses that display text in a window (they will both do it the same way). If your system has not standard library, what will you do? Just write all yourself, or use one of the libraries made by other and link it with your code. This was the case of the PC-world, not so long ago. Nowadays, things are changing since Windows is slowly getting standard on PC, so you can now assume your user will have Windows. So, what's important is to have a standard library with the system, either in ROM or RAM. And this library must be well written, ie provide adequate services to you the programmer and have a consistent look and feel for the user. BTW, note that all the Macintosh sold now have ROM Simms. This means it's easy (OK, possible) to change the ROM where the size of the various patches will go beyond 1 or 2 Megs. Arnaud.