Byte review of the original Macintosh (Feb, 1984)
Mac Draw was originally called Mackelangelo? Yeah, I think they made the right choice there.
Also if you look at the text sample on page 17 you can see that they hadn’t even picked the font names yet.
Geneva Chicago is called System.
The Apple Macintosh Computer
Mouse-window-desktop technology arrives for under $2500
by Gregg Williams
Apple established itself as one of the leading innovators in personal computing technology a year ago by introducing the Lisa, a synthesis and extension of human-interface technology that has since been widely imitated. Now the company has strengthened that reputation with a new machine, the Macintosh (above). In terms of technological sophistication and probable effect on the marketplace, the Macintosh will outdistance the Lisa as much as the Lisa has outdistanced its predecessors.
The Macintosh arrives, finally, after a history of colorful rumors. It will cost from $1995 to $2495, weighs 22.7 pounds, and improves on the mouse-window-desktop technology started by the impressive but expensive Lisa computer. A system with printer and second disk drive costs about $900 more, but even at that price, the Macintosh is worth waiting for.
The Macintosh at Work
Before we look at the Macintosh (or Mac) in more detail, let’s look at how it works. When you turn the Mac on, its screen tells you to insert a 3-1/2-inch Sony floppy disk. When you do that, the Macintosh puts a disk icon on the screen along with the disk’s name. As with the Lisa computer, you first select an object, then choose a menu item that works on the object. Say, for example, we choose the disk by moving the cursor to the disk icon and clicking the mouse button once (figure la). The disk “opens up,” showing a window containing icons, each one of which corresponds to an item on the disk. To start using the Mac Paint program, we select the Mac Paint icon and choose the menu item “open,” as shown in figure lb. (We also could have opened Mac Paint by double-clicking on the icon.) What follows is a brief example of how the Mac Paint program works. When we open the program, we get the screen of figure 1c. The large blank area is a window onto the drawing area, the boxes on the left are tools, the boxes on the bottom row are patterns, and the lines in the corner are selections for the current line width. By selecting the “open oval” tool and the thickest line width, we can draw empty ovals with thick borders (figure 1d). By selecting the “paint bucket” tool and the “diagonal bricks” pattern, we can fill the oval with that texture (figure 1e). The “eraser” tool lets us erase part of the image (figure 1f); for finer control, we can give the FAT BITS command (figure 1g), which allows us to erase or paint on a pixel-by-pixel basis. When we are finished with our image and select the QUIT command, the program displays an alert box that asks if we want to save our changes (figure 1h).
Foundations of Macintosh Design
The Macintosh computer is built on three cornerstone ideas: second-generation Lisa technology, reliability and low cost through simplicity, and maximum synergy between hardware and software. Each of these ideas contributes significantly to the uniqueness of the Mac’s design.
Second-Generation Lisa Technology
Without question, the strongest influence on the Mac is that of the Apple Lisa computer, which proved the viability of certain concepts in a commercial product: the graphics/ mouse orientation, the desktop metaphor, the data-as-concrete-object metaphor, and the shared user interface between programs. The Mac has inherited these concepts; for further details on them, see my article, “The Lisa Computer System” (February 1983 BYTE, page 33).
Four differences between the Lisa and the Mac make the latter a second-generation computer. First, the Mac runs at a higher clock speed, 7.83 MHz (compared to the Lisa’s 5 MHz). Second, the Mac, which has a smaller amount of memory to work with than the Lisa, uses its memory more efficiently because its programs and subroutines are coded in 68000 assembly language (as opposed to the Lisa, which uses less efficient 68000 machine-language programs that are compiled from high-level Pascal source code). Third, the Macintosh eliminates add-on peripheral cards and uses instead a highspeed serial bus that implements what Apple calls “virtual slots.” (I will talk about this in greater detail below.) The final difference is actually an important limitation of the Macintosh: it allows only one major application program to be active at a time (the Mac BASIC and “desk ac- cessory” programs are two exceptions that I’ll cover later). This limitation is largely due to the Mac’s small memory space and the overall design of the software, which assumes that the current program has access to all the machine’s memory. This is not as bad as it sounds; a single application can use multiple windows, and material can be cut and pasted from one document to another by storing the material to be pasted on a “clipboard” before loading in the second document (which replaces the first). Still, the absence of hardware slots and the inability to run two applications simultaneously are two important ways in which the Macintosh is fundamentally different from the Lisa computer.
Reliability and Low Cost through Simplicity
Although the Macintosh costs approximately one-third the price of a Lisa, the Mac has much more than one-third of the Lisa’s power. The idea of reliability through simplicity not only makes the Macintosh possible at a relatively low price but also produces a machine that has a reliability normally associated with much simpler computers.
One component of the Mac’s simplicity is its low chip countâ€”it contains about 50 ICs (integrated circuits), which decreases its physical size and price and increases its reliability. Mac reduces its chip count by combining the functions of many standard chips into eight programmable-logic arrays (PALs).
The Macintosh has only two circuit boards, one that holds all its analog circuitry and one that holds all its digital circuitry (see photos 2a and 2b). By partitioning its functions and reducing the number of connectors (by decreasing the number of boards to be connected), the designers have made the Mac both more reliable and less expensive. They carried this philosophy farther by eliminating hardware slots; you add peripherals to a Mac through its two high-speed serial ports.
The Macintosh was designed to reduce (or, in the case of the digital board, eliminate) the number of places in which hardware must be fine-tuned during assembly. In some cases, the designers eliminated the need for adjustment through clever circuit design, which also means there’s one less thing to go wrong with the computer once it is in the owner’s hands. In other cases, Apple eliminated fine-tuning by requiring a vendor of externally manufactured subassemblies to tune the part before delivery; for example, the video-display tube and yoke are delivered pre-adjusted, and the Sony 3V2-inch disk drive is delivered tested and with several Apple-specified modifications.
Maximum Synergy between Hardware and Software
The Macintosh’s hardware and software were optimized for maximum performance. This means that the hardware and software evolved over a period of time in a process of mutual give and take. For example, the pixels displayed on the Mac’s video display are square (not rectangular, as in other computers); this greatly simplifies the software that draws squares and circles, scales text and graphics, and prints screen images.
The main unit of the Macintosh consists of eight parts: two circuit boards, a cable to connect them, a metal chassis, a 3-1/2-inch disk drive, a video-display tube with yoke, and a plastic front bezel and rear housing (see photos 3a and 3b). An external mouse and keyboard make for a total of 10 parts. The main unit takes up an amazingly small 10-inch by 10-inch area (it is 13% inches high). True, the keyboard and mouse take up more area than that, but the footprint of the main unit is considerably smaller than that of comparable com- puters. The Mac is also pleasantly compact and light; an entire Mac system in an optional padded satchel weighs 25.6 pounds (less than many transportable computers) and can be carried onto an airplane.
Figure 2 shows a block diagram of the Macintosh hardware; for more details, see the “Macintosh System Architecture” text box. For now, let’s look at the machine’s major subassemblies: Processor: The Macintosh uses a Motorola 68000 processor running at 7.83 MHz.
Video display: The Mac has a 9-inch monitor that displays a noninterlaced image at 60.15 Hz. The resolution of the video image is 80 pixels per inch, so the overall screen is 512 by 342 pixels.
ROM: The Mac uses two 256K-bit ROMs configured as 64K bytes of memory. The ROM (read-only memory) contains most of the Mac’s operating system and a “toolbox” of optimized 68000 user interface related routines (see the text box “The User Interface Toolbox” for more detail). The ROM is always accessed at full speed, 7.83 MHz.
RAM: The Mac has 128K bytes of memory; at some point (Apple says by the end of 1984), this will be expandable to 512K bytes (by substituting 256K-bit dynamic RAM (random-access read/write memory) chips for the 64K-bit chips currently being used). The screen display uses 21,888 bytes and is drawn using this memory and DMA (direct memory access) circuitry. Apple has an un- disclosed proprietary technique for phase-locking the 68000 to less expensive memory, which lowers the product cost without sacrificing the speed of memory access.
When the Mac is drawing a horizontal line of the video display, the 68000 and the video DMA circuitry alternate (interleave) their accesses to the RAM address and data lines.
Since these two can never access RAM simultaneously, the 68000 can never produce hashing or other glitches in the video display by accessing RAM at the wrong time. Because of this interleaving, the 68000 accesses RAM at 3.92 MHz, half of the full 7.83 MHz rate, during the display of a horizontal line of the screen. This is done in the following way: the DMA circuitry puts a word from RAM into the video shift register; while the register is sending out those 16 bits serially to the screen, the 68000 uses RAM for its own purposes; then the cycle begins again with the DMA circuitry.
When the video display is doing a horizontal or vertical retrace, however, the 68000 gets exclusive use of the RAM at its full speed, 7.83 MHz. This has a significant effect on the average speed of RAM access. Out of the 45 us (microseconds) for each horizontal display line, over 12 us (about 27 percent of the time) are occupied by horizontal retrace. Of these 12 us, about 0.5 us is used to send data to the sound and disk-speed circuitry, while the rest is available to the 68000. Furthermore, out of the 16.626 ms (milliseconds) used to draw each complete screen, 1.258 ms (about 7.6 percent of the time) are devoted to vertical retrace. Of this, about 14 us are used for sound and disk-speed control (representing the control work done at the end of the equivalent of 28 unused horizontal lines of video), leaving more than 1.244 ms for the 68000 to access RAM at full speed.
To summarize, the ROM is always accessed at 7.83 MHz, regardless of screen display. The RAM is accessed at 3.92 MHz during screen display and at 7.83 MHz otherwise. The average speed of the system is around 6 MHz.
One memory area of interest is the sound buffer. Along with associated hardware, this buffer enables you to create four channels of arbitrary sound while using no more than 50 percent of the 68000′s computing power. The 68000 performs look-up operations every 44 us on up to four 256-byte waveform tables; the result of these lookups is placed in a 370-byte sound buffer, from which the sound hardware fetches 1 byte every 44 us to deliver to an 8-bit digital-to-analog circuit (DAC). An internal VIA (versatile interface adapter) can also be used to generate a single square-wave tone while using an insignificant part of the 68000′s computing power.
Mass storage: The Macintosh uses a custom version of the Sony 3-1/2-inch disk and drive (see photo 4). The drive can store 400K bytes on a single-sided 3V2-inch disk; the Mac is designed to be able to use double-sided drives to get 800K bytes per disk, an option that Apple may pursue at a later date. The standard Sony 3-1/2-inch disk (used to date by Hewlett-Packard and other vendors) puts 70 tracks of data at 135 tpi (tracks per inch) onto each disk. At Apple’s urging, Sony now makes the drive in another model that has 80 tracks of data at 135 tpi. As a comparison, the Hewlett-Packard HP 150 uses the 70-track version and conventional sectoring to get 270K bytes per single-sided disk.
In addition to the change to 80 tpi, Apple contracted Sony to modify the drive in several other ways. Two changes allow the Sony drive to mimic the behavior of the Lisa “twiggy” drives (which were originally chosen for use in the Mac): disk ejection under software control and variable disk-rotation speed. The first change allows the Mac to ensure that a disk is correctly updated before it is surrendered to the user (that is, you can’t take a disk out of the drive until the Mac software permits it). The second change enables the Mac to record onto the disk at a constant linear density (which means you can put more data on the outermost tracks), as opposed to the constant radial density approach most computers use (which puts the same amount of data on each track regardless of position).
The Macintosh’s drive rotates under software control between 390 and 600 rpm (revolutions per minute) and transfers data at the rate of 489.6K bits per second (bits as recorded on the disk, not decoded data bits). Most computers use a disk-controller chip instead of the processor to control the drive. The Mac (like the Apple II) uses its processor to directly control the drive. Because the Macintosh can control more disk-related parameters than the Apple II (the variable motor speed, for example), Macintosh owners will be treated to an even greater wealth of copy-protection schemes than Apple II owners enjoy. Also, the Macintosh drive uses modified group code recording to encode data onto the disk. This technique, invented by Steve Wozniak for use with the Apple II, encodes 6 bits of data into an eight-transition group that is recorded onto the disk surface.
Keyboard: The keyboard has 58 keys; the left Shift key is split on the international version of the Macintosh, giving it a total of 59 keys. The keyboard includes Return, Caps Lock, and Shift keys in their usual places, two Option keys, and a cloverleaf command key (see photo 5). Combinations of the Shift, Caps Lock, and Option keys give each key up to six meanings; the command key acts as a modifier and is often used with a letter key as the keyboard substitute for a mouse-selected menu item. The keyboard contains an 8021 microprocessor and is connected to the main box by a four-wire bidirectional serial connection. The connections on both ends use the same kind of square modular plug found in most telephones.
Mouse: The Mac’s one-button mechanical mouse, about the size of a pack of cigarettes, is essentially the same as the Lisa’s; it differs only in the shape of the plastic housing. The mouse is used to position the cursor on the screen; when you slide the mouse over a horizontal surface, the cursor moves in the same direction on the screen.
Serial bus: The Macintosh’s serial bus is very important because it is the way that most future peripherals (except the second 3-1/2-inch disk drive and the keypad) will connect to the computer. The bus can run in two modes: with an external clock, it can transfer data at up to 1 megabit per second; with internal clocking (which embeds clock bits in the data stream itself), it can transfer data at up to 230.4K bits per second. The latter scheme will be used to connect most peripherals, which need only a low to medium data-transfer rate, to the Macintosh in a passive daisy-chained line. This scheme implements what the Mac’s designers call “virtual slots.”
Virtual slots have several advantages over conventional hardware peripheral slots. They reduce the potential problems inherent in any added mechanical connection (a serial interface connector has fewer pins than a typical interface board). They reduce RFI (radio-frequency interference) by keeping the main box leakproof and allowing easy, inexpensive shielding of the serial line. By deciding that peripherals will supply their own power, the Macintosh designers were able to streamline the power supply of the main box without worrying about the power needs of unspecified future peripherals. Finally, virtual slots eliminate the need of peripheral cards to insert themselves somewhere in the computer’s memory map; the unchanging memory map creates a known, unchanging system architecture that all software designers can be assured of, regardless of the peripherals connected.
The virtual-slot scheme is both practical and elegant; it offers a simple, standard way to connect unspecified future peripherals. The 230.4K bit-per-second data-transfer rate is high enough to meet the needs of most peripheralsâ€”printers, modems, plotters, music synthesizers, and so on. However, one class of add-on card will not work using this scheme: processor cards like the Microsoft Softcard, which allow a computer to run another processor’s software. Such cards require full access to the data and address lines and will not work via a serial “virtual slot.” As a result, despite some rumors to the contrary, the Macintosh will never use IBM PC- or MS-DOS-based software.
Power supply: Apple designed two power supplies for the Macintosh. The first one uses a 60-watt switching power supply similar to one used in the Apple II family; it can operate on 85 to 135 V AC at either 50 or 60 Hz. For technical reasons, use of this power supply would have delayed the introduction of the machine, so Apple designed and produced a simpler nonswitching power supply (105 to 130 V AC, 60 Hz) for initial use in the first U.S. models of the Macintosh. The first switching power supply will be used later in the year for the international model and possibly for the U.S. model.
The supply was designed to drive two twiggy disks; when the design was changed to include two 3-1/2-inch disks instead, the supply had a sizable margin of unused power.
As stated before, the Macintosh contains 64K bytes of ROM accessed at 7.83 MHz. The ROM contains most of the Mac operating system and a set of optimized 68000 routines called the Macintosh User-Interface Toolbox. The operating-system software interacts at the lowest level with the hardware; it includes such things as device drivers and memory- and file-management routines. The toolbox contains various routines that let you manipulate windows, text, the mouse, pull-down menus, desk accessories, dialogue boxes, fonts, and other aspects of the Mac user interface. These are high-level routines that perform the details of such complicated operations with minimum programming on the application designer’s part. For example, the window-management routines take care of correctly redrawing the display when a window is moved or changed. For more details, see the text box “The User-Interface Toolbox.”
The designers intend for you to access all ROM routines indirectly via the 68000 “line 1010 unimplemented” instructions, which receive their addresses from a table in RAM; this table can be changed to point to other routines, thereby allowing future versions of Mac software to patch the inevitable bugs that will be found in the Mac ROM. Because the application drives the ROM routines (instead of the other way around), the Macintosh is an “open” system whose behavior is completely determined by the contents of the disk inserted into itâ€”that is, software designers can use the ROM routines to create a “standard” Macintosh application, or they can write their own code to create an application that behaves the way they want it to.
Although the designers of the Macintosh have a general philosophy of allowing only one application program to be open at a time, they have included in the main menu a collection of short, useful programs that can run without forcing you to end your current program. Apple calls these programs desk accessories. Many of the accessories are simply conveniencesâ€”the clock accessory, for example, shows you the current date and timeâ€”but a very powerful accessory is called the scrapbook. Ordinarily, you can cut and paste data from one document to another by cutting the data into the clipboard, loading in the new document, and pasting in the data; this process would be tedious if you had several items of the same type to cut and paste. The scrapbook is a sequence of data itemsâ€”text or graphicsâ€”that can be stored or recalled together, thus minimizing the number of document changes and allowing you to recall often-used data items easily. The scrapbook is actually implemented as a disk file; as a result, it tends to be rather large.
System software reacts to all peripherals on an asynchronous basis-peripherals compete for the attention of the 68000 by sending it interrupts, which the 68000 services according to the level of the interrupt. This keeps the 68000 from being tied exclusively to a peripheralâ€”for example, to the 3-1/2-inch disk drive waiting to get up to its full speedâ€”when it could be doing something more useful. The Mac’s designers have managed to do this even with high-speed peripherals that usually require the full attention of a processor. For example, disk and serial-port routines have been dovetailed to permit the use of both peripherals at the same time.
Reliability was one of the main reasons that Apple decided to use the 3-1/2-inch Sony disk drive instead of the 5-1/4-inch twiggy drive. (A projected shortage of twiggy drives was another reason.) Apple is expecting the Macintosh to be the first real consumer-oriented computer, and it sees the magnetic medium as being more likely to fail than the electronics. The Sony 3-1/2-inch disk is better suited to the consumer environment. The drive can hold an acceptable amount of storage per disk, and the small disk, with its rigid shell and normally closed access window, is less likely to suffer from bad handling than a conventional 5-1/4-inch floppy disk. In addition, the magnetic medium is connected to a steel hub that the drive mates with and rotates. This is an improvement over 5-1/4-inch floppy-disk drives, which clamp the Mylar edge of the center hole. The 3V2-inch disk hub is needed to get accurate enough disk-head placement to make a data density of 135 tracks per inch possible.
The data on the disk is encoded in a way that enables the Macintosh to recover from some disk medium or disk file errors. The file directory is duplicated in a normal disk file (which can be used if, for some reason, the directory is damaged). Also, each block of data on the disk includes a 12-byte identifier that gives the file number, sequence-within-file number, and date/time stamp for the data in the rest of that block; this can be used in many situations to recover most or all of the data on the disk.
Applications and Languages
Neither application software nor a language is included in the basic Macintosh package. However, a two-program set will be available for $195; both programs require the recently introduced Imagewriter printer to print things out. The first program is Mac Paint, the drawing program we looked at earlier. Created in house at Apple, Mac Paint is limited to drawings that will fit on one 8-1/2- by 11-inch page. Mac Paint is unlike the Lisa drawing program (Lisa Draw) in that it manipulates the drawing on a bit-by-bit level (a Lisa Draw drawing is stored as a collection of elementary objectsâ€”circles, text, boxes, etc.). This representation makes some things, such as arbitrary erasures, easier on the Mac and other things, such as deleting a single object within the drawing, harder.
The second program in the set is Mac Write (figure 3), which was created out of house for Apple and can handle documents up to 10 single-spaced or 20 double-spaced pages. Like Lisa Write, Mac Write can handle multiple fonts and sizes as well as variations achieved by adding any combination of five modifiers-underline, bold, italic, outline, and shadow.
Apple Macintosh Pascal, Assembler/Debugger, BASIC, and Logo will cost $99 each; the first two will be available during the second quarter of 1984, and the other two will follow in the third quarter. The Logo is from LCSI, which developed Apple II Logo. Both the BASIC and Pascal compile on a line-by-line basis into an intermediate pseudocode, which gives them the speed of compiled languages while retaining the interactive nature of interpreted languages. Both languages use separate windows for program source code and output, and both can be debugged on a line-by-line basis. Both have graphics and mouse commands that call on the toolbox routines in ROM, and both use floating-point arithmetic routines (in RAM) that meet the IEEE-754 floating-point standard.
Mac Pascal, which was created out of house, is interesting in that it is the only Pascal I know of that can be executed interactively. Another nice feature is its syntax checker, an item that can be called from its “Run” menu. This menu item is often handy for finding those petty syntax errors to which Pascal code is prone.
Mac BASIC was created in house by Donn Denman, who worked on Apple III Business BASIC. An interactive, multitasking BASIC, it can execute multiple copies of the same program or multiple programs simultaneously; each program and each running task has its own window.
Other Apple programs announced for delivery in 1984 include Mac Terminal (which emulates the DEC VT-52 and VT-100 and Teletype ASR33 terminalsâ€”available first quarter, $99). Also planned are Mac Draw (an object-oriented drawing program) and Mac Project (a scheduling and project-management program). These are both Macintosh versions of two Lisa application programs; each costs $125 and will be available in the third quarter of 1984.
Apple has not spent all its energy trying to write all the software that the Macintosh needs. Instead, it has created two exemplary Macintosh packages and gone to third-party software developers to get them to create the bulk of available Macintosh software. Apple estimates that by the time you read this, the Mac will be in the hands of more than 100 software vendors.
At the time this was written, some software developers had made commitments to market Macintosh software. Microsoft Multiplan and BASIC will be available at the Mac’s introduction; Microsoft File, Chart, and Word will be available by mid-February. Lotus is working on converting its popular 1-2-3 spreadsheet program. Software Publishing Corporation will have its PFS File and PFS Report programs available sometime in April.
The Macintosh uses Apple’s new $495 dot-matrix Imagewriter printer, the only printer that is supported by the current print driver within the Macintosh. To get its level of graphics and text quality (see listings la through 1c), the Imagewriter usually stays in a graphics mode that prints a single column of dots for every byte sent to it by the Mac. However, the Imagewriter can print text in three modes: a high-resolution mode (listing 1b), a medium-resolution mode (listing 1c), and a draft mode that uses the printer’s built-in character set for quick text-only printing. (I found I prefer the medium- over the high-resolution text.) Although the Imagewriter could hardly be called fast, it is not unacceptably slow, and it is considerably faster than the Apple Dot-Matrix Printer running under the Lisa computer’s parallel port.
Two other pieces of hardware are an external disk drive (at $395, available during the first quarter) and a numeric keypad ($99, at introduction). The external disk driver connects to the main unit via a dedicated “second disk” connector in back. When the keypad is connected, the keyboard line runs from the Mac, through the keypad, and into the keyboard itself. Another product, announced but not scheduled, is external hardware that will give the Mac IBM 3270 emulation capability.
Documentation and Training
In its ads, Apple is stressing the necessity of going to a Macintosh dealer and trying the computer out. Once you have bought it, though, you will probably be learning how to use the Mac on your own. Apple will help you in this process by providing you with a cassette/disk combination. You boot up the 3-1/2-inch disk tutorial and listen to the interactive lesson provided on the cassette. (Of course, you have to have a cassette player.) Although I have not seen the cassette/disk tutorial program, I think it will work well; text-only tutorial programs are fine, but many buyers of the Mac will benefit from the warmth of a human voice teaching them.
I saw final-draft copies of only two Macintosh product documents. Explore Mac Paint is a booklet (about 25 pages) that teaches you about Mac Paint by showing you what it does. It is very easy to read because it has more pictures in it than text. Mac Write is much longer and looks more like conventional documentation. It is sensibly divided into three sections : “Learning Mac Write” (a do-by-example tutorial that shows you most of the features of the program), “Using Mac Write” (a “cookbook”
showing you how to accomplish many common tasks), and “Reference.” All in all, the documentation should be quite good.
The Macintosh has no user-serviceable parts. Unlike the Lisa computer, the Mac is not meant to be opened by the user; you are expected to return your Mac to an authorized Apple service center for repair. The Mac comes with Apple’s standard 90-day parts-and-labor warranty. You can also buy a one-year maintenance contract. According to Apple, other service plans will be available, including options for large-volume purchasers of the Macintosh.
I wrote this article after two days of meetings with various members of the Macintosh staff, studying preliminary Mac documentation, making numerous phone calls to Apple, and working for several days (over a period of weeks) with a Macintosh computer. I used several final-draft versions of Mac Write and Mac Paint, though I occasionally found operating-system features that “crashed” the system or weren’t yet implemented. Apple was still making minor changes to both software and pricing when this was written.
There is a lot to like about the Macintosh; it is a superb example of what American technology can do when given the chance. The simple, compact, economical design, the virtual slots, and the enhanced performance of 128K bytes of memory because of the 64K-byte ROM code are all important innovations done well.
I’m glad that Apple decided to go with a Sony 3-1/2-inch disk (as compared to the Lisa 1, which needs special, expensive, hard-to-get twiggy floppy disks). However, I’m disappointed that both Apple and Hewlett-Packard have used nonstandard formats that are incompatible with each other. It would have been nice to start the widespread use of the Sony microfloppy with a standard disk format, but the incentive to sacrifice standardization for performance is one of the drawbacks of a competitive industry.
I also feel strongly that the basic Macintosh package should include two disk drives. With a one-drive system, it will take at least eight disk swaps to back up a 3-1/2-inch disk. How many people (especially novices) will go to this trouble, and how many will suffer when they don’t? (I am not alone in feeling this way; the first thing two BYTE editors said when they first saw the Macintosh was, “Only one disk drive? You’ve got to be kidding!” After numerous disk swaps when trying to load Mac Paint from one disk and a drawing from another, I am convinced that most users will eventually buy the second disk drive.) At the time this was written, Apple was committed to a totally unbundled pricing of the Macintoshâ€”that is, the basic Macintosh package (at $1995 to $2495) includes the main unit, the keyboard, the mouse, necessary cables, a tutorial disk, and a disk containing the operating system. Everything elseâ€”Mac Write, Mac Print, all languages, the Image-writer printer, and the second disk driveâ€”is priced separately. Since manufacturers want to claim the lowest possible price for their products, unbundling is common (IBM, for example, introduced the IBM PC with a low-end model, 16K bytes of memory, and a cassette port for $1265). True, the low-end Macintosh is far more complete than most manufacturers’ low-end products, but Apple has taken unbundling farther than any other microcomputer vendorâ€”no one has sold a computer without BASIC (or some other language) in years. A usable Macintosh system with Mac Write, Mac Draw, a programming language, and the Imagewriter printer costs from $2589 to $3189; a second disk drive will add another $395. Apple would be wise to make this package available at a discounted package price, just as it now does for the Apple IIe. Apple contends that the Macintosh will become a home machine because office users will take it home a few times and like it enough to buy themselves one for their personal use. However, the Mac is still too expensive to penetrate the home market significantly; that will be left to less expensive machines, such as the Commodore 64, the IBM PCjr, the Apple II family, and the Coleco Adam.
Finally, I have to point out that, although Apple’s advertisements call the Macintosh a 32-bit system, its MC68000 processor is generally regarded as a 16-bit processor (the limiting factor is its inability to deal with multiplicands greater than 16 bits). This is no different from the vendors of some other 68000-based microcomputers, but I hate to see Apple hyping a machine that easily stands on its own merits.
Exactly a year ago, in a product description of the Apple Lisa computer, I said, “Technology, while expensive to create, is much cheaper to distribute. Apple knows this machine is expensive and is also not unaware that most people would be incredibly interested in a similar but less expensive machine. We’ll see what happens.”
Now we have seen what has happened, and it is rather impressive. The Lisa computer was important because it was the first commercial product to use the mouse-window-desktop environment. The Macintosh is equally important because it makes that same environment very affordable. It is also important because it is a second-generation design that, in several areas, improves on the original.
The Macintosh will have three important effects. First, like the Lisa, it will be imitated but not copied. In the year since the Lisa was announced, dozens of hardware and software companies have announced products that duplicate part of the Lisa user environmentâ€”the mouse, the windows, the integrated software. Some, like Microsoft’s mouse-based series of packages and Visicorp’s Visi On, have tried to mimic that environment on a smaller, less expensive machine (the IBM PC) with only partial success.
In a similar way, companies will be out to imitate the Macintosh, but their attempts will be less successful. Those companies that try to imitate the Mac on other machines will have trouble matching its price/performance combination. So far, attempts to imitate the Lisa by enhancing an existing computer (usually an IBM PC) have been given the benefit of the doubt because they are less expensive than the Lisa; attempts to imitate the Macintosh will now have a harder time because the Mac with software is about as cheap as the host hardware alone.
The only other way to match the Mac would be to design an entirely new system that would be comparably priced. This will probably not be attempted; only a few corporations have the ability to duplicate Apple’s design and manufacturing effort, and still fewer will make such a large financial commitment. (Apple is the only American company that does not live under the tyranny of next quarter’s profits; if any company tries to duplicate Apple’s effort, it will probably be a Japanese one.) Those that try will find it hard to create similar technology that competes with the Macintosh in size and price; Apple is confident that a number of its components and manufacturing techniques will be difficult to copy. Even though Apple has suffered from carbon-copy Apple II machines, it does not expect to have the same thing happen with the Macintosh.
Second, the Macintosh will secure the place of the Sony 3-1/2-inch disk as the magnetic medium of choice for the next generation of personal computers. I was disappointed when I first saw that the Mac used the 3V2-inch diskâ€””Another disk format to contend with,” I thought, “and you can’t use disks from the Lisa.” (You will be able to use Mac disks with the new Lisa 2; see “Apple Announces the Lisa 2,” on page 84.) Once I had heard Apple’s line of reasoning, though, I had to agree with its choice. Hewlett-Packard’s HP 150 is the only other major computer to use the Sony 3-1/2-inch disk to date; Apple’s use of it will tip the scales in Sony’s favor, and other manufacturers will follow.
Third, the Macintosh will increase Apple’s reputation in the market; in fact, to some people Apple will be as synonymous with the phrase “personal computer” as IBM is synonymous with “computer.” The Mac will compete with IBM’s PC, not its cheaper sibling, the IBM PCjr. Many business users will stay with the “safer” IBM PC. However, people new to computing and those who are maverick enough to see the value and promise of the Mac will favor it. The Mac will delay IBM’s domination of the personal computer market.
Overall, the Macintosh is a very important machine that, in my opinion, replaces the Lisa as the most important development in computers in the last five years. The Macintosh brings us one step closer to the ideal of computer as appliance. We’re not there yetâ€”at least, not until the next set of improvements (which, in this industry, we may see fairly soon). Who knows who the next innovator will be?
Macintosh System Architecture
by Burrell C. Smith
Inside the Macintosh, hardware and software work together to provide a system capable of supporting high-performance graphics, built-in peripherals, and communication channels to the outside world. From the beginning of the Macintosh project, the product-design goals of small size, light weight, and moderate end-user cost encouraged us to create a low-power, low component-count design. The large number of I/O devices that are built into each unit, combined with our desire for high performance, caused us to explore many alternatives for each aspect of the hardware implementation. A cooperative spirit among the people working on the industrial design, analog electronics, digital electronics, and low-level software resulted in the synthesis of detailed implementations that combined strengths from each group, providing an integrated design solution for all aspects of the product.
The heart of the Macintosh digital electronics is the MC68000 processor and its memory (both RAM and ROM). In the Macintosh, the data-output lines from the system RAM drive a data bus separate from that used by the rest of the machine (see figure 2). The RAM is triple-ported; this means that the 68000, screen-displaying hardware, and sound-output hardware have periodic access to the address and data buses, so that the video, the sound, and the current 68000 task appear to execute concurrently.
ROM memory connects directly to the system data bus and is used by only the 68000. Much of the system’s time-critical code, such as the low-level graphics primitives, operating-system routines, and user-interface routines, reside in ROM. Macintosh software calls this code through 68000 “line 1010 unimplemented” instructions, which get one of approximately 480 addresses from an address table stored in low memory; this effectively allows the ROM subroutines to function as extensions of the 68000 instruction set. Since the ROM data and address buses are used exclusively by the 68000, ROM is always accessed at the full processor speed of 7.83 MHz; consequently, the ROM can perform as a readonly cache memory.
The 512- by 342-pixel video display appears in memory as a linear array of 10,944 16-bit words of data, with the most significant bit representing the pixel farthest left. Each 512-pixel horizontal line consists of 32 words of data, with bits shifted out at 15.67 MHz (322.68 us per 512-pixel line) followed by 12 words of horizontal blanking (taking 12.25 us). The last memory bus cycle of each horizontal line is reserved for sound DMA, where a byte of sound data is fetched from the sound buffer and sent to the sound PWM (pulse-width modulator) for conversion into an analog level. The update rate of the sound channel is then equal to the video horizontal rate, or 22,254.55 Hz. In the vertical direction, 342 active scan lines are followed by a vertical retrace and enough inactive horizontal lines to take up the same time as 28 horizontal lines, providing a vertical retrace time of 1.258 ms. Although screen-memory accesses may occur at any time, a vertical retrace interrupt is generated at the falling edge of the vertical sync pulse to allow screen animation to occur completely synchronous to the video beam movement.
Access to RAM is divided into synchronous time slots, with the 68000 and video circuits sharing alternate word accesses during the live portion of the horizontal video-display line and the sound circuits using the video time slot during the last memory bus cycle of the horizontal line. Although the access to RAM is divided three ways, the 68000′s share is maximized by giving it access to unused cycles during horizontal and vertical blanking. This way, 68000 access to RAM averages to a speed of about 6 MHz.
For high-performance sound generation, a tightly coded routine generates 370 samples of sound data and places them into the sound buffer just after a vertical retrace interrupt. The 68000′s 32-bit registers are used to control pitch with 24 bits of precision, providing each of four possible voices with 16,777,216 possible frequencies. For simpler sounds, a timer in the system’s VIA provides a square wave of programmable pitch. All sounds pass through a software-controlled volume adjustment that creates approximately 20 decibels of total amplitude variation in eight discrete steps.
The Macintosh disk controller is a single LSI (large-scale integration) component referred to as the IWM (“integrated Woz machine”) chip. The device, a one-chip integration of the disk controller originally designed by Steve Wozniak for the Apple II, handles data at 500 kilobits per second. To control the disk drive’s motor speed, a pulse-width modulator located on the digital board allows the disk to move at one of 400 possible disk motor speeds; the PWM is driven from a table in memory in a fashion similar to that of the sound system. By varying the motor speed, we created a more reliable disk drive that puts significantly more data on the same disk.
The Macintosh communications chip, the Zilog 8530 SCC (serial communications controller), provides synchronous and asynchronous data transmission at up to 230.4K bits per second using a self-clocking data format and up to 1 megabit per second using an external clock. The Macintosh’s two serial ports are identical; each provides single-ended or differential signaling and multidrop (party-line) capability.
The 6522 VIA (versatile interface adapter) rounds out the I/O requirements of the machine by providing system timers, support for the mouse and keyboard, and general-purpose I/O lines for selecting various system functions such as alternate screen and sound buffers and for communicating with the system’s real-time clock and parameter memory.
Burrell C. Smith is a member of the Apple Macintosh design team.
Going for the World Market
Having learned from past experience, Apple designed the Macintosh so that it could easily be modified for all markets outside the United States. The following examples show how pervasive nation- or language-specific aspects of a computer design are and how Apple has minimized the changes needed.
â€¢Except for the word ‘Apple” on the rear panel, the Macintosh has no English text anywhere on the product or in the ROM. Each plug is labeled with a picture that identifies its function.
â€¢The video-display rate of 60.15 Hz is generated internally instead of being derived from the line current. This allows the Mac to be used without modification in countries that have 50-Hz line current.
â€¢Macintosh software has been designed so that all text messages, message layouts, and icons can be stored in a resource file, separate from the program itself. A designer can use a resource-editor program to change text (for example, to another language), icons, message layout, and the for- mats of time, dates, numbers, and currency. With this method, the program itself does not have to be changed and recompiled to make these changes.
â€¢The keys on the keyboard are defined by the software, thus allowing Apple to change the keyboard easily to accommodate the special characters needed by some languages. In addition, Apple has designed the Mac so that two keyboards (differing in only one key) can be used for all versions of the product; Apple customizes a keyboard for a given language by printing the necessary legends into the plastic keys. In addition, any Mac keyboard can produce the full Macintosh character set; the only advantage to having the keyboard for a certain language is that the keyboard layout will be more appropriate for that language.
With these innovations, the most time-consuming part of modifying the Macintosh for another country is translating and printing the documentation. Apple reports that it will be shipping the Macintosh to several foreign countries “within several months of the Mac’s introduction.” (Companies never seem to meet such deadlines, so expect foreign versions to be shipped before the end of 1984.)
The User-Interface Toolbox
The toolbox (which occupies two-thirds of the high-speed 64K-byte ROM inside the Macintosh) includes optimized 68000 machine-language routines that handle all aspects of the Macintosh user interface-things like windows, text, the mouse, pulldown menus, desk accessories, dialogue boxes, and fonts. The figure below shows the relative relationships among the different units (or packages of routines). Here is a brief description of each unit, starting with the lowest-level unit and working up:
â€¢Resource Manager: These routines coordinate the use of resources, which are data structures such as text strings, menus, and icon and font definitions. These resources are kept separate from the actual code of an application, which means that the resources of an application can be modified without forcing a recompilation (or modification) of the application program. The Resource Manager is usually called by higher units like the menu and font managers.
â€¢Font Manager: This unit supports the use of various text fonts. It calls the resource manager when it needs to use a font not already in memory, and it is usually called by the Quickdraw unit.
â€¢Quickdraw: Quickdraw is a graphics package that is at the heart of both the Lisa and Macintosh computers. Bill Atkinson, its creator, worked for 3-1/2 years on the code, rewriting it many times and reducing it from a 160K-byte compiled Pascal program to a 24K-byte package of highly optimized 68000 code. Atkinson, who was involved in the early design of the Lisa’s user interface, designed and optimized Quickdraw for the Lisa computer; he later joined the Macintosh design team. Quick-draw is very fastâ€”for example, it can print to the screen more than 7000 characters per second. Two of its most interesting capabilities are its ability to fill in any arbitrary shape with a pattern and its ability to “clip” an image to correspond to the boundaries of an arbitrary masking shape. The latter ability is needed to correctly display window contents when one window overlaps others. The source code for Quickdraw is identical in both the Lisa and the Macintosh.
â€¢Event Manager: All system events (e.g., keypresses and mouse button presses) are received and interpreted through this unit, which mediates between the application program and the outside world.
â€¢Toolbox Utilities: These routines handle miscellaneous tasks that include string operations, fixed-point arithmetic, and bitwise logical operations.
â€¢Window Manager: Since all action on the Macintosh display occurs within windows, this is a very important unit that is used a lot. The Window Manager allows the application program to interact with windows on a high level while it takes care of the low-level details automatically. It allows you to create different kinds of boxes (document, dialogue, and alert boxes, for example), delete them, move them, change their size, and make an inactive window active and vice versa. The Window Manager ensures that the computer automatically redraws the necessary screen areas when some aspect of a window is changed.
â€¢Control Manager: This unit controls the use of software buttons, check boxes, and dials, all of which can be called on to show and alter the status of certain variables.
â€¢Menu Manager: Given a two-dimensional matrix of menu items (each column is a menu title followed by its selections), this unit controls the display and behavior of that matrix of pull-down menus.
â€¢Text Edit: These routines control elementary text entry and editing. Text Edit is designed with lots of software “hooks” so that you can modify its behavior but still use it. An external unit called Core Edit, which must be loaded into RAM, contains more sophisticated entry and editing routines; Core Edit can handle different fonts, sizes, and text styles.
â€¢Dialog Manager: Dialogue boxes are text boxes with several check boxes; usually, clicking the mouse button near a box selects it (and the action or condition associated with it) and unselects the previously checked box. An alert box (as in figure 1h) alerts you to a potentially dangerous situation and forces you to click on one of two buttons, “Cancel” or “OK.” The Dialog Manager handles the display of and user response to a dialogue or alert box.
â€¢Desk Manager: This unit allows the application program to use the desk accessories, which are resources that are called in from disk if they are not currently in memory.
Applications can be written in Mac BASIC, Mac Pascal, or 68000 assembly language (usually one of the latter two). Both Mac Pascal and Mac BASIC are designed so that their keywords directly call most of the toolbox routines. Most applications that use the routines are essentially an endlessly repeating loop that waits for an event, determines what kind of event it is, and then processes the event.
Macintosh System Software Overview
by Andy Hertzfeld
The Macintosh is more than a powerful, inexpensive 68000-based desktop computer. It comes with a built-in personality provided by 64K bytes of handcrafted system software contained in two ROM chips on its digital board. Besides performing traditional operating-system functions such as memory and file management, the Macintosh ROM includes the revolutionary Quickdraw package and a User-Interface Toolbox to help programmers develop applications that share a consistent, advanced user interface.
The Macintosh ROM can be thought of as an extension to the 68000 instruction set, augmenting its 56 basic instructions with more than 480 new instructions designed for implementing fast mouse-based applications. It is implemented entirely in 68000 assembly-language code that has been handcrafted and optimized over a period of almost three years. We chose assembly language over a higher-level language because it was very important for the system to be small and fast. The Macintosh is intended to be a very high-volume product, and we could afford to lavish time and attention on every rou- tine, making each one as efficient as possible, knowing that our efforts would be multiplied by the millions of units that we will eventually ship.
It is somewhat risky to put 64K bytes of intricate system software in ROM on a disk-based system, but we did it because we wanted the machine to have a built-in standard user interface. By using our ROM-based toolbox, a programmer saves development time and precious memory space; this provides a positive incentive for doing it our way. Also, the price per bit of ROM is significantly less than that of RAM, and not having the operating system load in from disk saves space on every disk you have. Application programs never reference the ROM directly; instead, they use compact “trap” instructions that are interpreted by the system dispatcher. This allows us to intercept any routine to fix the program bugs that will inevitably arise.
The Mac’s system software design philosophy emphasizes simplicity, flexibility, and high performance. We chose the single- application-at-a-time philosophy to help keep things relatively simple. The user- interface software is designed to be flexible because we are still learning how to make systems easier and more fun to use. Another reason for designing the software this way is that trying to live for years with what we thought was best at any given time would doom us to eventual failure. High performance is extremely important in an interactive system; people won’t enjoy using a system unless it is very responsive.
About one-third of the ROM is devoted to what we call the Macintosh Operating System, which contains many components found in more traditional systems. It includes the low-level device drivers and interrupt handlers, an asynchronous I/O system, a memory manager, a simple, fast file system, a segment loader, and various utility routines. The I/O system supports swappable, RAM-based device drivers as well as its built-in serial, disk, and sound drivers. Most I/O and file-system calls can be made asynchronously, which allows an application to overlap I/O tasks with other tasks. The memory manager minimizes the fragmentation of available memory into small pieces by supporting relocatable objects that are always accessed indirectly; the memory manager also provides an automatic caching scheme by optionally purging objects as memory grows fuller. The file system ensures against loss of data by maintaining tags on every block; these allow the contents of a disk to be pieced back together even if the directory is destroyed.
Another third of the ROM is occupied by Bill Atkinson’s Quickdraw graphics package. Quickdraw, which is the cornerstone of Apple’s “Lisa technology” is responsible for the Mac’s extremely fast user interaction. It draws practically everything you see on the screen, including text (in a variety of typefaces and styles) and both filled and unfilled rectangles, lines, and ovals. It also is capable of representing arbitrary areas of the screen called regions in a very compact data structure. All Quickdraw calls are clipped to the intersection of up to three regions, providing the fundamental capability necessary for overlapping windows. Quickdraw also is capable of recording any sequence of procedure calls and saving them as a picture. Pictures provide an easy, powerful method for transferring graphics between applications.
The final third of the Macintosh ROM is occupied by the User-Interface Toolbox, a collection of various managers and services intended to help a programmer develop applications that conform to the Macintosh standard user interface. Its principal com- ponents are resources, windows, menus, controls, dialogues, and a text-editing package. The window, menu, and control managers contain little information on how individual windows, menus, or controls look or behave. Instead, this information is encapsulated in definition functions, which are kept as resources and swapped into memory as necessary to implement messages sent by the various managers. This provides a very flexible structure capable of evolving as we learn how to improve the user interface.
Another important goal of the Macintosh system software is to facilitate the passing of data between applications. A * scrap manager is provided to help applications share data. It defines two data types that every application is requested to support (simple ASCII text and Quickdraw pictures) and lets applications define their own custom types. It provides routines for transferring data in and out of the scrap.
As stated above, Macintosh supports only one application running at any given time. This restriction is mainly due to limited available memory. By making a few simple calls to the desk manager, an application may allow many useful mini-applications to run concurrently with itself. These small programs are called desk accessories and are capable of cutting and pasting data with each other as well as with the major application. We currently provide five desk accessories (calculator, clock, notepad, control panel for default system parameters, and scrapbook).
By the spring of 1983, it became apparent that we would not be able to fit all the routines that we had hoped to into our 64K-byte ROM space. We designed a facility to allow some system code (in the system resource file) to be swapped in from disk to RAM when needed. We now use five such RAM-based packages, including a fully IEEE-standard floating-point numeric package, a standard file dialogue package, and an international string package that deals with various formats for date and time display.
In summary, the 64K bytes of ROM-based firmware provide Macintosh with a unique personality and user interface, forming the foundation for the development of communicating applications that share a common user interface. The Macintosh firmware is very fast and flexible, and it will be exciting to see all the applications that develop from it in the years to come.
Andy Hertzfeld is a member of the Apple Macintosh design team.
By the Way. . .
â€¢No, we didn’t misspell the name. “Mcintosh” is the apple, but “Macintosh” is the Apple computer. The product’s original code name was misspelled by its first users, and Apple decided to stay with that spelling.
â€¢The Mac Write program was originally named “Macauthor,” and the Mac Draw program was originally named “Mackelangelo.” People at Apple decided that the names were too cute to use; they were right.
â€¢Apple is one of those exceptional companies that gives its employees credit instead of commanding them to work in anonymity behind the corporate name. The names of the hundred or so employees who worked on the Macintosh are molded into the inside face of the plastic rear housing. Don’t try to look for them, though; the Mac is not supposed to be opened except by repair people.
â€¢The Macintosh is not going to be strictly a “serious” computer. Some of the software engineers at Apple are very excited about the great games that could take advantage of the Mac’s computing power and high-resolution graphics. I saw an incredible game that has Alice (of Wonderland fame) dodging animated chess pieces in 3D.