|
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 |
|
01) Un peu d'histoire...
|
Nouvel article (Deckard).
|
|
02) MultiSwitch: interview de Vincent.
|
Nouvel article (Vincent et un peu
Deckard).
|
|
03) Annexe: Mini Switcher.
|
Doc interne incluse (Vincent).
|
|
04) Annexe: Présentation
de MultiSwitch / v1.0.
|
GS Info numéro 20 -
mars/avril 1992
(Vincent).
|
|
05) Annexe: MultiSwitch
évolue / v1.0.4.
|
GS Info numéro 21 -
mai/juin 1992
(Vincent).
|
|
06) Annexe: MultiSwitch v1.15 / GS
Tune Up v1.03.
|
GS Info numéro 26 -
mars/avril 1993
(Vincent).
|
|
07) Annexe: MultiSwitch v1.2.
|
GS Info numéro 29
- septembre/octobre1993
(Vincent).
|
|
08) Annexe: MultiSwitch
v1.3, SCSI Toolkit, Send PostScript 1.3.
|
GS Info numéro 32 -
mars/avril1994
(Vincent).
|
|
09) Annexe: A propos de
Send PostScript GS.
|
GS Info numéro 33-
mai/juin 1994
(Vincent).
|
|
10) Annexe: MultiSwitch v1.36.
|
GS Info numéro 34 -
juillet/août 1994
(Vincent).
|
|
11) Annexe: Pict2 Converter v2.0.
|
GS Info numéro 35 -
septembre/octobre 1994
(Vincent).
|
|
12) Annexe: MultiSwitch v1.4 et
autres mises à jour.
|
GS Info numéro 37 -
janvier/février 1995
(Vincent).
|
|
13) Annexe: MultiSwitch v1.44.
|
GS Info numéro 42 -
novembre/décembre 1995
(Vincent).
|
|
14) Annexe: A propos d'ExpressLoad.
|
GS Info numéro 10 -
juillet/août 1990
(B. Tomeno).
|
|
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é).
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).
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.
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:
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?
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.
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):
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, un soft pour les
enfants... heu, avec certaines
restrictions quand même ;-)
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.
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:
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:
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.
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:
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!!!
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é.
Mise à jour du 21/11/2008: un article sur les
sélecteurs paru dans la revue US 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:
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:
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":
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:
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:
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.
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:
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).
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:
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:
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é:
Possibilité de "merger" un document du traitement de texte
avec une base de données (pour faire des mailing...):
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).
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:
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:
Mise à jour du 21/11/2008: un article sur une ancienne
version de Catalyst (avant son apparition en
mode graphique):
GEOS adopte lui aussi le
format
bureau du mac:
On peut utiliser des accessoires de bureau (à tour de role)
ainsi qu'un traitement de texte GeoWrite:
En renfort du package de base, on pouvait aussi acheter le
tableur GeoCalc:
Ainsi qu'un gros classeur dédié à la
publication (GeoPublish et SmallPublish):
Le gestionnaire de base de données quant à lui
s'appelait GeoFile:
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...
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, ...)
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:
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:
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:
Deux écrans de The Manager
dont le second illustre la
possibilité de faire 2 choses en même temps:
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:
Les noms de quelques uns des membres de BrainStorm
Software dans une autre de leur
production, l'adaptation du jeu Full
Metal Planete:
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.
|
GS/OS
|
Download Switch It! demo (Procyon)
|
|
GS/OS
|
Download BrainStorm's demos (french
versions) including
TransProg III 1.5, Kangaroo 1.5 and The Manager 1.5.
|
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
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.
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.
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):
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".
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).
|
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…)
|
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
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:
|
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
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
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
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
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
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.
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.
|
|
• 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
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.
Retour à la table des
matières
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
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: (**) **-**-**-**
Retour à la table des
matières
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
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
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
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