[comp.sys.apple] P8/GSOS Switching

Les_Ferch.@MTSG.UBC.CA (12/19/89)

>>Les Ferch.@MTSG.UBC.CA writes:
>> 
>>The reason I was looking for reboot code is to write a program or
>>programs that will automatically (and hopefully properly) switch my
>>operating environment on my hard drive between plain ProDOS 8 and
>>GS/OS.
>> 
>>The idea is to have the GSOS "ProDOS" file and the "P8" file on the
>>root directory along with my reboot program(s). To go from GSOS to
>>ProDOS 8 only, the reboot program would rename "ProDOS" to "GSOS"
>>and "P8" to "ProDOS" and then reboot or do an OS Shutdown call. To
>>go from ProDOS 8 to GSOS, just basically reverse the process.
 
>rmichel@pro-grouch.cts.com replies:
> 
>Here's a quite simple method of accomplishing about the same thing:
> 
>1. Set up a GSOS system disk; rename the PRODOS file to GSOS.GO
>2. Place P8 in your root directory of your boot disk; rename it to
>   PRODOS
>3. Add BASIC.SYSTEM to the root directory. (It must be the first
>   .SYSTEM file)
>4. Write a simple BASIC program called STARTUP to choose either
>   GSOS, BASIC, or your favorite ProDOS8 program selector (I
>   simply use Bird's Better Bye).
 
 
>Mark Munz also replies:
> 
>I boot into Prodos 8 (real quick!!) and run a little basic program
>that asks me what OS I want. If I choose Prodos 8, it runs Prosel
>for me, if I choose GS/OS, it runs "GSOS" for me which starts up the
>famed slow boot :-)
 
 
Yup, that's what I used to do, but there are TWO good reasons not to
do that...
 
Reason #1:
 
If you use Appletalk from ProDOS 8 (by enabling Appletalk and
placing the file ATINIT on the route directory) so you can print to
a LaserWriter from classic AppleWorks without using GSOS, the Finder
will hang when you try to load GSOS from ProDOS 8.
 
Reason #2:
 
Apple's "official" response is that warm booting GSOS from ProDOS 8
is, "unsupported and walking on very very thin ice".  "A cold boot
(Open-Apple-Control-Reset -or- power on) must be used to move from a
ProDOS 8 boot to a GS/OS boot".
 
My correspondence with Apple on this matter via TechLink in
Vancouver, Canada follows:
 
-------------------------------------------------------------------
By   | LES FERCH
To   | Tech Support
Subj | Launching GSOS from ProDOS 8
Date | 22-OCT-89 19:53
 
I want to have my hard drive equipped GS boot into ProDOS 8 and run
a simple program selector (I'm using Bird's Better Bye), but I want
to be able to launch GSOS easily on demand.  I installed GSOS 5.0
and it works fine if I boot straight into it, but if I rename ProDOS
to GSOS and then put ProDOS 8 on the drive and boot that way, it
doesn't work when I select GSOS from the selector.  GSOS starts
loading and gets to the desktop where it beeps and then hangs.
 
 
By   | LES FERCH
TO   | Tech Support
Subj | Launching GSOS from ProDOS 8
Date | 24-OCT-89 23:09
 
Finally, I figured out why I was not able to launch GSOS
successfully from ProDOS 8.
 
The reason the Finder hung when I launched GSOS from ProDOS 8 was
because I had Appletalk enabled and the file "ATINIT" on my root
directory (this is so I can print over Appletalk from classic
AppleWorks).  So the Appletalk driver was already in memory when I
launched GSOS and then (I guess) the Finder died when it tried to
load the appletalk driver itself.  (or something like that)
 
Anyhow, this bugs me.  GSOS should not care what's in memory when
it loads, and perhaps should clear memory.  The way it is, if I want
to run GSOS, I have to delete or rename the "ATINIT" file I have on
the root directory and then reboot before launching GSOS.
 
Sure, I could just run GSOS only, but I have lots of good reasons
for wanting to only run ProDOS 8 for ProDOS 8 programs, such as
quick reboot time when things go wrong.
 
Now if I only knew what needed to be reset or cleared in memory to
give GSOS a clean slate before it loads, I could easily make a
little launcher program to get GSOS going properly.  Help pleeease.
 
 
By   | APPLE TECH
To   | LES FERCH
Subj | Re- Launching P8 from GS/OS
Date | 21-NOV-89 13:08
 
We sent your question to our Technical Communications people in
California for a suitably official response:
 
There are several background tasks that are implemented in GS/OS
during a cold boot that do not get implemented in the warm boot
described in the question. The ATINIT procedure described does not
resolve the issue of the background tasks. It is highly recommended
this procedure NOT be used. A cold boot (Open-Apple, Control, Reset
-or- power on) must be used to move from a ProDOS 8 boot to a GS/OS
boot. Any other method will not implement all the required
background tasks.
 
The supported method of using both ProDOS 8 and GS/OS on an Apple
IIGS is to boot into GS/OS and then launch the desired ProDOS 8
application. Any other method is unsupported. (And they are walking
on very, very thin ice if they use another method.)
 
-------------------------------------------------------------------
The above response is not completely clear to me.  For instance,
what does "The ATINIT procedure described does not resolve the issue
of the background tasks" mean?  The "ATINIT procedure" I described
was for ProDOS 8 only, so what does that have to do with "background
tasks"?  Also, what is the officially supported method of printing
over Appletalk from ProDOS 8 (ie. GSOS NOT loaded)?
 
I think it's pretty clear that my "rename files and then do a P8
restart or GSOS shutdown as per tech note #49" or the Smartboot
program are the only methods to completely switch the OS and be
guaranteed to work under all conditions.
 
