MultiSwitch
Un article de Vincent Hémeury et Deckard

Dernière mise à jour: lundi 22/02/2010.





"MULTISWITCH MULTISWITCH!"

Un titre en hommage à la célèbre tirade "MALKOVICH MALKOVICH!" du film "Being John Malkovich" de Spike Jonze et Charlie Kaufman sorti en 1999 (avec le titre français "Dans la peau de John Malkovich").

Le lien avec MultiSwitch, les switchers ou les MultiFinders peut ne pas paraître évident au premier abord, mais quand on y pense, ce que les programmeurs ont réussi à trouver pour leurs logiciels et qui les différencie des autres, c'est un chemin ayant des caractéristiques proches du déisme (forme d'immortalité, omniprésence, ...)

De la métaphysique dans l'informatique, il ne manquait plus que cela!!


Table des matières


Lien Information Source
Voir 01) Un peu d'histoire...
Nouvel article (Deckard).
Voir 02) MultiSwitch: interview de Vincent.
Nouvel article (Vincent et un peu Deckard).
Voir 03) Annexe: Mini Switcher.
Doc interne incluse (Vincent).
Voir 04) Annexe: Présentation de MultiSwitch / v1.0.
GS Info numéro 20 - mars/avril 1992 (Vincent).
Voir 05) Annexe: MultiSwitch évolue / v1.0.4.
GS Info numéro 21 - mai/juin 1992 (Vincent).
Voir 06) Annexe: MultiSwitch v1.15 / GS Tune Up v1.03.
GS Info numéro 26 - mars/avril 1993 (Vincent).
Voir 07) Annexe: MultiSwitch v1.2.
GS Info numéro 29 - septembre/octobre1993 (Vincent).
Voir 08) Annexe: MultiSwitch v1.3, SCSI Toolkit, Send PostScript 1.3.
GS Info numéro 32 - mars/avril1994  (Vincent).
Voir 09) Annexe: A propos de Send PostScript GS.
GS Info numéro 33- mai/juin 1994 (Vincent).
Voir 10) Annexe: MultiSwitch v1.36.
GS Info numéro 34 - juillet/août 1994 (Vincent).
Voir 11) Annexe: Pict2 Converter v2.0.
GS Info numéro 35 - septembre/octobre 1994 (Vincent).
Voir 12) Annexe: MultiSwitch v1.4 et autres mises à jour.
GS Info numéro 37 - janvier/février 1995 (Vincent).
Voir 13) Annexe: MultiSwitch v1.44.
GS Info numéro 42 - novembre/décembre 1995 (Vincent).
Voir 14) Annexe: A propos d'ExpressLoad.
GS Info numéro 10 - juillet/août 1990 (B. Tomeno).
Voir 15) Annexe: Différences entre The Manager et Switch-It!
A2-Central On Disk - May 1993: Vol. 9, No. 4 (Dean Esmay).


Mes remerciements aux responsables du site abandonware-magazines pour les illustrations que j'ai pu y dénicher ainsi qu'aux auteurs de GS Infos, la revue francophone orientée Apple IIGS d'où sont issues les annexes de cette page et quelques pièces jointes (utilisation de données du CD-ROM publié).

Magazines Abandonware
CD-ROM GS Club


hr apple switcher


01) Un peu d'histoire...



Switcher... Vous avez dit Switcher??

A en croire Apple, ce terme désigne un ancien utilisateur de PC Windows qui viendrait d'opter pour une machine ornée du logo de la pomme.
Bien entendu, le décompte opéré occulte les utilisateurs de macs qui, lassés d'une politique commerciale s'apparentant de manière récurrente à la traite des vaches (voire du foutage de gueule pur et simple), ont décidé d'aller voir ailleurs, que ce soit du côté de Redmond ou chez les pingoins et autres dérivés d'*NIX de la première heure.
Et je compte parmi les volontaires au départ la horde des intégristes (idôlatrant Steve Jobs) qui, la colère au coeur, avaient criés au loup, prédit la fin des développements et la sure agonie de cette société avant la fin de l'année à longueur de forums quand le boss tête à claques en indémodable pull noir avait annoncé lors d'une keynote mémorable en 2005 qu'Apple allait finalement faire comme les autres et rentrer dans le rang en adoptant les processeurs Intel (après avoir chié sur ce fondeur tout en se foutant de la gueule de leurs processeurs archaïques et lents face à l'incomparable puissance des G4 et G5).
Ah... On m'apprend que ces fanatiques dotés de solides oeillères se seraient achetés des mac intel finalement après s'être gargarisés de la supériorité de leurs machines à base de PowerPC. Etonnant, non? Voila ce qui s'appelle avoir le courage de ses opinions!!! ;-))))
Alors messieurs, ça fait quoi de s'en prendre une grosse entre les fesses, hein ? J'oubliais que vous êtes habitués et en redemandez régulièrement... J'espère que les costumes de cosmonautes Intel (ref: leur pub débile) se marient impeccablement avec vos nez de clown... ;-))))

Mais je m'égars... faut dire que je me suis tellement marré à l'époque que j'en garde encore le souvenir du mal aux côtes que je me suis tapé...

Bref, Apple a troqué son "think different" par un "think like mister Tout L'Monde" en switchant (encore!) pour de l'Intel cette fois et se frotte à présent les mains en voyant ses parts de marché s'accroitre et surtout ses bénéfices... faut dire qu'avec un tarif en France largement plus cher qu'aux USA (via un taux de change imaginaire 1$ = 1€), le fric tombe tout seul; la TVA n'étant pas entièrement responsable de cette majoration, loin s'en faut.


Pour les plus anciens d'entre nous, ce terme de switcher évoque également d'autres souvenirs.
Quoi de plus naturel aujourd'hui que de lancer plusieurs applications en parallèle et de passer de l'une à l'autre via la combinaison de touches alt-tab ou command-tab?
Difficile d'imaginer pouvoir travailler autrement en conservant un minimum de productivité.
Et pourtant... il n'en a pas toujours été ainsi! Cette fonctionnalité n'est pas apparue dès les 1ères spécifications des operating systems.

Pendant un petit moment sur mac, il fallait toujours quitter complètement un programme pour retourner au finder et pouvoir lancer une autre application.
Au mieux, l'utilisateur pouvait exécuter des accessoires de bureau en même temps qu'une application principale pour avoir l'impression d'un peu de liberté (par exemple en lançant le desktop accessory calculator pour faire des opérations de calculs en parallèle à autre chose). Il faut dire que ce n'était pas simple de faire autrement, surtout compte tenu de la limitation de la ram disponible.

Assez rapidement est apparue une évolution qui a permis de passer d'une application à une autre et de reprendre là où l'utilisateur l'avait laissé précédament.
Cette réalisation technique fut accomplie par Andy Hertzfeld. Ce qu'il y a de drôle dans cette inovation "Apple", c'est que c'est un pompage sur le monde IBM!!!
N'en déplaise aux cosmonautes à nez rouge, l'idée du switcher est issue du programme Memory Shift, un utilitaire DOS qui gardait plusieurs applications en mémoire et permettait de switcher rapidement de l'un à l'autre. Andy raconte le détail de cette aventure sur l'excellent site Folklore.org.
Le point de départ a été la rencontre avec un journaliste du magazine Byte pendant laquelle Andy a présenté son projet en cours : le scanner bon marché Thunderscan pour mac... (et qui a aussi été décliné sur Apple II 8 bits et GS).

Thunderscan 8 bits
Thunderscan GS

C'est pendant cette rencontre qu'il vit sur l'ordinateur du journaliste le fameux programme et eu envie d'avoir la même chose sur mac. Son programme Switcher fut commencé fin 1984 et la 1ère version finalisée sortie en avril 1985.
Mais ce programme était limité quant au nombre total d'applications exécutables (il y avait un nombre de "slots" max=8 selon la mémoire dispo pouvant livrer son contenu par un simple clic).
De plus, seul le programme de 1er plan était actif. Il n'y avait aucun traitement d'arrière plan possible pour les autres.

Switcher

L'étape suivante a consisté à faire tourner ensemble plusieurs application, de les rendre visibles en même temps sur le bureau et de permettre de passer de l'une à l'autre (passage de celle sélectionnée en dernier au 1er plan) en cliquant sur la fenêtre concernée (qui devient "active"). Le MultiFinder en version 1.0 (désactivable par l'utilisateur s'il ne le souhaitait pas) est apparu fin 1987 avec le Macintosh System Software 5.0.
La caractéristique du multitache coopératif ne sera complètement intégrée qu'à partir du System 7, soit fin 1991. (Je ne parle pas du support multitache préemptif de A/UX car je ne connais pas dans le détail son implémentation, probable résultat d'une hybridation potentiellement dangereuse pour des développeurs non expérimentés). Le multi-task mis en oeuvre par le MultiFinder (de type coop) reste simple (par rapport au préemptif). Par exemple il n'empêche pas le gel complet du système si un processus bogué ne rend pas la main à un autre processus. Mais Apple s'est contenté de cela jusqu'à la version 9 incluse de Mac OS.

Voila pour un rapide aperçu du monde mac.

Mais qu'en était-il de nos machines 8 et 16 bits qui ont été produites par Apple respectivement jusqu'à fin 1993 (pour le IIe) et fin 1992 (pour le GS), soit bien après l'apparition de Switcher et de MultiFinder?
Voyons tout d'abord sur les 8 bits:

Apple IIe
Fan 8 bits
Apple //c

Par exemple était-il possible d'écrire un article comparatif sur 2 traitements de textes français (Epistole de Micro Assistance/Version Soft et Gribouille de Madeleine Hodé) en les ayant en même temps sur la machine ainsi que le simulateur français de voilier intitulé Transat et écrit par Jean-Marc Sornin (chez No Man's Land) pour se divertir un peu de temps en temps?

Epistole
Epistole
Epistole Epistole
Gribouille
Gribouille
Gribouille
Transat
Transat
Transat

Et bien la réponse est la suivante: sortir un produit similaire à Switcher et MultiFinder sur ses gammes non mac n'a jamais été une préoccupation d'Apple. Même lors de la mise sur le marché de l'Apple IIGS en 1986 (après Switcher), un tel produit n'était pas prévu.



Pour comprendre cette "absence", il faut se remémorer le contexte de l'informatique personnelle à l'époque de ces machines.

Tout d'abord historiquement (en remontant aux origines), aussi curieux que cela puisse paraître pour les "nouveaux" lecteurs, il n'y avait pas vraiment de standardisation des systèmes d'exploitation sur la gamme 8 bits.
Même si Apple avait sorti son DOS 3.2 puis le DOS 3.3 qui était livré avec toutes les machines 8 bits vendues, les éditeurs de logiciels quant à eux préféraient bien souvent commercialiser leurs produits sous des OS propriétaires protégés - bien entendu - et incompatibles les uns avec les autres.
La seule solution pour passer d'un soft à l'autre était de rebooter à chaud la machine après avoir mis la disquette de l'application désirée dans le lecteur de disquettes 5,25 pouces (ou faire un control-reset, ce qui revenait au même car les softs en cours refusaient de rendre la main et relançait un slotscan à la recherche de la première unité bootable ou forçait le démarrage de l'unité du slot 6 - soit le lecteur de disquettes - qu'il y ait une disquette ou pas dedans).
Pour expliquer aussi l'absence de solutions de travail en parallèle, il faut rappeler que la mémoire de ces machines restait pour la plupart des users au stade des 128ko (dans le meilleur des cas, ce qui était largement suffisant pour leur emploi!!) et le prix des disques durs étaient alors carrément prohibitifs (pour une capacité de quelques mégas octets - de 5 à 10 généralement); ce type de dispositif se trouvant cantonné à un usage professionnel en entreprise.

Les personnes qui ne voulaient pas sans arrêt rebooter la machine (pour travailler) pouvaient toujours se tourner vers des solutions dites intégrées : dans un même package vendu se trouvaient un lot de programmes correspondant aux taches les plus courantes. Par exemple un des premiers du genre à savoir l'intégré Jane de la société Arktronics Corp proposait (dans un environnement graphique HGR) 3 fenêtres simultanées permettant d'utiliser JaneWrite (word processor), JaneCalc  (spreadsheet calculator) et JaneList (personal filing system). J'ai une version de 1983 mais il s'agit d'une mise à jour; la version initiale doit donc dater d'avant.
Le crack que j'ai retrouvé sur plusieurs sources différentes était signé The Softman mais il n'est pas possible de faire tourner correctement le programme sur émulateur y compris au format .NIB (je n'ai pas eu le temps de me pencher d'avantage dessus mais pour info ça bloque après l'affichage du logo de la société et un chargement de plusieurs pistes. Normalement on devrait avoir l'affichage du curseur sous forme de main en mode HGR à ce moment là).

A noter que ce programme comme ses copains de l'époque a aussi un operating system propriétaire. Seules les données de travail sont enregistrables sur une disquette formattée en DOS 3.3.

Jane
Jane
Jane
Jane
Jane
Jane
Jane
Jane

Jane
Jane
Jane


Il y eu d'autres produits similaires (pas forcément dans le même domaine ou pas aussi complets) qui, s'ils ne permettaient pas vraiment de switcher d'un programme à l'autre, permettait tout au moins à l'utilisateur de revenir à un menu principal du produit (une sorte de desktop) et de lancer une autre application du package sans avoir à complètement rebooter.
Par exemple:  The Works! de Fernando Herrera (SoftEdge/First Star Software) qui embarque avec lui une floppée d'outils (ici la calculette et le compositeur de musiques):

The Works!
The Works!
The Works!
The Works!
The Works!

Mais ces environnements restaient fermés (DOS non standard) et la taille du stockage limitée à celle des disquettes 5,25 pouces.
Le degré d'interaction entre les différents outils était variable selon les logiciels. Un total mélange des outils était plutôt réservé à des applications ayant une finalité particulière comme par exemple l'étonnant soft Kid Pro Quo de Mike Gardi (chez SoftSync, Inc) qui permettait de construire et "jouer" des livres pour enfants mélangeant (comme les vrais) différentes composantes: texte, graphisme, son et animation... en quelque sorte un précurseur des logiciels multimédia qui allait suivre plus tard sur Apple II (comme HyperScreen ou Tutor Tech) sur le même principe en créant des piles "navigables" non plus réservées aux bambins cette fois.

Kid Pro Quo
Kid Pro Quo
Kid Pro Quo
Kid Pro Quo
Kid Pro Quo
Kid Pro Quo

Kid Pro Quo, un soft pour les enfants... heu, avec certaines restrictions quand même ;-)

Kid Pro Quo


A cette époque, on vit également sortir un autre concept destiné à mettre en avant les besoins de l'utilisateur et ne plus penser exclusivement au travers des contraintes du matériel et de la règle "à un programme en mémoire correspond une tâche donnée".
Je pense ici aux travaux de Jef Raskin et plus particulièrement son bébé: la carte Swyftcard pour Apple IIe commercialisée sous le nom de sa société Information Appliance Inc.

Swyftcard
Swyftcard

Son idée pourrait se résumer à la mise à disposition d'une application unique à même de répondre aux besoins multiples d'un utilisateur. Le socle serait un traitement de texte car selon son auteur, tout ce dont a besoin un user à l'exception du graphisme et de l'audio, requiert une saisie d'information + sa restitution.
Ce traitement de texte est doté d'une fonction de sélection d'une partie du texte sur laquelle il est possible d'appliquer une opération de son choix.
Imaginez qu'en tapant un document, vous ayez tout d'un coup besoin de faire une opération de calcul. Tapez dans le traitement de texte l'expression mathématique, sélectionnez cette expression par le biais de touches spéciales (LEAP: open apple = leap backward et solid apple=leap forward selon la position du curseur) et lancer la fonction de calcul. Le résultat est alors fourni aussi simplement. Le principe est le même pour d'autres opérations. Il était même ainsi possible de taper des lignes de programme BASIC dans le document. Comme précédemment, il suffit de sélectionner cette partie de texte et de lancer la fonction qui permet d'exécuter ce programme pour obtenir le résultat (par exemple s'il y a des print dedans). La carte Swyftcard permet également d'accéder à des fonctions de télécommunication: connection et dialogue par modem avec des BBS et d'autres Apple II équipés de Swyftcards.
Le formatage d'une disquette suit la même logique: on tape CALL 3600 toujours à l'intérieur du traitement de texte, on sélectionne avec LEAP et lancement de la commande CALC. La disquette est alors prête pour sauvegarder un "univers", terme utilisé pour nommer les informations d'une nature précise facilement identifiables par l'utilisateur.
Du point de vue hardware, la carte s'insère dans le slot 3 (slot rarement utilisé sur les cartes mère US) et elle prend la main sur la machine dès l'allumage,  y compris sur la rom!!
Bref les programmes (en Forth) contenus dans une eprom font tout et il n'est pas nécessaire de lancer une application depuis une disquette, les drives ne servant que pour le stockage des documents. Quelques photos ici de la Swyftcard.

Mise à jour du 21/11/2008: Deux reviews du produit:

Swyftcard
Swyftcard
Swyftcard
Swyftcard
Swyftcard
Swyftcard

Quelques informations complémentaires pour ceux s'intéressant à cette vision:
Persuadé de la justesse de cette approche, il créa plus tard une machine dédiée dans le même état d'esprit appelée Canon Cat (commercialisée par Canon en 1987).

Jef Raskin continua dans cette direction et publia en 2000 un livre The humane interface: new directions for designing interactive systems qui reprend un certain nombre des éléments mis en oeuvre dans la Swyftcard.

A noter par ailleurs que la machine Apple II de Jef a été vendue aux enchères sur ebay il y a peu pour un montant de 800 dollars US. Ci-dessous les photos et le descriptif:

Swyftcard
Swyftcard
Swyftcard
Swyftcard

This is the personal Apple II of Jef Raskin used at Information Appliance in developing the highly acclaimed and much studied Swyft and Canon Cat "Work Processor" software. The two Apple keys and space bar have been changed in size to allow "Leap" keys. The unit includes Jef's SwyftCard firmware and key labels. The wood palmrest is the prototype for a patent. Note the hole as a carry handle. By the way, it all works. This represents a unique development in the history of personal computing and human interface design. The late Jef Raskin was the creator of the Macintosh project at Apple and the author of "The Humane Interface". If you are looking here out of curiosity, a quick google search will turn up many items and interviews. This computer is among those pictured at the digital museum site and the Raskin Center. The Swyft/Cat interface was first developed and tested on the Apple II and worked so well that it became a product -- the SwyftCard or Swyftware. If desired, I can include a boxed Swyftcard with tutorial disk and manual with new keyboard labels. http://www.digibarn.com/friends/jef-raskin/slides/canon-cat/index.html http://jef.raskincenter.org/home/index.html Like all the developer's Apples at IAI, the lid of the case was soon discarded due to the need to swap cards or run diagnostic cables. This computer comes with a System II monitor stand with power and key as well as Jef's dual joysticks used with is simulator for RC aircraft -- he was an award winning RC acrobatic flyer. Jef's desk copies of a couple of manuals for graphics tablets and graphics software are included. You hear the once in a lifetime opportunity on eBay to often. However, this is a one-of-a-kind system designed and owned by a great inventor and visionary of the modern computer age who left us all too soon. I was privaledged to work for him at the time but have no place to keep all my memorabilia. This computer needs a good home with someone who appreciates it as the artifact it is.




En 1985 la société de Bert Kersey, j'ai nommé Beagle Bros, a bien tenté de créer une sorte de switcher sur 8 bits mais le programme était limité du fait de nombreuses contraintes.
Le produit appelé EXTRA.APPLE était inclus dans la production EXTRA K co-signée par Alan Bird et Mark Simonsen.
Il fallait impérativement posséder une extension mémoire pour avoir 128k de ram. L'idée était d'avoir l'équivalent de 2 machines de 64k chacune (APPLE1 et APPLE2) qui cohabitent ensemble, une en mémoire principale et l'autre en mémoire auxiliaire. Le passage de l'une à l'autre se faisait par un CALL 769, ce qui signifiait déjà que le switcher devait résider aussi dans le même espace que les 2 machines, ce qui amputait d'autant l'espace libre disponible pour chacune d'entre elle. Et il fallait avoir la main (ligne de commandes) pour effectuer ce passage de l'une à l'autre.
Pour connaitre la machine en cours, c'est à dire "active" à ce moment là, il fallait taper un PRINT PEEK(768) pour obtenir un chiffre "1" ou "2".
La publicité de l'époque indiquait qu'il était possible d'avoir en même temps un DOS 3.3 sur une machine et un ProDOS chargé dans l'autre mais ce n'était pas tout à fait vrai car il fallait passer par un DOS hybride créé avec un des autres outils livrés. C'est à dire que la disquette générée par HYBRID.CREATE (l'outil en question) avait un double catalogue et que le DOS hybride savait gérer les 2...

Quelques unes des contraintes:

- On ne peut pas dire que l'on va booter 2 disquettes différentes avec chacune un DOS dessus; le démarrage doit avoir lieu avec le chargement de EXTRA K. Au début on n'a qu'une seule machine (en mémoire principale) que l'on duplique en mémoire auxiliaire par un CALL 600. Puis on fait ce que l'on veut (altérations) en switchant de l'une à l'autre.
- Il faut que le mode d'affichage TEXT soit le même entre les 2 machines (40 ou 80 colonnes).
- Chaque programme doit bien entendu rester dans la machine virtuelle, donc dans son espace mémoire assigné en faisant attention de ne pas écraser le switcher (qui utilise aussi des adresses en page 0 et une partie de la page 3). Il faut donc des programmes taillés sur mesure sachant que le switcher est présent.
- Bien sur les programmes plombés/commerciaux ne pouvaient pas tourner avec.

Mais c'était déjà mieux que rien... pour faire un petit développement manuel.

Extra K
Extra K
Extra K

Mise à jour du 21/11/2008: un programme similaire a été publié dans la revue US Nibble de décembre 1986. Le switcher de John A. Oakey s'appelait "Split Personality". Un aperçu du programme seulement car le DVD des revues Nibble est toujours en vente de nos jours:

Split Personality
Split Personality


A part ces quelques solutions, les utilisateurs n'avaient pas d'autres choix que le redémarrage complet. (Ceci dit, avec un boot optimisé les chargements d'un programme depuis une disquette étaient loin d'être insupportables).


Pourtant la donne avait commencé à changer très lentement à partir de 1984 et plus précisement avec la sortie par Apple de son nouveau système d'exploitation ProDOS.
Pour la 1ère fois le passage d'une application à une autre était envisagé via une commande interne standard (MLI Quit) et un micro sélecteur d'applications de type SYS intégré dans ProDOS lui-même. Dans les 1ères versions de cet Operating System, c'était plus que rustique: il fallait taper le nom du prochain volume puis celui du programme de lancement, informations que l'utilisateur ne connaissait pas la plupart du temps!!!

MLI Quit
MLI Quit

Mais Apple finit par sortir une version moins contraignante de son sélecteur d'applications après que de nombreux programmeurs aient patché la version officielle; la plus connue (qui existe en plusieurs mises à jour) restant BBB (Bird's Better Bye), "Bird" venant du nom d'Alan Bird, l'auteur membre de la joyeuse bande des Beagle Bros. Il était alors possible de naviguer d'un volume à l'autre puis d'un répertoire à l'autre via une combinaison de touches pour choisir enfin un launcher SYS de son choix parmi ceux présents dans le répertoire sélectionné.

