Macintosh construction kit

from Wikipedia, the free encyclopedia

The Macintosh Toolbox ( English Macintosh Toolbox ) is a collection of resources, drivers, routines and programming interfaces that are in ROM earlier models of Macintosh is computers. These were later referred to as " Old World ROM " models. The Macintosh construction kit is used by the operating system for Macintosh computers, the Macintosh system software, which was later referred to as the classic Mac OS - the other way round, Mac OS cannot be executed without the Macintosh construction kit.

history

Since the first Macintosh with 128 kB RAM, numerous components of the operating system had been provided in a ROM in order to save work and disk space. Main memory (RAM) was at that time twice as expensive as the same amount of memory ROM, and 128 kB main memory was already a significant cost factor in production. This measure also offered a certain speed advantage, since ROM was read more quickly than the combination of RAM at the time and data from floppy disks, because the data should have been loaded into RAM from a floppy disk. Floppy disk drives were far slower than ROM, however. In addition, the routines in the ROM were available at any time - without taking up valuable disk space, which was important for the programs and their data. Likewise, in the original Macintosh from 1984, retronymously referred to as “ Macintosh 128k ”, the sparse working memory for the programs was very valuable.

Since the content of the ROM was fixed when the computer was delivered, all the contents of the kit are accessed via a table. To make the Macintosh modular system expandable, a newer routine can be loaded from the operating system (from floppy disk) into the working memory (RAM). The jump address in the table is redirected to the function now available in the RAM. The new function of the ROM is used automatically instead of the old one. This allowed z. B. To clean up errors and expand functions, which then cost a little memory.

OldWorld

At the end of the 1980s the price ratio of ROM and RAM was reversed, ROM was now significantly more expensive than the same amount of RAM and also slower. From 1992 onwards, a new RISC processor based on IBM's POWER architecture was developed in the A pple I BM M otorola Alliance (AIM) , which was to replace the Motorola 68000 family . The first models with this PowerPC processor, the PowerPC 601 , came onto the market in 1995. A nano kernel was loaded into the system ROM, which was able to transparently emulate 68k program code. The Macintosh Toolbox was originally in Pascal developed and then of speed and space reasons in Motorola 68000 - Assembler implemented. On the PowerPC, the Macintosh ROM was initially kept almost unchanged in 68k machine code as before in the ROM, which made the existing firmware still usable and also ensured the necessary compatibility for software, since all software uses the transparent 68k emulation via the nanokernel could. Although this approach allowed Apple a smooth transition from one processor architecture to a completely different, actually incompatible instruction set architecture , it also led to a loss in execution speed. As a result, the actually faster PowerPC in a Macintosh computer running System 7 (later Mac OS 7.6 ) was not really much faster than the 68k processor, which it was supposed to replace because of its speed.

Gradually, the Macintosh kit or Macintosh ROM was translated into the programming language C and C ++ and converted into native PowerPC machine code. The firmware of the computer was also converted to the FORTH- based Open Firmware developed by Sun Microsystems . This firmware should allow the necessary hardware components to be initialized quickly and ultimately transfer control to the Mac OS boot loader. These first Macintosh computers with Open Firmware were given the name OldWorld (German: "old world") after 1998 , because they provide the Mac OS ROM, which contains parts of the Macintosh construction kit, as the Open Firmware device tree. The Macintosh kit is therefore part of the firmware and, as before, part of the ROM, which is why it continued to be often referred to as the Macintosh ROM . AAPL,ROM

NewWorld

When Apple got access to the source code of the Open Firmware, numerous Macintosh-specific extensions were incorporated into it. The result was Open Firmware 3.0, which could already load ELF objects and access the HFS and ext2 file systems . This type of Apple Mac computer was referred to by Apple as NewWorld (German: "New World"). Numerous functions that were necessary to start an operating system have been relocated to the Open Firmware - and in return the Mac OS ROM has been relocated. This was called "ROM-in-RAM" because the Macintosh construction kit could no longer be called up in ROM, but was loaded from a file from the hard disk into the faster RAM when the operating system was started. The first NewWorld Mac was the iMac "Bondi" introduced in 1998, followed by the PowerBook G3 "Lombard" and the blue and white Power Mac G3 in 1999 .

