             The Chameleon  Vers. 1.19
            ---------------------------
           Karsten Isakovic geb. Gerlach
                Wilmersdorferstr 82
                   1000 Berlin 12
       Verffentlicht im Markt&Technik-Verlag,
           alle Rechte liegen beim Autor

Jeder kennt folgene Probleme:
-----------------------------
- Es gibt viele ACCs, die man gerne benutzen mchte, nur kann man
  leider nicht alle gleichzeitig  laden.  Um ein neues ACC zu in-
  stallieren ist sogar ein Neubooten notwendig. Aus diesem Grunde
  gibt es  MultiAcc's, die es  erlauben  mehrere ACCs nachzuladen
  oder gar riesige  MonsterACCs,  die Alles was man je gebrauchen
  knnte unter einem einzigen Menpunkt anbieten.  Diese Lsungen
  kosten aber immer sehr viel Speicherplatz,  der bei den meisten
  ATARI-ST Benutzern eher Mangelware sein drfte.
- Das Programmieren von ACCs ist eine sehr lstige Angelegenheit,
  da man fr  jeden Test erst einmal neu booten mu.  Dies kostet
  den Programmierer sehr viel Zeit und Nerven.

Fr diese Probleme gibt es nun eine neue Lsung:
------------------------------------------------
  Das CHAMELEON ist ein extrem kurzes ACC - knapp 5KB -,  welches
  in der Lage ist, jedes beliebige ACC nachzuladen und - dies ist
  der Clou am Chameleon - auch wieder freigeben kann.  Dabei wird
  nicht  nur der  Hauptspeicher  des ACCs entfernt,  sondern alle
  Resourcen, die das ACC vom Rechner angefordert hat.

Bedienung
---------
  Kopieren Sie einfach das CHMELEON.ACC auf die  Bootdiskette und
  booten Sie neu.  Wenn Sie  nun  den 'The Chameleon'-Meneintrag
  auswhlen, erscheint eine FileSelectorBox, in der Sie das nach-
  zuladende ACC auswhlen knnen.

  Wenn Sie nicht mchten,  da  das ACC gleich geffnet wird,  so
  knnen Sie beim Anwhlen des Filenamens  in der FileSelectorBox
  durch  Return  oder  einen Doppelklick die linke Shifttaste ge-
  drckt halten.

  Nachdem das ACC gestartet ist, erscheint dessen Eintrag anstatt
  des Chameleon-Meneintrags.  Der Pfeil am Anfang des Mentextes
  zeigt an, da dieses ACC von Chameleon nachgeladen wurde.

  Sollte das  ACC normalerweise 2 Meneintrge  belegen,  so wird
  der Mentext in der  Mitte gesplittet.  Wenn Sie nun zustzlich
  zum Mausklick eine Shifttaste gedrckt halten,  wird der rechte
  Eintrag ausgewhlt. Belegt das ACC normalerweise 3 Eintrge, so
  knnen Sie den mittleren  Eintrag mit der linken Shifttaste und
  den rechten Eintrag mit der rechten Shifttaste auswhlen.

  Sie knnen nun ganz normal mit dem ACC arbeiten, als htten Sie
  es schon seit dem Booten geladen.

  Mchten Sie das ACC wieder entfernen, so whlen Sie einfach den
  Mentitel an und  halten  dabei die  Shift-Alternate Tasten ge-
  drckt.  Sollte das ACC noch Fenster geffnet haben,  so werden
  diese automatisch geschlossen.  Aller vom ACC belegter Speicher
  wird  freigegeben und  es  erscheint wieder der 'The Chameleon'
  Meneintrag.
  
  Wenn Sie das ACC nicht nur entfernen,  sondern gleich ein neues
  ACC laden wollen, so halten Sie whrend des Klicks in die Men-
  leiste zustzlich zu den Shift-Alternate tasten noch die rechte
  Maustaste  gedrckt.  Nach  dem Entfernen des ACCs erscheint so
  automatisch die FileSelctorBox.