Alan Bird's Better Bye (BBB)
Alan Bird's Better Bye (BBB)

Mise à jour du 21/11/2008: un article sur les sélecteurs paru dans la revue US Scarlett:

Selectors Scarlett

Il y eu aussi des selecteurs issus de l'underground comme celui du pirate Numéro 6 en mode 80 colonnes que l'on retrouve au boot de la version française de PathFinder 1.2:

Selecteur Numero 6
Selecteur Numero 6

Mais malgré l'optimisation faite pour tenir dans l'espace disponible, tous ces mini sélecteurs intégrés avaient un défaut commun: il fallait que l'utilisateur connaisse l'emplacement du prochain programme à lancer dans l'arborescence d'une unité ProDOS. Ce qui (pour l'utilisateur de base) était plutôt pénible surtout si le disque dur était plein d'applications avec de nombreux niveaux hiérarchiques.

Sont donc apparus logiquement des sélecteurs plus complexes que celui proposé par ProDOS. Il s'agissait de programmes qui détournaient l'appel au sélecteur interne vers un sélecteur en grande partie externe et qui masquait l'aspect "FileSystem" du lancement de la prochaine application. Chaque appel à MLI Quit aiguillait alors vers ce nouveau sélecteur.
Ce qui donnait des aller-retours du style:

<selector> --choix-> lancement appli 1/usage/sortie --MliQuit--> <selector> --choix--> lancement appli 2/usage/sortie --MLIQuit--> <selector> --choix--> etc...

Bien entendu il fallait pour cela que les applications lancées proposent non seulement un moyen de sortie du programme (une option Quit) mais surtout un appel final au MLI Quit pour que cela fonctionne. Dans un certain nombre de logiciels commerciaux pour ProDOS, l'option Quit provoque un nettoyage complet de la mémoire et un reboot sauvage. On rencontre par exemple cette pratique sur des produits signés Br0derbund.

Une application phare de l'Apple II est construite autour de ce mécanisme. Bien entendu l'intérêt du logiciel est surtout constitué par tous les outils proposés par son auteur autour de son "desktop".
Pour ceux qui ne l'auraient pas reconnu, je parle du logiciel ProSel de Glen Bredon.
Un extrait de sa doc:

           ProSel is a sophisticated "program selector" which operates under
        ProDOS.  It lets you pass easily between applications without the
        repetitive typing of prefixes and pathnames usually associated
        with quitting from an application program running under ProDOS.
        Programs are selected from a list of titles supplied by you.  You
        do not have to remember where you put these applications on your
        hard disk, ProSel remembers for you.  ProSel can also be used to
        boot BASIC programs with names other than "STARTUP".  It can allow
        you to select from among all the SYS type files on a given directory.
        It supports the Apple mouse, but does not require it, and works very
        well without it.

Quelques exemples de composition de menus avec ProSel:

ProSel
ProSel

On vit donc sortir dans l'Underground des packs de programmes sélectionnables depuis un menu ProSel. Ici en exemple le pack proposé par Criss (apple user sur Rtel) et prévu pour lecteurs 3,5":

Criss
Criss

Avec ProDOS donc, les éditeurs furent "invités" à suivre cette standardisation, surtout s'ils voulaient pouvoir bénéficier d'un stockage sans cesse croissant (à commencer par le lecteur de disquettes 3,5 pouces d'une capacité de 800k, puis les premiers disques durs "grand public"). Bien entendu, un bon nombre d'éditeurs continuèrent comme si de rien n'était (surtout pour les jeux s'accomodant toujours du support disquette suivant la sacro sainte règle commerciale de l'époque qui consistait à viser le plus large marché possible en prenant comme référence la configuration matérielle la plus faible). Mais d'autres y virent l'opportunité d'écrire des programmes plus aboutis dans leur domaine respectif.

Un exemple de programme français sous ProDOS: ClickWorks signé par Controle X, l'alliance d'un gestionnaire de fichiers et un tableur:

ClickWorks
ClickWorks
ClickWorks
ClickWorks


Un des plus gros succès commercial (il me semble) doit être AppleWorks, l'intégré 8 bits de référence. Ici dans sa première version traduite en français (la 1.4) et un supplément d'Apple dédié au mailing:

AppleWorks
AppleWorks

Cet intégré a toujours su s'accomoder des dernières évolutions de ram et de stockage bien que restant rustique avec son mode text. Les fabriquants de hardware livraient toujours un patch pour rendre leurs produits compatibles avec ce soft!
Ajout du 01/07/2008: Quelques exemples de constructeurs de cartes ram mettant en avant la compatibilité avec AppleWorks et le "plus" apporté... avec Applied Engineering, Checkmate Technology Inc et Legend Industries Ltd.

AE Ram Cards
AE Ram Cards
Checkmate Ram Cards
Checkmate Ram Cards
Checkmate Ram Cards
Legend Ram Cards

Par ailleurs nombre de sociétés lui donnèrent un coup de pouce en sortant une ou plusieurs extensions. Ce n'était pas prévu à la base dans Appleworks car le soft n'était pas ouvert (encore moins en open source!!!).

Correctif du 01/07/2008:

Mais contrairement à la pratique protectionniste habituelle, l'auteur du logiciel fournit par la suite des informations techniques comme la localisation de routines en mémoire et le role des différentes fonctions.
Robert Lissner (l'auteur d'AppleWorks) faisait tourner un BBS (bulletin board system) pour répondre aux questions des programmeurs sur son soft. Ceci aida grandement tous ceux voulant s'atteler à la réalisation d'extensions qui ne furent pas obligés de désassembler tout le programme comme cela était indispensable en temps normal. La réalisation de ces extensions donna du boulot à bon nombre de développeurs et des outils supplémentaires bien pratiques destinés aux utilisateurs qui achetaient ces nouveaux programmes basés sur la modification (patch) du programme commercial d'origine, chose impossible de nos jours où les licences stipulent l'interdiction de modifier le programme vendu.

Textes explicatifs issus de SuperPatch par John Link: pourquoi "patcher" AppleWorks et l'art de bien le faire:

AppleWorks Patchs
AppleWorks Patchs

Beauty of AppleWorks
Beauty of AppleWorks
Beauty of AppleWorks

En fait on retourne dans le schéma précédant vu avec Jane de l'application multi-composantes mais poussé à l'extrème, l'idée étant qu'il n'est plus nécessaire de sortir d'Appleworks car les extensions permettent de faire ce que les autres programmes externes font mais sans forcément respecter les standards.

On peut citer une des premières, à savoir Pinpoint Publishing (avec PBI Software), qui rajouta des accessoires appelables à tout moment (calendrier, calculatrice, notepad, typewriter, ...) et une extension des imprimantes. Ces desktop accessories n'étaient pas seulement destinés à Appleworks: il était possible de les lancer dans un autre contexte (voir écran de lancement depuis la ligne de commande). A noter qu'il faut quitter l'accessoire pour revenir à l'endroit appelé (AppleWorks ou autres).

PintPoint
PintPoint
PintPoint
PintPoint
PintPoint
PintPoint
PintPoint
PintPoint

Les plus prolifiques furent Jem Software et surtout Beagle Bros dont le fond de commerce fut la production d'innombrables patchs ajoutant des extensions variées dans la série des TimeOut (la seule difficulté pour l'utilisateur étant de s'y retrouver dans la compatibilité des versions entre les différents AppleWorks et les TimeOut associés - sans compter les versions françaises de Daniel Lurot). Quelques uns de leurs produits:

Jem
Jem
Jem
Beagle Bros TimeOut Serie
Beagle Bros TimeOut Serie
Beagle Bros TimeOut Serie
Beagle Bros TimeOut Serie
Beagle Bros TimeOut Serie
Beagle Bros TimeOut Serie
Beagle Bros TimeOut Serie


Notes du 22/06/2008:
- Détail amusant: TimeOut PowerPack contient lui aussi un "Program Selector". Il permet de quitter AppleWorks par une petite porte et de revenir très rapidement quand l'opération "externe" est achevée...
- J'ai lu sur le net qu'Appleworks 3.0 a été écrit par... Beagle Bros pour le compte de Claris. L'expertise acquise par le biais des hacks leur a permis d'être le candidat le plus approprié pour sortir une nouvelle release!!! Les auteurs de cette nouvelle version n'ont que très peu sollicité l'auteur d'origine pour récupérer des informations.

Des clones d'Appleworks virent le jour comme par exemple DO RE ME (soft sous DOS 3.3 et sans aucune extension) mais ils sont rares à dénicher de nos jours.
Quelques clichés de ce logiciel écrit par Stan Kalwinski et édité par la société new yorkaise Multisoft:

DoReMe
DoReMe

Pas de switch possible entre le tableur (Spread) et le traitement de textes (Word) mais l'utilisation d'un presse papier (clipboard) donne l'impression d'une certaine unité:

DoReMe
DoReMe

Possibilité de "merger" un document du traitement de texte avec une base de données (pour faire des mailing...):

DoReMe
DoReMe

Mais ces clones n'entamèrent en rien le succès d'AppleWorks.

Ajout du 01/07/2008: un comparatif des 3 intégrés: Magic Office System (Artsci), AppleWorks (Apple/Claris) et Jane (Arktronics).

Comparatifs Integrated Programs
Comparatifs Integrated Programs
Comparatifs Integrated Programs
Comparatifs Integrated Programs
Comparatifs Integrated Programs
Magic Office



En plus du passage d'une application à l'autre via MLI Quit et de la compatibilité avec les unités sous ProDOS, l'apple II s'est mis à copier le mac en adoptant une couche graphique (mais par dessus l'Operating System ProDOS).
La encore comme les produits n'étaient pas "apple" en natif, il y en eu plusieurs proposés par des sociétés extérieures.
On vit l'apparition de logiciels GUI sur la gamme 8 bits comme MouseDesk de Version Soft, Quark Catalyst et quelques autres dont GEOS de Berkeley Softworks qui malgré sa lenteur et le peu de softs représentait un exploit technique. Ces softs rendaient plus agréables le lancement des applications en adoptant une présentation sous forme de bureau.

Ajout du 22/06/2008: un comparatif des sélecteurs de programmes en mode graphique:

Selectors
Selectors
Selectors

En illustration, le bureau de MouseDesk 2 dans sa version française avec une vue sur mon disque dur de travail (volume /HD1), le manuel de Catalyst et une présentation du produit:

MouseDesk
Catalyst
Catalyst

Mise à jour du 21/11/2008: un article sur une ancienne version de Catalyst (avant son apparition en mode graphique):

Catalyst
Catalyst
Catalyst
Catalyst

GEOS adopte lui aussi le format bureau du mac:

Geos

GEOS
GEOS

On peut utiliser des accessoires de bureau (à tour de role) ainsi qu'un traitement de texte GeoWrite:

GEOS
GEOS

En renfort du package de base, on pouvait aussi acheter le tableur GeoCalc:

GEOS
GEOS

Ainsi qu'un gros classeur dédié à la publication (GeoPublish et SmallPublish):

GEOS
GEOS

Le gestionnaire de base de données quant à lui s'appelait GeoFile:

GEOS
GEOS


Au final, malgré les 4 points vus (standard ProDOS, MLI Quit, sélecteur évolué et environnement graphique), sur un vrai 8 bits il fallait toujours travailler séquentiellement en passant d'une l'application à l'autre.

Ceux qui voulaient utiliser leurs applications 8 bits en parallèle furent inviter à passer sur GS...


Sauveur
IIGS
IIGS


En effet, ne voyant rien venir de la part d'Apple, des développeurs se lancèrent dans la réalisation d'outils permettant de combler cette lacune (mais uniquement sur le grand frère en 16 bits).
Le 1er switcher sur GS à apparaitre fut SoftSwitch publié chez Roger Wagner Publishing en 1987. Il permettait de switcher des programmes 8 bits cohabitant en même temps en ram (sur le début de la doc ci-dessous on peut voir dans des workspaces: AppleWorks, Dazzle Draw, ...)

SoftSwitch
SoftSwitch
SoftSwitch
SoftSwitch
SoftSwitch

Le logiciel acceptait un maximum de 3 workspace, un workspace étant un espace contenant une application 8 bits en cours d'exécution (cette application pouvant même être protégée contre la copie).
Note du 22/06/2008: Paul Lafonta m'a informé qu'il avait une version plus récente acceptant 8 workspaces.

Il était donc possible alors en théorie (peut-être des applis incompatibles?) d'avoir en même temps un traitement de texte et un logiciel de dessin.
Par exemple si on voulait avoir en même temps ProAm + WordPerfect 2e + Dazzle Draw (soft plombé), il n'était plus nécessaire de s'acheter 3 ordinateurs (ou faire un bond dans le futur et lancer plusieurs instances d'un émulateur sous un OS moderne faisant du multitache).
A noter pour ProAm une illustration cocasse interne dans le style lettre de menace adressée par un fournisseur:

ProAm
ProAm
WordPerfect 2e
Dazzle Draw
Dazzle Draw
Dazzle Draw

Mais ce switch ne bornait aux programmes issus des ][+, //c et IIe.
Il fallut attendre le début des années 90 pour voir les choses évoluer réellement pour les programmes 65C816 natifs.
Et toujours par le biais de solutions commerciales indépendantes.

Il y eu des outils programmés par des indépendants permettant de ne pas avoir à repasser par le finder de GS/OS pour lancer l'application suivante (par exemple les différentes versions de TransProg - la dernière étant la III - écrites par François Uhrich et Etienne Petitjean) mais Apple ne fit rien au niveau de son système d'exploitation, même dans sa dernière monture. La seule possibilité d'interrompre le programme en cours est de lancer certains accessoires de bureau (CDA ou NDA) disponibles quant à eux en permanence quand on le souhaite (les NDA depuis le menu pomme et les CDA avec la combinaison de touches control-pomme ouverte-esc).

Comme en fait il n'y avait pas vraiment d'obstacles majeurs à la réalisation d'un switcher intégré au sein de l'OS (à part au prix de la compatibilité de certaines applications), certains en ont conclu qu'il s'agissait là d'une politique délibérée d'Apple pour que le GS ne fasse pas d'ombre au mac (qui en plus pendant longtemps fut limité au mode monochrome contrairement au GS).

Les développeurs extérieurs ayant pris les choses en main, plusieurs titres se succédèrent ou furent en concurrence pour assurer un switch des applications natives 16 bits, chacun ayant ses limites, ses bogues et autres incompatibilités.
Bien entendu, écrire un tel outil était une véritable gageure (surtout qu'il fallait agir sans le soutien d'Apple et de directives clairement établies). La maitrise de la machine était impérative. Par ailleurs, pour s'assurer du bon fonctionnement général, il fallait tester tous les programmes sortant sur le marché pour jauger leur compatibilité voire carrément les patcher quand une maladresse de programmation rendait le programme incompatible avec le switcher.
Le développeur devait mettre à jour régulièrement son outil pour prendre en compte les problèmes liés à des programmes ne respectant pas certaines directives d'Apple.
Il devait également tenir une liste des softs du marché avec leur degré d'intégration.

Les switchers les plus performants sont arrivés tard sur le marché à une époque où le GS avait son avenir derrière lui. On pu néanmoins voir des publicités dans les derniers magazines d'outre atlantique pour The Manager (un produit français de la société BrainStorm Software) et Switch It! édité par la société Procyon.

Quelques articles comparatifs parus dans la presse américaine des années 1990:

Switch it! vs The Manager
Switch it! vs The Manager
Switch it! vs The Manager
Switch it! vs The Manager


Switch it! vs The Manager
Switch it! vs The Manager

Deux écrans de la démo de Switch It! A noter en haut à droite les flèches dans les 2 sens qui permettent de passer d'une application à une autre:

Switch It!
Switch It!

Deux écrans de The Manager dont le second illustre la possibilité de faire 2 choses en même temps:

The Manager
The Manager

Les produits signés par la société française BrainStorm Software en bonne place parmi les logiciels commercialisés aux USA par Seven Hills Software:

BrainStorm Software
BrainStorm Software
BrainStorm Software
BrainStorm Software

Les noms de quelques uns des membres de BrainStorm Software dans une autre de leur production, l'adaptation du jeu Full Metal Planete:

BrainStorm Software
BrainStorm Software

Le seul vrai concurrent de The Manager (qui faisait du multitache coopératif) était alors GNO/ME (faisant du multitache préemptif), ce dernier surfant sur la mode unix en adaptant plusieurs outils précieux pour les développeurs voulant bénéficier des avantages des 2 mondes.
Mais il était trop tard et l'Apple II (8 bits et 16 bits) avait du, au final, vivre sans presque switcher nativement tout au long de sa vie. Et compte tenu de la longévité de la ligne, on peut dire que pour ce type de machine ce ne fut pas rédhibitoire.

800k
GS/OS
Download Switch It! demo (Procyon)
800k
GS/OS
Download BrainStorm's demos (french versions) including TransProg III 1.5, Kangaroo 1.5 and The Manager 1.5.

BrainStorm Software
BrainStorm Software
BrainStorm Software
BrainStorm Software


Mais à part ces deux produits "nourrissant" la presse américaine à ce moment là, il y eut d'autres switchers sur GS.
Celui dont il va à présent être question dans cette page est resté plus confidentiel (car diffusé uniquement en France directement par son auteur).
Son nom: MultiSwitch.


Retour à la table des matières

hr apple switcher


02) MultiSwitch: interview de Vincent.



Comment es-tu venu à l'Apple IIGS?

Je possédais un Apple //e depuis quelques années déjà lorsque l'Apple IIGS est sorti, en septembre 1986.

La presse informatique française ne l'a pas franchement bien accueilli, à l'exception d'Hebdogiciel. Par rapport à la concurrence (Atari ST et autres Amiga), il avait tout de même deux défauts: sa fréquence d'horloge de 2,8MHz et son prix mais c'était une machine passionnante et extensible.

IIGS

Cependant, j'ai pu bénéficier des offres pour l'éducation et comme j'ai revendu un bon prix l'Apple //e, le passage à l'Apple IIGS était possible.

Je ne programmais pas sur le IIe mais en recevant une copie de l'Apple Programmer Workshop, je me suis mis au développement sur le GS.
J'ai lancé le debugger et j'ai commencé à programmer avec le mini-assembler.

J'ai rapidement recherché une documentation me permettant de contrôler l'Apple IIGS. La documentation officielle coûtait 2000FF, ce qui était un peu cher pour des photocopies, je me suis rabattu sur les deux seuls ouvrages techniques de la librairie technique disponibles à Nantes: le Firmware Reference Manual et le Prodos 16 Reference Manual. Ce fut le point de départ.

De fil en aiguille, j'ai écrit et maintenu plusieurs programmes édités en temps qu'auteur indépendant.
J'ai par ailleurs participé activement à la revue GS Infos et me suis rendu aux réunions utilisateurs (GS Club, Beauvais) pour présenter mes programmes et leurs nouveautés.

Vincent


Peux-tu nous faire un tour d'horizon rapide des différents outils et applications que tu as développé (nom des versions définitives et descriptif sommaire) sur cette machine?

Tout d'abord MultiSwitch: un switcher de programmes 8 et 16 bits comprenant également un patch système le dotant d'un moteur de MultiFinder (C3 Dispatcher) et un environnement multi-applications et multi-tâches (MultiTasks).

NDA QuickSwitch : accessoire de bureau permettant de passer d'une application à une autre via MultiSwitch.

CDA QuickQuit :  accessoire de bureau permettant de forcer la sortie d'une application pour retourner dans MultiSwitch.

Pict2.Converter et le NDA Pict2 Controler : permet de gérer des images et des animations vidéo en utilisant ou non la carte VOC (Video Overlay Card d'Apple).

Send PostScript GS et un NDA de même nom : permet de télécharger des fichiers PostScript de niveau 1 ou 2 dans une imprimante PostScript via un port LocalTalk ou série.

SCSI Toolkit : outil didactique permettant de gérer la chaîne SCSI (information, diagnostic et optimisation) et tous les périphériques qui y sont raccordés.

Fat Screen : permet de disposer de plusieurs écrans sous une même application, intégré à la Xter Box.

Xter Box : boîte rassemblant les outils de base de MultiSwitch et de mes autres productions (Pict2 et SendPostScript) et dans laquelle on trouve des fonctions pratiques d'allocations mémoire, un gestionnaire de mémoire virtuelle (embryonnaire, basé sur les appels OOM d'Apple), un gestionnaire d'interruptions réécrit, le noyau de mon outil SCSI pour les cartes Apple, Fat Screen, etc. Pour info, le nom Xter correspond au pseudo que j'utilisais et l'appellation Xter.Box fait référence à la mythique Tomeno Box.

GS Maths Patch : utilitaire accélérant jusqu'à deux fois les opérations de l'Integer Maths.


Peux-tu rappeler ce qu'était la Tomeno Box stp?

Bien avant Free, Darty, etc., Bernard Tomeno avait eu l'idée de génie d'inventer la "Tomeno Box". C'est l'antithèse, appliquée à l'informatique, de la "Pandora Box". C'est heureux venant de la part d'un éminent professeur de médecine hospitalière (note de Deckard: expert français de la pathologie orthopédique - étude des tumeurs osseuses primitives).
De conception révolutionnaire, la Tomeno Box permettait de résoudre à peu près tous les problèmes que pouvait rencontrer un développeur. Un rêve.
Un défaut? A la rigueur, pour les non-initiés, un léger goût de "vaporware", jamais démenti.


Quel a été ton premier programme?

Tout a commencé avec la lecture du manuel de référence du Prodos 16: il était indiqué en détail comment charger et recharger une application ou l'un des segments de cette application.

J'ai commencé à développer un petit programme en mode texte qui chargeait les applications les plus connues, ces applications n'étaient pas très nombreuses et la plupart des jeux utilisaient encore le ProDOS 8, ce qui m'a incité à écrire un émulateur ProDOS 8 pour ProDOS 16.

L'ironie de la situation, c'était que ProDOS 16, était, en gros, un ProDOS 8 avec un adressage mémoire sur 23 bits, soit 8Mo de mémoire. C'est Louis (Dag Mentar) qui me l'affirma le premier, j'étais dubitatif jusqu'à ce que je me rende compte qu'il avait raison.


Il s'agissait donc d'un hack autour des systèmes d'exploitation d'Apple. As-tu fait parti de l'Underground de l'Apple II? Quelle que soit la réponse, as-tu le souvenir de rencontres marquantes avec d'autres développeurs?

A propos de ce que tu appelles l'Underground, je connaissais "de visu" Capslock, Saradon, Dag Mentar et No 6 et je me connectais sur RTEL, sans appartenir à un groupe ni pirater des softs.

Note de Deckard: ton pseudo Xter apparait également sur cet écran (pour le serveur minitel Buster):

Buster


Mais effectivement, pour développer un Switcher, il faut comprendre comment fonctionne le système d'exploitation et les applications, soit en disposant des "sources", soit en utilisant un debugger ou un désassembleur. Et c'est là que, de mon point de vue, réside l'intérêt du "hacking": il développe votre talent en "reverse engineering" puis dans la traque des bugs.
Mais l'usage intensif du "reverse engineering" peut être nuisible. Ou contre-productif.
Je citerai l'exemple du projet de clone d'Apple IIGS que Laser Technology avait lancé. (Note de Deckard: Laser Technology s'appelle à présent VTech et bien entendu leur ligne de compatibles Apple II n'existe plus depuis des années, le dernier modèle ayant été le Laser 128 EX2, clone évolué de l'Apple //c plus).

Pour faire un parallèle, je pense que tu connais l'histoire du développement des premiers BIOS compatibles IBM de Compaq et de Phoenix où deux équipes, absolument étanches cohabitaient, l'une connaissait intimement le fonctionnement du BIOS IBM et dont le travail était de décrire l'objectif de chaque fonction et les valeurs possibles des registres en entrée et en sortie tandis que l'autre devait développer des routines sans rien savoir des choix des algorithmes employés. La première équipe vérifiait même que la routine développée n'était pas identique à l'original. Car IBM a bien tenté de faire interdire les clones.

Pour en revenir à Laser Technology, il leur fallait produire un clone de la ROM du IIGS. Laser devait disposer de gens ayant désassemblé la ROM (01) du GS mais pas d'une équipe travaillant sur la seconde partie du problème. Je pense qu'ils cherchaient des développeurs pour cela.
Jean-Jacques ****** et moi avions envoyé une version de nos programmes et ils m'avaient recontacté presque immédiatement, par Fedex. Mais pour rapidement nous expliquer qu'une collaboration serait impossible car pour se conformer aux voeux du département juridique, il ne fallait pas que ceux qui la développeraient (la seconde équipe) aient vu le code créé par Apple.
Et du fait que j'avais désassemblé et corrigé le code de la ROM Apple, ma participation à leur projet de clone de IIGS n'était plus possible.

De plus, la ROM étant régulièrement patchée, il aurait fallu soit "tricher" le temps du boot pour utiliser le patch Apple, soit écrire une version de chaque nouveau patch. Mais ils étaient motivés pour faire un clone de GS ayant bien compris qu'Apple voulait "tuer" la ligne Apple ][.

Quant au débat sur la légalité du "reverse engineering", il est intéressant mais rapidement clos par le fait que ceux qui veulent le proscrire en font eux-mêmes grand usage, ce qui les disqualifie, à mes yeux tout au moins.

 
D'une manière générale, trop de temps passé à regarder le code des autres bride un peu la créativité. On s'imprègne d'une façon de programmer qui n'est pas la sienne. Parfois, c'est avec profit mais pas toujours. Il est quelquefois nécessaire d'avoir un regard neuf sur un problème pour trouver une meilleure solution que celle qui existe, si elle existe. Je sais que c'est un point du système éducatif que Steve Wozniak aurait voulu voir évoluer en laissant plus de libertés aux étudiants lors de recherches, quitte à ce qu'ils se plantent ou qu'ils tombent sur quelque chose qui existe déjà.



Pour les rencontres marquantes, j'en citerai deux: Numéro 6 et Paul Lafonta (mais il y en a eu d'autres).

NUMERO 6

C'est en écrivant l'émulateur ProDOS 8 pour ProDOS 16 que j'ai été contacté par Numéro 6. Ou plus exactement (dans mon souvenir), je crois que ça avait été amorcé par le biais de son épouse Gilda.
No6 ne cherchait pas à agrandir son carnet d'adresses mais il avait vu ce que j'avais fait et cela l'intéressait (il avait désassemblé ProDOS 8 pour en refaire un source corrigé intégrant un lanceur de programmes plus sophistiqué). C'est Gilda qui m'a contacté d'abord sur Rtel puis par téléphone (elle connaissait Louis / Dag Mentar) en me passant  Numéro 6 et on a discuté un bout de temps. (Calypso aimait bien contrôler son "environnement").
Il se trouvait qu'il avait une mission à Nantes, au ministère des Affaires Étrangères, afin de s'occuper de la refonte du système de délivrance des visas, un projet en panne depuis quelque temps.
Or j'habitais Nantes... donc, c'était simple pour se voir. Comme je n'étais pas très loin du site, il est arrivé qu'on déjeune à la cantine du ministère (je n'y travaillais pas, j'étais un peu trop jeune pour cela).
Pour la petite histoire, lorsqu'il se rendit sur place au ministère et demanda où se trouvait son bureau, on lui indiqua un couloir en lui disant qu'il était sûr de trouver. En effet, il y avait une porte étiquetée « Mercenaire ». Il n'empêche que le projet qui s'annonçait comme un plantage dans les règles de l'art fut couronné de succès. Le village était sauvé, sans trop de sang sur les murs. <Fin de la petite histoire!>

Compte tenu de la manière dont ProDOS 16 était conçu, l'émulateur P8 fonctionnait assez bien et si les applications en avaient tenu compte, il aurait pu fonctionner parfaitement. C'était aussi vrai avec GS/OS 4. Mais avec les systèmes 5 et 6, il y avait trop de zones mémoires communes aux deux environnements pour que cela soit exploitable. Numéro 6 savait presque tout de ProDOS 8 mais les difficultés qui sont apparues venaient de GS/OS.
J'ai retrouvé sur un disque "commun" un boot ProDOS 16 compressé que j'avais réalisé agrémenté d'un ProDOS 8 "patché" par lui (les 768 octets de la routine MLI sont tous utilisés!!)

L'expression est galvaudée mais Jean-François 6 est un authentique génie de l'informatique. Pas seulement par une capacité hors du commun à désassembler du code quel que soit le processeur mais aussi par sa capacité à comprendre le fonctionnement aussi bien général qu'intime d'un programme et sa rigueur dans le développement d'applications.
Il développait aussi bien dans le domaine de l'intelligence artificielle que dans celui des automates programmables.


Pourquoi décida-t-il soudain de changer de vie en coupant brutalement les ponts avec pas mal de monde ? Cela reste pour moi en grande partie un mystère.
Mais je sais qu'il lui arrive toujours de "signer" des programmes de son pseudo mais plus sur Apple...


PAUL LAFONTA

J'ai dû rencontrer Paul Lafonta pour la première fois lors d'une Apple Expo où Jean-Louis Gassée faisait des détours comiques pour l'éviter.

J'ai croisé pas mal de gens intelligents ou très intelligents. Des génies très peu. On a parlé de No 6, M. Lafonta en est un autre, je le dis alors que je crois être peu réputé pour mon esprit de génuflexion. Il y a de multiples définitions du "génie". L'une d'entre elles qui s'applique très bien à son cas, c'est quelqu'un qui est capable de mettre en relation des phénomènes qui n'ont a priori aucun rapport, de les décrire et les modéliser et dont le résultat et les applications défient le sens commun. La physique quantique, ses pionniers  et ses applications illustrent ce que je tente d'expliquer.

Paul Lafonta est un génie de l'électronique, de la physique et de la chimie (relativement moins en mathématiques). Il fallait bien qu'Hermès équilibre tous ces dons pour que la Créature destinée à semer le trouble dans le Monde soit opérationnelle : il y mit donc une incroyable malchance (tous ceux qui le connaissent peuvent en témoigner) et un don rare à se faire des ennemis d'imbéciles en capacité de lui nuire.

Un très mauvais esprit capable de lancer "Chirac ? Qui raque ?" quand on lui demande s'il a une question à poser à un meeting R.P.R. en avril 1995. Il faut un certain sens du timing (et une certaine inconscience même si Pasqua et ses copains étaient passés avec armes et Pastis chez Balladur).

Toujours est-il que lorsque fut venu le temps de satisfaire aux obligations militaires que j'avais négligées au point que des gendarmes étaient allés voir un de mes parents, haut magistrat, pour qu'il me les rappelle, M. Lafonta, me proposa gentiment d'intégrer un laboratoire où il était consultant.

Un étrange laboratoire avec seulement deux permanents, mais un très important budget. Car il y avait des résultats (ce n'était pas si répandu). Et dans des domaines assez variés tournant autour de l'optique, de la protection contre l'effet lumino-thermique de l'arme nucléaire à la recherche en imagerie stéréoscopique pour avion de combat.

Le laboratoire était doté d'un équipement qui suscitait l'intérêt d'équipes anglo-saxonnes, dans un domaine où la France était plutôt regardée de haut (non sans raison). Si Paul Lafonta n'était pas l'unique concepteur de la bête, cela restait du 100% Lafonta.

Toujours est-il que ce laboratoire était bien équipé (saturé ?) en Apple IIGS, une variante de Pict2 Converter fut développée, à partir des concepts et du matériel "lafontesques" (hors la Vidéo Overlay Card, très remarquable développement d'Apple) et utilisée dans ce laboratoire pour la recherche "amont", comme ils disaient. MultiSwitch obligatoire.


À cette époque, j'avais visité un centre d'études pour la guerre chimique et bactériologique. C'est bien simple, plus on était dans la recherche fondamentale, plus il y avait d'Apple // (c'était en 1992). Je pense que tout a été remplacé par des PCs peut-être pas sous Linux car il fallait pouvoir piloter beaucoup de cartes d'E/S avec des programmes écrits par des gens qui avaient des moyens intellectuels, mais qui n'étaient pas des professionnels de la programmation. C'est un des secteurs qu'Apple a définitivement perdu en bazardant cette gamme.



Note de Deckard: ci-dessous un petit texte datant de la 1ère moitié des années 90 et présentant Paul dans son "stand" lors d'une réunion de Beauvais:

"M. Lafonta, le spécialiste des systèmes de génération d'images en relief nous a présenté 2 systèmes:
- un premier procédé stéréoscopique avec des lunettes qui sont constituées de deux mini-écrans à cristaux liquides sur lesquels les images s'affichent en alternance et synchronisées avec les images sur l'écran.
- un second procédé dit d'images anaglyphes : sur l'écran, deux images décalées et de couleurs différentes : avec des lunettes vertes et rouges (couleurs complémentaires), l'impression de relief binoculaire est restituée. De plus, M. Lafonta présentait un système d'incrustation et de mélange d'images fixes, animées et vidéo. Tout cela sur Apple //GS et //e !
Pour faire bonne mesure, il exposait une partie de son impressionnante panoplie de cartes d'extension pour //e et //GS".

Paul
DGA
DGA
DGA


Faut-il cataloguer ces hacks de ProDOS comme une pré-version de MultiSwitch?

Le 1er jet du projet (même s'il ne s'appelait pas comme cela à ce moment là) est en effet constitué du ProDOS 16 patché (et plus compact) et le lanceur d'applications en mode texte qui comportait plusieurs routines travaillant en tâche de fond.

L'interface texte s'est éclipsée avec l'évolution de l'interface graphique du GS et des avantages qu'elle offrait: MultiSwitch est donc devenu un programme "Desktop".

Si l'interface utilisateur a été constamment modifiée pour tirer parti des nouveaux systèmes ainsi que des remarques des utilisateurs, le "coeur" du programme n'a pas tellement changé depuis le système 3.2.

La mise au point a été assez longue, en tous cas, plus longue que prévue, ce qui est malheureusement la norme dans l'industrie informatique.
il faut dire que j'avais un bêta-testeur nommé Paul Lafonta, ceux qui le connaissent comprendront que ce n'est pas sans conséquence...


Peux-tu nous rappeler le principe général de MultiSwitch pour permettre le passage d'une application à l'autre? Quels sont ses avantages et ses inconvénients?

MultiSwitch stocke en mémoire les applications GS/OS et une seule application est exécutée à la fois.
Contrairement à The Manager, il n’y a qu’une seule fenêtre visible à la fois, les autres étant cachées.

Pour passer à une autre application, on peut utiliser un NDA, QuickSwitch, qui affiche dans un menu les applications en mémoire et qui provoque la sortie du programme actuel et l'exécution du programme choisi. MultiSwitch est appelé de manière invisible. Le lancement d'une application par le Finder est intercepté par MultiSwitch qui ajoute le programme à la liste des applications en mémoire puis en déclenche l'exécution. En sortie, on retrouve le Finder. On peut aussi revenir à MultiSwitch puis choisir le prochain programme.


L'inconvénient principal d'un tel système est que si les applications ne tiennent pas compte de la possibilité d'être redémarrées en mémoire, on réinitialise les données et les réglages du programme "rentrant" à chaque "switch". C'est comme si on relançait complètement le programme.
Cette situation est celle que l'on retrouve par défaut car les applications n'étaient pas écrites pour de tels lanceurs de programmes.
Mais pour deux applications ayant des ressources de réexécution (natives ou rajoutées), quand on passe de l'une à l'autre, dans le meilleur des cas, on retrouve les données et les réglages.

La parade est donc la mise au point d'une ressource de réexécution. Il s'agit d'un système de patch qui permet de modifier le programme après un chargement en mémoire vive, sans autre manipulation de l'original qu'un ajout d'une ressource par MultiSwitch. L'opération est donc réalisable par n'importe qui.

Une ressource "généraliste" (gen.fork ou FastGen.fork) permet de modifier un programme en dupliquant son principal segment. Cette ressource "généraliste" pouvait se révéler efficace avec plusieurs applications.

A côté de cette ressource d'usage général, j'avais développé des ressources spécifiques à des programmes.
Ces autres ressources modifient spécifiquement une application - par exemple, HyperCard ou Appleworks (BréjouxWorks) - en étant plus économes ou en permettant de conserver les données. La ressource est appelée à plusieurs reprises et permet d'alerter l'application d'une modification de son environnement. Ainsi, il est possible de le modifier avant un passage sous ProDOS 8 ou de l'informer que le système a rebooté.

La ressource de réexécution peut agir seule et même passer la main à l'application si elle tire parti de MultiSwitch.

En passant un peu plus de temps sur certaines ressources, je pouvais optimiser leur fonctionnement, c'est pourquoi il y a eu des numéros de versions.
De plus, une mise à jour de MultiSwitch et d'Autopatch (pour simplifier, son installation rapide) permettait de limiter l'allocation de mémoire en page zéro des applications comme HyperCard ou Appleworks GS. Ces deux applications, lors de leur chargement, n'occupaient aucun espace en banc $00. Cet espace leur était attribué à leur exécution. Ainsi, il devenait possible de charger un plus grand nombre d'applications.


Les avantages sont qu'on bénéficie du maximum de puissance pour l'application de premier plan et que la réexécution à partir de la mémoire est une opération rapide. Compte tenu de la spécificité du 65816 et de l'espace de plus en plus important en banc zéro réclamé par les programmes, ce type de fonctionnement est aussi un avantage. Lorsqu'une application est mal écrite, il arrive qu'elle ne parvienne pas à s'exécuter à nouveau à partir de la mémoire.
Un CDA permet de forcer la sortie d'une telle application.


Quels étaient les points forts de MultiSwitch mis en avant pour faire face à ses concurrents?

Le développeur n'est pas forcément le mieux placé pour faire des comparaisons...
Mais je pense que MultiSwitch était un produit bien adapté au IIGS et plus rapide que ses concurrents, avec plus d'options et d'utilitaires (Pict2 Converter, SendPostscipt).
Pour les développeurs, je sais que certains d'entre eux chargeaient des utilitaires de GNO en mémoire pour accélérer le développement. D'une manière générale, la possibilité de précharger des shells d'un environnement rendait bien service (par exemple pour un lot d'outils de l'éditeur ByteWorks, l'éditeur, le compilateur C ou l'assembleur Orca n'étaient plus chargés depuis le disque quand on passait de l'un à l'autre).

D'une manière générale, avec Transprog et The Manager signés BrainStorm Software, cela faisait beaucoup de produits voisins et même concurrents, rien qu'en France.
Pour l'anectode, je me souviens que Roger Wagner n'avait pas bien compris le positionnement relatif des différents produits lors d'une démo à Paris.
Par ailleurs, je ne sais pas s'il y avait eu des comparatifs des switchers pour IIGS dans la presse française pour aider les utilisateurs à choisir un produit en le faisant sortir du lot.

A propos de The Manager, il s'agit effectivement d'un tour de force mais, si je peux faire une critique de fond, un tel programme n'était pas adapté au 65816 et à GS/OS avec la raréfaction de l'espace en banc zéro, problème dont ne souffre pas les 'switchers'. A ce sujet, j'avais écrit un article dans GS Infos 6 (ART.65816.VBL) à propos de la bascule de la pile et de la page zéro en banc $01. Je l'avais écrit suite à une conversation avec l'ancien cracker No 6 et nous pensions que c'était faisable avec le 65816.


Est-ce que MultiSwitch a été bien diffusé?

Mon switcher a été diffusé sans grands moyens et pas à l'étranger: je n'ai pas cherché l'appui d'autres sociétés.
J'avais décidé de m'en occuper seul (et ce avant même que BrainStorm négocie la diffusion de ses produits avec les américains de Seven Hills).
Mais je crois, si je me souviens des ventes annoncées par BrainStorm de Transprog III, m'en être beaucoup mieux sorti.
Les chiffres: lorsque MultiSwitch atteignit sa 160ème vente (à peu près) sans compter la vingtaine de copies pour beta-testeurs, je n'eus plus que des mises à jour de documentation à faire.
A l'époque, je fus un peu déçu car je m'étais fixé 50% des adhérents du GS Club. J'avais fait 50% de mon objectif. Je me suis viré. Mais lorsque j'appris que BrainStorm avait vendu moins de 90 Transprog III, je relativisai.

Pour MultiSwitch, il y avait un important travail de documentation et le marché du IIGS n'était pas tel que cela en vaille la peine, d'autant qu'à l'époque, je passais moins de temps sur le IIGS. Pour rappel, le marché du IIGS, à partir de 1992/1993 était clairement un marché en contraction.

D'ailleurs le marché de ce type de produits à cette époque n'était pas évident. Je sais que les négociations entre BrainStorm et Seven Hills avaient été très difficiles: The Manager avait failli ne pas sortir car le produit était considéré tout simplement trop technique pour le marché américain (une objection récurrente de Roger Wagner).

Avec le recul et en regardant ce qui est arrivé sur mac et PC, il y a des systèmes qui ne sont viables que si Apple ou Microsoft les imposent. Je pense à Switcher d’Andy Hertzfeld ou à Geoworks Ensemble pour PC (il était parfois intéressant de montrer Geoworks pour prouver qu’il était possible de développer un environnement en assembleur et pour les gens qui avaient des 286, ce fut un moyen de prolonger leurs machines en récupérant un traitement de textes. Mais, à part Borland, nul ne développa pour Geoworks, autant que je m’en souvienne).


Avais-tu des liens avec la société BrainStorm Software (BSS)?

Oui, j'ai été en contact avec cette société même si je ne raffole pas d'en discuter.

Tout d'abord je me souviens avoir sauvé les sources de The Manager en les récupérant bloc à bloc sur un Megacore 20Mo planté.
J'ai par la suite échangé pas mal d'infos sur le système avec les auteurs de ce MultiFinder... sans être crédité le moins du monde (même si le produit avait été remanié en profondeur, je ne pense pas que Jean-Jacques ****** serait reparti "de zéro") et je n'ai jamais reçu la moindre version définitive.

Ce que je n'ai pas apprécié par la suite, c'est qu'au lancement de The Manager, Thierry (TYM) a brocardé MultiSwitch sur RTEL en l'appelant "MultiCrasher" (ce qui donne une idée de l'environnement "hostile" dans lequel MultiSwitch fonctionnait). Je reconnais que mon produit est délicat à installer et il est certain que tout le monde ne peut pas l'utiliser. Ce n'est pas de l'élitisme, je sais qu'il y avait des opérations de configuration compliquées.

Alors que quelques personnes n'avaient pas une attitude très correcte chez BrainStorm, je devais défendre cette société à la même époque dans les réunions du GS Club avec des gens qui se levaient en disant par exemple, "Je cherche une version pirate de Transprog car on ne veut pas de mon argent !". Lorque j'appris que François ****** n'appréciait pas, par ailleurs, que je fasse référence à BSS, cela jeta un froid.
Je me laissai aller à un "The Manager restera toujours aussi lent" dans un article du GS Club. D'ailleurs, Yvan Koenig me le signala sur le ton du reproche amusé... Je crois en être resté là.

Cela dit, je précise que j'avais (j'ai) de la considération pour plusieurs d'entre eux...
Je suis toujours épisodiquement en contact avec Louis (Dag Mentar). Je ne suis pas arrivé à lui en vouloir longtemps.


Quel est le statut actuel de MultiSwitch?

J'ai changé son statut en février 2008: il est passé de programme commercial à freeware.
La doc est accessible sur le site documentaire de l'Apple IIGS, en cliquant ICI.
Ce n'est pas une version de travail mais ce n'est pas non plus une version définitive: en effet, ma disquette de sauvegarde de la doc et le Syquest sont illisibles.
J'ai des bouts de documentation éparpillés sur des disques durs. Je vais tenter d'en rassembler un peu plus (mais même passionné, je trouve cela un peu inutile de reprendre intégralement la doc).

Concernant le programme proprement dit, je n'ai pas encore transmis à Arnaud les disques car il faut que je les reconstitue, ce n'est pas encore fait.
Il faudrait que je t'en envoie un exemplaire pour faire des illustrations.

J'avais commencé à archiver les disques mais j'ai éprouvé quelques problèmes avec des disques de données de Pict2 Converter et j'en étais resté là. Malheureusement, les disques 800Ko (ou les lecteurs) vieillissent mal...
Quand ce sera fait, je pense de plus faire une vidéo montrant comment le programme fonctionne. Dommage seulement que je n'ai plus de Video Overlay Card. Mais Paul Lafonta en a toujours...


Quand on lit les numéros de GS Infos, on a l'impression que toutes tes productions tournent autour de MultiSwitch et sont un peu comme des ventes liées. Est-ce que je me trompe?

Un tout petit peu.

Pict2 Converter avait été initialement développé à la demande de Jacques Rey pour l'A.F.M. (note de Deckard: Association Française contre les Myopathies).
Ensuite, le programme a été enrichi. Il est vrai que je ne l'ai pas vendu séparément mais j'avais diffusé une version gratuite pour afficher une animation du GS Club lors d'une réunion à Beauvais.
Pict2 Converter peut fonctionner sans MultiSwitch (mais pas sans la Xter Box).

SendPostscript GS a pour origine l'acquisition d'une imprimante laser. Le programme pouvait être acheté séparément. Simplement, un acheteur de MultiSwitch (qui le mettait régulièrement à jour) recevait l'ensemble des applications que j'avais développées pour le IIGS.

J'ai continué périodiquement à mettre à jour ces applications, car GS/OS me changeait agréablement des autres systèmes d'exploitation. Il était toujours amusant de voir les beaux schémas d'organisation des futurs systèmes d'exploitation du Mac ou du PC alors qu'Apple en possèdait un, largement débuggué depuis plusieurs années...


Peux-tu nous parler un peu de FAT SCREEN?

C’est la Video Overlay Card qui m’a donné l’idée de développer ce programme.
Avec cette carte, on disposait de deux (et même trois) écrans SHR. L’un en banc $E0 et l’autre en banc $E1 (le troisième, c’est quand on verrouillait le rafraîchissement de la VOC, l’écran connecté à la carte-mère du IIGS redevenait indépendant).

L'idée était de patcher QuickDraw, le Windows Manager, etc. afin de rediriger les écritures dans le banc $E0 de manière à disposer d'un bureau plus grand (écran virtuel) 1280x200 ou 640x200. Il était aussi rapide d'utiliser l'un ou l'autre écran.

Sans Video Overlay Card, j’ai conservé le système mais via un rafraîchissement software, moins rapide et moins spectaculaire mais exploitable (enfin sur un GS à partir de 7MHz, à 2,8MHz, je ne sais pas trop…)


Pour le mot de la fin, souhaites-tu apporter quelques informations inédites sur MultiSwitch?

La visite de quelques sites consacrés à l’Apple II et/ou au IIGS m’a permis de récupérer quelques programmes que je n’avais pas testés à l’époque du développement de MultiSwitch, parmi l’un d’eux, WordPerfect 2.1.

Étrangement, le programme n’a pas été « compacté », c’est-à-dire qu’il utilise la première version de l’Object Module Format (OMF), le format sur disque des segments de programmes et de données des applications pour ProDOS 16 puis GS/OS, où par exemple, une suite de 512 zéros occupent un secteur entier. Lors de la sortie de la version 2 du format, Apple et d’autres sociétés ont mis à disposition des développeurs et des amateurs des utilitaires qui permettaient de compresser ces anciennes applications.

Comme le 65C816 permettait l’exécution de programmes n’importe où dans les 16Mo de mémoire adressable et qu’il est possible d’appeler des routines situées dans un autre banc mémoire, il n’était plus possible de présumer l’adresse d’exécution d’une application, par exemple $2000 ou $9600 comme sous DOS 3.3 ou ProDOS pour 8 bits.

Apple, en développant un format de fichiers destiné aux applications (au sens large, inits, ndas et librairies sont des applications) a envisagé un peu plus de possibilités. Non seulement, le banc mémoire n’était pas fixe mais l’adresse de départ non plus. Un programme de moins de 64Ko pouvait aussi bien être chargé à l’adresse $020000 que $030172.

Les entêtes OMF sont très souples et permettent de charger un segment de mémoire lors du premier chargement de l’application ou à la volée lorsqu’une routine est appelée, à n’importe quelle adresse disponible ou bien à une adresse fixe (si le Memory Manager le permet), aligné sur un banc mémoire, un multiple de $100 ou pas.

Le segment peut être marqué comme fixe ou déplaçable en fonction des besoins de mémoire.

Il ne tire pas non plus parti d’ExpressLoad et c’est dommage. ExpressLoad est un accélérateur de chargement des applications GS/OS, apparu avec le système 5, c’est, grossièrement, un cache en mémoire vive des entêtes OMF de l’application.

De plus, un segment d’initialisation charge une image, elle aussi non compactée. Tout cela ralentit non seulement l’exécution mais aussi la réexécution de l’application.

Le disque image .2mg joint contient une version mise à jour de la première disquette de l’ensemble Wordperfect, où le segment d’initialisation a été « neutralisé » afin de ne plus charger cette image (qui reste présente sur le disque).

ExpressLoad a énormément de qualités mais un défaut gênant si on utilise fréquemment ProDOS 8 : les tables associées à une application qui résident en mémoire vive sont effacées lors d’un passage sous ProDOS 8. En conséquence, si le programme est lui aussi conservé en mémoire, lors du retour sous GS/OS, il ne pourra plus charger un nouveau segment dynamique.

Cela n’a rien à voir avec OMF 2 (ou même avec la segmentation dynamique) mais, après un passage sous P8, sans ExpressLoad, une application peut continuer à ajouter des segments en mémoire après une bascule entre les versions 8 et 16 bits mais avec ExpressLoad, le Segment Loader refusera de charger un nouveau segment d’une application qui aura démarré avant le passage sous P8. Apple n’avait pas prévu ou voulu que des switchers voient le jour pour la ligne Apple II.

Dans le cas de Wordperfect, cela n’empêche pas son fonctionnement, l’ensemble du programme est chargé en mémoire.

Le compactage réduit de 40% la place occupée par l’exécutable, c’est appréciable.

J’ai souhaité ajouter à l’application une « ressource de réexécution » pour MultiSwitch. MultiSwitch ne modifie pas sur disque le code des applications car il lui est possible d’ajouter une « code resource » comportant jusqu’à 7 fonctions appelées avant le lancement, avant le passage sous ProDOS 8, etc.

La ressource de réexécution dont le code source se trouve ci-dessous permet d’exécuter le programme autant de fois que nécessaire en réinitialisant les données sans ralentir le lancement car un patch supplémentaire élimine un inutile (et pour cause) rafraîchissement de l’écran.

WordPerfect est maintenant en version 2.2! Ce qui est "amusant", c'est que je n'avais pas compilé un programme pour le GS depuis plus de 11 ans. Mais je n'ai pas eu trop de mal avec GS Bug et Orca... je ne suis pas sûr que ce serait la même chose avec SoftICE PC. Intéressant phénomène de la mémoire...
(Pour info, je travaille dans l'informatique et plus précisément, je développe des plateformes d'échanges de documents pour des professions réglementées).

WordPerfect
WordPerfect GS
WordPerfect
WordPerfect

800k
S16
Download WordPerfect ready for MultiSwitch.




Bien que l’exercice soit académique, je commenterai dans un autre article, une autre ressource de réexécution, cette fois pour le programme Convert 3200 de Brutal Deluxe.

Convert 3200 est un excellent programme et, en standard, compatible MultiSwitch (ce qui en rajoute dans l’excellence…) mais la ressource permet de ne pas recharger les fichiers de données de l’application (la page d'intro, la documentation, les sprites, etc...) et même de la réexécuter après un reboot à chaud de l’Apple IIGS, opération toujours intéressante lorsque, l’âge venant, de ‘jeunes morveux’ ne jurent plus que par linux, mac os x ou vista (jurent ou injurient, cela varie…)

800k
GS/OS
Download Convert3200US ready for MultiSwitch. (Merge it with the official Brutal Deluxe .2mg)


               Keep fstwp2
               MCopy Gen.Macros

FirstHandle gequ $E11600

General        Start
               phb                      cf. infra pour un état de la pile
               phk                      A contient la véritable MemID de
               plb                      l'application
               Sta $0A                  On stocke l'identité du programme
               Txa                      X contient le numéro de fonction
               cmp #5                   de la ressource de réexécution
               bcs Err_NumeroFonction   appelée par MultiSwitch
               Asl A                    Les $0010 premiers octets de la
               tax                      page zéro sont libres d'utilisation
               jsr (ReFork_Routines,x)
               plb                      si tout s'est bien passé
               clc                      A = 0000
               Lda #0                   c = 0
               Rtl                      Retour au "launcher"

* ! $0B Program bank
* ! $09 Program address
* ! $07 Reserved
* ! $04 Return Adr long
* ! $03 MultiSwitch Data Bank
* ! $01 Return Adr short
*
* WordPerfect ne ‘précharge’ pas de segment en banc zéro
* Les ressources de réexécution permettent de supprimer
* ces segments qui, au fur et à mesure de l’ajout des programmes,
* finissaient par empêcher l’ensemble de fonctionner, la mémoire
* nécessaire étant fournie lors de l’exécution du programme.
ReFork_Routines anop
               dc i'Init_General'       Initialisation
               dc i'Recopie_Segment'    Routine appelée avant l'exécution
               dc i'Before_Purge'       Avant la suppression par MultiSwitch
               dc i'After_Purge'        Après la suppression du programme
               dc i'Switch_GSToP8'      Avant le passage à ProDOS 8

Err_Memory     Lda #$0002
               bra exit_error

Err_NumeroFonction anop
               Lda #$0001
exit_error     sec
               plb
               rtl

Recopie_Segment anop                   copie rapide avec l'instruction
               lda error_wp            Move Negative
               bne Err_memory

               shortm                   code automodifié
               Lda Original_Adr+2
               Sta Mvn_Seg+1
               Lda Destination_Adr+2
               Sta Mvn_Seg+2
               Longm
               Ldx Destination_adr      X = adresse source
               Ldy Original_adr         Y = adresse destination
               Lda Original_Size        A = nombres d'octets - 1
               dec a
Mvn_Seg        dc h'540000'             BlockMove banc source, banc destination

               ldx #170                 No SetHeartBeat
               jsl $E1000C              spécifique à Wordperfect
*                                       dont la routine GetNextEvent
*                                       n'aime pas les "ajouts" de MultiSwitch
*                                       du coup, pas de bureau virtuel
*                                       1280*200
after_purge    anop
               Ldx #$006F               Unpatch IntManager
               Jsl $E1000C              On va utiliser l’Apple Interrupt Manager

Switch_GSToP8  anop
Before_purge   anop                     n'empêche rien
               rts

Init_General   Anop
               lda >FirstHandle             ;first handle
               sta $00
               lda >FirstHandle+2           ;first handle
               sta $02

               lda $0B,s                l'adresse du 1er segment est sur la pile
               sta $06
               Sta original_Adr+2
               lda $09,s
               sta $04
               Sta original_Adr

               stz $08                  pour gagner deux octets et un saut court

check_handle   ldy #$0012               on charge le handle suivant
               lda [$00],y
               tax
               dey
               dey
               lda [$00],y
               sta $00
               stx $02
               cmp $08                  équivalent à cmp #$0000
               bne test_id
isLastHandle   cpx $08                  équivalent à cpx #$0000
               bne test_id
               brl exit_routine

test_id        ldy #$0006
               lda [$00],y        on charge la Memory ID du handle
               cmp $0A            et on la compare avec celle du programme
               bne check_handle        si elle est différente on passe au handle suivant

test_longueur  anop
               ldy #$0008               on cherche deux segments particuliers
               lda [$00],y
               cmp #$916A
               beq patch_wordperfect    patch pour accélérer l'exécution
               cmp #$F98E
               bne check_handle         on poursuit la recherche des seg.

* la routine qui suit va allouer un segment de mémoire
* et effectuer une copie rapide du segment original
* Un peu plus loin dans le source, il y a une autre
* version de cette fonction qui emploie deux appels
* au Memory Manager pour ceux qui sont plus familiers
* avec la GS Toolbox.

               Ldx $08                  X = 0000
               phx
               sta original_Size        A contient la taille du segment
               pha
               stx Original_Size+2
               ldy $0A                  allocation d'un segment pour y copier
               ldx #$000A               l'original au moyen d'une fonction
               Jsl $E1000C              de la boite à outils de MultiSwitch
               bcc enough_memory
               plx                      c'est un cas rare mais il faut le
               ply                      prévoir
               inc error_wp             on l'inscrit pour la réexécution
               brl Err_memory           et on quitte la routine

enough_memory  anop
               sta Destination_Handle   A-Y: Handle mémoire
               sty Destination_Handle+2 Sur la pile : adresse du segment
               ply
               Sty Destination_Adr      destination pour l'instructin MVN
               pla
               Sta Destination_Adr+2

               phb            l'instruction MVN modifie le DataBank
               shortm
               Lda Original_Adr+2
               Sta Mvn_Seg1+2           ici, c'est le banc source
               Lda Destination_Adr+2
               Sta Mvn_Seg1+1           banc de destination
               Longm
               Ldx $04                  Original_adr
               Lda Original_Size
               dec a
Mvn_Seg1       dc h'540000'             Move Negative

               plb            on restaure le banc de données
               inc copie_wp        et on indique que la copie a bien eu lieu
               lda patch_wp        on vérifie si le patch lui aussi a été fait
               beq check_handle        non, on poursuit la recherche
               brl exit_routine         Wordperfect a été patché, on peut sortir

patch_wordperfect anop
               Lda [$00]
               tax
               Ldy #$0002
               Lda [$00],y
               stx $0C
               sta $0E

               ldy #$010E               On force un branchement à l'offset
               sep #$20                 #$010E du pgm pour éviter une routine de
               longa off                réinitialisation de l'écran inutile.
               Lda #$80                 Un octet suffit...
               Sta [$0C],y              Remember No6 !
               rep #$20                 Bonjour chez lui...
               longa on

               inc patch_wp
               lda copie_wp             on a copié le segment original ?
               bne exit_routine
               brl check_handle         non, on poursuit le scan

exit_routine   anop
               Ldx #$006E
               Jsl $E1000C

*               phd
*               phd
*               Pushlong Original_Adr
*               _FindHandle
*               pla
*               sta   $04
*               sta   Original_handle
*               pla
*               sta   $06
*               sta   Original_Handle+2

*               ldy #$000A
*               lda [$04],y
*               sta Original_Size+2
*               pha
*               ldy #$0008
*               lda [$04],y
*               sta original_Size
*               pha
*               ldy $0A                  allocation d'un segment pour y copier
*               ldx #$000A               l'original au moyen d'une fonction
*               Jsl $E1000C              de la boite à outils de MultiSwitch
*               sta Destination_Handle   A-Y: Handle mémoire
*               sty Destination_Handle+2 Sur la pile : adresse du segment
*               plx
*               Stx Destination_Adr
*               plx
*               Stx Destination_Adr+2

*               pei $06
*               pei $04
*               phy
*               pha
*               lda Original_Size+2
*               pha
*               lda Original_Size
*               pha
*               _HandToHand              Routine

               rts

patch_wp       ds 2                     drapeau : wordperfect est patché (1)
copie_wp       ds 2                     drapeau : le segment principal est
*                                       copié (1)
error_wp       ds 2                     Pour signaler une erreur (<>0)

Original_Adr       ds 4                 Explicite ?
Original_Handle    ds 4
Destination_Handle ds 4
Destination_Adr    ds 4
Original_Size      ds 4

               end


Un dernier mot : je suis bluffé par la qualité de plusieurs sites consacrés à l’Apple II et particulièrement par les sites français. HackZApple, les sites de Brutal Deluxe, du groupe FTA et Apple-IIGS Info sont exceptionnels par la qualité et la richesse des informations qu’ils offrent (c’est le mot) non seulement aux passionnés de l’Apple II mais, plus généralement, aux passionnés d’informatique.


Retour à la table des matières

hr apple switcher


03) Annexe: Mini Switcher.


Avant d'appeler le fruit de ses travaux MultiSwitch, Vincent avait conçu en 1988 le programme Mini Switcher dont voici un écran, l'image disque et la documentation réduite:

Mini Switcher
Mini Switcher

800k
GS/OS
Download Mini Switcher.

----------------
Mini Switcher  !    Mini Switcher est un FreeWare
Beta Version   !    Ne vous laissez pas abuser
(C) 10/88 Xter !
----------------

Avant de commencer, je rejette toute responsabilité quant à l'utilisation de Mini
Switcher, je dis ça pour les esprits chagrins qui pourraient m'accuser de tous
les maux genre plantage de disque dur, écrasement de disques, bugs divers et
plantages mémoires voir virus.

Configuration requise: un GS ancienne ou nouvelle ROM, couleur ou monochrome.

Les GS ancienne ROM doivent avoir un Tool.Setup différent de celui qui est
installé sur le disque /SWITCHER qui est beaucoup plus performant que celui
d'Apple mais qui est réservé à la nouvelle ROM.

Spécifications: Charge avec diversi-cache en 7 secondes

Espace mémoire pour les applications: GS 512Ko, cache on, 32Ko: 0365Ko
                                      GS 512Ko, cache on, 00Ko: 0397Ko
                                      GS 1,2Mo, cache on, 64Ko: 1120Ko
                                      GS 1,2Mo, cache on, 00Ko: 1184Ko


Normalement Mini Switcher est bug free, je dis normalement mais en fait j'en
suis sur, si Mini Switcher marche mal, c'est que les programmmes font des choses
pas catholiques comme TML Pascal avec la routine Quit.

Mini Switcher ne comporte aucun virus ni sur le disque, ni dans le programme, si
il y en avait un, c'est que qq d'autre l'aura installé, moi je fais confiance à
Saradon parce qu'il est sérieux et tout et tout, de toute façon les virus ne
courent pas (encore) les rues sur GS.

Petit apparté: il n'y a pas de virus dans la disquette Datas de Music Studio
puisque ce sont des datas qui ne sont jamais éxécutées mais des données qui sont
chargées puis manipulées. Une image c'est pas un virus, une musique non plus.

Cette doc a été écrite à toute vitesse puisque Saradon doit diffuser le soft
demain. Normallement en tapant sur ?, il y a deux lignes d'aide qui indique qu'en
tapant sur D, on obtient l'affichage de la doc, oui mais voilà, impossible de
trouver la version de Mini Switcher où elle est intégrée, alors comme il faut une
petite doc, la voici:

Le chargement de Switcher est rapide car le programme ne nécessite aucun outil
du disque.

Un menu apparait:

0 donne le numéro de version de Switcher
1 lance la routine Quit d'Apple, normallement, c'est pour rebooter

Les chiffres 2 à 9 précèdent le nom d'une application.

< et > font passer d'un menu à l'autre, pour l'instant ils ne sont au nombre que
de deux.

C permet de forcer un compactage mémoire, s'il ne reste plus beaucoup de place
et s'il y a eu beaucoup de programmes chargés, cela permet de gagner quelques
Ko, mais, en temps normal, cela ne sert à rien car Mini Switcher gère la mémoire
du mieux qu'il peut (que le Memory Manager le permet, soyons précis).

On le voit, l'interface utilisateur de Mini Switcher est plutot sommaire,
l'affichage est assez rapide, c'est vraiment tout ce qui compte pour des menus
textes.

Maintenant l'utilisation:

En théorie, Mini Switcher charge le programme puis l'éxécute.

Lors le programme rend la main au Switcher, celui-ci protège le programme chargé
et lorsqu'on le re-sélectionne, celui n'est plus rechargé du disque mais
s'éxécute immédiatement. Ne sont rechargées que les ressources (outils,
commandes, images, datas...)

Je dis que c'est théorique puisque si les programmes respectent les RPA (Règles
de Programmation Apple), cela fonctionne parfaitement. Les RPA c'est en gros,
passer par le Memory Manager pour l'attribution d'espace mémoire, ne pas utiliser
d'adresses réservées, ne pas utiliser ou très peu, la mémoire spéciale (qui
devrait etre réservée aux programmes systèmes), ré-initialiser les variables qui
doivent l'etre en début de programme...

Si votre programme fait ça, houra, il gagnera à etre utilisé sous Switcher,
puisqu'on pourra en sortir, éxécuter une autre application puis revenir à ce
programme sans intervention ou presque du disque.

En vrac (la liste n'est pas exhaustive) fonctionnent bien: le launcher, le
finder, l'icon editor, tous les demos Apple, lifeguard, lecteur.texte, music
studio 2.0, graphics supermarket, graphic writer, mean 18, thexder, tetris, top
draw, le tml pascal (avec ce pb du patch de la routine quit), l'autorun de show
off, peut-etre show off mais ma copie a un problème je pense, visualizer,
shangai, monte carlo, black jack academy, dig.sys16...

Marchent bien mais efface toute la mémoire avant de quitter: deluxe paint,
multiscribe 2.1, gs file 2.0, beaucoup de jeux comme defender of the crown,
space quest, king quest II (les quest en général)...

Marchent une fois mais pas deux (on leur dit de réinitialiser les variables),
816.Paint 3.0, notes files, the information laboratory.

Marche mais mal la deuxième fois quand meme, l'APW (à mon avis les applications
texte ont du mal et je sais pourquoi mais je peux rien y faire).

Ne marchent pas: les merdes françaises et dérivées: GS Liste et List Plus,
GS Paint et Paintworks Gold, VS Com...

deja vu ne marche pas, pas plus que destroyer et multiscribe 3.01.

le gs basic plante tout, on s'en doutait, je n'ai pas testé le TML Basic mais je
crois que ça sera comme pour les TML stand alone.

Les 'autoboot' (alien mind, les fuck's productions, programmes gs P8 comme
tomahawk (crack foireux), marble madness, tass times...), tout ce petit monde n'a
pas de chance, switcher n'est pas fait pour eux, et eux pour lui, d'ailleurs.

Il y a tout de meme de quoi s'amuser mais sous certaines conditions:

Music Studio 2.0 plante avec le Tool025 du système 3.2, merci Apple
SANE empeche le verrouillages total des applications, merci Apple
TML Pascal ne supporte* pas le Control Manager 2.5, merci Apple

on pourrait continuer longtemps ainsi mais je vais pas vous lasser, il y a des
bugs dans les outils qui ajoutent des contraintes.

* au rechargement

Les accessoires de bureaux sont parfaitement supportés mais vérifiez qu'ils se
supportent entre eux, ça n'est malheureusement pas toujours le cas.

Un mot sur le TML Pascal, qui patche la routine Quit, ce qui provoque à chaque
interruption de programme, l'affichage du logo TML Pascal. ce patch initialise
Quickdraw II mais ne fait pas de Shutdown, ce qui plante certaines applications
sourcilleuses. Ainsi on peut charger Lifeguard et le finder et passez de l'un à
l'autre, charger l'icon editor, tout va bien mais si l'on charge alors le tml
pascal, lifeguard plantera lors du prochain rappel (les autres programmes
fonctionnent encore). Moralité: ne patchez pas ou patchez correctement.

Une version disque dur est en sous-répertoire SWITCHER.

Maintenant un regret car Mini Switcher ne devrait pas etre l'oeuvre d'un user
mais d'Apple. C'est bidon comme programmation, je ne voudrais pas paraitre
prétentieux mais ce Switcher a été écrit en moins de dix heures. Le débugging
qui n'a servi à rien finalement puisque c'était des outils ou des prgms qui
plantait le soft, n'entrant pas en ligne de compte.

Or le GS est sorti depuis deux ans, or Apple a toutes les docs et tout pouvoir
pour faire un Switcher compatible, dont les règles seront respectées par les
applications pros ou semi-pros.

Donc, la conclusion est évidente: Apple ne veut entendre parler d'un Switcher
sur IIGS. C'est vrai que Mini Switcher qui est plus performant que le Switcher Mac
qui est un goinfre en taille mémoire, c'est vrai que ça pourrait faire de
l'ombre au Mac SE si le II GS se met à afficher ses menus instantanément, à posséder
un tool.setup propre, des outils optimisés et des launcher ou switcher efficaces.
Il n'empeche qu'il y a là une politique technique (que font leurs programmeurs?)
et commerciale (est-ce respectueux des acheteurs ?) qui m'échappe
complètement... il est loin le temps des Wozniak, Lutus et autres Jobs.


Retour à la table des matières

hr apple switcher


04) Annexe: Présentation de MultiSwitch / v1.0 (GSINF 20).


