CLICKLOAD - Mausgestützter Programmstarter
Ab Mitte der achziger Jahre habe ich mit Neid auf die Besitzer von Atari ST und Commodore Amiga geschaut, die mit ihren Mäusen einen Bedienkomfort erreichten, der dem Ti-99/4A abging. 1990 waren Mäuse bereits für wenige Mark zu bekommen und wurden standardmäßig an die serielle Schnittstelle angeschlossen. Die hatte der Ti auch zu bieten, warum sollte das eine nicht mit dem anderen zusammenarbeiten?
Meine Erfolge war zunächst bescheiden, trotz mehrfachen Studiums des Applikationshandbuchs für den seriellen Schnittstellenbaustein TMS9902 und der Beschreibung des Datenformats der PC-Maus. Auf einem Ti User Treffen konnte ich endlich einen Adapter zusammen mit einem Treiber für das Malprogramm TI-Artist erstehen (Asgard Mouse oder so ähnlich). Durch Reverse Engineering aka Disassemblieren konnte ich dem Maustreiber die Funktion entlocken. Um den Maustreiber herum entstand eine simple Benutzeroberfläche, eigentlich nur ein Programmstarter mit Mausbedienung.
Besonderheiten bzw. Macken
CLICKLOAD
unterstützt nur Mäuse, die im Mouse-Systems Protokoll an der ersten seriellen Schnittstelle laufen. Microsoft kompatible Mäuse unterstützt das Programm leider nicht. Das MS Protokoll unterstützte damals (1990) lediglich Mäuse mit zwei Tasten. Meine für 25 Mark bei Vobis erworbene Billigmaus beherrschte aber auch das Protokoll von PC-Systems mit drei Tasten und sie hatte auch drei Tasten.CLICKLOAD
dient zum Starten von Programmen, die für das E/A Modul geschrieben und als Memory Image gespeichert wurden ("Option 5"). Idealerweise sollte man nach Ausführung eines solchen Programms wieder zuCLICKLOAD
zurückgelangen. Leider kennen Option 5 Programme keinen standardisierten Rücksprung ins Betriebssystem.
Das E/A Handbuch listet verschiedene Methoden für die Beendigung eines Programms auf, z.B. mittels
BLWP @>0000
CLICKLOAD
versucht diese Codesequenzen beim Laden eines Programms zu erkennen und durch einen kontrollierten Rücksprung zuCLICKLOAD
zu ersetzen. Mit etwas Glück solle man also wieder nachCLICKLOAD
zurückgelangen. Wenn nicht: FCTN-0 oder ein hoffentlich vorhandener Reset-Taster sind unser Freund.- Das Programm besitzt eine Event Queue, die Tastendrücke und Maus-Events sammelt und nach dem FIFO Prinzip an die Fenster weiterreicht.
- Die Fenster sind als einfache Objekte in Assembler realisiert. Da ich von objektorientierter Programmierung kaum mehr als den Namen gehört hatte, ist das etwas krude realisiert, eben so, wie sich Klein-Tommi das seinerzeit vorgestellt hat.
- Alle Fenster stellen einen Ausschnitt eines frei zugeordneten Textpuffers dar.
- Zum zum Vergrößern, Verkleinern, Verschieben und Scrollen des Fensterinhalts gibt es festverdrahtete Funktionen.
- Es gibt auch zwei virtuelle, also überladbare Funktion, die aufgerufen werden, wenn ins Innere des Fensters geclickt bzw. wenn es geschlossen wird.
- Die Optik des Programmstarters erinnert ein wenig an die Digital Reserarchs GEM.
CLICKLOAD
wird in den RAM Bereich eines Supermoduls installiert und von dort über die Hauptauswahlliste gestartet. Daneben werden aber auch noch temporär Teile der 32 kByte Memory Expansion benötigt.- Es gibt eine dynamische Speicherverwaltung mit
malloc
undfree
. Die stammte aus einem gefloppten Projekt eines Multitasking-Betriebssystems. - Für eine anständige Bedienungsanleitung hat es nicht gereicht.
Download
Download von CLICKLOAD
Bedienung
Screenshots gibt es leider nicht, denn das Programm zeigt lediglich einen leeren Bildschirm, so lange es keine Mouse-Click empfängt. Schwierig ohne Emulation der oben beschriebenen PC-Maus. Der generelle Ablauf des Programms war wie folgt:
- Beim Start des Programms (z.B. über die Menüauswahlliste) erscheint ein leerer Bildschirm mit einem Mauszeiger (Pfeil), den sie herumschubsen können.
- Clicken sie mit einer der Maustasten irgendwo auf den Bildschirm. Es erscheint ein Fenster mit den vier Laufwerken "DSK1", "DSK2", "DSK3" und "DSK4" (unabhängig davon, ob sie überhaupt vorhanden sind).
- Clicken sie auf einen der Laufwerksnamen. Der Inhalt der Diskette wird gelesen und in einem neuen Fenster aufgelistet. Fenster kann man mit der Maus verschieben, indem man sie am oberen Fensterrand anpackt.
- Clicken sie im Verzeichnis auf einen Programmnamen. Das Programm wird geladen und das Programm gestartet.
- Nach Beendigung des gestarteten Programms kehren sie (meistens) wieder zum leeren Desktop zurück.
- Weiter mit 1.