However, some clarification on this matter (perhaps from either Matt
or Dave) would be greatly appreciated.

mattd@Apple.COM (Matt Deatherage) (12/19/89)

In article <1964701@mtsg.ubc.ca> Les_Ferch.@MTSG.UBC.CA writes:
> 
>The supported method of using both ProDOS 8 and GS/OS on an Apple
>IIGS is to boot into GS/OS and then launch the desired ProDOS 8
>application. Any other method is unsupported. (And they are walking
>on very, very thin ice if they use another method.)
> 
>-------------------------------------------------------------------
>The above response is not completely clear to me.  For instance,
>what does "The ATINIT procedure described does not resolve the issue
>of the background tasks" mean?  The "ATINIT procedure" I described
>was for ProDOS 8 only, so what does that have to do with "background
>tasks"?  Also, what is the officially supported method of printing
>over Appletalk from ProDOS 8 (ie. GSOS NOT loaded)?
> 
>I think it's pretty clear that my "rename files and then do a P8
>restart or GSOS shutdown as per tech note #49" or the Smartboot
>program are the only methods to completely switch the OS and be
>guaranteed to work under all conditions.
> 
>However, some clarification on this matter (perhaps from either Matt
>or Dave) would be greatly appreciated.

ATINIT in the root directory is a method for ProDOS 8 running on a non-GS
to get AppleTalk active.

*It is not supported on the IIgs and if it works, it's more or less by
accident.  AppleTalk on the IIgs is only supported by booting into GS/OS.*

GS/OS generally refuses to boot if the system isn't the way it thinks it ought
to be.  For example, it keys off the MSLOT ($7F8) screen hole to know what
slot you're booting from (currently, at least).  If some interrupt source
(like AppleTalk) has things coming in when the system hasn't started up the
interrupt manager yet, or if the AppleTalk drivers try to start up when the
network thinks they're already there as a different node, or anything else
(little and annoying) like that, the boot process will probably fail.

If you want to use AppleTalk from your IIgs, you have to boot into GS/OS.
That's all we guarantee that will work and that was all that was tested.

-- 
============================================================================
Matt Deatherage, Apple Computer, Inc. | "The opinions represented here are
Developer Technical Support, Apple II |  not necessarily those of Apple
Group.  Personal mail only, please.   |  Computer, Inc.  Remember that."
============================================================================

Les_Ferch.@MTSG.UBC.CA (12/20/89)

>If you want to use AppleTalk from your IIgs, you have to boot into GS/OS.
>That's all we guarantee that will work and that was all that was tested.
 
It's not very good PR to tell us that using ATINIT with ProDOS 8 on
a GS is not supported and that we "have to boot into GS/OS", when it
certainly does work (at least on a ROM 01 GS).  On a GS that only
has one 3.5" drive or even just a 5.25" drive and 256K or 512K
memory, this is the *only* practical way to print from classic
AppleWorks (or any other ProDOS 8 program) to an appletalk connected
LaserWriter.  Why Apple refuses to support or reccommend a solution
to people that works fine I don't know.  Perhaps it's just another
way to make uninformed users buy more hardware than they really
need.  The irony is, that I learned of this technique from somebody
at Apple! 

mattd@Apple.COM (Matt Deatherage) (12/20/89)

In article <1967210@mtsg.ubc.ca> Les_Ferch.@MTSG.UBC.CA writes:
> 
>It's not very good PR to tell us that using ATINIT with ProDOS 8 on
>a GS is not supported and that we "have to boot into GS/OS", when it
>certainly does work (at least on a ROM 01 GS).

Well, consider the alternative quote:

"Oh, sure <snicker>, that works fine! <chuckle>  Try running some really
intensive network software over it!  <guffaw, guffaw>"

I assume you'd rather hear the truth than something more convenient.  If this
is a bad assumption for network posting, someone please correct me.

>  On a GS that only
>has one 3.5" drive or even just a 5.25" drive and 256K or 512K
>memory, this is the *only* practical way to print from classic
>AppleWorks (or any other ProDOS 8 program) to an appletalk connected
>LaserWriter.  Why Apple refuses to support or reccommend a solution
>to people that works fine I don't know.  Perhaps it's just another
>way to make uninformed users buy more hardware than they really
>need.  The irony is, that I learned of this technique from somebody
>at Apple! 

It "works fine" because you haven't run across a program it doesn't work for.
If it works fine for you, then use it.  If you try running another network
application that dies a horrible death, don't say you weren't warned.

Apple doesn't support it because the programming documentation lists a set of
more robust AppleTalk calls and vectors that are available on the IIgs under
AppleTalk - if you run IIe network software on the IIgs, the software could
(and will, in many cases) identify the machine as a IIgs and try to use
networking features which should be there but aren't, because you didn't boot
GS/OS and let them get loaded.

The minimum requirements for networking an Apple II are ProDOS 16 v1.6 and 256K
memory (although this is now unsupported, it still works.  "Unsupported" means
"we're not worried about bugs in it") or 768K of memory and System Software
5.0.2.  We don't make these requirements because we like people not using our
System Software's capabilities.  We make them because trying to jam it into
less memory creates unacceptable performance or capability limitations.

There are several stock watchers in this news group who will happily inform you
that Apple doesn't do it because they own a memory factory.  :)

-- 
============================================================================
Matt Deatherage, Apple Computer, Inc. | "The opinions represented here are
Developer Technical Support, Apple II |  not necessarily those of Apple
Group.  Personal mail only, please.   |  Computer, Inc.  Remember that."
============================================================================