MultiSwitch pour l'Apple II GS, présentation
 
  Un indispensable absolument nécessaire et d'un faible coût, MultiSwitch est
enfin disponible, ce logiciel en service au GS Club depuis plusieurs mois
dans ses versions Béta successives nous permet de réaliser GS Infos en ayant
le Finder, AppleWorks, Blue.Monk, TML Pascal et des accessoires de bureau chargés et
déchargés selon les besoins en ligne directe. Un vrai plaisir lorsque l'on est
obligé de passer d'une appli à l'autre.
 Qui mieux que son auteur après des centaines d'heures de travail peut nous
décrire son oeuvre ? Alors, laissons-lui "l'écran":

  Le but principal de cette application est de charger plusieurs programmes
en mémoire et de passer très rapidement de l'un à l'autre. Bref, c'est un
Switcher™, mais il est très performant, enfin, c'est toujours difficile pour
l'auteur d'un programme de vanter son produit mais par rapport au Switcher
d'Hertzfeld, à Black Box ou On Cue (qui n'est pas exactement un Switcher)
sur mac™, je crois qu'il est très performant.

  Il s'agit donc d'un programme qui va remplacer le Finder™, ProSel™ ou Wings™
dans leur rôle de sélecteur de programmes mais, pour faciliter la transition,
il vous est toujours possible d'utiliser ces applications ! Dans ce cas,
MultiSwitch agit en arrière-plan pour charger ou switcher vos logiciels.


