Developer Note Apple iMac Computer Developer Note Technical Publications © Apple Computer, Inc.
Apple Computer, Inc. © 1998 Apple Computer, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, mechanical, electronic, photocopying, recording, or otherwise, without prior written permission of Apple Computer, Inc., except to make a backup copy of any documentation provided on CD-ROM. The Apple logo is a trademark of Apple Computer, Inc.
Contents Figures and Tables Preface 7 About This Developer Note Contents of This Note 9 Supplemental Reference Documents PowerPC G3 Microprocessor 10 Mac OS 10 ATA Devices 10 USB Devices 11 Open Firmware 11 Chapter 1 Introduction Architecture 10 13 Features 14 Case and External Features 15 Compatibility Issues 18 System Software 18 Main RAM Expansion Modules Video RAM Expansion Modules USB Ports and Devices 19 Chapter 2 9 19 19 21 Processor module 23 G3 Microprocessor 23 Backside Cache 23 Memo
Chapter 3 Infrared Link Module 26 Devices and Ports 27 USB Ports 28 USB Connectors 28 Transfer Types Supported 29 USB Compatibility Issues 30 ADB Compatibility 30 Serial Port Compatibility 31 Macintosh-To-Macintosh Connections USB Storage Devices 31 USB Controller 31 Keyboard 32 Keyboard Layout 32 Keyboard and USB 33 Mouse 33 Hard Disk Drive 34 Video Display 34 Infrared Communication Link 35 Sound System 35 Sound Inputs 36 Built-in Microphone 36 External Sound Input 36 Sound Outputs 36 Internal Speaker
Placing the Computer Face Down 42 Removing the bottom cover 43 Unfastening the Cables 43 Removing the Retaining Screws 45 Removing the Logic Board Assembly 46 Removing the EMI Shield 46 Locations of the Expansion Slots 47 Main RAM Expansion 48 Mechanical Design of RAM SO-DIMMs 49 Electrical Design of RAM SO-DIMMs 49 SDRAM Devices 50 Configuration of RAM SO-DIMMs 51 Address Multiplexing 52 RAM SO-DIMM Electrical Limits 52 Video RAM Expansion 53 Chapter 5 Software 55 Why Make This Change? 56 What Has Chan
Interrupt Handling 64 Outmoded Resources 65 RAM Footprint 65 RTAS 65 NV-RAM 65 NanoKernel 66 Startup Disk Control Panel 66 Open Firmware and the Device Tree Interrupt Layout 67 Machine Identification 67 Appendix Abbreviations Index 6 73 69 67
Figures and Tables Chapter 1 Chapter 2 Chapter 3 Chapter 4 Introduction 13 Figure 1-1 Figure 1-2 Front view 16 Side view showing I/O bay Architecture 21 Figure 2-1 Block diagram Devices and Ports 17 22 27 Figure 3-1 Figure 3-2 USB Type A port and connector ANSI keyboard layout 32 Table 3-1 Table 3-2 Table 3-3 Table 3-4 Pin assignments on the USB port 29 Display resolutions and pixel depths 35 Distortion specifications 38 Noise specifications 38 RAM Expansion 29 41 Figure 4-1 Figure 4-
P R E F A C E About This Developer Note This developer note is a concise description of the iMac™ computer, with the emphasis on the features that are new or different from those of other Macintosh desktop computers. This developer note is intended to help hardware and software developers design products that are compatible with the products described here.
P R E F A C E Supplemental Reference Documents 0 For more information about the technologies mentioned in this developer note, you may wish to consult some of the following references. PowerPC G3 Microprocessor 0 For more information about the PowerPC 750™ microprocessor used in the iMac computer, developers may wish to refer to the standard reference, PowerPC 740/750 Microprocessor Implementation Definition Book IV.
P R E F A C E USB Devices 0 For more information about USB on the Macintosh computer, developers should refer to Apple Computer’s Mac OS USB DDK ATI Reference. Information is also available on the World Wide Web, at: http://developer.apple.com/dev/usb/ For full specifications of the Universal Serial Bus, developers should refer to the USB Implementation Forum on the World Wide Web, at: http://www.usb.org/developers/index.
P R E F A C E IEEE Std 1275-1994 Standard for Boot (Initialization, Configuration) Firmware (Version 1.7) Open Firmware Recommended Practice: Device Support Extensions (Version 1.0) Open Firmware Recommended Practice: Interrupt Mapping (Version 0.
C H A P T E R Figure 1-0 Listing 1-0 Table 1-0 1 Introduction 1 13
C H A P T E R 1 Introduction The Apple iMac computer is a new consumer-oriented desktop computer. This chapter summarizes the features of this new computer and points out issues affecting compatibility. Features 1 Here is a list of the features of the iMac computer. Each feature is described in more detail in a later chapter. 14 ■ Processor: The iMac has a PowerPC G3 microprocessor running at a clock speed of 233 MHz. For more information, see “G3 Microprocessor” (page 23).
C H A P T E R 1 Introduction ■ Modem: The computer has a built-in modem with 56 Kbps data rate. For more information, see “Internal Modem” (page 39). ■ Ethernet: The computer has a built in Ethernet port for a 10Base-T and 100Base-TX operation with an RJ-45 connector. For more information, see “Ethernet Port” (page 39). ■ Infrared link: The computer has an IrDA infrared link capable of transferring data at up to 4 Mbits per second. For more information, see “Infrared Communication Link” (page 35).
C H A P T E R 1 Introduction Figure 1-1 Front view Microphone CD-ROM drive Infrared window Power button on computer Stereo speaker Headphone jacks (2) Stereo speaker Apple USB keyboard Open button on CD-Rom drive Power button on keyboard Apple USB mouse The front of the case is dominated by the 15-inch display.
C H A P T E R 1 Introduction Figure 1-2 Side view showing I/O bay Universal Serial Bus (USB) ports (2) Ethernet port Hole for reset button Sound output port Sound input port Hole for programmer's button (NMI) Internal modem port Case and External Features 17
C H A P T E R 1 Introduction The back of the case contains the receptacle for the power cord and a small folding handle for use in removing the access cover on the bottom of the case. The right side of the case, as viewed from the front, contains the I/O bay behind a hinged cover. Figure 1-2 is a side view showing the I/O bay with its cover open.
C H A P T E R 1 Introduction Main RAM Expansion Modules 1 For expansion of main RAM, the iMac computer uses standard SO-DIMMs that contain SDRAM devices. These are similar to the SO-DIMMs used in the Macintosh G3 PowerBook Series. For more information, see “Main RAM Expansion” (page 48). IMPORTANT The main RAM DIMMs in the iMac must be SO-DIMMs that use SDRAM devices. SO-DIMMs that use EDO or SGRAM devices will not work.
C H A P T E R Figure 2-0 Listing 2-0 Table 2-0 2 Architecture 2 21
C H A P T E R 2 Architecture The components at the heart of the iMac computer reside on two printed-circuit boards: the main logic board and the processor module. The Figure 2-1 is a block diagram showing the major components on those boards. The components shown are described in the sections that follow.
C H A P T E R 2 Architecture Processor module 2 The processor module contains the high-speed components: ■ G3 microprocessor ■ 512 KB backside cache memory ■ main memory (minimum of 32 MB) ■ system ROM (1 MB) ■ memory controller and the PCI bus bridge IC The devices on the processor module communicate with the main logic board by way of the PCI bus. This section includes a description of the microprocessor, the backside cache, and the memory controller IC.
C H A P T E R 2 Architecture processor’s clock speed, rather than at the clock speed of the main system bus. In the iMac, the clock speed of the backside cache is half that of the microprocessor. The data storage for the backside L2 cache consists of 512 KB of fast static RAM on the processor module. Memory Controller and PCI Bridge 2 The memory controller and PCI bus bridge IC is a Motorola MPC106, also called Grackle.
C H A P T E R 2 Architecture ■ the built-in modem ■ the infrared link ■ the Ethernet port ■ the sound ASIC ■ the internal IDE hard drive ■ the internal CD-ROM drive ■ the power manager IC The Paddington IC is similar to the Heathrow IC used in the Power Macintosh G3 computers and Macintosh PowerBook G3 computers. The main difference is that the Paddington IC supports 100Base-TX Ethernet as well as 10Base-T. USB Controller 2 The USB controller is a standard IC with two USB connectors.
C H A P T E R 2 Architecture Infrared Link Module 2 The infrared link module is a separate printed circuit board that is connected to SCC port B of the Paddington IC. The maximum IrDA data transfer rate is 4 Mbit/sec.
C H A P T E R Figure 3-0 Listing 3-0 Table 3-0 3 Devices and Ports 3 27
C H A P T E R 3 Devices and Ports This chapter describes both the built-in I/O devices and the ports for connecting external I/O devices.
C H A P T E R 3 Devices and Ports Figure 3-1 USB Type A port and connector Table 3-1 Pin assignments on the USB port Pin Signal name Description 1 VCC +5 VDC 2 D– Data – 3 D+ Data + 4 GND Ground The iMac computer provides 5-volt power at 500 mA for each of the two ports. The USB ports support both low-speed and high-speed data transfers, at up to 1.5 Mbits per second and 12 Mbits per second, respectively. High-speed operations requires the use of shielded cables.
C H A P T E R 3 Devices and Ports ■ Interrupt transfers, used for human interface device (HID) class devices such as keyboards and mice, as well as devices that report status changes, such as serial or parallel adaptors and modems. ■ Isochronous transfers, used for on-time delivery of data. Isochronous data transactions are best suited for audio or video data streams. Version 1.0 of the Macintosh USB system software provides functions that support only control, bulk, and interrupt transfer types.
C H A P T E R 3 Devices and Ports Serial Port Compatibility 3 The first release of the MacOS USB DDK does not include a universal Serial/ USB shim that would allow processes that use the Communications Toolbox CRM to use a USB serial device. At the introduction of the iMac computer, any USB Serial Class Driver will need to implement its own Serial/USB shim.
C H A P T E R 3 Devices and Ports Keyboard 3 The Apple USB keyboard has a total of 82 keys, including 12 function keys, a numeric keypad and a set of 4 cursor-control keys. The cursor-control keys are in the inverted-T arrangement. Keyboard Layout 3 There are versions of the Apple USB keyboard with different key layouts for three standards used in different parts of the world: ANSI (US and North America), JIS (Japan), and ISO (Europe). Figure 3-2 shows the keyboard layout for the ANSI keyboard.
C H A P T E R 3 Devices and Ports Keyboard and USB 3 The Apple USB keyboard is designed to work with the iMac computer by way of the USB ports. The keyboard has a captive cable with a USB Type A connector. The keyboard is a bus-powered USB hub with two USB Type A ports. ▲ W AR N I N G A bus-powered hub as defined in the USB specification does not provide enough power to support a second bus-powered hub.
C H A P T E R 3 Devices and Ports The mechanism inside the Apple USB mouse is similar to that in the Apple Desktop Bus Mouse II. The mouse ball is removeable for cleaning; the ring that allows access to the ball can be locked by inserting an unfolded paper clip into a small hole and turning the ring clockwise. Hard Disk Drive 3 The iMac computer has an internal hard disk drive. The drive uses the extended IDE (integrated drive electronics) interface, which is also referred to as the ATA interface.
C H A P T E R 3 Devices and Ports Table 3-2 Display resolutions and pixel depths Resolution Vertical rate Pixel depth (2 MB SGRAM) Pixel depth (4 or 6 MB SGRAM) 640 by 480 117.233 Hz 32 bits 32 bits 800 by 600 94.97 Hz 32 bits 32 bits 1024 by 768 75.03 Hz 16 bits 32 bits Infrared Communication Link 3 The iMac computer has a direct infrared (IR) communication link connected internally to serial port B.
C H A P T E R 3 Devices and Ports Sound Inputs 3 The sound system accepts inputs from three possible sources: ■ built-in microphone ■ external stereo sound input jack ■ sound from internal CD player Built-in Microphone 3 The sound signal from the built-in microphone goes through a dedicated preamplifier that raises its signal level to the nominal level of the codec circuits in the Burgundy IC. External Sound Input 3 The external sound input jack is a 3.
C H A P T E R 3 Devices and Ports ■ during power cycling External Sound Output 3 The external sound output jack is a 3.5-mm mini phone jack located in the I/O bay on the right side of the computer. It accepts a stereo miniplug-to-RCA cable adapter for connecting stereo equipment to the computer. The sound output jack has the following electrical characteristics: ■ output impedance: nominal 180 ohms ■ maximum level: nominal 1 V rms (2.
C H A P T E R 3 Devices and Ports Total harmonic distortion plus noise (THD+N) as a percentage of full scale for various outputs are shown in Table 3-3. Table 3-3 Distortion specifications Connector and level Total harmonic distortion and noise Line input 0.03% Line output 0.03% Headphone jack, open circuit 0.03% Headphone jack, 32-ohm headphones, –20 dBFS level 0.1% Headphone jack, 32-ohm headphones, –1.5 dBFS level 1.
C H A P T E R 3 Devices and Ports Ethernet Port 3 The iMac computer has a built-in 10/100 Mbps Ethernet port. The user can connect it to either a 10Base-T or a 100Base-TX hub; the port will automatically sense which type of hub is connected. The connector for the Ethernet port is a an RJ-45 connector in the I/O bay on the right side of the computer. The Ethernet interface in the iMac computer conforms to the ISO/IEC 802.3 specification, where applicable.
C H A P T E R Figure 4-0 Listing 4-0 Table 4-0 4 RAM Expansion 4 41
C H A P T E R 4 RAM Expansion This chapter tells how to gain access to the expansion slots in the iMac computer and describes the two types of RAM expansion: main RAM expansion and video RAM expansion. The Expansion Slots 4 To get access to the expansion slots, the user must open up the bottom of the computer and remove the main logic board and processor module assembly.
C H A P T E R 4 RAM Expansion Figure 4-1 Bottom view showing bottom cover handle Handle Retaining screw Removing the bottom cover 4 The bottom cover is held in place by a retaining screw located on the bottom cover and accessible through the opening in the handle. After removing the screw, the user can remove the cover by pulling up and out on the handle. Unfastening the Cables 4 Several signal cables are connected to the back of the logic board assembly, as shown in Figure 4-2.
C H A P T E R 4 RAM Expansion Figure 4-2 44 Cables connected to the logic board assembly The Expansion Slots
C H A P T E R 4 RAM Expansion Removing the Retaining Screws 4 A slot-shaped handle is located at the back end of the logic board assembly. The retaining screws are located inside the slot in the handle, as shown in Figure 4-3.
C H A P T E R 4 RAM Expansion Removing the Logic Board Assembly 4 With the retaining screws removed and the cables positioned to the sides, the user can remove the logic board assembly by pulling upward on the handle, as shown in Figure 4-4. Figure 4-4 Removing the logic board assembly IMPORTANT While removing and reinstalling the logic board assembly, you should take care to align the door of the CD drive with the opening in the front of the case.
C H A P T E R 4 RAM Expansion Figure 4-5 EMI shield Locations of the Expansion Slots 4 Figure 4-6 shows the location of the two main RAM expansion slots and the video RAM expansion slot. One of the main RAM expansion slots is on the bottom of the processor module and is normally occupied by the factory-installed SO-DIMM. The other main RAM expansion slot is on the top of the processor module and is available for a user-installed SO-DIMM.
C H A P T E R 4 RAM Expansion Figure 4-6 Locations of the RAM expansion slots Video RAM slot Main RAM top slot Main RAM bottom slot Main RAM Expansion The iMac computer has two RAM expansion slots that accommodate standard SO (small outline) DIMMs using SDRAM devices. IMPORTANT RAM expansion SO-DIMMs for the iMac must use SDRAM devices. If the user installs an SO-DIMM that uses EDO or SGRAM devices, the computer will beep several times when the user attempts to restart the computer.
C H A P T E R 4 RAM Expansion Total RAM capacity using devices currently available is 128 MB and is limited by the space available for the SO-DIMMs. The bottom slot can accommodate a 1.5-inch SO-DIMM. The top slot can accommodate a 2.0-inch SO-DIMM. Note Future devices with higher density may allow expansion beyond the current 128-MB limit.
C H A P T E R 4 RAM Expansion The JEDEC specification for the SO-DIMM defines a Serial Presence Detect (SPD) feature that contains the attributes of the module. SO-DIMMs for use in the iMac are required to have the SPD feature. Information about the required values to be stored in the presence detect EEPROM is in section 4.1.2.5 and Figure 4.5.6–C (144 Pin SDRAM SO–DIMM, PD INFORMATION) of the JEDEC standard 21-C specification, release 7.
C H A P T E R 4 RAM Expansion Configuration of RAM SO-DIMMs 4 Table 4-1 shows the sizes of the RAM expansion modules that can be used in the iMac computer and the different sizes of SDRAM devices that make up those modules.
C H A P T E R 4 RAM Expansion Address Multiplexing 4 Signals A[0] – A[13] on each RAM SO-DIMM make up a 14-bit multiplexed address bus that can support several different types of SDRAM devices. Table 4-2 lists the types of devices that can be used in the iMac computer by size, configuration, and sizes of row and column addresses. IMPORTANT The iMac supports only the types of SDRAM devices specified in Table 4-2. Other types of DRAM devices should not be used with this computer.
C H A P T E R 4 RAM Expansion Active 1.2 A (8 devices at 150 mA each) Sleep 6 mA per bank The maximum current specified for active operation generally rules out the use of 4-bit-wide SDRAM devices in a RAM expansion card. Such a card would have 16 such devices, and the 1.2 A maximum current would allow only about 75 mA per device. To stay within the current limits, RAM expansion cards should use only 8-bit or 16-bit SDRAM devices.
C H A P T E R Figure 5-0 Listing 5-0 Table 5-0 Software 5 5 55
C H A P T E R 5 Software The Apple iMac computer is different from previous Macintosh computers in that it has no single, large ROM that contains the toolbox software, the 68K emulator, hardware initialization, and the nanokernel. A small ROM provides hardware initialization functions and provides a mechanism to load the Mac OS Toolbox ROM image into RAM. The new software architecture that is centered around ROM-in-RAM and its ramifications has the code name NewWorld.
C H A P T E R 5 Software • Not changing the higher level software as often simplifies things for many groups inside Apple, including testing, system software, software configuration management, developer support, and publications. Third-party developers can also benefit from this. What Has Changed 5 Hardware-specific code that performs the computer’s start-up activities resides in firmware (ROM). That code fits into one ROM called the Boot ROM.
C H A P T E R 5 Software Features of the New Approach 5 Because the iMac has new hardware features that are different from other Macintosh computers, new software features are needed in addition to the NewWorld requirements for other Macintosh computers. This list includes features that implement the NewWorld approach along with features that support the new hardware features of the iMac computer.
C H A P T E R 5 Software Performance 5 Performance of an iMac computer using ROM in RAM should exceed performance measurements for other Macintosh computers with comparable CPUs and speeds due to improved interrupt handling with the New World approach. In addition, performance is improved due to executing code that normally exists in ROM in RAM, because the RAM devices operate faster than the ROM devices normally used.
C H A P T E R 5 Software in RAM appears to be a ROM, the ROM-in-RAM approach is completely compatible with all application and system software. The Mac OS ToolBox image is kept in a file in the System Folder on the specified boot device. In order to avoid problems with internationalizing the name, the file is located by file type instead of by name. In order for Open Firmware to retrieve the ToolBox image file, it must be able to read the selected boot device.
C H A P T E R 5 Software Failure to boot in POST causes the error beep, optionally entering the Mini-Nub. Open Firmware 5 The Open Firmware component of NewWorld is based on the CHRP version of Open Firmware, also known as Open Firmware 3.0. This is the most robust and full-featured Open Firmware used by Apple to date.
C H A P T E R 5 Software RTAS is relocateable code; its location in RAM is determined by the OS, and it remains functional after the OS boots. Note RTAS is part of the system software. It is not needed by applications, which use operating system APIs.
C H A P T E R 5 Software Trampoline Code 5 The Trampoline code is the component of the NewWorld architecture that handles the transition between Open Firmware and the ToolBox ROM Image.
C H A P T E R 5 Software 5. The Forth script transfers control to the Trampoline code, which functions as the transition between Open Firmware and the beginning of the Mac OS execution; 6. The Trampoline code decompresses the ToolBox ROM Image, gathers information about the system from Open Firmware, creates data structures based on this information, terminates Open Firmware, and rearranges the contents of memory to an interim location in physical memory space; 7.
C H A P T E R 5 Software that interrupt latency has been reduced to such an extent as to make it negligible. The other is that the interrupt handling code no longer requires changes to support a new machine, unless it has new interrupt controller hardware. The description of the interrupt layout is now part of an Open Firmware interrupt tree that is interlaced within the Open Firmware device tree. The Trampoline code uses this interrupt tree to build the Mac OS native interrupt tree.
C H A P T E R 5 Software variable-sized partitions that are used by Mac OS, Open Firmware, and any other client. PRAM resides in the Mac OS partition. The partitioning scheme is part of the CHRP specification. NanoKernel 5 The previous version of the NanoKernel has code that is processor-specific to create data structures. Under NewWorld, the Trampoline code creates these data structures from information in the Open Firmware Device Tree. NanoKernel is typically no longer changed to support a new CPU.
C H A P T E R 5 Software Once Open Firmware locates a startup device and successfully loads a Mac OS ROM, image it passes information about the chosen device in the bootpath variable. This information, rather than that previously set in PRAM, is subsequently used by the Mac OS ROM to locate the device containing the startup System Folder. IMPORTANT The previous API for controlling the startup device selection, using _GetDefaultStartup and _SetDefaultStartup, is not effective on the iMac.
C H A P T E R 5 Software ToolBox ROM Image, so sharing the same Box Flag is not an issue for those areas. IMPORTANT Programs such as control panels and installers that use Box Flag to verify that this is a valid CPU on which to execute need to be changed to verify the existence of the hardware they require. Developers should look for the features they need, rather than reading the Box Flag and then making assumptions about the computer’s features.
A P P E N D I X Figure A-0 Listing A-0 Table A-0 Abbreviations A Standard units of measure used in this note include: A amperes MB megabytes dB decibels Mbps megabits per second GB gigabytes Mbit megabits Hz hertz MHz megahertz KB kilobytes mm millimeters kg kilograms ns nanoseconds kHz kilohertz V volts mA milliamperes VDC volts direct current Other abbreviations used in this note include: $n hexadecimal value n 10Base-T an Ethernet standard for data transmission at 1
A P P E N D I X A Abbreviations 70 CHRP Common Hardware Reference Platform CPU central processing unit CRM Communications Resource Manager CRT cathode ray tube, a video display device DAA data access adapter (a telephone line interface) DAC digital-to-analog converter DIMM Dual Inline Memory Module DMA direct memory access EDO extended data out EEPROM electrically eraseable programmable ROM G3 Generation 3, the third generation of PowerPC microprocessors, including the PPC 740 and P
A P P E N D I X A Abbreviations NMI nonmaskable interrupt NV-RAM nonvolatile random-access memory OHCI Open Host Controller Interface OS operating system PCI Peripheral Component Interconnect, an industry-standard expansion bus PLL phase-locked loop POST power-on self test RAM random-access memory RAID random array of inexpensive disks RCA Radio Corporation of America rms root mean square ROM read-only memory RTAS run-time abstraction services SCC Serial Communications Controll
Index A F ATA Device Software Guide 10, 34 ATA disk interface 34 ATA hard disk 34 ATI Rage IC 25 features list 14 B backside cache 23 Boot ROM 57 contents 60–62 Box Flag 68 G G3 microprocessor 23 gestaltMachineType 67 Grackle IC 24 H hard disk drive 34 headphone jacks 37 C cache, See backside cache case 15 compatibility 18–19 custom ICs Paddington 24 D I IDE disk interface.
I N D E X K keyboard 32–33 L L2 cache 23 interrupt handling 64 interrupt layout 67 NanoKernel 66 NVRAM 65 outmoded resources 65 RAM footprint 65 RTAS 65 StartUp Disk control panel 66 with Open Firmware 57, 58 with RTAS 58 NVRAM 65 M machine ID 67 Macintosh ROM, why it’s changing 56–60 Mac OS 8.
I N D E X Run-Time Abstraction Services.
T H E A P P L E P U B L I S H I N G This Apple manual was written, edited, and composed on a desktop publishing system using Apple Macintosh computers and FrameMaker software. Line art was created using Adobe™ Illustrator and Adobe Photoshop. Text type is Palatino® and display type is Helvetica®. Bullets are ITC Zapf Dingbats®. Some elements, such as program listings, are set in Adobe Letter Gothic.