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

Re: Is there a 16 bit version of "ProDos" (GS/OS) and where can it be found ?



Supertimer <supertimer@aol.com> wrote:

> Willie Yeo <w.yeo@qut.edu.au> wrote:
> 
> >Supertimer wrote:
> >
> >> Yes, it is called GS/OS.  Currently, the IIGS OS is shipped
> >> as System 6.0.1.  This is really no longer ProDOS at all,
> >> but a completely different OS.
> >
> >    There is a ProDOS 16 actually, very long time ago, it dates back to
> >1986 I believe ?
> >
> >    You can find it in the earlier games that uses 16-bit ProDOS, much
> >of which is the basis of the newer GS/OS, the architecture is similar. I
> >think somewhere in my archives, there is a ProDOS 16 v1.0 |8p
> 
> Wasn't ProDOS 16 more like a ProDOS 8 core hacked to
> support some IIGS features?

As far as the internal architecture of the kernel is concerned, this is
correct.  Applications don't know anything about this - the API is fully
native.  If you launch a ProDOS-8 application, the real P8 kernel is
loaded in place of the P16 kernel, and the P16 kernel is reloaded when
you quit back.

I can't tell you whether the P16 kernel runs in emulation or 8-bit
native mode - it probably switches to emulation mode for calling
drivers, but stays in 8-bit or 16-bit native mode for everything else.

All data transferred by ProDOS-16 has to go through buffers in bank 0,
and drivers are the standard slot-based ones, or are loaded into RAM as
part of the kernel (e.g. the 5.25" driver).  The kernel doesn't need to
be limited to using the language card area, since in the 16-bit
environment applications cannot assume that they can use the entire
bottom 48K.

I never looked into the internal organisation, so I don't know if it
retained the ProDOS-8 global page, but I expect it was removed or
patched out to protect against applications mistakenly making P8 calls.

The only unusual part I can think of is AppleShare support, which
probably works much the same as ProDOS-8: the ProDOS Filing Interface
(part of the AppleTalk stack) intercepts all ProDOS-16 calls, filters
out network-related ones, and leaves the rest for the kernel to handle.

> I thought GS/OS was more or less a complete rewrite that
> was a new true 16-bit OS.

Yes.  It retains support for the ProDOS-16 calls, and adds a new series
of "native" GS/OS calls that have more flexible parameters.  The main
entry point is identical ($E100A8 for inline parameter block calls).
GS/OS adds a stack-based calling mechanism (via $E100B0) that is easier
for high level languages to deal with.

GS/OS added support for character devices (ProDOS-16 only supports block
devices), volumes larger than 32 MB, loaded drivers and FSTs.

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