Quelques exemples avec des applications GS/OS™ sur un Apple //GS™ ROM 01,
1280Ko de RAM, Transwarp™ 7MHz, disque dur interne MegaCore 20Mo, Système 5.03,
Clavier VF, les deux accessoires de bureau de MultiSwitch, un cache disque de
32Ko.

Après avoir chargé BeagleWrite 3.2™, VSCom 1.14™ et GS Paint 1.4™, il reste
387Ko de libre:

Passage de BeagleWrite à VSCom: 3 secondes
Passage de VSCom à BeagleWrite: 3,5 secondes
Passage de BeagleWrite à GSPaint: 2 secondes

On peut effectuer ces opérations autant de fois que l'on veut.

  Comme il reste encore beaucoup de mémoire, j'ai pu charger quelques programmes
supplémentaires:

ProSel 16™ et ses Utilitaires, l'Exerciser 4.0™ et ShrinkIt GS™, là, il reste
encore 165Ko de libre, c'est suffisant pour travailler.

Passage de BeagleWrite à ProSel 16: 1,5 seconde
Passage de BeagleWrite à l'Exerciser: moins d'une seconde
Passage de BeagleWrite à ShrinkIt GS: 2 secondes

  Certains esprits forts objecteront que passer d'un programme à un autre, c'est
