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

Re: Multitask 16 and 8 bit on GS???



In article <1222.UUL1.3#25274@ace.com>, Luigi <luigi@ace.com> wrote:
> 
> 
> Hey, I want to Multitask an 8- and 16-bit programs together on my IIgs.
> Can this be done, and at a reasonable speed?

Definitely not.

ProDOS-8 programs expect to have all of bank 0 and 1 available, and
ProDOS-8 to be sitting in the bank 0 language card area.  Under GS/OS,
parts of GS/OS occupy the bank 0 and 1 language card areas, and large
chunks of the main RAM area in banks 0 and 1.  The majority of bank 0
is likely to be occupied by stacks and other miscellania.

Even switching between GS/OS and ProDOS-8 programs (quickly) would be
a nightmare.  It would be necessary to save the contents of all the
handles in banks 0 and 1 (plus the language card spaces, zero pages and
stacks), remove all the handles, reallocate appropriate handles for
ProDOS-8 usage, then copy the ProDOS-8 application and operating
system (and other items) back into bank 0 and 1 (128k of memory to
copy).  Something would have to be done to shut down GS/OS interrupt
handlers, drivers and other system components that expect to be told
when an operating system switch occurs.

A similar set of "behind the back" operations would have to be
performed when switchin in the opposite direction.

The above are many of the steps required when GS/OS launches a
ProDOS-8 program (or ProDOS-8 quits back to GS/OS), except that GS/OS
only needs to set up the ProDOS-8 operating system when switching, not
copy an application into all of main and auxiliary memory.


Assuming someone could actually write all the necessary code to do
this, it would take a large amount of time to actually do the switch
(copying 128k of memory one way, and at least 48k the other way, plus
all the fiddling around with drivers, etc.)  On a standard IIgs, just
the memory copying would take at least 1.2 seconds.

Multitasking is right out of the question - assuming each application
got a second of execution time (hardly what I'd call multitasking),
you'd be getting one second for each application every four seconds.
Not good.


It would probably be easier to emulate ProDOS-8 from within GS/OS, but
this would mean emulating the processor as well, which would lead to
rather slow execution of the ProDOS-8 program.