[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Differences between Apple IIgs ROMs?



Matthew Murray <mmurray@cc.wwu.edu> wrote:

>       I'm just curious...  What are the real differences between version
> 01 and 03 of the Apple IIgs ROMs?

The question isn't particularly relevant, since you can't "upgrade" the
ROM 1 to a ROM3, short of switching the motherboard.

Most of the software differences between the ROM versions (toolbox
changes) can be minimised by running the latest system software.

It is more useful to compare the original (256 KB) and 1 MB versions of
the Apple IIgs.  The original motherboard can run either ROM 0 or ROM 1.
The 1 MB motherboard only runs ROM 3.

Here is a summary of the major differences:

- More ROM (256 KB instead of 128 KB) in the 1 MB motherboard.

- More "fast" RAM (1 MB instead of 128 KB) in the 1 MB motherboard.
Both versions also have 128 KB of "slow" RAM, so the total RAM size is
256 KB for the original motherboard, 1.125 MB for the newer one.

In addition to increasing the amount of RAM supplied in the machine,
this change has the added benefit of increasing the upper limit on the
amount of RAM which will be fully DMA compatible.  The memory expansion
slot can support up to 4 MB of RAM without compromising DMA, so you get
5 MB of DMA-compatible fast RAM in the ROM 3 IIgs, but only 4.125 MB
with ROM 0 or 1.

- Various minor hardware changes on the mothboard, e.g. Ensoniq chip
soldered in, removal of IIe-compatible power supply and keyboard
connectors, battery is socketed instead of being soldered onto the
board, slightly lower power consumption, less electronic noise picked up
through the audio circuitry.

- Addition of a jumper to lock out access to the Control Panel.

- M2B0 signal (Mega II Bank 0) is provided to slots 1-6 instead of just
slot 3.  This allows some types of I/O cards (notable the Video Overlay
Card) to work in any of these slots.

- The ADB microcontroller has built-in support for Easy Access features
(Sticky Keys and Keyboard Mouse).  These features can be added via an
extension on ROM 1, but only at the risk of  compatibility problems (in
particular: a complete lockup if a program tries to wait for a keypress
with interrupts disabled).  These problems don't occur with the ROM 3
implementation.

- The ADB micro also supports the Caps Lock indicator light on an
extended keyboard.  (This can also be done via an extension on a ROM 1,
but only with a performance hit.)

- Hardware shadowing is supported for text page 2.  This means that the
Alternate Display Mode CDA no longer causes a significant performance
hit.

As far as the ROM itself is concerned, the major changes are:

- Several more toolsets are in ROM, along with newer versions of the
toolsets which are also in ROM for the ROM 00/01.  This avoids the need
to load the toolset or patches from disk.  This saves RAM and boot time,
and has the added benefit of a slight speed increase, since code can
execute a few percent faster in ROM than it can in RAM (due to memory
refresh overhead).

- Control Panel changes: the "Mouse" settings have their own page, and
more options are available for the mouse speed; the RAM disk no longer
lets you set a different minimum and maximum size (this feature caused
problems anyway); the RAM disk can be resized after a normal restart,
avoiding the need to switch the computer off and on again (or starting a
self test then rebooting).

- The slot 4 mouse firmware and toolbox mouse support have been
rewritten so that you can set slot 4 to "Your Card" and retain the use
of the mouse in GS/OS desktop applications, effectively freeing up a
slot.  (You would still lose it in ProDOS-8 applications.)  On the ROM
1, you must leave slot 4 set to Mouse, or you lose the mouse in all
applications.  (One feature removal here: with a ROM 3, you can't use a
IIe mouse card in GS/OS applications, but it will still work in ProDOS-8
applications.)

- The AppleTalk firmware now lives in slot 1 or 2 instead of slot 7.
There are Control Panel changes related to this.  (You can still set
slot 7 to AppleTalk, but this is only intended as a compatibility
feature for badly written software which has hard coded slot
assignments.  It wastes an extra slot, since you must also set slot 1 or
2 to AppleTalk.)  There is now a separate startup option for booting
over AppleTalk.

- The Monitor firmware has quite a few new features, which make it much
nicer to use.  For example, the disassembler automatically tracks CPU
mode changes, allowing disassembly of 8-bit and 16-bit immediate
instructions to be displayed correctly most of the time.  Memory dumps
can also cross bank boundaries, and there is a simple step/trace
debugger built in.  (GSBug is better for serious debugging, and it works
on both ROM 1 and 3.)

-- 
David Empson
dempson@actrix.gen.nz
Snail mail: P O Box 27-103, Wellington, New Zealand