une chose, encore faut-il pouvoir travailler avec l'un d'entre eux sans planter
systématiquement.

  C'est que j'ai fait avec BeagleWrite et tous les programmes cités plus haut
en RAM. J'ai chargé 3 documents de 3 pages chacun (format A4 compressé) et qui
comportait chacun 2 polices différentes puis j'ai édité un nouveau document.
Les drivers d'impression résidait aussi en RAM et l'impression d'un des documents
s'est déroulé sans problème.



• Mais MultiSwitch ne gère pas que les programmes GS/OS, il gère aussi les Shells
(ces programmes qui accompagnent les environnements de développement comme l'APW™
ou Merlin™). Il est possible d'envoyer des lignes de commandes à ces utilitaires
et on peut même pour certains les faire fonctionner sans quitter MultiSwitch...

  Pour l'APW, on peut créer un fichier qui sera chargé par MultiSwitch et qui contient
le patch effectué par l'environnement sur le système d'exploitation. Cette option
ne sera bien entendu utile qu'aux experts...


• Certes, tous les programmes GS/OS ne sont pas compatibles avec MultiSwitch,
certains peuvent être patchés "manuellement" avec des utilitaires comme Block Warden
ou Spy Edit ou automatiquement avec des patchs, spécifiques ou non, à un programme.
Ces patchs automatiques sont des programmes qui sont ajoutés dans la partie resource
des applications incompatibles, l'utilisateur ne faisant que sélectionner
l'application à patcher et le patch associé. HyperCard GS™, qui n'est pas compatible
tel quel avec MultiSwitch, compte trois patchs différents pour les versions Phantom
(Beta Version), 1.0 et 1.1. (Une douzaine de patchs automatiques sont fournis avec
MultiSwitch 1.0).

  Il existe un patch "généraliste" qui fait fonctionner la plupart des programmes
incompatibles.


• Il est possible de créer de façon automatique une (ou plusieurs) liste d'applications
que l'on utilise souvent, par la suite, si on veut les recharger, il suffit de
sélectionner la liste et MultiSwitch les transfère tout seul.

  S'il existe une liste appelée Boot.Menu, les applications qu'elle référence sont
chargées immédiatement après le boot.


• MultiSwitch gère aussi les programmes ProDOS™. Grace à un émulateur, il est
possible d'utiliser les programmes ProDOS 8 correctement écrits sous GS/OS en
profitant des avantages de vitesse et de puissance d'un système d'exploitation
16 bits. Entre autres choses, on n'est plus vraiment limité à deux volumes par
slot, à une gestion des interruptions embryonnaire et on peut utiliser des
fichiers étendus...

  On peut charger plusieurs de ces programmes (jusqu'à 10) et le retour à MultiSwitch
est instantané. BitCopy //+™, Beagle Font Editor™, Info Desk™, Spy Edit, Block Warden™,
Change.A.File sont des exemples de programmes fonctionnant avec cet émulateur
ProDOS 8.

• Malheureusement, certains programmes ProDOS 8 ne suivent pas les règles de
programmation édictées par Apple. Jusqu'à huit de ces programmes peuvent résider
en RAM mais on peut exécuter (faire fonctionner sans garder trace du logiciel)
un nombre illimité de programmes ProDOS 8.

  Dans ce cas, le retour sous le sélecteur de programmes est tout de même bien
plus rapide qu'avec le système "classique", ainsi, il ne faut que 2 secondes
pour revenir d'AppleWorks 3.0™ (qui n'est malheureusement pas compatible avec
l'émulateur ProDOS 8) et toutes les applications GS/OS ou ProDOS 8 qui préalablement
chargées sont protégées.

• Il est aussi possible de switcher le Basic.System™. Vous me direz que c'est
un programme ProDOS 8 et que ce n'est pas extraordinaire en soi.
Mais MultiSwitch permet de sélectionner directement un programme AppleSoft™
tandis que le basic (de provenance Apple ou autre) résidera toujours en mémoire.
De plus, si on a accédé au moins une fois à l'AppleSoft, tout break qui aura lieu
sous P8 provoquera l'exécution du Basic.System ce qui est très pratique pour sauver
quelques données.

• MultiSwitch peut aussi passer en moins d'une seconde sous n'importe quel
DOS 3.3/3.2/RDOS™ écrit pour l'Apple // qui ne se loge pas en carte langage.
Le DOS d'Apple, AMDOS 3.3™ ou l'UniDOS™ sont des exemples de DOS compatibles.
La transformation d'un DOS 3.3 sous ProDOS est automatisé à 98% par MultiSwitch,
pratiquement, votre seul travail est de booter les deux systèmes d'exploitation !!!

• MultiSwitch est aussi compatible avec SoftSwitchs™ ce qui m'amène aux cas des
accessoires de bureau qui sont à 99% compatibles (seuls quatre accessoires de
bureau - dont GS Reminder - n'ont pas fonctionné) avec MultiSwitch et ils fonctionnent
beaucoup mieux sous système 5.0 qu'avec un autre launcher puisque deux bugs
sont corrigés (Il y a d'autres bugs du système 5.0 que MultiSwitch corrige...)

  Le logiciel peut installer dynamiquement (c'est à dire à tout moment) des
accessoires de bureau, des drivers et des inits permanents ou temporaires.
MultiSwitch ouvre en priorité les sous-répertoires :Desk.Accs pour les NDAs/CDAs, :
System.Setup pour les Inits ce qui accélère encore la sélection de ces programmes...

• On a accès à un shell interne qui permet d'"éteindre" la machine et tous les
périphériques, d'afficher des fichiers, de modifier le chemin d'accès courant,
de passer sous DOS 3.3, de fixer le niveau utilisateur...

• Les niveaux utilisateurs évitent de proposer toutes les options à des utilisateurs
qui n'en ont pas besoin. Par exemple, il est possible d'accélérer les opérations
sur les fichiers en modifiant les caractériques de ProDOS (via un Pop-Up Menu
tout de même) mais un débutant ne saura pas quoi faire de cette option, c'est la
raison pour laquelle certaines options ne sont pas immédiatement accessibles.

  De même, de nombreuses alertes existent pour guider l'utilisateur en mode Débutant,
en revanche, parce qu'elles ralentissent les manipulations, elles ne sont plus
affichées en mode "Utilisateur Confirmé"...

En plus de la distinction Débutant/Utilisateur confirmé, MultiSwitch possède un
niveau administrateur, accessible via un mot de passe qui permet de protéger le
sous-répertoire System sous Finder ou un programme de ce genre (comme Desktop
File Control™). Lorsque cette protection est active, le sous-répertoire *:System
ne peut être ni ouvert, ni renommé, protégeant ainsi la machine d'un utilisateur
malveillant.(NDLR: ou d'un enfant inconscient, on a déjà donné, cette option est
géniale!)

Il est aussi possible d'empêcher le chargement d'un programme à partir d'un
lecteur de disquette sous MultiSwitch.

Cette protection ne se fait pas au détriment de "l'esprit Apple", c'est à dire,
au prix d'un fonctionnement plus contraignant pour l'utilisateur car la protection
n'est pas totale, et cela est voulu. Un utilisateur confirmé ou un expert sur
SA machine, ne sera jamais gêné pour supprimer ou ajouter un accessoire de bureau
ou une init ou bien pour mettre à jour son système, ainsi, la protection est inactive
avec ProSEL, elle n'est pas nécessaire car quelqu'un qui utilise ProSel n'est pas
un utilisateur débutant...

• MultiSwitch comporte un patch système qui lui donne les capacités d'un MultiFinder !
En effet, pour peu qu'une application tiennent compte de cet environnement (appelé
C3 Dispatcher...), il lui est alors possible d'être exécutée en même temps qu'une
autre application qui elle, ne tient pas forcément compte du C3 Dispatcher.

Non seulement ce C3 Dispatcher s'occupe de la gestion de l'interface (fenêtres,
contrôles...) mais il propose des moyens pour communiquer des données, avertir
l'application d'évènements divers (appels du gestionnaire de mémoire virtuelle,
recherche d'une application précise...)

Pour le développeur, il n'y a pas de changements dans la façon de programmer,
seulement de nouveaux points d'entrée à gérer et, s'il désire aller plus loin
(échange de données, gestion de la mémoire virtuelle) un peu de code supplémentaire.
L'appel de l'application à partir d'une application qui, je le répète,  n'a pas
à être compatible avec le C3 Dispatcher peut se faire via un accessoire de bureau,
une routine VBL ou un message du système. Le système 6.0 offrant de nouvelles
possibilités, je réfléchis à un protocole ou à un accessoire permettant de gérer
toutes les applications compatibles...

Ce "moteur MultiFinder" fonctionne aussi bien avec le système 5.0 qu'avec le
système 6.0

L'application Pict2.Converter est compatible avec le C3 Dispatcher de même que
MultiSwitch (c'est la moindre des choses...). Grâce à un accessoire de bureau,
il est possible de visualiser des animations à partir de n'importe quel programme
natif utilisant le window manager, de réaliser des copies d'écran "instantanées"...

MultiSwitch comprend un C3 Dispatcher "Maître" qui comporte quelques fonctions de
plus. Dans le futur, une application pourra utiliser MultiSwitch pour charger des
applications dont elle pourrait avoir besoin et permettre à l'utilisateur de
construire un "bureau" sur mesure...

• MultiSwitch détecte automatiquement des machines avec peu de mémoire (des machines
équipées de 768Ko de RAM) et agit en conséquence. Si vous êtes coincé, il est
possible de booter sur un Mini-Launcher de 540 octets qui est ce qui se fait de
plus concis en matière de "Launcher" en mode Desktop, il est aussi possible
d'utiliser une version texte de MultiSwitch mais je crois qu'elle est réservée
aux développeurs parce qu'elle est peu conviviale.

• L'un des accessoires de bureau fournis permet de revenir à MultiSwitch
pratiquement quelque soit le plantage: en moniteur, par le System Death Manager,
un programme qui boucle, une alerte exigeant l'insertion d'un volume particulier...

• MultiSwitch tient compte du système 6.0. De nouvelles options sont activées,
(il est possible d'empêcher des copies sous Finder, on a accès aux options de
configuration et d'installation d'accessoires et d'Inits à partir du Finder via
le menu "Extras"), l'interface est encore améliorée (il est possible de savoir
si on charge une application d'un volume Macintosh, d'un serveur ou bien d'un
disque ProDOS, un icône indique la présence d'un C3 Dispatcher...)


• La configuration nécessaire pour faire fonctionner MultiSwitch...

Parce qu'il prend moins de place que le Finder, MultiSwitch fonctionne sur toutes
les machines capables de faire fonctionner GS/OS...

Cependant, 2Mo de mémoire sont souhaitables pour profiter pleinement des avantages
du programme.

Pour les mémoires de masse, il faut savoir que plus vos lecteurs sont lents, plus
MultiSwitch est profitable. De plus, on peut disposer d'un système fonctionnel
sur un disque 800Ko car MultiSwitch (en configuration minimale) occupe 163 blocs
de moins que le Finder. Sachant qu'on peut installer dynamiquement Inits et CDA/NDA,
on peut installer plus de polices de caractères sur son système.

  Certains peuvent objecter qu'ils n'ont pas besoin de MultiSwitch car ils possèdent
une RamFast 256Ko ou même 1Mo mais d'une part, ces personnes sont assez rares et
il faut penser aux autres !!!, d'autre part, la RamFast même à 1Mo ne "switche"
pas les applications aussi vite que MultiSwitch, cette carte accélère le
fonctionnement de mon logiciel en conservant en mémoire les polices ou les fichiers
qui sont rechargés par le système ou les applications, enfin, les logiciels qui
tiendront compte de MultiSwitch et donc conserveront leur données apporteront un
surcroît de vitesse qu'une RamFast se révèlera incapable de fournir.

  Par ailleurs, la plupart des systèmes avec RamFast ayant 2Mo de mémoire, je trouve
un peu dommage d'utiliser l'équivalent de 50% de sa mémoire centrale pour bufferiser
ce qu'un logiciel peut faire. J'espère cependant une collaboration avec CV
Technologies pour optimiser le fonctionnement de la carte avec MultiSwitch si
cela est techniquement possible pour éviter l'écrasement des données résidentes
dans le cache dans le cas du chargement d'une application compatible avec MultiSwitch.
L'utilisation du cache sera alors optimisée et les résultats pourraient être
spectaculaires...

  Maintenant, par rapport à un MultiFinder, MultiSwitch permet de faire fonctionner
 les applications en mode texte et les applications qui utilisent énormément de
mémoire en banc zéro. Par exemple, HyperCard utilise plus de 20Ko en banc zéro,
empêchant l'utilisation de nombreux logiciels en mode MultiFinder-like mais pas
en mode Switcher puisque MultiSwitch possède un gestionnaire de mémoire virtuelle...



Mais MultiSwitch comprend aussi un environnement multi-applications, multi-tâches:
MultiTasks.

Cet intégrateur ne gère que des applications écrites spécialement pour lui mais
il offre:

• Un environnement multi-applications, multi-résolutions - le mode 320 comme
le mode 640 est supporté, on peut mélanger les applications des deux types -.

• Un système multi-tâches, à capacité multi-processeurs (fonctionnement parallèle
des taches), prévu pour le réseau (dès que j'ai à disposition un réseau AppleTalk).

• Un système de communications inter-applications (passage de commandes) grâce
aux pipe-lines et, dans un futur proche, à un système évolué de macro-commandes.

• L'envoi ou le partage de documents de manière extrêmement simple entre plusieurs
applications.

• Des shells multitâches (programmes qui peuvent être utilisés par toutes les
applications mais qui ne bloquent ni l'exécution des tâches système en cours ni
l'envoi d'évènements aux applications).

• Des dialogues multitâches dont la gestion est entièrement assurée par le système,
l'application se contente d'attendre un résultat.

• Une gestion aisée des fenêtres, masquage automatique des fenêtres et des dialogues
d'une application lorsqu'on en sélectionne une autre. Les fenêtres principales
(Maîtres) de chaque application restent visibles sauf si on clique sur leur case
de fermeture.

• Gestion en tâche de fond des entrées-sorties.

• Fourni avec deux applications, un GS Infos et un éditeur de textes assez
performant.



Le prix de tout ça, il a été fixé très bas par rapport à la valeur réelle du
produit et par rapport à ce qui se fait sur d'autres machines mais personne
n'aura de prétexte pour ne pas acheter un produit qui dopera son GS.

Des licenses sont disponibles pour ceux qui possèdent plusieurs GS, les écoles
en particulier.


Particuliers

1 Exemplaire de MultiSwitch       400 FF (15% de réduction pour le GS Club)
         frais de port            20 FF   
1 license personnelle             50 FF

Ecoles / Entreprises

License 2 à 5 postes                  100 FF     par poste
License 6 à 10 postes                 85 FF      par poste




Bon de commande à imprimer et à renvoyer à


          Vincent Hemeury
          **, ****** *** ******
          44*** *******


Retour à la table des matières

hr apple switcher


05) Annexe: MultiSwitch évolue / v1.0.4 (GSINF 21).


A propos de MultiSwitch...

Deux mois ont passé et GS Infos est l'occasion idéale pour faire le point
sur MultiSwitch et les problèmes que certains utilisateurs rencontrent.

Une release de MultiSwitch est disponible gratuitement pour les possesseurs
d'une version antérieure à la 1.0.4. La procédure à suivre est simple mais
stricte car je ne veux pas perdre trop de temps lors des mises à jour, il
faut donc m'envoyer l'original avec une enveloppe auto-adressée et 4 francs
et 20 centimes en timbres.

Cela ne signifie pas que toutes les mises à jour seront gratuites, la release
1.1 sera probablement payante mais cela n'aura rien à voir avec le prix des
updates sur macintosh.

Par rapport à la version 1.0, MultiSwitch 1.0.4 corrige:

• Le bug (non-bloquant) de la configuration d'une application nécessitant de
cocher ET d'ajouter une resource de réexécution a été corrigé.

• Un bug bloquant qui pertubait MultiSwitch lorsqu'on supprimait la quatorzième
application de la liste est éradiqué. Toutes mes excuses pour ce problème.

• Un nouveau menu, "Fenêtres", permet de sélectionner et/ou d'afficher "En Mémoire",
"ProDOS 8" et "Applications" qui possèdent maintenant une case de fermeture.
Les fenêtres peuvent restées masquées lors d'un retour d'une application,
le temps de réponse de l'interface est alors amélioré.

• Des cases de zoom dans presque toutes les fenêtres qui ne laissent visibles
que les barres de titres, ce qui accélère encore les opérations et améliore le
look du bureau.

• Certains dialogues sont plus compacts et il y a moins d'options pour éviter de
pertuber l'utilisateur.

• Un utilisateur s'est demandé pourquoi il y avait un dialogue demandant la
confirmation du lancement d'une application via un bouton de la fenêtre
"Applications" qui venait d'être édité (modifié).
Comme l'indique la documentation, lorsqu'on a exécuté un programme via un bouton,
celui-ci ne peut plus être édité.

• L'avertissement qu'un système comportant plus de huit partitions risque de planter
le Basic.System n'apparaît plus qu'une seule fois.

• L'option permettant de copier en mémoire l'image d'un programme est supprimée.
Elle n'offre aucun avantage par rapport aux resource de RéExécution, elle semble
source de confusion pour certains utilisateurs inexpérimentés.

• Le menu "Programmes" comporte un nouvel article "Configurer" qui fait la même
chose que le bouton "Applications" de la fenêtre de Configuration mais il est
plus explicite et plus simple d'accès.

• Il existe de nouvelles resource de réexécution pour Installer, Beagle Draw,
Graphic Studio et HyperCard. Certaines sont carrément nouvelles, d'autres sont des
évolutions très intéressantes de ce qui était proposé. En effet, MultiSwitch 1.0.4
résout radicalement le cas de ces applications qui réclament lors du chargement
trop d'espace pour leur pile (MultiSwitch résolvait déjà le problème d'un manque
d'espace pendant l'exécution).

Ainsi, HyperCard, Graphic Studio et Installer peuvent parfaitement cohabiter
alors que leur chargement réclame plus de 59Ko de pile alors qu'il n'y a le plus
souvent que 48Ko de disponibles.

L'opération se déroule en deux temps:

• Il faut d'abord patcher votre application (HyperCard, Graphic Studio) avec
AutoPatch pour éliminer l'erreur lors du chargement. AutoPatch permet de "dépatcher"
un programme si vous désirez (c'est le cas d'HyperCard) en distribuez une license
qui fonctionnera sur un système ne comportant pas MultiSwitch.

• Il faut ensuite ajouter la nouvelle resource de RéExécution. Si vous n'effectuez
pas ces deux opérations, vous risquez des problèmes !

• L'appui sur la touche "Option" pendant l'initialisation de MultiSwitch empêche
l'exécution du programme de boot. (Jusqu'à présent, elle n'évitait que le
chargement du menu rapide "Boot.Menu").

• Pict2 Converter et Pict2 Controler ont subi quelques modifications, il est
maintenant possible de modifier les couleurs d'une image ou d'une animation à
partir d'un programme tel que Platinum Paint et de visualiser le résultat toujours
à partir de l'application grâce à Pict2 Controler.

»» Ces améliorations se font au prix d'une augmentation de moins de 512 octets
de la taille du logiciel, ce qui est vraiment minime.

Remarques générales

Certains utilisateurs sont ennuyés parce qu'ils ne maîtrisent pas immédiatement
toutes les fonctions de multiswitch. D'autres trouve la documentation un peu trop
technique.
MultiSwitch permet de faire beaucoup de choses, il est fourni avec de nombreux
utilitaires et occupe les 800Ko d'une disquette, il n'est donc pas possible de
tout comprendre en deux semaines. Je ne crois pas que la doc soit trop technique,
de plus certaines fonctions (programmation de la boîte à outils, "C3 Dispatcher")
n'intéresseront que les programmeurs. Cela dit, en matière de documentation et
d'interface, l'utilisateur a toujours raison mais ils ne disent pas tous la même
chose.

Les bugs reports

Je crois que la documentation n'insiste pas assez sur le fait que pour fonctionner
sans plantages avec MultiSwitch il faut un système stable et des applications
correctement configurées. Si la configuration des applications ne réclame que
lire la documentation (Prise en main, Annexe I, Annexe J), configurer un système
réclame peut-être un peu plus de patience.

Certains Inits/NDAs forment des mélanges détonnants, si vous rencontrez des
plantages, bootez sans Inits ni NDAs (avec le système 6.0, il suffit d'appuyer
sur "Shift" lors du boot) et faites fonctionner vos applications. S'il n'y a aucun
plantages, installez alors dynamiquement vos NDAs/Inits favoris jusqu'à ce que vous
cerniez le ou les coupables. Certains CDevs sont aussi de véritables mines de bugs,
c'est le cas de Twilight.

S'il y a toujours des problèmes, c'est qu'une ou plusieurs applications n'est
pas bien configurée. La bal MultiSwitch sur serveur Rtel (3615) ou RTel2 (36 14)
peut me permettre de vous répondre relativement rapidement sur le cas de tel
ou tel logiciel.

Autre regret, je crois qu'il était une erreur de proposer une installation par
défaut de MultiSwitch Texte, d'une part parce qu'il s'agit d'un programme assez
ancien dont je me suis un peu désintéressé parce qu'il me rendait les services
que j'attendais de lui mais je comprends qu'il n'en rende aucun à la plupart
d'entre vous.

Le script d'installation de MultiSwitch n'installe plus cette version (qui devient
la tâche du script "MultiSwitch 1.0 (Pro)").

Je croyais aussi qu'AutoPatch serait le moyen privilégié pour installer MultiSwitch
car il installe simplement et rapidement une version compacte mais fonctionnelle
(Aide en ligne, les fichiers P8.Launcher et Bas.Launcher nécessaires au ProDOS 8
sont extraits de la resource de MultiSwitch lors de la première exécution d'un
programme ProDOS 8 ou AppleSoft) de MultiSwitch avec en plus les polices de
caractères utilisées par MultiSwitch et Pict2.Converter.

Cet article peut donner l'impression que le passage sous MultiSwitch a été difficile,
 je crois que cela n'a pas été le cas. J'ai préféré parler des problèmes même
 si ce n'est pas très positif plutôt que de retranscrire les messages d'utilisateurs
 heureux ce qui fait vraiment trop démonstration auto-satisfaite.

Beauvais sera l'occasion pour moi de diffuser la release 1.1 de MultiSwitch et de
faire la démonstration d'une utilisation sans problèmes sous système 5.0 ou 6.0 de
très nombreuses applications GS.


Retour à la table des matières

hr apple switcher


06) Annexe: MultiSwitch v1.15 / GS Tune Up v1.03 (GSINF 26).


• MultiSwitch 1.15 / GS Tune Up 1.03

La nouvelle version de GS Tune Up émule et améliore la fonction de l'Init
AppleIIVOC qui a en charge l'initialisation de la Video Overlay Card.
La boîte à outils de MultiSwitch élimine le plantage qui survient au bout de
nombreuses initialisations de l'outil 033 qui gère la Video Overlay, elle
assure par la même occasion un passage correct sous ProDOS 8 sans
déchargement de cet outil.

GS Tune Up permet d'utiliser VideoMix 1.3 qui sans lui plante les
applications qui elle aussi se servent de l'outil 033.

Attention: VideoMix provoque des plantages sur de nombreux systèmes,
avec ou sans MultiSwitch. Vous devriez le supprimer de votre système si
vous ne possédez pas de Video Overlay Card ou si vous possédez MultiSwitch
1.15 et Pict2 Converter!

GS Tune Up 1.03 empêche tout compactage mémoire via la fonction
CompactMem lorsqu'AppleWorks GS fonctionne. En effet, avec un système
normal, ce compactage provoque sous certaines conditions un plantage du
programme.

Pict2 Converter 1.51 fournit à QuickerTime la fonction CHANGEDELAY qui
permet de modifier le temps d'affichage d'une trame à l'autre, et ce pour
toutes les images d'une animation.

Un utilisateur m'a demandé si Pict2 Converter pouvait gérer plusieurs Video
Overlay Cards. La réponse est positive mais il ne faut pas oublier qu'Apple
prétend que c'est impossible et que sur un GS ROM 01, une Video Overlay
Card disposée ailleurs qu'en slot 3 ne donne pas accès au mode 400 lignes
puisque dans ce cas, un seul buffer vidéo n'est accessible. Par ailleurs,
l'affichage d'une image 400 lignes n'est pas toujours très bon sur le moniteur
de l'Apple IIGS dont la faible rémanence est ici un handicap, en revanche,
l'image est excellente sur une télévision (Philips ou Sony, le téléviseur
Philips étant le meilleur).

D'autre part, l'outil 033 ne pilote qu'une seule carte, il faut donc manipuler
les commandes Slot de "VO Control Box", commandes qui n'autorisent pour
l'instant que 2 cartes en slot 2 et/ou 3.

• GS Maths Patch a été mis à jour, il supprime le principal défaut du patch en
tentant de charger l'outil 220 ou 219 ou  53 ou 35 ou 34 afin d'installer le
patch.
FixRatio est corrigé et voit l'accélération passer à +60% par rapport à la
routine originale.
Le gain de vitesse peut être notable avec certains drivers d'impression
comme celui de la StyleWriter qui fait beaucoup appel à ces routines.
De plus, cette nouvelle version accélère de 25% les opérations de
multiplication et de division des nombres fractionnaires, de 35% les
opérations trigonométriques sur ces mêmes nombres fractionnaires, type de
réels utilisé par QuickDraw qui s'en trouve donc accéléré (faiblement bien
sûr, mais c'est toujours cela).

D'une manière générale, ce patch rend inutile l'utilisation d'un circuit
mathématique type FastMaths pour des opérations sur des entiers si vous
possédez une TransWarp ou une Zip, quelle que soit leur vitesse, le gain, y
compris en programmant directement la carte, est inférieur.

Je rappelle donc la procédure de mise à jour:

• Pour les utilisateurs de versions 1.0 à 1.08, il faut m'envoyer une disquette
avec enveloppe auto-adressée ainsi qu'un réglement de 20FF à l'adresse
suivante:

Vincent HEMEURY
**, ****** *** ****** (et non **, *** *** ***** ou **, *** *** ****** qui
existent à ****** et à *******, je le signale au passage)
44*** *******

• Pour les utilisateurs de versions 1.1x, les mises à jours sont gratuites, il
suffit d'une enveloppe auto-adressée, affranchie à 4F20.

Le prix de l'ensemble MultiSwitch/Pict2 Converter (GS Maths Patch est
inclus) reste de 380FF port compris pour les membres du GS Club.


