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

Re: Slot settings on a ROM 3



Pim Blokland <nipp@plane.nl> wrote:

> In article <20000115142239.20250.00000023@ng-bd1.aol.com>, 
> supertimer@aol.com (Supertimer) wrote:
> 
> > Right.  Under GS/OS, you can use slot 4 and keep the mouse
> > on a ROM 3.  The ROM 01 can't do this.
> 
> Yes, I know that! But my question was: why? Does the ROM 01 use routines
> that are located at $ExC4xx? Or does de ROM 3 do some nasty tricks that
> they hadn't thought of when they manufactured the 01? That's the kind of
> thing I'm curious about.

It is all to do with the design of the mouse routines in the
Miscellaneous Toolset, which is used by the Event Manager and by all
native IIgs applications running under GS/OS (and ProDOS-16).

In ROM 0 and 1, the Miscellaneous Toolset mouse routines use the
slot-based mouse firmware to access the mouse.  In fact, they even
search the slots, so you can put an AppleMouse II card into a ROM 0/1
IIgs (any slot) and use a IIe/IIc mouse on the IIgs.  This is
particularly useful for someone who had upgraded a mouse-equipped IIe to
a IIgs, since they don't have to go and buy an ADB mouse.

If you set slot 4 to "Your Card" and don't have an AppleMouse II card
installed, then the toolbox can't find any mouse, and native software
which needs the mouse won't work.


In ROM 3, they turned the dependency around.  Since the "IIe upgrade"
was no longer supported, Apple decided to rewrite the mouse routines in
the Miscellaneous Toolset so that they access the ADB mouse hardware
directly.  The slot 4 mouse firmware was rewritten to call the
Miscellaneous Toolset routines.

As a result, any software which uses the IIgs toolbox will be able to
access the mouse no matter how you set slot 4.  8-bit software which
looks for the traditional mouse firmware won't work unless you have slot
4 set to "Mouse".

> Set slot 3 to "Your Card". ...boot from a floppy that has only ProDOS and
> Basic.System on it.
> Now type :PR#3 (That's PR#3, preceeded by a colon.)
> This puts you in 80-column mode!

Can you actually do anything at this point?  Do catalogs, program
listings, etc. work?

> Press reset.
> This puts you back in 40 colums.
> type :PR#3 again.
> This time, the computer hangs.
> Can anyone explain that to me?

I'm surprised it worked the first time.  If slot 3 is set to "Your
Card", and no card is installed in slot 3, then the PR#3 command is
attempting to call random code in the $C300 space.

What _might_ be happening here is that the monitor routine which sets up
the I/O hooks may be checking for slot 3 specially, and handling it to
some extent, but not cleaning up properly.

The reason that BASIC.SYSTEM's PR#3 command reported "NO DEVICE
CONNECTED" is that BASIC.SYSTEM checked for the presence of a card in
slot 3 before letting the system crash.  (It may have relied on
information from the ProDOS kernel's global page.)

> If it was compatibility they had been after, they would have made those
> serial ports compatible with the Apple //c's and have the user be able
> to switch between SSC mode, //c mode etc.

And lose AppleTalk, not to mention a much more powerful serial chip?  I
think they made the right choice.  You can always plug in a Super Serial
Card if you need full compatibility with a IIe/IIc.

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