[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: slot changes in effect immediately
In article <fmlinCA8CzK.8Fx@netcom.com> fmlin@netcom.com (Frank M. Lin) writes:
> >> Is there an extension that will do this? I normally keep slot-5 off
> >> so the 3.5" drive doesn't get polled. But sometimes I need it, and I
> >> have to re-boot, which can get annoying...
> >
> > The CtrlNow INIT does this, but I think there are some limitations
> >on what it can do (i.e., changing slots on the fly might still require a
> >reboot).
>
> What the hell? If it requires a re-boot, it doesn't sound like it's
> doing anything to help.
You can't just go changing the active slots arbitrarily. There is this
little piece of software called the operating system, which doesn't
like it if you suddenly remove a disk drive from a slot and put
something else there!
If you are using ProDOS-8 exclusively, it should be safe to change
slots containing non-disk devices (e.g. toggling between a IIgs
built-in serial port and a parallel card in the slot). This should
only be done from outside an application. Changing a slot between a
disk device and non-disk device is defintely not safe.
If you are using GS/OS, you shouldn't even swap non-disk devices,
because the operating system sets up device drivers to talk to the
firmware, and the swapped-in card will probably have a completely
different set of entry points.
A big clue to the difficulty here: Apple were intending to implement a
feature called the "Slot Arbiter" in GS/OS, which would allow the
simultaneous use of slots & ports (switching under control of the
device drivers). The Slot Arbiter has never been fully implemented,
probably due to the impossibility of maintaining compatibility with
existing software and hardware.
GS/OS does have a partially functional Slot Arbiter - if you ask
it for a particular slot or port, it will tell you whether it is
available, but it won't actually switch anything.
--
David Empson
dempson@swell.actrix.gen.nz
Snail mail: P.O. Box 27-103, Wellington, New Zealand