Retour à la table des matières

hr apple switcher


07) Annexe: MultiSwitch v1.2 (GSINF 29).


La nouvelle version de MultiSwitch est disponible, elle offre:

• Un Driver grand écran pour les Apple IIGS ROM01 avec scrolling hardware
pour les possesseurs de Video Overlay Card.

• De nouvelles ressources de réexécution, certaines permettant de récupérer des
applications après un reboot à chaud de la machine ou après un changement de
système via le shell MultiSwitch.

• Un nouveau programme AutoPatch, qui installe rapidement MultiSwitch, qui
teste les incohérences principales de votre système et qui résoud définitivement
le problème d'ExpressLoad après un passage sous ProDOS 8 pour les
applications patchables.

• Une version mise à jour de Pict2 Converter avec deux disquettes de données
compressées (images et animations); le programme quant à lui gère encore
mieux la VOC puisqu'il permet d'utiliser les interruptions SCBs de la carte
pour changer de "Key Color" dans une image (ce qui n'existe même pas sur la
plupart des TRES coûteux systèmes "professionels" ); ce mode exige une carte
accélératrice rapide (au minimum, une Zip 8Mhz, 16Ko). Vous pouvez figer le
contenu de la carte et afficher une image 200 ou 400 lignes tout en vous
servant de Pict2 Converter, cette option permet de piloter plusieurs moniteurs à
partir d'un même Apple IIGS.


MultiSwitch 1.2 intègre donc un driver d'écran pour les utilisateurs d'Apple
IIGS ROM 01 avec ou sans Video Overlay Card (le driver d'écran pour
ROM03 sera bientôt disponible). Ce driver permet de disposer de plusieurs
bureaux accessibles en déplaçant la souris vers les bords gauche et droit de
l'écran. Avec une Video Overlay Card, MultiSwitch utilise un scrolling
hardware, sans cette carte, il s'agit d'un changement de contexte, un nouveau
bureau apparaît avec de nouvelles fenêtres, ce changement est instantané avec
un IIGS équipé d'une carte Transwarp 8Ko, 7Mhz; pas de temps perdu à
attendre que les fenêtres se redessinent! Cela ressemble donc plus à Dashboard
pour Windows qu'à JumboDesk (qui ne marche pas très bien d'ailleurs).

Chaque bureau dispose de la barre de menus de l'application au premier plan
les ressources de réexécution peuvent modifier le fonctionnement de Fat
Screen (c'est le nom du driver) pour afficher certaines fenêtres sur tous les
bureaux. Ainsi, j'ai écrit une ressource pour Platinum Paint (toutes versions)
pour que la fenêtre d'outils soit active dans chaque environnement, travailler
avec plusieurs documents devient un plaisir. C'est encore plus vrai avec
AppleWorks GS, j'avais montré à Beauvais un Apple IIGS pilotant deux
moniteurs où l'un affichait un document PAO tandis que l'autre servait à la
saisie d'un texte avec le module Traitement de Textes.

Les (heureux) possesseurs de Video Overlay Card peuvent avoir sur le
moniteur auxiliaire une image vidéo comme fond d'écran, le passage à l'écran
principal coupe la source vidéo pour permettre de travailler plus efficacement.
Une autre option permet d'afficher l'image vidéo sur tout l'écran, sans image
informatique et en interdisant le passage sur l'écran auxiliaire, transformant le
moniteur de la Video Overlay Card en télévision ou moniteur de contrôle.

Fat Screen est compatible avec toutes les applications utilisant le Window
Manager, en mode 320 ou 640. Une documentation technique sera disponible
pour tous les développeurs intéressés car Fat Screen permet de visualiser des
écrans n'importe où en mémoire, de dissocier zones de dessins et zones
d'affichages (ce n'est pas tout à fait le cas du QuickDraw d'origine) et ce, même
sur une carte d'extension (je souhaite que la carte TurboRez de RezTek,
annoncée pour dans 4 mois soit vraiment disponible, Fat Screen pourra alors
afficher ses modes 640*200, 16 couleurs voire 640*400 avec quelques
nouvelles modifications de QuickDraw).

MultiSwitch corrige quelques bugs du système 6.01, système mal fini mais
c'est peut-être le dernier qui sera proposé, il faut donc faire avec.

MultiSwitch permet d'installer des CDevs et des icônes, l'installation de
drivers, de NDAs, d'Inits peut se faire à partir de n'importe quelle application
avec le NDA QuickSwitch 3.0 qui peut aussi charger des applications sous
MultiSwitch.

L'interface utilisateur a été simplifiée, de nouvelles fenêtres d'alerte guident
l'utilisateur dans ses actions. (Configuration, utilisation du shell - commandes
FLIPSYSTEM pour disposer d'un système 5.0 et d'un système 6.0 sur une
même partition ou WOZDOS pour utiliser le DOS3.3 sous GS/OS -).


Une ressource de réexécution pour The Manager évite que celui-ci supprime
une application préalablement chargée par MultiSwitch. Vous pouvez
redémarrer une session à partir des applications en mémoire après un passage
sous ProDOS 8. Cependant, les patchs ou drivers de MultiSwitch (FAT Screen,
Integer Maths, Window Manager) ne sont plus actifs sous The Manager, qui
n'est pas compatible avec eux, The Manager est donc toujours aussi lent.

De nouvelles ressources de réexécution pour Orca 2.0 et 2.0.1 permettent de
récupérer ces applications après un reboot à chaud de la machine ou après
passage du système 6.0 au système 5.04 (ou l'inverse), les compilateurs ou
utilitaires chargés par MultiSwitch ne sont plus effacés par les Shells de
commandes, on peut ainsi précisément contrôler l'allocation mémoire tout en
augmentant la vitesse de fonctionnement.

MultiSwitch compte maintenant 3 disquettes, la première pour les programmes,
les deux autres sont des animations compressées par Pict2 Converter qui, à
l'instar de Quick Time, permet de synchroniser des sons, de piloter des
périphériques, de modifier l'animation principale.

J'ai aussi ajouté des images multi-Palettes ou 400 lignes pour montrer ce qu'on
peut faire avec le programme.

Pict2 gère maintenant les SCB d'une Video Overlay Card et plusieurs VOC
dans un même Apple IIGS. J'ai déjà expérimenté une démonstration où trois
moniteurs, pilotés par le même Apple IIGS, affichaient trois images différentes
dont une image 400 lignes. Sur un Apple IIGS ROM 03 voire un Apple //e,
cela aurait pu être 3 images dont 2 images 400 lignes.

J'ai écrit un petit programme pour afficher des images Apple IIGS sur un Apple
//e muni d'une VOC, ce programme ne fait pas partie de MultiSwitch (il n'y a
plus de place sur les disquettes) mais vous pouvez me le demander si cela vous
intéresse, c'est un freeware.

Le NDA "Pict2 Controller" permet, après une première exécution de Pict2
Converter, d'afficher les images ou les animations à partir d'une autre
application que Pict2. Vous pouvez maintenant charger un document graphique
dans Pict2 Converter à partir d'une application, l'afficher, faire des copies
d'écran différées, accéder aux fenêtres de contrôle de la Video Overlay Card...



Le prix de MultiSwitch reste à 400FF plus 20FF de frais de port. Les membres
du GSClub bénéficie d'une réduction de 10% sur le logiciel soit 380FF, port
compris.

La procédure de mise est la suivante, vous devez m'envoyer votre disquette
originale avec une enveloppe auto-affranchie pour un envoi de 50g plus le
montant de la mise à jour. Si vous désirez les deux disquettes de données de
Pict2 Converter, il s'agit d'en envoi de moins de 100g, dans ce dernier cas, vous
ne postez que la disquette MultiSwitch, je fournis les deux autres disquettes.

                        MultiSwitch 1.2     MultiSwitch 1.2 + Data Disks

MultiSwitch 1.0.x            20FF                    40FF

MultiSwitch 1.1.x           gratuit                  20FF



Je vous rappelle mon adresse:

M. Vincent HEMEURY
**, ****** *** ******
44*** *******

Attention, la Poste fait moins d'efforts pour acheminer une lettre mal libellée.

Vous pouvez me faxer au (**) **-**-**-**, si vous résidez à l'étranger au (33)
**-**-**-**.


Je serai très certainement présent à la prochaine réunion du GS Club, prévue en
octobre et j'espère pouvoir y présenter la nouvelle version de MultiSwitch.


Note: Pour une obscure raison (HFS FST, mauvaise compression ou
décompression sous ShrinkIt), la ressource QuickTime Extras qui sert à
synchroniser l'animation GS Club peut être dégradée en mémoire. L'animation
s'affiche alors trop vite. Je ferai parvenir à Jacques Rey une nouvelle version de
la disquette domaine public comportant cette animation.


Retour à la table des matières

hr apple switcher


08) Annexe: MultiSwitch v1.3, SCSI Toolkit, send postscript 1.3 (GSINF 32).


Dans le précédent numéro de GS Infos, Philippe Manet indiquait que MultiSwitch
1.2 était plus simple à utiliser. C'est vrai et MultiSwitch 1.3 est encore plus
simple à installer grâce à un tout nouvel AutoPatch qui détaille graphiquement
le processus d'installation et qui ajoute des textes explicatifs sur chacun des
modules.
De plus, une fenêtre affiche un résumé du fichier de mise à jour pour une
consultation rapide des dernières modifications.

Mais MultiSwitch 1.3 est aussi plus puissant qu'auparavant car il intègre une
nouvelle interface pour les documents afin de lier une ou plusieurs applications
à un type de document et il compte un nouveau module, SCSI Toolkit, pour gérer
et optimiser la chaîne SCSI.


SCSI Toolkit 1.0

SCSI Toolkit est un nouvel outil de MultiSwitch qui permet de gérer la chaîne
SCSI et tous les périphériques qui y sont raccordés.

Ce module est conçu pour être un utilitaire d'informations, de diagnostic et
d'optimisation des périphériques raccordés à l'Apple IIGS. C'est aussi un outil
didactique car de nombreuses fenêtres ou alertes expliquent ce qu'est ce
standard, ses origines, son fonctionnement et ses paramètres.

Un glossaire très complet accessible à partir de la fenêtre principale détaille
les termes techniques utilisés.

La fenêtre principale (Figure-1) ressemble à celle de SCSI Probe sur mac, elle a
pour intérêt d'afficher les périphériques dans l'ordre de leur identité SCSI ce
qui devrait éviter à l'avenir les conflits d'identités SCSI.

Pour obtenir des informations sur un disque, il suffit de cliquer son nom et de
cliquer le bouton "Infos" ce qui provoque l'affichage de la principale fenêtre
d'informations (Figure-2).

SCSI Toolkit gère les périphériques SCSI-1, CCS (une évolution du standard
d'origine qui a servi de base au futur standard) et SCSI-2, il renvoit des
informations au format SCSI-2 par souci d'homogénéité, ce qui signifie
d'ailleurs qu'il passe outre aux limitations des drivers SCSI d'Apple ainsi
qu'aux limitations du firmware des cartes Apple.

En bas de la fenêtre, un pop-up menu permet d'afficher les divers paramètres
SCSI d'un périphérique si celui-ci les supporte, dans le cas contraire,
l'article correspondant apparaît en grisé tandis qu'un autre pop-up menu gère
les commandes spéciales et l'aide en ligne.

Ces paramètres contrôlent le fonctionnement du cache, le ou les systèmes de
correction automatique des erreurs de lecture et d'écriture ainsi que les
paramètres gouvernant le formatage du drive (Figures 3 à 6, je m'intéresse plus
particulièrement dans cet article aux disques durs SCSI, SCSI Toolkit gère plus
particulièrement ce type de périphériques).

Les drives modernes possèdent presque tous un cache, cache qui est
systématiquement actif en lecture mais rarement en écriture parce que certains
systèmes d'exploitation ne supportent pas les algorithmes du constructeur, par
défaut le cache en écriture est inactif. GS/OS n'a pas vu d'objection à
l'activation du cache de mon Siemens 320Mo et je pense que ce sera le cas pour
tous les disques car GS/OS n'est pas un système d'exploitation multitâches (y
compris sous GNO).

Hors, l'incompatibilité de certains drives (Conner par exemple) avec certains
systèmes d'exploitation (Mach, Windows NT) provient du modèle de cache qui
divise celui-ci en entités associées non plus à une machine mais à un processus,
d'où des conflits avec les caches du système et ceux du drive qui gère alors des
connexions asynchrones comme avec le SCSI Manager 4.3 des nouveaux mac Quadra AV
qui réussit l'exploit d'être plus lent que les précédentes versions. Le
méchanisme est beaucoup plus complexe mais son explication dépasse le cadre de
l'article et renverrait l'article sur le Pentium au rang d'iniation pour
débutant en informatique.

Ceci ne doit pas vous inquiéter, le cache écriture fonctionne bien sous GS/OS
mais si vous avez un drive qui possède un cache de 256Ko et plus (c'est courant
sur les Seagate), diminuer la taille du cache GS/OS au minimum.

Une autre option intéressante concerne le méchanisme de correction des erreurs,
la plupart des drives SCSI peuvent vérifier par divers algorithmes que
l'écriture s'est bien terminée et dans le cas contraire ils peuvent "réallouer"
le bloc défectueux, c'est à dire supprimer le précédent et utiliser un bloc de
secours pour y recopier le contenu et ceci sans intervention du système
d'exploitation du IIGS. Par défaut, les constructeurs allouent très souvent un
bloc de secours par piste ce qui diminue la taille disponible après un formatage
mais le fonctionnement est beaucoup plus sûr.

SCSI Toolkit permet d'activer un mode intéressant pour ceux qui font de la vidéo
et qui veulent conserver un débit constant quelles que soient les circonstances.
Le paramètre "RC" de la fenêtre "Read/Write Error Recovery" assure que même si
un bloc lu est défectueux, des données seront retournées sans qu'une erreur soit
signalée. Attention, les données ne seront pas celles que vous aurez écrites
mais si un débit constant est indispensable pour maintenir une synchronisation,
cette option est indispensable.

Il faut cependant savoir qu'un phénomène, appelé recalibration thermique, peut
"geler" un drive jusqu'à 100ms à intervalles réguliers, ce qui peut provoquer la
perte d'une ou deux images en acquisition vidéo, la dernière série de Micropolis
réduit considérablement l'importance de ce phénomène sans toutefois le faire
disparaître. Ce problème est bien connu des utilisateurs de Touareg.

SCSI Toolkit s'assure que les configurations sélectionnées pour un drive sont
acceptables, les cas contraires sont signalés et on revient aux configurations
par défaut, ce n'est pas le cas de la plupart des programmes mac (Hard Disk
Toolkit, S-Edit...) de gestion de la chaîne SCSI.