Installation fr GEMINI-Benutzer:
---------------------------------
  berprfen Sie in der Mupfel mit 'env', ob im SUFFIX auch 'acc'
  vorkommt.  Wenn nein, fgen Sie den Suffix 'acc' mit dem Befehl
  'setenv SUFFIX "$SUFFIX;acc" '  hinzu.  Am Besten ist es,  wenn
  Sie  in  dem  File MUPFEL.MUP die Zeile mit dem SUFFIX um 'acc'
  erweitern.
  Nun  knnen  Sie CHMELEON.ACC anwhlen und als Defaultanwendung
  fr '*.AC?' anmelden.
  Als nchstes sollten Sie die zu ladenden ACCs  in ACX umbennen,
  da GEMINI bei dem SUFFIX  '*.ACC' nur testet,  ob das ACC schon
  geladen  ist. Bei einem Doppelklick auf ein File mit dem SUFFIX
  '*.ACX' wird hingegen  eine  Mitteilung an 'The Chameleon' ver-
  schickt,  welches daraufhin das  angeklickte  File nachldt und
  ffnet. War vorher ein anderes ACC durch  Chameleon geladen, so
  wird dieses vorher entfernt.

  Wenn  Sie  'The Chameleon' auf dem Desktop von GEMINI  als Icon
  installieren, knnen Sie ACCs auch laden, indem Sie sie auf das
  Chameleon Icon ziehen. Verschieben Sie  hingegen  ein  Textfile
  auf das 'The Chameleon'-Icon, so wird die GEMINI-Message an das
  nachgeladene ACC durchgereicht.
  Ist das nachzuladende ACC auch als Icon auf dem Desktop instal-
  liert, so  knnen  sie  auch dessen Icon auf das Chameleon-Icon
  ziehen.
  Nimmt das ACC GEMINI-Messages entgegen, so ist es egal,  ob Sie
  Files auf das Chameleon-Icon oder auf das ACC-Icon ziehen.

Default-ACC:
------------
  Bei den Patchvariablen versteckt sich eine weitere Besonderheit
  von 'The Chameleon'.  Es ist in der  Lage, ein Default-ACC beim
  Booten zu laden.  Somit  knnen Sie Ihre Lieblingskonfiguration
  von ACCs vorgeben, ohne auf die neue Flexibilitt verzichten zu
  mssen.
  Als  Default  ist das ATARI-Kontrollfeld als CONTROL.ACX einge-
  tragen, es werden beim Booten wie gewohnt alle Voreinstellungen
  vorgenommen.  Bentigen Sie nun ein anderes ACC,  entfernen Sie
  einfach das Kontrollfeld und laden Sie das andere ACC.

