Der verlängerte Arm - ein Software-Reset für alle STs

Das Programm ist hauptsächlich für diejenigen gedacht, die sich unter dem Motto ”Auf zu neuen Ufern” leichtsinnigerweise einen Mega ST gekauft haben, ohne rechtzeitig zu bemerken, daß die schönste abgesetzte Tastatur nichts nützt, wenn der Reset fast nur durch Aufstehen und Umrunden des Schreibtischs auszulösen ist. Und wer jemals ein Programm auf dem ATARI ST entwickelt hat, der weiß, wie oft so ein Reset zwangsweise ausgelöst werden muß, weil der Rechner sich mal wieder haltlos in seinen Innereien verstrickt hat.

Um dem jetzt Abhilfe zu schaffen, bieten wir allen Interessenten in der Programmierpraxis eine Software-Lösung - quasi einen verlängerten Arm zur Reset-Taste - an, die durch gleichzeitiges Drücken der beiden Shift-Tasten und der Control-Taste einen Software-Reset beim ST auslöst. Das Assembler-Programm ist auf allen ST’s lauffähig, d.h., man kann es sowohl mit dem BlitterTOS als auch mit der letzten TOS-Version vom 6.2.1986 benutzen. Die Routine ist gut dokumentiert, so daß man mit dem Verständnis keinerlei Probleme haben dürfte. Wir wollen nur zwei Punkte aus dem Listing herausgreifen, die im install-Teil zu finden sind. Da wäre zuerst das Laden des VBL-Slots (VBL — Vertical Blank = Bildrücklauf). Die VBL-Queue des TOS wird ständig interruptmäßig abgefragt, so daß man hier leicht Zeiger auf eigene Routinen, die durch Tastatureingabe ausgelöst werden, einbinden kann.

Standardmäßig stehen acht VBL-Slots zur Verfügung. Es können aber weitere initialisiert werden. Für unsere Routine ist es unbedingt wichtig, den zweiten Slot zu nehmen. Das hat folgende Gründe: Normalerweise wird man eine Reset-Routine im Auto-Ordner installieren, so daß sie beim Einschalten des Rechners automatisch geladen und gestartet wird. Nach dem Abarbeiten des Auto-Ordners wird aber erst das GEM initialisiert und dadurch der erste Slot überschrieben. Folglich würde in diesem Falle auch der Zeiger auf unsere Reset-Routine gelöscht.

Der zweite Punkt betrifft die Adresse von kb-shift in den verschiedenen TOS-Versionen. Diese Adresse wird dazu benötigt, die Tastatureingaben (in unserem Falle Shift+Shift+ Control) abzufragen. Da nun je nach TOS-Version (Blitter-TOS oder altes TOS) der Zeiger auf kb-shift an einer anderen Stelle im Speicher zu suchen ist, müssen beide Möglichkeiten abgefragt werden. Im alten TOS war die Adresse leider nicht dokumentiert, so daß wir in diesem Falle den nicht ganz legalen direkten Zugriff darauf wagen müssen.

Listing:


Aus: ST-Computer 01 / 1988, Seite 84

Links

Copyright-Bestimmungen: siehe Über diese Seite