De plus on peut savoir ce qu'implique chaque paramètre ou définition soit en
cliquant sur ce paramètre soit en le sélectionnant et en appuyant sur la
touche "Pommme".

Une autre option très puissante de SCSI Toolkit est le rapport qui détaille la
configuration d'un drive, voici pour exemple le cas de mon drive Siemens:


SCSI Toolkit 1.0 -Report 15/ 1/94 1:06:13

SIEMENS MegaFile 4420B T321 320MB

Direct-Access device

________________________________________________________________________

                    Siemens Nixdorf
                    14, avenue Béguines
                    95802 Cergy Saint Christophe
                    (1) 34-20-34-20

_________________________________________________________________________


Current Nb. of cylinders: 1100 Current Nb. of heads: 11
Factory Nb. of cylinders: 1100 Factory Nb. of heads: 11


Current Sectors per track: 54
Current Data Bytes per Physical Sector: 512
Hard sectoring: Yes
Soft sectoring: No

Removable Media....................... No
ISO version........................... 0
ECMA version.......................... 0
ANSI version.......................... CCS/SCSI-2
Async Event Notification.............. No
Terminate I/O Process................. No
Response Data Format.................. SCSI-2

Relative Addressing................... Yes
Wide 32-bit SCSI Bus.................. No
Wide 16-bit SCSI Bus.................. No
Synchronous Support................... Yes
Linked Command Support................ Yes
Caching Support....................... No
Command Queuing....................... Yes
_________________________________________________________________________

Primary Defect list (Factory Bad Blocks): 30


          Cylinder            Head                Sector

            40                 0                   46
            41                 0                   46
           200                 5                   23
           219                 1                    9
           220                 3                   52
           246                 0                   46
           282                 3                   52
           283                 3                   52
           284                 3                   52
           285                 3                   52
           285                 8                   53
           286                 3                   52
           287                 0                   46
           288                 0                   46
           289                 0                   46
           295                 4                   47
           296                 7                   46
           297                 7                   46
           299                10                   31
           493                 4                   32
           516                 4                   50
           517                 4                   50
           525                 5                   29
           676                 5                   10
           686                 5                   35
           751                 9                   39
           939                 5                   48
          1012                 2                   45
          1013                 2                   45
          1083                 2                   53


Grown Defect List (New Bad Blocks): 0

          Cylinder            Head                Sector

________________________________________________________________________

AWRE: No
ARRE: No
TB: No
RC: No
EER: No
PER: No
DTE: No
DCR: No

Valid configuration (EER, PER, DTE, DCR)
________________________________________________________________________

  660 transactions / sec.
Seek Time:   28 soixantièmes / sec.

Cache:   32768 octets.
Single-Thread cache model

Quelques remarques:

• Les références du constructeur sont extraites automatiquement d'une base de
données propre à SCSI Toolkit et qui contient les adresses et faxes des
principaux fabricants de disques durs.

• SCSI Toolkit détaille les secteurs défectueux de votre disque, non seulement
ceux qui se sont révélés l'être pendant l'utilisation du disque mais aussi ceux
qui ont été détectés en usine.

• Lors de la création d'un rapport, le programme teste la validité de la
configuration du système de correction d'erreurs mais celle-ci n'est pas
modifiée si elle est défectueuse (il faut modifier les paramètres "Read/Write
Error Recovery".

• Le nombre de transactions par secondes indique le nombre de requêtes SCSI que
l'unité centrale et le périphérique ont pu traiter en une seconde. Le test "Seek
Time" n'est pas un temps d'accès moyen à une position sur le disque. Il teste la
rapidité de la mécanique pour un boot du système d'exploitation, ce n'est qu'une
indication, ainsi si le Siemens termine le test en moins d'une demi-seconde, le
Syqiest 88Mo l'effectue en près d'une seconde et demie.

• SCSI Toolkit détermine ensuite la taille du cache de l'unité et teste s'il
s'agit d'un cache indivisible ou adaptable à des processus concurrents.
 
Si vous testez un drive Seagate, SCSI Toolkit peut utiliser une base de données
distincte qui est installée par AutoPatch si vous le désirez et qui donne les
références du constructeur. Ces références sont intéressantes pour la
consommation électrique, la puissance exigée au démarrage du drive, les
dimensions et la fiabilité (théorique, il s'agit du paramètre MTBF, Mean Time
Between Failure ou moyenne de la durée de fonctionnement entre deux pannes mais
sans coupure de l'alimentation principale le plus souvent).

Voici ce que SCSI Toolkit aurait ajouté après le descriptif du modèle pour un
des derniers-nés de Seagate:

ST-11751N SCSI-2 Fast Wide (Barracuda 1)

    UNFORMATTED CAPACITY (MB)                1745
    FORMATTED CAPACITY (xx SECTORS) (MB)     1437
    AVERAGE SECTORS PER TRACK                78 rounded down
    TRACKS                                   30,316
    CYLINDERS    PHYSICAL                    2,756
    HEADS        PHYSICAL                    11
    DISCS (3.5 in)                           6
    RECORDING METHOD                         ZBR RLL (1,7)
    TRANSFER RATE INTERNAL (mbits/sec)       36 to 56
    SPINDLE SPEED (RPM)                      7,200
    AVERAGE LATENCY (mSEC)                   4.17

BUFFER: 1024 KByte
Read Look-Ahead, Adaptive, Multi-Segmented Cache

    INTERFACE                                SCSI-2 FAST WIDE
    BYTES PER TRACK                          36,750 TO 58,800
    SECTORS PER DRIVE                        2,375,000
    TPI (TRACKS PER INCH)
    AVERAGE ACCESS (ms) (read/write)         8.0/9.0
    (Drive level without controller overhead)
    SINGLE TRACK SEEK (ms)                   0.6/0.9
    MAX FULL SEEK (ms)                       20.0/21.0
    MTBF (power-on hours)                    500,000

    POWER REQUIREMENTS: +12V START-UP (amps)    2.5
        +12V TYPICAL (amps)     0.6
        +5V START-UP (amps)
        +5V TYPICAL (amps)      0.7
        TYPICAL (watts)         10.7
         MAXIMUM (watts)

        Height (inches/mm):     1.63/41.4
        Width  (inches/mm):     4.00/101.6
        Depth  (inches/mm):     5.97/146.1
        Weight    (lbs/kg):     1.8/0.80

Already low-level formatted at the factory with one spare sector per
track and two spare cylinders/unit.

ZBR = Zone Bit Recording = Variable sectors per track
________________________________________________________________________


J'ai tenu à indiquer si le drive était formatté à bas-niveau en usine. S'il est
FORTEMENT conseillé de NE PAS reformatter bas niveau un drive utilisant une
densité variable de secteurs par piste, il n'y a pas d'interdiction formelle de
ce formattage avec le standard SCSI au contraire du standard IDE.

Les images ci-dessous donnent une idée de l'interface utilisateur de
SCSI Toolkit que j'ai voulu la plus agréable possible et la plus proche des
programmes existant sur mac ou Windows pour ne pas dérouter l'utilisateur.


SCSI Toolkit Figure 1
SCSI Toolkit Figure 2
SCSI Toolkit Figure 3
SCSI Toolkit Figure 4
SCSI Toolkit Figure 5
SCSI Toolkit Figure 6


L'autre nouveauté majeure de de MultiSwitch 1.3 est le "Document Linker
Interface" dont la fenêtre principale ressemble à Easy Access pour mac (Figure7).
Le but du document Linker est d'associer à chaque type de document une ou
plusieurs applications qui seront exécutées après la sélection d'un document, ce
dernier étant chargé par le programme sans autre intervention de l'utilisateur.

La fenêtre principale permet d'associer un sous-répertoire à un genre de
documents (dessins, textes), ce sous-répertoire est ouvert sur un simple clic et
on peut choisir n'importe quel "objet", MultiSwitch peut établir le lien avec
une application.

En sélectionnant un document tout en appuyant sur la touche "Option", vous
pouvez connaître le nom et le numéro de l'application qui le gère (si cette
application a été définie) ainsi que la taille et la date de la dernière
modification du document.

MultiSwitch affiche de nouveaux icônes dans les boîtes de dialogue de sélection
de fichiers non seulement en fonction de leur type et "AuxType" mais le nom est
aussi un critère, ainsi, les fichiers se terminant par *.ZIP ont leur propre
icône (Figure-8).

Ce "Document Linker" est accessible à partir de n'importe quel application au
moyen de l'accessoire QuickSwitch qui permet de sélectionner un document ou
d'ajouter un lien entre un document et un programme.

Les prochaines versions de MultiSwitch permettront de lier plusieurs
applications à un même type de document, je rappelle que MultiSwitch ne modifie
pas les éventuels liens créés par le Finder entre programmes et documents.


SCSI Toolkit Figure 7
SCSI Toolkit Figure 8


• Le Video Manager de MultiSwitch permet de disposer avec un seul écran d'un
moniteur vidéo et d'un écran Apple IIGS si vous diposez d'une Carte Video
Overlay. Le passage de l'un à l'autre se fait en déplaçant le curseur et on peut
conserver la barre de menus sur l'écran vidéo si on le désire. Ce Video Manager
s'ajoute au gestionnaire de plus grand écran "Fat Screen" qui lui fonctionne
avec ou sans VOC sur un Apple IIGS ROM 01.

• MultiSwitch détecte "l'activité" de certaines fenêtres pour les masquer sans
intervention de l'utilisateur si celui-ci n'en a pas l'usage.

• MultiSwitch installe maintenant les NDAs/CDAs, les Inits, les drivers GS/OS,
les fichiers d'icônes et les CDevs.

• Pict2 Converter a été considérablement amélioré. D'une part il gère maintenant
les images de taille "anormale" (très petites ou très grandes) multi-palettes et
multi-résolutions. Il gère même des images qui "plantent" Platinum Paint 2.1...
car celui-ci ne tient pas compte des "pinceaux" de Deluxe Paint 2 et il les
interprète comme des données qu'il tente de décompresser dans le banc $E1, ce
qui explique le plantage.

Ce surcroît de puissance ne se fait pas au détriment de la rapidité car Pict2
n'utilise pas un algorithme généraliste mais une multitude de cas particuliers
autour d'une routine de décompression standard.

Pict2 dispose maintenant d'un "Shape Manager" qui permet de stocker une (et
bientôt plusieurs) forme en mémoire, de définir un "chemin" pour l'affichage de
cette forme ainsi que le mode de transfert à utiliser en mode plein écran.

L'affichage est décidé par l'appui de la touche "F" lors de la visualisation.

MultiSwitch crée automatiquement un masque pour la forme en mémoire, masque que
vous pouvez redéfinir tout en décidant de son utilisation ainsi que du mode de
transfert propre à ce masque.

Send PostScript 1.3 s'enrichit d'un dialogue indiquant la progression du
téléchargement des fichiers PostScript.

Une aide en ligne détaille les diverses commandes de contrôle de la Video
Overlay Card ainsi que les modifications au mode Preview de la nouvelle version,
modifications qui permettent de continuer la visualisation d'une image en mode
400 lignes entrelacées sur le moniteur connecté à la VOC tout en travaillant sur
le moniteur connecté à la Video Overlay Card (Pict2 est le seul programme qui
peut afficher trois images 320*200 différentes sur deux moniteurs connectés à un
Apple IIGS disposant d'un VOC).

MultiSwitch compte un disque exemple supplémentaire ce qui fait que le
"package" compte quatre disquettes, la dernière disquette regroupe les fichiers
déplacés de la disquette MultiSwitch ainsi qu'une animation qui est un
"morphing" pour Pict2 Converter, des images issues d'un CD-Photo ainsi que des
images multi-palettes.


Le prix du package reste le même 380FF port compris, voici le détail des prix de
la mise à jour:

            MultiSwitch 1.3    MS 1.3 + Data Disks 1 à 3

MultiSwitch 1.0x        60F            80FF

MultiSwitch 1.1x        30FF           50FF

MultiSwitch 1.2x        Gratuit        25FF

La procédure reste la même, il faut m'envoyer votre original avec une enveloppe
auto-adressée et affranchie.

Les possesseurs de version 1.2 peuvent se mettre à jour complètement
gratuitement s'ils me fournissent les trois disquettes pour les "Data Disks"
pré-formattées et vérifiées.


Send PostScript 1.3 possède une nouvelle fonction TRES intéressante qui permet
de télécharger des polices PostScript Type 1 ou 3 vers une imprimante laser
PostScript.

Cette fonction manquait à l'Apple IIGS car le driver LaserWriter non seulement
ne peut pas télécharger de polices mais il ne télécharge même pas une police de
taille 5 fois supérieure comme indiqué dans la documentation, le résultat à
l'impression était donc décevant dès que la police n'existait pas en ROM.

Une fois téléchargées, ces polices sont disponibles jusqu'à ce que vous
éteigniez l'imprimante. Plusieurs versions "bitmap" de ces polices sont
présentes sur la disquette et vous permettent d'utiliser ces polices exactement
comme vous utilisez les fontes Courier ou Helvetica.

MultiSwitch compte donc maintenant une cinquième disquette qui rassemble des
polices PostScript Type 1 et Type 3, des polices écrans et les équivalents
TrueType des polices PostScript, il est alors possible d'utiliser une police
True Type pour la visualisation à l'écran et d'imprimer en utilisant la police
PostScript téléchargée.

J'ai passé pas mal de temps à percer le fonctionnement (le mauvais
fonctionnement) du cycle d'impression laser sur IIGS et macintosh et j'ai pu
corriger une anomalie de l'encodage de certaines polices ainsi que leur
identité, le résultat est que non seulement vous pouvez bénéficier d'un nombre
plus important de polices au rendu impeccable mais que vous avez un avantage sur
les possesseurs de macintosh: à chaque fois que la police PostScript dispose des
accents, vous les obtiendrez à l'impression ce qui est loin d'être le cas sur
macintosh à cause d'un problème d'encodage qui affectent certaines polices.

J'ai aussi corrigé deux jeux de polices Apple IIGS, NewHelvetica-Narrow et
NewCentury-Schoolbook, ces deux polices existent dans les ROMs de la plupart des
imprimantes PostScript mais je n'obtenais pas une impression correcte sur Apple
IIGS car les polices "bitmap" comportaient plusieurs erreurs. Je disposais peut-
être d'une ancienne version de ces polices, certains d'entre vous n'avaient
peut-être pas le problème mais je ferai diffuser ces deux polices par le GS
Club.

L'Apple IIGS permet maintenant d'éditer plus facilement, en supportant moins de
limitations des textes dont le rendu sera au moins égal à celui obtenu sur
macintosh, prochaine étape, les fichiers graphiques EPS...


Retour à la table des matières

hr apple switcher


09) Annexe: A propos de SendPostscript GS (GSINF 33).


• GS Infos 33


  Send PostScript GS est un utilitaire qui a pour but le téléchargement de documents
  PostScript vers une imprimante laser (ou tout autre périphérique compatible avec le
  langage d'Adobe Systems).

  Il permet aussi le téléchargement de polices PostScript Type 1 ou Type 3 dans l'imprimante,
  on n'est donc plus limité par le jeu de polices contenu dans la ROM de celle-là.

  L'impression de documents PostScript est intéressante car beaucoup de documentations sont
  accessibles dans les domaines publics ou sur les serveurs sous formes de fichiers PostScript.
  C'est avantageux pour l'auteur puisqu'il n'a pas besoin de fournir un programme pour lire sa
  documentation et celle-ci est difficilement modifiable. De plus, s'il utilise des polices
  protégées, il n'a pas non plus à les diffuser.

  Send PostScript permet d'imprimer tout document PostScript ou TeX to PostScript en
  provenance de n'importe quelle machine si le document est complet ou en provenance
  du mac, d'un PC sous Windows ou d'une station DEC si le "dictionnaire" PostScript ne
  fait pas partie du document (un dictionnaire est un jeu de commandes supplémentaires
  qui permet de produire des documents de plus petites tailles).

  Send PostScript possède des options pour déterminer l'impression de la page de tests
  lors du démarrage de l'imprimante, d'un benchmark et d'un catalogueur des polices
  disponibles, il y a aussi des fichiers pour produire des effets spéciaux sur du texte.

  Send PostScript GS (S.P. GS) est fourni avec une disquette de polices PostScript et
  les polices bitmaps correspondantes ainsi que les polices True Type pour ceux qui
  utilisent PointLess car S.P. GS permet d'imprimer des polices True Type puisque la
  version PostScript est accessible. Vous pouvez même utiliser les polices bitmap
  avec les polices True Type.

   Les accents sont disponibles (Figure-2) dans toutes les polices sauf pour BillDingbats
  et Code39Bar, c'est un avantage supplémentaire par rapport au macintosh (qui donne
  rarement accès aux accents...)

  La qualité d'impression des polices fournies est excellente, même avec des polices de
  petite taille. Send PostScript GS ne permet pas d'utiliser les polices Type 1 ou 3 du
  mac telles quelles. En effet, il faut disposer de l'équivalent écran pour Apple IIGS
  ou de la police True Type. Ces polices ne doivent pas seulement ressembler à la
  police PostScript mais posséder des paramètres  d'idenfication absolument identiques.
  Je suis à la diposition des utilisateurs de S.P. GS pour leur convertir les polices
  PostScript désirées, n'importe quelle police peut être convertie. L'avantage est
  d'être sûr que 2 polices n'auront pas la même identité et ne pertuberont pas
  l'impression des documents.


  Send PostScript GS ne nécessite pas MultiSwitch mais il fonctionne mieux sous cet
  environnement puisque d'une part vous avez accès à la fenêtre de téléchargement
  à partir de n'importe quelle application utilisant les fenêtres graphiques,
  d'autre part, sous Finder, si vous créez un sous-répertoire SENDPS, une icône
  LaserWriter lui sera attribuée et si vous déplacez des fichiers ASCIIs ou des
  polices PostScript vers cette icône, S.P. GS teléchargera tous les documents
  sans autre intervention de votre part (fonction Glisser/Déposer ou Drag & Drop,
  Figure-3) et ce quel que soit l'emplacement de l'application sur disque.


  Enfin, le "Document Linker" de MultiSwitch 1.3 (et versions plus récentes)
  permet de choisir une police ou un document PostScript à partir d'une boîte
  de sélection sous n'importe quelle application utilisant le Window Manager
  et, si Send PostScript est en mémoire (il n'a pas besoin d'avoir été exécuté),
  il procédera au téléchargement sans autre intervention de votre part.


  Send PostScript GS coûte 100FF, frais de port compris, pour deux disquettes
  et une doc d'une dizaine de pages. S.P.GS donne droit à une réduction de 80FF sur
  MultiSwitch, ceci en plus de la réduction GS Club puisque S.P. GS est un module
  de Pict2 Converter.


Send PostScript GS
Send PostScript GS
Send PostScript GS
Send PostScript GS
Send PostScript GS
Send PostScript GS


Retour à la table des matières

hr apple switcher


10) Annexe: MultiSwitch v1.36 (GSINF 34).


• Suite à la réunion du 11 juin et aux suggestions de plusieurs utilisateurs,
Send PostScript et MultiSwitch disposent de quelques nouvelles fonctions:

MultiSwitch est donc maintenant en version 1.36, cette version est compatible
avec TransProg III v1.5, c'est à dire que vous pouvez sélectionner une
application à partir du menu de cet utilitaire, si l'application est en mémoire,
elle est immédiatement exécutée, sinon, MultiSwitch la charge puis l'exécute (le
programme restera en mémoire).

Même chose si vous sélectionnez un document lié à une application, si
l'application est en mémoire seul le document sera chargé, sinon MultiSwich
interviendra pour exécuter le programme.

Si vous avez configuré TransProg pour qu'il apparaisse dans la barre de menus,
il se mettra à clignoter après le chargement d'une application par MultiSwitch.
Je n'ai pas eu le temps de corriger ce petit défaut, pas très gênant car il
suffit de configurer l'apparition du menu avec une séquence clic+modifiers (de
préférence, la touche Control, car cette dernière sert à forcer l'utilisation de
l'application désignée par TransProg); sinon il faudra vous adresser à
BrainStorm.

The Manager 1.5 est, paraît-il, compatible avec MultiSwitch, cependant, vous
perdez sous cet environnement les écrans graphiques multiples disponibles avec
MultiSwitch ainsi que les accélérateurs logiciels.

Le chemin d'accès de l'actuel programme chargé automatiquement au boot apparaît
dans la ligne de texte éditable.

• Send PostScript GS affiche maintenant la liste des polices PostScript dans
une fenêtre ainsi que la mémoire disponible dans l'imprimante, il est toujours
possible d'en obtenir une liste sur papier.

Des raccourcis permettent de sélectionner plusieurs fichiers grâce à un dialogue
à sélections multiples, il est possible de sélectionner un fichier contenant une
liste de fichiers ou de polices PostScript à télécharger (ces fichiers peuvent
être téléchargés automatiquement lors de la première exécution du programme).

Enfin, vous pouvez sélectionner directement le sous-répertoire
*:System:PScript.Fonts: qui devrait contenir vos polices réservées à
l'imprimante.

• Un petit complément à l'article de M. Jarrige sur le MS-DOS 6.2, si vous
disposez d'une imprimante PostScript, presque tous les programmes DOS peuvent
créer un fichier PostScript, il vous suffit ensuite de télécharger ce dernier
avec Send PostScript GS pour profiter de votre imprimante connectée sur réseau
AppleTalk (ou connectée directement par le port série, mais cette situation est
plus rare).

• Le programme s'enrichit d'une nouvelle série de polices: Garamond, Garamond-
Narrow, Hoefler Ornaments, Shaston et Geneva. Il vous suffit d'indiquer dans
votre commande quelle disquette de polices vous désirez obtenir.
Chaque disquette supplémentaire de polices coûte 40FF (mais la première est
gratuite, faisant partie de Send PostScript).

Les polices sont founies aux formats bitmap, True Type et Apple IIGS PostScript
Type 1. La raison pour laquelle je fournis des polices au format bitmap alors
que cela occupe de la place est que d'une part tout le monde n'utilise pas
Pointless (à commencer par moi), d'autre part, Pointless ralentit le Font
Manager et on peut souhaiter travailler le plus rapidement possible (il semble
que la version 2.01 de Pointless soit plus rapide et permette d'utiliser les
polices bitmaps si elles existent, à confirmer).