Patchvariablen:
---------------
  Es ist gnstig,  wenn Sie erst eine Kopie  des CHMELEON.ACC an-
  fertigen  und  mit dieser experimentieren. Alle Eingaben in den
  Patchbereich mssen Sie mit einem Diskmonitor vornehmen.

  Da es  warscheinlich immer  Kollisionen  bei der Festlegung von
  Tastencodes gibt,  knnen Sie  die Shiftkombinationen  von 'The
  Chamelon'  ndern.

  Vor  dem  String 'V1.19 K.Isakovic Berlin 09.10.90' finden Sie
  ein '^', welches das  Trennzeichen  zwischen den Patchbereichen
  ist.  Bei  Pfadangaben  markiert  es  so  den  lngst mglichen
  Eintrag, da es nicht berschrieben werden darf.
  Die  ersten zwei Bytes ($0A $02) vor dem ^ bestimmen die Shift-
  Kombinationen.  Das  erste  Byte ($0A) bestimmt die Kombination
  zum  Entfernen eines ACCs, das  zweite Bytes ($02) bestimmt die
  Kombination  die beim Nachladen des ACCs  gedrckt werden kann,
  damit  dieses  nicht gleich  geffnet wird.  Trgt man hier den
  Wert  $00  ein,  so  wird  ein  ACC nicht automatisch geffnet,
  sondern nur, wenn eine Shifttaste gedrckt wird.

  Die Werte  sind jeweils der hexadezimale Wert der Summe aus der
  folgenden Tabelle:

      Wert | Taste
     ------+--------
       1   | rechts Shift
       2   | links  Shift
       4   | Control
       8   | Alternate

  Das Byte $0A entspricht dem Wert 10, was wiederrum  Linksshift-
  Alternate entspricht.

  Vor diesen beiden Shiftkombinationen befindet sich der Name des
  ACCs, welches beim Booten automatisch nachgeladen wird. Ist das
  erste Byte nach dem '^' gleich $00  (Default), so wird kein ACC
  nachgeladen.  Tragen  Sie hier den absoluten Pfadnamen des ACCs
  ein  (z.B. A:\CONTROL.ACX,  die  Laufwerksangabe ist wichtig!).
  Die Laufwerksangabe  'A:\' wird beim  Booten  durch  das  Boot-
  Laufwerk ersetzt. Ist ein hier anderer Buchstabe als 'A' einge-
  tragen, so  wird der Wert nicht verndert.  Vergessen Sie bitte
  nicht das NULL-Byte ($00) am Ende des Namens.

  Vor dieser Angabe kann man in einem weiteren durch ^ getrennten
  Feld den Pfad bestimmen, der beim ersten ffnen der FileSelect-
  Box benutzt wird. Dies ist praktisch, wenn Sie ihre ACCs in ein
  Unter-Direktory verbannt haben.  Fr  die  Laufwerksangabe gilt
  dasselbe wie bei der vorherigen Patchvariablen.

  Die letzte Patchvariable ist ein Byte-Wert,  der den neuen Aus-
  gabe-Kanal angibt, der bei der Ausgabenumlenkung benutzt werden
  soll.  Ist  der  Wert $00 eingetragen,  findet  keine Umlenkung
  statt. Da es bei ST leider kein NULL-Device gibt, da alle Aus-
  gaben  einfach  schluckt,  ist  die  Nummer  eines Files einge-
  tragen, da warscheinlich nicht geffnet ist:  Das Gemdos  ver-
  waltet maximal 75 offene Dateien,  die Umleitung findet auf das
  letzte Handle mit der Nummer $4A (74) statt. Vor  dem  Umlenken
  wird berprft, ob dieses Handle doch schon geffnet ist. Falls
  ja, findet keine Umleitung der Ausgaben statt.

Ein paar Details:
-----------------
  Das Chameleon ist TOS-unabhnig,  da es keine illegalen System-
  variablen benutzt.  Es hngt  sich  in den GEM- und GEMDOS-Trap
  mit der XBRA-Kennung 'Cham' ein,  die Traphandler  sind  so ge-
  schrieben, da sie auch  mit einem 68010 bis 68030 laufen.

  Wird der Meneintrag ausgewhlt, erscheint eine FSelBox, in der
  man das  nachzuladende  ACC bestimmt.  Das ACC wird nun geladen
  und direkt gestartet. In den Traps  protokolliert das Chameleon
  alle  Anforderungen von Systemresourcen  des nachgeladenen ACCs
  mit:  Dazu  zhlen  Fenster,  VDI-Workstations,  Resourcen  und
  Speicherblcke. Auch das Nachladen von GDOS-Fonts, (un)sichtbar
  machen des  Mauszeiger usw...  wird protokolliert,  damit  'The
  Chameleon' den Orginalzustand wieder herstellen kann.

  Wenn der Benutzer das ACC  wieder  entfernen mchte,  so werden
  vorher alle Systemvektoren  berprft,  ob  sie  in  einen  der
  Speicherbereiche des  ACC zeigen.  Dabei findet eine Verfolgung
  von XBRA-Ketten statt.
  Sollte sich das ACC in das System eingeklinkt haben, so kann es
  nicht entfernt werden und es  erscheint eine Warnmeldung.  Wird
  allerdings zum Einhngen in die Vektoren das XBRA-Verfahren be-
  nutzt, so kann das ACC trotzdem entfernt werden.

  Wird in einer GEMINI-Message der String '$KILL' verschickt,  so
  wird ein nachgeladenes ACC entfernt.

  Bei einem Auflsungswechsel wird ein nachgeladenes ACC entfernt
  und  die eigenen Traphandler werden ausgeklinkt.  Dies  ist nur
  mglich,  wenn  das  XBRA-Protokoll  benutzt  wird.  Konnte das
  Chameleon  nicht  ausgehngt  werden, so hngt sich der Rechner
  auf,  da bei  einem Auflsungswechsel  alle  ACCs entfernt, der
  nun nicht mehr existierende Traphandler aber weiterhin angespr-
  ungen wird.

  Manche ACCs geben beim Starten eine Text-Meldung auf dem Bild-
  schirm  aus.  Wenn  Sie  ein solches ACC im Desktop nachladen,
  wrde  es  die  Menzeile berschreiben. 'The Chameleon' lenkt
  diese Ausgaben in ein nicht geffnetes File um.