Components

Important components of the Macintosh construction kit include:

  • QuickDraw
  • Window manager
  • Dialog manager
  • Control manager
  • Menu manager
  • Event manager
  • TextEdit
  • Resource Manager
  • Finder interface
  • Scrap manager
  • Standard file package
  • Sound manager

Succession

At the beginning of the 1990s, Apple was no longer competitive with the outdated operating system “Macintosh System Software” (renamed Mac OS in 1996 ). Microsoft and IBM worked on a graphical operating system that was supposed to be as easy to use as the Apple operating system, but also offered modern functions such as cooperative multitasking and memory protection . During the development of System 7 , the Macintosh construction kit was re-implemented from 68k assembler to C and even ported to the x86 architecture with the "Star Trek" project (System 7 on an IBM PC-compatible computer ).

In the end, however, Apple failed in an attempt to either expand its operating system or replace it with a modern new development. Projects like Pink (Taligent) and Copland were never completed while Microsoft had great success with Windows 95 and IBM with OS / 2 and Microsoft with Windows NT had developed stable and modern operating systems.

At the end of 1996, Apple acquired a modern Unix-based operating system with the acquisition of NeXT , which contained a non-compatible object-oriented programming interface (API) called OpenStep . This new API was further developed by Apple in the Rhapsody operating system project as the Yellow Box and, with Mac OS X, finally as Cocoa .

However, since many vendors of application software that are indispensable for Apple required a system compatible with the original Macintosh API, a new programming interface was implemented under both Mac OS version 8.1 and higher and under Mac OS X, the greatest possible source code compatibility with the Macintosh Modular system should offer. This kept the porting effort for existing applications low and software manufacturers were able to port their programs relatively quickly to the new Mac OS X operating system, which from 2002 completely replaced the older, classic Mac OS . This compatible programming interface was named Carbon by Apple and is included in Mac OS X, which was renamed macOS in 2016, up to macOS Mojave , which is version 10.14 from 2018, but has not been further developed since 2007 and also no longer on 64- Bit ported so that only 32-bit applications under Mac OS X can use the functions of the Carbon programming interface. In the successor macOS Catalina from 2019, only 64-bit applications are supported.

history

In " old-world " Macintosh computers, the Macintosh kit was still stored in ROM. The storage capacity of the built-in ROM was increased from 64 kB in 1984 to 4 MiB between 1994 and 1998.

The following versions of the are known for " New World " Macs Mac OS ROM:

