First off, THANKS for all the responses. I was able to isolate
location $62 and its possible values by using the BATRAMMER program,
which I was unaware of.
IIgs specific, but needs to run in P8. Well, it's a little ridiculous
and I don't think it's possible to do what I wanted anyway, which is
connected to my other post about customizing START.GS.OS.
The scenario is this: I'm about to release A2SERVER, which is
basically a packaged-up-as-a-VM-appliance, ready to go, minimal-
configuration Netatalk server. Netatalk for the rest of us. Or
something.
Since I didn't want to distribute Apple's software in the VM, I
provide a script which gets the "Disk 7" image from Apple's servers
and extracts the boot blocks and puts them in the right places, and
sets up the ATINIT file just so, etc. And because P8 and Basic.System
are on that disk image and can be copied to the shared volume, you
basically have a netbootable ProDOS 8 machine set up entirely from the
Linux side, which is cool. (IIe clients never need the Workstation
disk at any point.)
I also wanted to be able to have a script download the the GS/OS disk
images and put them in the shared volume, along with image and archive
manipualtion utilities (including your own MountIt, if you don't
mind), *just in case* the IIgs user doesn't have them. Absurd, I know,
but bear with me.
I kind of got obsessed with this "no disks" scenario, and envisioned a
IIgs user with no OS being able to netboot into ProDOS 8, use an 8-bit
image-to-disk utility (DSK2FILE) to make disks, and then with the
disks install GS/OS to the shared volume. (Actually, to do that,
they'd first need to install the Network: 800K Disk script, boot from
that, mount the shared volume, and THEN run the installer selecting
the Network:Server Startup script and targetting the shared volume.)
But the catch is that: if the IIgs is set for GS/OS in the Network
control panel -- value 1 in BRAM location $62, as Geoff deduced --
then the boot blocks are going to want to run START.GS.OS no matter
what, and will generate an error $0046 (File not Found) when it
doesn't find it. So my brilliant idea was to provide a stub
START.GS.OS with code that sets BRAM to value 2 in $62, for ProDOS 8
boot.
But where I'm stuck is that while START.GS.OS (or code substituted for
it) loads at $6800, that must not be where it executes first. It will
instead break into the monitor, and if I type 6800G, then my code
executes as expected. But I can't figure out where the boot blocks are
actually jumping to after loading START.GS.OS, mostly because my GS
chops are not so hot.
I've decided it's not terribly important, because who doesn't have GS/
OS disks or can't get them? But it's still pretty interesting.
Learning a lot about the machine, certainly.
Ivan.