Macintosh II Managers: Changes From Macintosh Plus ROMs


A number of existing managers in the Macintosh Plus ROM have been expanded
for use in the Macintosh II. This article provides a short description of
these managers and the changes.

?ont Manager

Fonts in ROM now include Monoco 9, Geneva 9 and 12, as well as Chicago
12. There are also 4 and 8-bit versions of Chicago 12 and a 4-bit Geneva 9
font. No new data structures are defined within the Font Manager, but the
fontType structure has been modified to support color fonts. It now
includes a field that indicates the depth of the font.

Window Manager

A new data type, CWindowRecord, has the same structure and size as the
old WindowRecord, except the field port is now defined as a CGrafPort
rather than the old GrafPort. Two other new types related to CWindowRecord
are CWindowPtr and CWindowPeek. Another new data structure, AuxWinRec,
stores the necessary information for drawing windows in color. Its primary
function is to hold the handle to the window's individual color table.

Control Manager

The Control Manager has been expanded to include color support with the
definition of a new data structure, AuxCtlRec, and its corresponding
resource type cctb. These structures define a color table associated with
the control and determine the border color, fill color, and text color for
the control.

Menu Manager

The Menu Manager now uses scrollable menus instead of QuickDraw to
display menu text. Scrollable menus means that scrolling is possible with
an up or down arrow at the top or bottom of the menu. The Menu Manager now
implements up to five levels of hierarchical menus

A new data structure, MbarProc, holds information pertaining to the menu
bar. Menu items themselves have been disassociated from the menu bar
definition to permit hierarchical menus to be handled more easily.

Color menus are implemented through the Menu Color Information Table. A
distinct MCInfoRec may exist for the menu bar and for each menu title and
item. Within each MCInfoRec, you find RGBColor information for the item in
question and its background color.

TextEdit

A TextEdit record may now have style information associated with it. A
handle to a TEStyleRec structure can replace the TextEdit fields txFont
and txFace. This style record holds an array of "runs", each of which may
use a different text style (font, face, size, color, line height, and font
ascent).

Style information can be passed from TextEdit to the application through
a TextStyle record, which includes font, face, size, and color
information. When the scrap is used to cut and paste style information, a
new scrpSTElement type is used to transfer style and start character
information.

Dialog Manager

Two new resource types, actb and ictb, add color and style information to
alerts and dialogs, and dialog item lists. These resources are associated
with a dialog or alert by assigning them the same resource ID as the
parent ALRT or DITL.

International Utilities Package

The International Utilities Package has been extended to support the new
Script Manager. It now includes multiple resources within a given script,
and new date and time formatting options. International scripts with
non-Roman sorting rules may specify the details via hooks in this package,
so that the many diacritical forms of the same letter may be treated for
sorting purposes as equals regardless of diacritical marks, accents,
umlauts, circumflexes, etc., e.g. a umlauted can be equated with a
accented.

File Manager

The Macintosh II File Manager can be used with an external file system
other than the traditional Macintosh code.

Print Manager

The Printing Manager has added one call to ROM: the print glue file
(called PRLINK or PRSCREEN) has moved from the system file into the
Macintosh II ROM.

Device Manager

The Device Manager has been modified to include support for NuBus cards,
both as boot devices, and through the interrupt process.

The Device Manager gains control of the Macintosh II bootup process
shortly after video and boot drivers have been initialized. If the Startup
Device has been set to one of the NuBus slots, and the configuration ROM
found there contains boot code, the Device Manager will pass control to
that NuBus device. If the Macintosh II continues its boot process from a
Macintosh disk, the Device Manager will search all NuBus slots, looking
for device drivers in the configuration ROM of each NuBus device. Any that
are found there are installed into the system heap and initialized for
later use by an application.

The Device Manager is the software interface for tracking the interrupt
queue, determining the priority level that is proper to address, and, if
necessary, posting an error when the interrupt cannot be serviced.

SCSI Manager

The Macintosh II and Macintosh SE ROMs implement an SCSI "blind" transfer
mode. The types of SCSI drives used in these computers may support
hardware handshaking, when blind transfer mode will result in faster
transfer rates.

AppleTalk Manager

The AppleTalk Manager supports several changes to its code to assist
servers, workstations, and spoolers:

-- The node number of the computer may be requested in the server
range.

-- Packets may be sent to one's own node, or through a client-specified
socket.

-- The Name Binding Protocol can now accept multiple active requests.

-- An Echo Protocol and an AppleTalk Session Protocol have been added.

-- An Extended Protocol Package (XPP) combines portions of the
AppleTalk Session Protocol and AppleTalk Filing Protocol.

Vertical Retrace Manager

The Vertical Retrace Manager has been changed slightly to take into
account the flexible video interface on the Macintosh II. Since certain
tasks on the Macintosh depend on the vertical retrace interrupt that
occurs on the Macintosh 60 times every second, the Macintosh II must
continue to supply that signal. The Vertical Retrace Manager can attach
tasks to that pseudo VBL signal.


Published Date: Feb 18, 2012