version date Retail versions of Mac OS , Mac models, Notes
Older version; no longer supported: 1.1 July 21, 1998 Mac OS 8.1 , iMac , Rev A
Older version; no longer supported: 1.1.2 Aug 27, 1998 Mac OS 8.5 , iMac Update 1.0
Older version; no longer supported: 1.2 Dec 3, 1998 iMac, Rev B
Older version; no longer supported: 1.2.1 Jan. 22, 1999 Power Mac G3 "Blue & White" (B&W) and Macintosh Server G3 B&W, Mac OS 8.5.1 (Update)
Older version; no longer supported: 1.4 Apr 5, 1999 Mac OS 8.6 , Colors iMac 333 MHz, Power Mac G3 B&W
Older version; no longer supported: 1.6 May 14, 1999 PowerBook G3 , Mac OS ROM Update 1.0
Older version; no longer supported: 1.7.1 Power Mac G4 "PCI graphics card"
Older version; no longer supported: 1.8.1 28 Sep 1999 Power Mac G4 ("PCI graphics card") ROM 1.8.1 update
Older version; no longer supported: 2.3.1 iMac "Slot Loading", iBook
Older version; no longer supported: 2.5.1 17 Sep 1999 Power Mac G4 "AGP graphics card"
Older version; no longer supported: 3.0 27 Sep 1999 Mac OS 9.0 , PowerBook G3 Bronze
Older version; no longer supported: 3.5 Power Mac G4 "AGP graphics card," iBook, PowerBook "FireWire" (both pre-installed Mac OS 9.0.2)
Older version; no longer supported: 3.6 iMac "Slot Loading" (pre-installed Mac OS 9.0.3)
Older version; no longer supported: 3.7 March 15, 2000 Mac OS 9.0.4 (both Retail and Update); PowerBook "FireWire"
Older version; no longer supported: 3.8 May 22, 2000 Ethernet update 1.0
Older version; no longer supported: 4.6.1 iMac "Summer 2000", "Power Mac G4" Summer 2000 "(both pre-installed Mac OS 9.0.4)
Older version; no longer supported: 4.9.1 PowerMac G4 MP "Summer 2000" (CPU software 2.3), PowerMac G4 "Gigabit Ethernet" (each pre-installed Mac OS 9.0.4)
Older version; no longer supported: 5.2.1 Power Mac G4 Cube (CPU software 2.4)
Older version; no longer supported: 5.3.1 iBook (Summer 2000, CPU software 2.5)
Older version; no longer supported: 5.5.1 Power Mac G4 (with Radeon graphics card, CPU software 2.6)
Older version; no longer supported: 6.1 Nov 3, 2000 Mac OS 9.1 (both retail and update)
Older version; no longer supported: 6.6.1 PowerBook Titanium
Older version; no longer supported: 6.7.1 Power Mac G4 "Digital Audio" (pre-installed Mac OS 9.1)
Older version; no longer supported: 7.5.1 Feb 7, 2001 iMac "Early 2001" and "Summer 2001" (both pre-installed Mac OS 9.1)
Older version; no longer supported: 8.4 July 30, 2001
Older version; no longer supported: 9.0.1 Dec 19, 2001
Older version; no longer supported: 9.1.1 Apr 8, 2002
Older version; no longer supported: 9.6.1 3rd Sep 2002
Older version; no longer supported: 9.8.1 Jan. 10, 2003
Older version; no longer supported: 10.2.1 Apr 3, 2003
Legend:
Older version; no longer supported
Older version; still supported
Current version
Current preliminary version
Future version

Individual evidence

  1. Andy Hertzfeld: We're Not Hackers! We were always dealing with memory limitations. In: The Original Macintosh - Anecdotes about the development of Apple's original Macintosh, and the people who made it. Folklore.org, September 1983, accessed on November 9, 2016 (English): “… as we started to get some software going on the prototype, it became increasingly clear that we didn't have enough RAM for the kind of graphic intensive applications that we wanted to build; … Burrell added another row of 8 memory chips, doubling the RAM size to 128K… ROM is half the price per bit of RAM, so it makes sense to use as much as we can. ... Fortunately, we had started to use the resource manager to load objects like fonts and drivers, so we had some flexibility about keeping stuff on disk instead of the ROM. ... But code on floppy disk is much slower to load, and it also would reduce the effective size of each disk. "
  2. ^ David Craig: 3rd Party Developers and Macintosh Development. Some Comments about Developing Applications for the Apple Macintosh 128 Computer from a 20 Year Perspective. In: The Original Macintosh - Anecdotes about the development of Apple's original Macintosh, and the people who made it. Folklore.org, January 1984, accessed on November 9, 2016 (English): “… Sophisticated Macintosh applications required more resources than the Macintosh 128 provided. The original Macintosh's 128K bytes of memory and 400K byte disk drive were on the small size when it came to sophisticated applications (I recall reading that even in Apple there was lots of discussion about this). The original Macintosh was really around a 90K byte memory machine since the screen took 22K bytes of memory and a bit of memory was devoted to system code such a ROM patches and file system buffers. I recall my investor application was around 200K bytes in size and though it ran on the original Macintosh it was slow due to constant application code segment swapping. ... "
  3. netneurotic.de
  4. Mac OS: Matching Mac OS ROM File To Mac OS Version. Apple Computer, Inc., February 20, 2012, accessed May 7, 2017 .
  5. Mac-on-Linux contains the text file /Doc/NewWorld-ROM , e.g. B. here
  6. Power Mac G4 Mac OS ROM 1.8.1. Apple Computer, Inc., October 18, 1999, accessed May 7, 2017 .
  7. Ethernet Update 1.0 Document and Software. (No longer available online.) Apple Computer, Inc., May 30, 2000, archived from the original on April 20, 2001 ; Retrieved on May 7, 2017 (English): "This update replaces the" Mac OS ROM "file with the newer version 3.8."

literature

Web links