chuq@sun.uucp (Chuq Von Rospach) (01/19/86)
One of the things I got when I bought the new Inside Mac at MacExpo (I'll report on it separately) was Apple Technical Note #57 -- the Macintosh Plus Overview. it's 20 pages, and (theoretically) everything that is different about the new machine and ROM from the final published version of IM. It is twenty pages long, so I won't type it all in, but I thought an overview of the overview would be of interest: --- Macintosh Technical Notes #57: Macintosh Plus Overview Written by: Scott Knaster, January 8, 1986 This document gives an overview of the Macintosh Plus from a software developers point of view. The Mac+ differs from a mac 512K computer in these features: o enhanced 128K ROM o includes an internal 800K 3.5 inch disk drive, and an optional 800K external o 1 Meg ram standard o built in SCSI connector o expanded keyboard with arrow keays and numeric pad o serial ports are 8 pin DIN 128K ROM Mac+ is designed to be compatible with most existing Mac software. No change which would cause a significant number of existing applications to fail was implemented [editorial comment -- as long as the application follows the rules set down in IM, of course (chuq)]. the 128K ROM had three basic design goals: o maintain compatibility o enhance performance o bug fixes BE SURE TO VERIFY THAT THE NEW ROMS ARE INSTALLED BEFORE ATTEMPTING TO USE THE NEW FEATURES. Resource manager Speeded up, compacting resources files is smarter and much faster. new supercharging facility that allows specially formatted applications to start MUCH faster due to mass reads. new caching to minimize disk access [yay!] ROM now contains several commonly used resources Quickdraw performance enhancements: measured ratios of old drawing speed to new drawing speed: paragraph of text (1.5) copybits aligned (1.35) copybits (rgn->rect) (2.3) copybits, stretching, general (1.3) copybits, stretching, selected ratios (3.4) fillrect (1.44) invertrect (1.32) slanted lines (2.29) vertical lines (region -> rect) (4.98) paintoval (2.19) frameoval (2.14) paintrrect (1.71) framerrect (1.58) bug fixes: rectinrgn used to sometimes return true when the rect was in the region's bounding box but not in the region sectrgn, diffrgn, unionrgn, xorrgn, and framrgn used to cause stack overflow for regions with more than 25 rectangles in one scanline. pttoangle didn't work when angle = 90 and aspect ration was a power of two copybits sometimes clobbered source bitmap in overlapped copies copybits and colormap used to die if thePort was odd or Nil Drawtext did not work corectly with pictures if the char count was > 255 New capabilities: Fractional spacing for text All 8 transfer modes (not just srcOr, srcBic and srcXor) for text. colorbit changed so that a negative value turn off all color mapping. pictures can now have a size that's a long word (over 4 Gbytes) Font Manager: Many new feature, fractional character widths, new font numbering scheme, performance ehnahcements. Features implemented in new resource type FOND, which specifies a font family. Window manager: new variant of the standard window definition procedure which allows you to implement window zooming out to full-screen size and zooming back in to pre-zoomed area. Also new support in the window manager to implement this. Textedit: Textedit now has horizontal and vertial autoscrolling in the default clikloop. There is no way to update a scroll bar from within this clickloop, so the feature is useful mainly for dialogs with ediable text items. Desk Manager: now passes evens 0-11 to DA's instead of 0-8 Scrap Manager Now writes scrap to the boot disk (system folder on an HFS volume) rather than the default volume. Package manager: new calls Pack[8-16], all reserved for use by Apple. Standard File Package: Looks very different visually, but has retained the same external programming interface. new user features - supports arrow keys. Segment loader: The LoadSeg routine has been revised to add a capability that should dramatically reduce fragmentation. if a code segment is not marked as locked in the resource file, the segment loader will automatically move the segment up in memory before locking the segment. current development environments autmatically mark the code as locked, so use ResEdit to unlock it. CODE1 segments should remain locked. File Manager (HFS) Note: In general, you should avoid these calls and use the MFS calls. This will allow your code to work with both File systems. Most applications will rarely, if ever, have to use HFS calls. A global variable called FSFCBLen at $3F6 can be used to determine if HFS is installed. If not, this location (a word) will contain $FFFF. If it is, this location will contain a positive signed integer which gives the length of a file control block (currently $5E). Misc. notes: Caching - the file system now has a general caching mechanism. the size of the cache is set by the control panel. INIT mechanism - when the system starts up, it looks for tiles with type INIT and creator ZSYS in the system folder. If it finds any, it looks for resource type INIT in these files, and executes them. New Chooser - the Choose Printer DA has been replaced by a more powerful and general Chooser. It is used to select among devices on a network and to assign a user name as well as selecting devices on ports New Control Panel - Now controls Appletalk and size of the system cache. New keycaps - now detects which keybaord is installed and displays appropriately. Also adds a new font menu. New installer - program is a general resource installation utility. global flag for new ROMS - location $2BE will be $7FFF for new ROMS, $FFFF for old ROMS. HFS info: When HFS is installed, volumes with 800 blocks (400K or fewer) will be initialized as MFS volums, larger will get HFS directories. An HFS volume may have a special folder which contains system files. This folder must contain files named System and Finder. These are the rules: o a newly formatted volume has no blessed folder o if the user copies System and Finder into a folder, that folder will be used for booting o That folder stays blessed even if new copies of system and finder are copied into other folders on the volume. o if either finder or system is removed, the folder is unblessed. o if both are moved to a new folder, the old folder is unblessed and the new folder is blessed. o the root level can be blessed if it follows these rules. an HFS volume must have this folder for the volume to be bootable ---- I've left out a lot of material (new calls and other definitions). All typos are my problem, not apple's. In general, I'm impressed, although I wonder if people are going to bitch about the requirement to have a Finder in the boot folder (will an empty file do if the startup program is set differently?) chuq -- :From catacombs of Castle Tarot: Chuq Von Rospach sun!chuq@decwrl.DEC.COM {hplabs,ihnp4,nsc,pyramid}!sun!chuq It's not looking, it's heat seeking.