[comp.sys.apple2] Multiswitch GS!

prophet@oxy.edu (Dale Bruce LaFountain) (04/01/91)

This information comes from a local bulletin board, and I don't know any more
about it than what is below.  I just thought that everyone might like to
know more about this.  The author's address is at the bottom of this
article.

-Dale LaFountain
prophet@oxy.edu

--------------------------------



Coming soon : MultiSwitch GS !
------------------------------

MultiSwitch integrates the MultiSwitch program itself and MultiTask, a multi
applications/multi-tasks environment for the Apple II-GS.  ProgramUs
functionalities :

Switches between GS/OS applications :

For instance, on a 1280Kb machine with system 5.0.4 it is possible to use at
the mean time Beagle Draw, Deluxe Paint and MultiScribe GS.

The configuration used during the tests was a 1280Kb GS equipped with a
TransWarp , a 40Mb SCSI hard Disk, a 20 Mb internal hard disk (Western
Digital compatible drive), an AppleDisk 3.5S running with GS/OS 5.0.4, 16 Kb
GS/OS cache, an accessory for the French keyboard translation and the two
accessories of MultiSwitch.

Times to switch between applications - from the moment the next application
is selected through the DA designed for this purpose to the moment the
application is ready for work - are as follow :

BeagleDraw and Deluxe Paint were loaded from a 800Kb disk and MultiScribe
from a 40Mb SCSI Seagate( hard disk.

BeagleDraw to Deluxe Paint : less than 3 seconds
Deluxe Paint to Beagle Draw : 4 seconds
Beagle Draw to MultiScribe : 3 seconds

another example using Prosel 16 :

BeagleDraw to Prosel 16 : less than 1 second

This is particularly noticeable with applications compatible with the Scrap
Manager. One can draw with Deluxe Paint and immediately include the work in
a stack created under HyperCard GS. Then write a text with BeagleWrite and
fill a TextField of the HyperCard stack very quickly.

One can launch text or graphic based applications, use shells designed for
APW, Merlin or Prosel without loading these applications.

It is possible to speed up GS/OS applications theoretically incompatible
with ExpressLoad.

Up to 15 applications may reside in the mean time in memory . This amount
will be increased in future releases.

MultiSwitch GS contains a completely new Prodos 8 which is able to run clean
Prodos programs without destroying the GS operating system. For instance it
is possible to use Copy //+ and Beagle FontEditor or Block Warden but when
the Quit option is selected one can launch immediately a GS/OS program
loaded by MultiSwitch.

The Prodos 8 applications are able to access the caching system of GS/OS,
resource forks or files and more than two volumes per slot and all the
enhancement of a 16 bits operating system. Up to 10 Prodos 8 applications
may be loaded through the P8 emulator.

Might an application not be compatible with the P8 emulator - name of this
new Prodos - then it is still possible to launch as formerly with a classic
launcher or it can be loaded in memory and switch (up to 8 Prodos 8
applications can reside at the same time in memory).

MultiSwitch GS protects GS/OS much better than the Finder does. Returning
from Prodos is very fast : 1 second for AppleWorks 8bits.

There is a direct access to AppleSoft programs and switch to Basic.System.
The break vector is redirected to this Basic under Prodos 8. Thus a crash is
not fatal.

Under GS/OS a CDA (QuickQuit) can be used to exit from System Death Errors,
ExpressLoad mistakes, crash in monitor, endless loops or bugs of a program.
MultiSwitch GS fixes system bugs like those affecting Startup Tools and
NDAs, the tool setup, sfGETFILE I

It can install INITs (temporary or permanent), GS/OS drivers, CDAs and NDAs.
It is also possible to re-install INITs, like Debug.

For systems with few memory, one can use a Switcher Text or mini-launcher
(graphic 540 bytes).

MultiTask GS is a multi-application, multi-task environment for the Apple
II-GS.

Multi-task dialogs, inter-application communications, inter-processes
communication, multi-task shells, share of documents/commands between
programs, a powerful memory management with virtual memory capabilities are
available.

The use of windows, dialogs and pulldown menus is far much easier than in
the single application mode. The system hides or shows the windows which
belong to the front end automatically, it handles controls in dialog.

The task manager is able to use multi-processor systems in many
configurations (two processors or more addressing the same memory space,
processors on expansion cards addressing their own memory) and - as soon as
our AppleTalk network will be in use - the Task Manager will use GSs
connected under AppleTalk.

MultiTasks is provided with four applications and their APW sources : two
samples for developers illustrating the use of dialog, shells, pipe-lines,
I/O managements, tasks management ; a program to display documentations
(useful for users groups) and a text processor (four texts, four clipboards,
communication with the shell).


*************************************

Approximative price: $80
Available: April 1991
Contact : BrainStorm Software
7, alle Murat - Bois Imprial
54630 Richarmnil
FRANCE
Fax: (33) 83-57-57-65
-------------------------------------

rhyde@gibson.ucr.edu (randy hyde) (04/02/91)

Have they solved the problem with the GS/OS close all command?
About three years ago I looked at this problem.  Even had a multi-ANIX
up and running.  Alas, the GS/OS close call (with sub-code zero, as I
recall) closed all open files.  If one program executed this command, it
closed *all* open files, including those opened by other applications.
I gave up at the time because I was not willing to write a complex front-end
for GS/OS to capture this call.  I would hope your people have solved this
problem.  I have a lot of respect for them if they have.  I have some
reservations
if they have not.
*** Randy Hyde

toddpw@nntp-server.caltech.edu (Todd P. Whitesel) (04/02/91)

rhyde@gibson.ucr.edu (randy hyde) writes:

>Have they solved the problem with the GS/OS close all command?
>About three years ago I looked at this problem.  Even had a multi-ANIX
>up and running.  Alas, the GS/OS close call (with sub-code zero, as I
>recall) closed all open files.  If one program executed this command, it
>closed *all* open files, including those opened by other applications.
>I gave up at the time because I was not willing to write a complex front-end
>for GS/OS to capture this call.

I can't answer for the french guys, but I have thought about this one. All
you need to do is apply the UserID matching criteria that the Memory Manager
uses for DisposeAll() calls. Close calls with refnum's of 0 are extremely
rare anyways, because of the lack of UserID protection.

The UserID system and certain hooks in the system designed solely for
MultiFinder-type switching have existed since day 1; The last barrier to
a real switcher is GS/OS itself. It is rumored that the next version of GS/OS
will allow proper context switching and so on, in order to make cooperative
multitasking possible.

Todd Whitesel
toddpw @ tybalt.caltech.edu