• J'ai modifié la routine qui permet de digitaliser des images avec une carte
DGA-1, j'encourage vivement les utilisateurs de Pict2 et de DGA-1 à me contacter
pour procéder à une mise à jour du programme, cependant il reste une ou deux
configurations qui pertubent cette digitalisation.

• Si certains membres du Club, acheteurs de Pict2, étaient intéressés par une ou
plusieurs des animations présentées à la réunion, il suffit de m'envoyer une
disquette par animation avec une enveloppe auto-affranchie (ceci est réservé aux
acheteurs de Pict2, car il n'y a pas d'autres programmes capables de les
afficher).


Retour à la table des matières

hr apple switcher


11) Annexe: Pict2 Converter v2.0 (GSINF 35).


Pict2 Converter passe maintenant en version 2.0, ceci pour indiquer une
évolution majeure du programme, à la fois pour les possesseurs d'une Video
Overlay Card et pour ceux, plus nombreux, qui n'en ont pas.

Jusqu'à présent, le GS était limité à un seul buffer vidéo, c'était ennuyeux
pour créer des animations car si on modifiait une palette de couleurs on
"voyait" cette modification s'opérer à l'écran. La Video Overlay Card possédait
bien deux buffers vidéo mais jusqu'à présent aucun programme n'en tirait parti
pour les animations. Le principe est pourtant simple on affiche un écran pendant
que l'image suivante est affichée sur l'écran masqué, dès que la modification
est terminée et que le délai entre deux images s'est écoulé, on provoque
l'affichage du deuxième écran et ainsi de suite.

Pict2 peut maintenant créer à partir d'une séquence d'images fixes une
animation pour un Apple IIGS sans VOC, avec VOC, un Apple IIGS équipé de
lunettes 3D ou une animation au format PaintWorks. Le compresseur de Pict2 est
maintenant paramétrable, vous pouvez forcer l'utilisation de 16 ou de 256
couleurs, "nettoyer" les images avant de les compresser (certains programmes
stockent des renseignements dans les palettes inutilisées, lors d'une
compression, ces données sont ajoutées alors qu'elles sont inutiles). Cette
dernière option vous permet d'ajouter des titres ou des "Shapes" utilisant une
autre palette que la palette de l'animation en étant sûr que les palettes ne
seront pas dégradées.

Pict2 manipule maintenant des "Shapes" ou, plus simplement, des pinceaux
Deluxe Paint 2 que le programme stocke en plus des documents graphiques. Vous
choisissez ensuite si vous désirez utiliser un masque, le mode de transfert, si
le programme copiera la palette de couleurs de la forme en plus de cette
dernière. Pour placer la forme dans le document, un curseur indique le coin
supérieur gauche de la forme, lorsque vous indiquez une position, une rectangle
apparaît pour indiquer la surface occupée par la forme et un contrôle s'ajoute à
la fenêtre pour vous permettre de déplacer ou de supprimer cet emplacement.
Pict2 permet aussi d'ajouter des palettes (au format 816 Paint) à un document
ainsi que de sauver sa palette principale.

De surcroît, vous pouvez modifier la résolution d'un document aux modes
320/16-256 couleurs, 640/4 couleurs et 640/16 couleurs ou niveaux de gris, les
résultats sont souvent intéressants.

Pict2 permet de créer des images 400 lignes à partir de l'écran composé par le
document et les "Shapes" que vous avez ajoutées.

Je viens de terminer 9 disquettes d'animations (seules deux d'entre elles
réclament Pict2 pour être rejouées) disponibles au prix de 50FF les trois
(disquettes et port compris). Vous pouvez grâce à Pict2 Converter extraire
toutes les images de ces animations pour les modifier et les recompresser à
votre guise.

Ces animations sont souvent très spectaculaires en mode asynchrone car
vraiment très rapides. L'une d'entre elle mélange les modes 320 et 640 et c'est
aussi très appréciable en vidéo.

Grâce à l'accessoire de bureau "Pict2 Controller" et à MultiSwitch, vous pouvez
charger et afficher tout type de document à partir de l'application au premier
plan. Sur Finder un simple glisser/déposer de documents graphiques vers un sous-
répertoire PICT2 provoque le même résultat.

La mise à jour de Pict2 Converter est gratuite pour les possesseurs de
MultiSwitch 1.35 et 1.36, il faut alors m'envoyer deux disquettes pour les
programmes et une enveloppe affranchie auto-adressée. Pour les versions
précédentes de MultiSwitch, le prix de la mise à jour est fixé à 50FF pour les
deux disquettes de programmes (port compris).

Consultez-moi pour obtenir MultiSwitch Data Disk, Pict2 Converter Data Disks 1
& 2, MultiSwitch Fonts Disk 1, Send PostScript GS et Send PostScript Fonts Disk 2.

M. Vincent HEMEURY
**, ****** *** ******
44*** *******
Fax: (**) **-**-**-**


Pict2 Converter
Pict2 Converter
Pict2 Converter
Pict2 Converter
Pict2 Converter
Pict2 Converter
Pict2 Converter
Pict2 Converter
Pict2 Converter
Pict2 Converter

Retour à la table des matières

hr apple switcher


12) Annexe: MultiSwitch v1.4 et autres mises à jour (GSINF 37).


MultiSwitch 1.4

GS Maths Patch et Fat Screen sont maintenant compatibles avec le GS ROM 03, GS
Maths Patch est un utilitaire qui accélère jusqu'à deux fois les opérations de
l'Integer Maths. Fat Screen vous permet de disposer de plusieurs écrans sous une
même application, par exemple, une fenêtre traitement de textes et une fenêtre
PAO sous Appleworks GS, deux fenêtres graphiques sous Platinum, et de passer
très rapidement de l'une à l'autre (moins d'une seconde avec une Transwarp,
c'est instantané si vous possédez une Video Overlay Card).


SCSI Toolkit ajoute quelques tests supplémentaires pour les possesseurs de
disques durs.


Pict2 Converter 2.3 fait fonctionner la Video Overlay en mode interruption, il y
a aussi un mode qui modifie le niveau de transparence d'une interruption VBL à
l'autre.


Send PostScript GS 1.6

Send PostScript en mode Turbo sans acquisition des états retournés par
l'imprimante est 60% plus rapide que Send PostScript 1.5 tant que l'imprimante
ne bloque pas le processus d'impression (c'est très utile pour les polices
PostScript qui se téléchargent ainsi beaucoup plus vite sur un Apple IIGS que
sur un Macintosh sous LocalTalk).

MultiSwitch 1.4                380FF
+ MultiSwitch Datas Disk
+ Pict2 Converter 2.3
+ Send PostScript GS 1.6
+ MultiSwitch Font Disk 1
+ Pict2 Datas Disks 1 & 2
+ Animations Disks 1, 2 & 3

Send PostScript GS 1.6         100FF
+ MultiSwitch Font Disk 1
 
MultiSwitch Font Disk 2        40FF
MultiSwitch Font Disk 3        40FF

Pict2 Datas Disk 3             40FF
Animations Disks 4 à 10        150FF les sept


Mises à jour

de MultiSwitch    v1.0    v1.1    v1.2    v1.3   
à
MultiSwitch 1.4    60FF    40FF    30FF    gratuite    2 disks+enveloppe
MultiSwitch 1.4    80FF    60FF    50FF    20FF        sans disks


de SendPostscript 1.x
à
MultiSwitch 1.4                   300FF

Je vous rappelle mon adresse:

M. Vincent HEMEURY
**, ****** *** ******
44*** *******
Fax: (**) **-**-**-**


Retour à la table des matières

hr apple switcher


13) Annexe: MultiSwitch v1.44 (GSINF 42).


Tout d'abord, un petit mot à propos des produits BrainStorm Software puisque
c'est la deuxième fois qu'on vient me voir pour obtenir un support technique
qu'avec la meilleure volonté du monde je ne peux assurer. J'ai renvoyé les
demandes d'infos à BrainStorm qui ne m'a répondu que pour indiquer une nouvelle
adresse et un nouveau numéro de fax mais rien de plus.

Donc, il est inutile de me demander comment corriger tel ou tel bug dans The
Manager ou Hierarchic et très franchement, je pense que cela ne sert pas à grand
chose de le demander à BrainStorm dont voici cependant la nouvelle adresse:

      *, *** ****** *******
      54*** *****
      Tel: (**) **-**-**-**
      Fax: (**) **-**-**-**

Ceci était vrai il y a deux mois, entretemps, BrainStorm m'a recontacté pour me
demander si cela m'intéressait de reprendre les sources de Hierarchic pour le
faire évoluer, j'ai répondu favorablement mais depuis je n'ai pas d'autres
nouvelles et comme il se passe un mois entre chaque fax de BrainStorm, il n'est
pas plus utile qu'avant de me contacter à ce propos, je ferai savoir dans GS
Infos si une nouvelle version de Hierarchic est disponible.


La version 1.44 de la boîte à outils de MultiSwitch comporte un nouveau
gestionnaire de l'interruption SCB et de l'interruption souris pour les
possesseurs d'Apple IIGS ROM03.

Fat Screen 1.44 corrige un défaut d'affichage en mode hardware qui affectait les
possesseurs de Video Overlay Card.

Pict2 Converter 2.6 comporte un nouveau filtre qui transforme une image en image
en mode FILL ainsi qu'un nouveau module de digitalisation d'images qui permet de
visualiser ce qui est en train d'être digitalisé, de digitaliser et de sauver
l'acquisition dans un fichier en appuyant sur une seule touche du clavier (avec
une incrémentation automatique du nom du fichier), de digitaliser des séquences
d'images plus facilement ainsi que d'effectuer une opération de filtrage (Antialiasing,
relief...) avant de préserver le résultat.

De plus, si vous possédez une Video Overlay Card, la dernière digitalisation
sauvée sur le disque est affichée en permanence sur le deuxième moniteur
connecté à la carte. Sinon, cette image est copiée dans la page de garde de
Pict2 Converter.

J'ai ajouté six nouvelles disquettes d'animations aux 13 disquettes qui existent
déjà, il y a une animation qui réclame une Video Overlay Card car elle réclame
deux buffers vidéo SHR. J'ai ajouté une animation 3D en anaglyphe, quatre autres
disquettes servent à former deux animations car Pict2 Converter est maintenant
capable de réassembler une animation à partir de plusieurs fichiers. Ceci est
fort pratique pour diffuser des animations de plus de 795Ko car il y a trop peu
de lecteurs 1,4Mo dans le monde Apple II.


Retour à la table des matières

hr apple switcher


14) Annexe: A propos d'ExpressLoad (GSINF 10).


EXPRESSLOAD
------------

Avec les nouvelles versions du GS OS est apparu "EXPRESSLOAD",
un message qui s'affiche sous le "thermomètre" lors du boot lorsque
vous pressez les touches Pomme+Option pendant le début du chargement
du système.
"EXPRESS LOAD" est une sorte de procédure spéciale du système GS OS
qui permet un chargement 2 fois plus rapide des programmes et fichiers,
grace à une meilleure gestion de la mémoire par le Mémory Manager,
sous certaines conditions.
Il faut en effet, et en principe, que le programme ait été écrit en
respectant certains procédés, pour pouvoir ensuite se laisser
"expressloader".

En réalité on peut rendre "expressloadable" beaucoup de programmes
(mais pas tous car certains ne supportent pas cette petite cuisine)
grace à APW ou à Prosel.
La syntaxe sous APW est :
     Express fichier-source -o fichier-destination
Sous Prosel il faut utiliser la commmande "ZIP":
     ZIP <fichier-source> <fichier-destination>
Le fichier zippé est habituellement un peu plus long que le fichier
d'origine (un ou deux blocs)


                                B.TOMENO.


Retour à la table des matières

hr apple switcher


15) Annexe: Différences entre The Manager et Switch-It!



A2-Central On Disk: Vol. 9, No. 4 : May 1993
(c)1993 by Resource Central


SUBTLE SWITCHER DIFFERENCES
by Dean Esmay


     You've probably read by now about Switch-It! by Procyon Inc., published by Sequential Systems.  You've probably also read about The Manager by Brainstorm Software, published by Seven Hills.  And you've probably wondered to yourself what the difference was between these two programs.

     DESPITE THE HYPERBOLE SEVEN HILLS USES IN ITS MARKETING - REFERRING TO THE MANAGER AS A "MULTIFINDER" FOR THE IIGS, THE TRUTH IS THAT FROM A REAL-WORLD PERSPECTIVE THERE'S NOT A WHOLE LOT OF DIFFERENCE BETWEEN THE TWO PROGRAMS.  Both allow you to run IIgs applications and keep them in memory.  That is, you run one program, then you can instantly switch back to Finder (or another program selector) and run another program - and keep that in memory too.  Then you can switch from one program to another almost instantly - since they're all in memory, switching is a snap.
     And you can keep adding applications, too.  There's no hard limit to how many applications you can have running at once with either program.  Rather, you're limited both by how much standard RAM you have in your computer and by how much "stack" memory each application takes up.
     The IIgs has a 64K stack, part of which is used by the system software and by Switch-It! or The Manager.  Programs like HyperCard IIgs are stack hogs, so you can't get much else in if you're using them.  On the other hand, there are small applications such as Teach that don't use much stack space at all.  For all practical purposes, it seems like you can get an average of 3 to 5 applications loaded at once in either Switch-It! or The Manager.

     ONCE INSTALLED, SWITCHING BETWEEN PROGRAMS IS CLOSE TO THE SAME IN BOTH ENVIRONMENTS.  With Switch-It! you get a special little icon at the right hand side of the menu bar, from which you can pull-down a menu listing of all your currently loaded applications.  Pick one and you're immediately switched to it.  With The Manager the special little icon is at the left end of the menu bar, and you get a couple of minor configuration items.  Otherwise, they work the same way.

     WITH SWITCH-IT!, YOU HAVE A SPECIAL PROGRAM CALLED SWITCH-IT! THAT IS ALWAYS PRESENT AND CAN BE SWITCHED TO AT ANY TIME, FROM WHICH YOU CAN CONFIGURE SWITCH-IT!, LAUNCH OTHER PROGRAMS, OR QUIT.  Any time you want to do something like launch a new application or change your settings, you switch back to the Switch-It! program itself to do it.  Though, if you want, you can set Switch-It! up to allow you to launch programs from Finder instead.

     THE MANAGER, ON THE OTHER HAND, DOESN'T HAVE A "PROGRAM" OF ITS OWN PER SE.  When you start The Manager, you wind up back in Finder.  You have a Finder Extra that you pull down to handle configuration options and you do all your program launching from Finder automatically.  However, if you don't want to keep Finder in memory at all times (after all, it does take up memory, both stack and regular), you can also use the built-in mini-launcher that comes with System 6.0, which you get just by quitting from Finder.
     Okay, so beyond these minor interface differences, are there any real differences?
     Yes.  Switch-It! only allows program switching using the special pull-down menu.  When you switch to another application, whatever application you're currently using is hidden and suspended, while the new one takes over the screen.
     The Manager can work sort of like MultiFinder on the Mac.  Applications can all stay on screen at once.  If a window is open in one application, and another window is open in another, you'll see both windows on the screen.  Click on a window, and whatever application that window belongs to is immediately brought to the front.
     Furthermore, The Manager has the theoretical capability of letting you actually keep two or more programs running - not just residing in memory, but one actually working while the other is working.  So, for example, you might be able to have Teach printing a large document while you pop over to HyperCard IIgs to do a little horsing around with HyperTalk.

     THE IMPORTANT CAVEAT HERE IS THAT THIS CAPABILITY IS THEORETICAL - NEITHER OF THE PROGRAMS I JUST MENTIONED IS ACTUALLY CAPABLE OF MULTITASKING.  Applications must be written in a certain specific way in order for this to work.  And unfortunately, the vast majority of IIgs applications cannot multitask at this time.
     And, while it's nice that The Manager allows you to keep the windows of multiple applications on screen at once, a whole lot of IIgs applications write directly to the screen instead of just drawing windows on the background, so they don't allow the windows of other applications to appear on screen.  Common applications that do this include HyperCard IIgs, HyperStudio, and SynthLab, not to mention almost every major IIgs game ever written.  So you wind up having the extra step of using the configuration menus of The Manager to have it "hide" these applications when they're not in use - so you wind up having to use the switching menu a lot anyway.

     SWITCH-IT! AND THE MANAGER DIFFER IN HOW THEY HANDLE NEW DESK ACCESSORIES, TOO.  Since it winds up being impossible to keep an NDA "live" between applications, both programs handle it differently.
     Switch-It! takes the simple and straightforward path - it simply closes any NDAs you have open before switching to another application.
     The Manager takes a more complicated path - it keeps any open NDAs open when you switch between applications, but the NDA stays "attached" to whatever application you opened it in, and while open cannot be used in any other application.  If you click on the NDA to bring it to the front, the application you opened it from comes to the front, too.  To use the NDA in a different application, you have to first close it, then switch to the application you want to use it in, and then open it again.
     It's debatable which is the more annoying way of doing things.  With The Manager, at least the NDAs stay open and active.  But with Switch-It!, you don't have the aggravation of having to go back to the program you opened the NDA from just to use it.  You can decide which way is better for you - neither is particularly elegant.

     A MAJOR RESTRICTION OF BOTH PROGRAMS IS IN THE USE OF PRODOS 8 SOFTWARE.  Because of the way ProDOS 8 works, it's simply not possible to keep ProDOS programs in memory and switch between them as you can with GS/OS programs.  Worse, you can't even keep 16-bit programs in memory before running any ProDOS 8 software.  You have to quit from whatever 16-bit software you're currently using before launching any 8-bit programs.

     HOWEVER, HERE THE MANAGER HAS A CLEAR ADVANTAGE OVER SWITCH-IT!.  With Switch-It!, you must go in and quit from every single IIgs program you're using, including Switch-It! itself, before you can launch any 8-bit program.  With The Manager you still have to quit from most applications, but you can leave both The Manager and the IIgs Finder running when launching an 8-bit application.  Both will still be there and ready to use when you quit from whatever 8-bit software you're using.  As someone who still has to use 8-bit software fairly frequently, this is a major plus for me.
     Note that Jawaid Bazyar, Switch-It!'s programmer, said in an interview on GEnie a few months ago that he might modify Switch-It! to handle ProDOS 8 software more elegantly, but it's not clear if and when this will happen.

     THE MANAGER IS ALSO A BIT SMOOTHER IN A FEW OTHER AREAS.  For example, in Switch-It!, if you try to launch an application that you've already got in memory, you get a dialog telling you you can't run have the same program in memory twice.  The Manager is smart enough to recognize when you're trying to launch a program that's already in memory and simply switches to it automatically.
     Furthermore, while there are programs that are not compatible with The Manager or with Switch-It!, The Manager allows you to specify applications which are not compatible, so that when you try to run them, you're stopped and told that the program is incompatible.  Switch-It!, unfortunately, will let you run any old thing at all, and if it doesn't work, you just crash (or experience whatever other weird problems that application might cause under Switch-It!).

     ON THE OTHER HAND, SWITCH-IT! DOES HAVE A HANDY FEATURE THAT WILL LET YOU "FIX" CERTAIN APPLICATIONS THAT DON'T SEEM TO BE COMPATIBLE.  While it doesn't do this with all software, when it encounters certain software that it recognizes as incompatible, it will give you the option of trying to "fix" the program.  I've had this work on a few occasions.
     Then again, this option is also quite frightening because neither Switch-It! nor the documentation tell you what it's doing when it "fixes" a program.  Telling a program to do something to one of my applications without knowing exactly what it's doing is nerve-wracking.  When I told it to go ahead and "fix" my copy of ProSel-16, which wouldn't work, the "fix it" option fixed it so good that ProSel-16 no longer worked at all, whether using Switch-It! or not.  I had to restore from my original master.  Major nega-kudos to Procyon and Sequential for not documenting this option better and providing appropriate warnings about the dangers of using it.

     WITH THE MANAGER, CERTAIN NECESSARY OR USEFUL FUNCTIONS, SUCH AS CHECKING HOW MUCH MEMORY YOU STILL HAVE OR SPECIFYING CONFIGURATION INFORMATION FOR AN APPLICATION, HAVE TO BE HANDLED FROM THE FINDER - whether you've chosen that as one of your memory resident applications or not.  Switch-It! is always available as a utility program on its own menu, and also provides handy New Desk Accessories to handle other functions, which you can activate from any application (and which are all highly useful whether using Switch-It! or not, especially the wonderful ScrapMaster NDA).
     Both Switch-It! and The Manager have a distressing tendency to crash when things go wrong and there's a goodly amount of software that doesn't work with either program.  Some programs that work fine with The Manager (such as ProSel-16) act completely bizarre or simply crash the system when used with Switch-It!  On the other hand, I have found programs that work just fine with Switch-It! that don't get along with The Manager at all (an embarrassing example being Seven Hills' own Kangaroo - I had to call them and get a special version just to get it to work, and that special version was still in testing and not available to the general public when I got it).

     WHILE BOTH THE MANAGER AND SWITCH-IT! ARE VERY NICE WHEN USED WITH IIGS DESKTOP SOFTWARE THAT IS COMPATIBLE WITH THEM, I HAVE TO ADVISE CAUTION BEFORE PURCHASING EITHER PROGRAM.  Contact the publisher or whatever vendor you plan on buying either program from and make sure it's compatible with the software you most want to use it with.
     All other things being equal, it's hard not to recommend The Manager over Switch-It!.  The Manager's superior (though still limited) handling of ProDOS 8 software, its MultiFinder-like interface (while quite limited with some software), and its potential for multitasking (while as yet mostly unfulfilled) make it the stronger of the two programs.
     And yet Switch-It!  does have advantages of its own, not the least of which is simplicity - there's just less to muck about with when using Switch-It!.  Not everyone needs or cares about multitasking, and one has to wonder if, by avoiding trying to multitask at all, Switch-It! is avoiding opening a whole new can of worms that The Manager users will be forced to deal with.

     BOTH PROGRAMS COULD USE AT LEAST TWO IMPROVEMENTS - the ability to configure them to load certain software automatically at startup (instead of forcing you to launch each program you want one at a time) and the ability to shut down multiple applications at once (instead of having to switch to each application one at a time and quit from it).
     A demo of Switch-It! was included on the February 1993 A2-Central-On-Disk and a demo of The Manager was on the April 1993 issue, if you'd like to try the programs for yourself before buying.
     On the whole, both are neat environments, well worth investigating if you frequently use multiple IIgs desktop programs.  But neither is perfect, so proceed with caution.


Retour à la table des matières