Bekannte Probleme:
------------------
- Der  Speichersegmentierung  knnen Sie wirksam begegnen,  indem
  Sie die ACCs auf dem Desktop wieder freigeben. Wenn Sie nun ein
  Textfile  zum Ansehen anwhlen und kurz ansehen, so organisiert
  der Desktop seinen Speicher neu.
- Beim Nachladen von resetfesten RamDisks kann es Probleme geben,
  da diese  auch die MEMTOP-Variable verndern, die von Chameleon
  nicht wieder restauriert wird. Bei erneutem Start wird die Ram-
  Disk ihre Daten unverndert vorfinden.
- Wenn ein ACC keinen  Mentitel anmeldet,  trgt 'The Chameleon'
  zumindest den File-Namen in der Menleiste ein. Als Kennzeichen
  werden nun 2 Pfeile vor den Namen gesetzt.


Ein kleiner Tip:
----------------
  Wenn Sie zwei Chameleon's installieren, kostet Sie dies nur ~11
  KB Hauptspeicher.  Auf diese  Art und Weise haben Sie immer die
  ACCs, die Sie gerade bentigen.

Geschichte
----------
The Chameleon hat eine sehr lange und ausgiebige Testphase hinter
sich.  ACCs nachladen  konnte  es schon  ab  der Version 0.00, es
folgten dann viele  Erweiterungen bis  zur Version 0.37.  Da  der
Verffentlichungstermin  immer  nher  rckte,  wurde als nchste
Version die 1.00 gewhlt.  Einige  Tester  waren schon ab Version
0.11 restlos zufrieden, ab der 0.28 gab es keine Klagen mehr.  In
den restlichen Versionen (0.28--0.37, 1.00--1.19) wurden nur noch
kleine Vernderungen vorgenommen.
Ab  der  Version 1.07 kann das Chamleon beim Booten ein Default-
ACC nachladen.  Ab 1.12  knnen auch ACCs freigegeben werden, die
keinen  Meneintrag belegen,  ab 1.13 wurde  die  Standardausgabe
umgelenkt.

******************************************************************
*                                                                *
*  Unter der Voraussetzung, da die Dateien                      *
*                                                                *
*    CHMELEON.ACC und CHMELEON.TXT                               *
*                                                                *
* unverndert kopiert werden,  darf 'The Chameleon'  fr private *
* Anwender frei kopiert und benutzt werden.                      *
*                                                                *
* Alle Rechte (Copyright,Vertrieb...) fr 'The Chameleon' liegen *
* beim Autor (K.Isakovic).  Das Erstverffentlichungsrecht liegt *
* beim Markt&Technik Verlag. Diesem ist auch Vertrieb  auf einer *
* Monatsdiskette  gestattet.  (Nicht  aber  auf der Jahres- oder *
* Sonder-Disk!)                                                  *
* Eine kommerzielle  Nutzung in jeder Form (dies  schliet  auch *
* den   Vertrieb  ber  Public-Domain-Sammeldisketten  oder hn- *
* liches ein) ist NICHT GESTATTET.                               *
*                                                                *
* Die neuste Version kann man direkt beim Autor oder in den MAUS *
* Mailboxen beziehen.                                            *
*                                                                *
******************************************************************

Mit freundlichen Gren

   Karsten Isakovic
