Anleitung zu GEMKORDER V1.0 ein PD-Programm von David von STetten Schlož 8902 Hammel geschrieben 1990 in GfA-Basic V2.02 1. Public Domain GEMKORDER ist in dieser Version public domain. Das Urheberrecht liegt aber vollst„ndig bei mir. Keiner darf also Ver„nderungen an Programm oder Anleitung vornehmen, z.B. meinen Namen oder meine Adresse „ndern. Dagegen ist es Ihnen erlaubt, GEMKORDER so oft zu kopieren wie Sie m”chten, solange Programm und Anleitung zusammen weitergegeben werden und keines von beiden modifiziert wurde. Ich bitte Sie sogar, GEMKORDER m”glichst vielen Leuten zu kopieren, um eine hohe Verbreitung zu erreichen. WICHTIG: Ich šbernehme keine Haftung, wenn Ihnen durch GEMKORDER Datenverluste entstehen. Ich bin zwar bemht, s„mtliche mir bekannten Fehler zu beheben, aber es kann immer noch Fehler geben, die ich nicht gefunden habe, bzw. die bei meiner Systemkonfiguration gar nicht erst auftreten. Zur Klarstellung: Datenverluste k”nnen durch GEMKORDER eigentlich nur verursacht werden, wenn es einen Systemabsturz gibt. Diese Warnung dient nur zu meinem Schutz. Lesen Sie in diesem Zusammenhang auch das Kapitel 'Warnungen'! Wenn Sie GEMKORDER verwenden, so denken Sie bitte auch mal an mich, den Programmierer. In GEMKORDER steckt eine Menge Arbeit, vor allem viel unangenehmes Debugging, das bei Accessories besonders schwierig ist. Denken Sie daran, was Ihnen durch GEMKORDER an Zeit und Nerven gespart wurde, und schicken Sie mir doch ein wenig Geld, um mich fr die Arbeit zu entsch„digen und meine Motivation zu heben, weiterhin PD-Programme zu schreiben. Ich freue mich natrlich auch ber Disketten (voll PD- Software oder leer), die man als Computer-Freak immer gut gebrauchen kann. Wenn Sie mir mindestens 20 DM senden, schicke ich Ihnen die neueste Version von GEMKORDER zu. Ich plane, in der n„chsten Zeit u.a. folgende Features in GEMKORDER einzubauen: - Fehlerbeseitigung: * Die Tastaturerkennung arbeitet im Moment noch unzureichend, ich arbeite daran, daž die Tasten fr den Aufruf sicherer erkannt werden. Auch sollte frei w„hlbar sein, welche Tasten hierfr verwendet werden. Dann wird auch das aktive Hauptprogramm die fr GEMKORDER bestimmten Tasten berhaupt nicht mehr zu Gesicht bekommen. * Die Routinen zum Abspielen und Aufzeichnen von Ereignissen sind stark verbesserungsbedrftig. Das ist aber eine vermutlich sehr mhsame Arbeit, von der ich noch nicht weiž, wann ich sie beendet haben werde. - Bei einem Aufruf per Tastatur sollte die gesamte Dialogbox erscheinen. Dazu mžte ich aber viele GEM-Routinen neuprogrammieren, am besten in Assembler. šberhaupt sind einige Teile von GEMKORDER, der im Moment ja ein reines GfA-Basic-Programm ist, besser in Assembler zu schreiben, was ich auch tun werde. - Die Anzahl der maximal m”glichen Ereignisse wird nur noch vom freien Speicherplatz abh„ngen. - Ein GEM-Makro gleichzeitig im Speicher ist viel zu wenig. Ich plane daher 20 zuzulassen, denen Sie dann auch Namen geben zu k”nnen, um sie besser unterscheiden zu k”nnen, und zwar nicht nur Filenamen. - Die Dateien, in denen die Makros gespeichert werden, sind viel zu grož. Sie lassen sich aber relativ einfach auf gut die H„lfte packen, so daž ich das auch einbauen werde. - Die Autostartf„higkeit von Ereignissen wird flexibler werden, es k”nnen auch Makros zwar automatisch geladen, nicht aber gestartet werden. - Die Voreinstellung von z.B. Ereignisanzahl oder Skalierungsfaktor l„žt sich ver„ndern. - Die 20 Makros k”nnen natrlich nicht nur einzeln, sondern auch zusammen in Gruppen gespeichert werden. - In einer sp„teren Version (wahrscheinlich nicht der n„chsten), wird einmal ein Editor eingebaut sein, mit dem es m”glich ist, Makros nicht nur durch Aufnehmen zu erzeugen, sondern auch durch manuelle Eingabe. Dabei mssen Sie sich nicht mit irgendwelchen Zahlenwsten herum- schlagen, sondern Sie k”nnen fr die einzelnen Ereignisse Namen be- nutzen. Dadurch k”nnen extrem kurze Makros erstellt werden, da die gesamten Mausbewegungen, die den meisten Speicher verbrauchen, nicht n”tig sind, sondern nur einzelne Positionierbefehle verwendet werden. Vielleicht kann GEMKORDER auch einmal solche unn”tigen Mausbewegungen selbst„ndig weglassen. Eine neue Version, die zumindest einige dieser Features enth„lt, drfte im September '90 fertig sein. 2. Grunds„tzliches GEMKORDER l„uft auf allen ATARI ST, die mindesten TOS 1.2 (Blitter-TOS) installiert haben. M”glich sind auch die TOS-Versionen 1.4 (Rainbow) und 1.6 (STE), nicht aber TOS 1.0 (das von 1986). GEMKORDER ist in jeder Aufl”sung arbeitsf„hig. Ben”tigt werden etwa 100 KB freier Speicher. GEMKORDER ist ein Accessory, kann aber auch als Programm gestartet werden (durch Umbenennen), was aber nicht sonderlich sinnvoll ist. Die Installation von GEMKORDER kann verhindert werden, indem Sie beim Booten die Taste 'Control' gedrckt halten. Dann erscheint eine Meldung, GEMKORDER wird nicht installiert und geht in eine Endlosschleife aus EVENT_TIMER-Aufrufen, denn ein Programmende im Accessory wrde einen Reset verursachen. Es wird also trotzdem Speicherplatz ben”tigt. Fr ST-Frischlinge: Um GEMKORDER als Accessory zu installieren, mssen Sie es auf Ihre Bootdiskette kopieren und dann einen Reset ausl”sen, wenn Sie Ihr TOS von Diskette booten. Falls Sie das TOS aber im ROM haben, k”nnen Sie GEMKORDER auf eine beliebige Diskette kopieren und nun den Resetknopf drcken. In jedem Fall muž sich GEMKORDR.ACC aber im Wurzelverzeichnis befinden, in dem Inhaltsverzeichnis also, das erscheint, wenn Sie auf ein Laufwerksbildchen doppelklicken (man beachte die Wortsch”pfung!). GEMKORDER l„uft ausschliežlich mit GEM-Programmen. Das ist nicht anders zu machen, da die beiden verwendeten Betriebssystemroutinen teil des AES sind. Welche Programme sind aber GEM-Programme? Nun, alle, die GEM verwenden (Ach ne!), also die mit Dialogboxen, Menleisten und der Maus arbeiten, wobei m”glichst keine eigenen Routinen verwendet werden sollten, sondern die des Betriebssystems. 3. Sinn und Zweck Mit GEMKORDER k”nnen Sie GEM-Ereignisse aufzeichnen und abspielen, das Programm funktioniert prinzipiell wie ein Kassettenrekorder. GEM-Ereignisse sind im Wesentlichen Mausbewegungen, Maustastendrcke und normale Tastendrcke. Dazu wird auch noch die Zeit gespeichert, die zwischen diesen Ereignissen vergangen ist. Wenn Sie GEMKORDER als Accessory installiert haben, werden die Ereignisse parallel zum Hauptprogramm aufgezeichnet bzw. abgespielt. Das heižt, Sie k”nnen komplette Aktionen in (GEM-)Programmen speichern und auf Tastendruck wieder abrufen. Dies funktioniert aber nur mit Programmen, die wenigstens einigermažen sauber programmiert wurden. Sie k”nnen also ungeheuer m„chtige GEM-Makros erstellen, die komplette Aktionen ausfhren, die sonst nur ber die Maus erreichbar sind, und haben so auch in Programmen, die eigentlich keine Tastaturbedienung erlauben, die M”glichkeit, schneller zu arbeiten. Nochmal zum Mitschreiben: Sie k”nnen Mausbewegungen und Tastendrcke speichern, und diese lassen sich beliebig oft wiederholen, wobei die Maus wie von Geisterhand bewegt ber den Bildschirm gleitet und natrlich die momentan aktiven Programmen darauf auch entsprechend reagieren. 4. Warnung GEMKORDER ist relativ absturzgef„rdet, was bei einem Accessory zugegeben- ermažen besonders schlecht ist. Allerdings treten die Abstrze nur in bestimmten Situationen auf, d.h. wenn Ihr ST eine Situation einmal berlebt hat, so wird er sie wohl immer berstehen. Sie sollten GEMKORDER einmal testen, wenn keine Daten verloren gehen k”nnen, um sich dann ein Urteil bilden zu k”nnen. GEMKORDER ist wirklich ntzlich und kann eine Menge Nerven und Zeit sparen helfen. Mit dem Gummirahmen im Desktop und in anderen Programmen arbeitet GEMKORDER nur manchmal zusammen, Sie sollten ihn also meiden. W„hrend GEMKORDER Ereignisse abspielt, werden Tastendrcke und Mausbewe- gungen nicht registriert. Das ist notwendig, um zu vermeiden, daž GEMKORDER durch Mausbewegungen von Ihnen aus dem Takt gebracht wird. Dazu reicht schon aus, daž sie die Hand auf der Maus ruhen haben und leicht bewegen. Durch die Abschaltung k”nnen Sie machen was Sie wollen, GEMKORDER geht stur seinen Weg. Nebenwirkung: Der Tastaturreset des TOS 1.4 funktioniert w„hrend des Ereignisablaufes nicht. Wenn Sie eine Ereignisdatei von GEMKORDER abspielen lassen, so mssen EXAKT die gleichen Ausgangsbedingungen gegeben sein wie beim Aufzeichnen, d.h. die Fenster mssen an dem gleichen Ort sein, die Boxen mssen an der gleichen Stelle auftauchen usw. Aus diesem Grund k”nnen im s/w-Betrieb erstellte Makros auch nicht in Farbe verwendet werden und umgekehrt. šberhaupt sollten Sie Makros nur in den Programmen verwenden, mit denen Sie sie erstellten, anderfalls kann es zu den seltsamsten Effekten kommen. ACHTUNG: All diese Macken sind kein Resultat meiner eigenen Unf„higkeit, sondern konzeptbedingt bzw. Fehler im Betriebssystem, da GEMKORDER die beiden GEM-Routinen APPL_TPLAY und APPL_TRECORD verwendet, die nun zwar endlich arbeiten, aber immer noch fehlerhaft sind. 5. Bedienung In der Hauptdialogbox von GEMKORDER gibt es 2 Eingabefelder und 5 Buttons. In dem einen Eingabefeld mssen Sie GEMKORDER klarmachen, wieviele Ereignisse Sie berhaupt aufzeichnen bzw. abspielen wollen. Diese Zahl k”nnen Sie ver„ndern, ohne daž das Makro gel”scht wird, so daž Sie z.B. das Ende eines Makros abschneiden k”nnen. Wenn GEMKORDER beim Abspielen aber auf leeren Speicher st”žt, da Sie die Anzahl zu sehr erh”ht haben, sieht Ihr ST zwar relativ abgestrzt aus, er erwacht aber nach einigen Sekunden wieder. Null Ereignisse werden zurckgewiesen, aužerdem sind maximal 4000 Ereignisse m”glich, was aber fast immer reichen sollte. Ein Ereignis ist: - ein (Maus-)Tastendruck - Zeit, die zwischen zwei anderen Ereignissen vergeht - Eine Mausbewegung, je nach Geschwindigkeit ist u.U. jeder einzelne Pixel ein ganzes Ereignis. In hoher Aufl”sung die Maus einmal langsam von oben nach unten zu fahren ben”tigt also etwa 1000 Ereignisse, so viel wie 1000 Tastendrcke. ==> Sie sollten die Maus m”glichst wenig bewegen, und wenn, dann schnell. In dem anderen Edit-Feld ist der Skalierungsfaktor einzugeben. Der Skalierungsfaktor ver„ndert die Geschwindigkeit, mit der abgespielt wird. šber das 'Wie' gibt es widersprchliche Angaben, ich will deshalb nur meine eigenen Erfahrungen wiedergeben, die ich auf einem ATARI 260 ST mit 1 MB und ROM-TOS 1.4 gemacht habe. Demnach fhrt ein Skalierungs- faktor von Null dazu, daž die Zeit-Ereignisse nicht ausgewertet werden, also eine maximale Geschwindigkeit erreicht wird. šbrigens: Angeblich produziert eine Null als Skalierungsfaktor unter Blitter-TOS einen Systemabsturz. Das deckt sich nicht mit meinen Erfahrungen, weder unter TOS 1.4 noch unter Blitter-TOS. 10 als Skalierungsfaktor bewirkt, daž das Makro genauso schnell abgespielt wird, wie es erstellt wurde. Durch Werte zwischen 0 und 10 wird eine Verlangsamung hervorgerufen, solche von 10 bis 1000 verursachen eine Beschleunigung. Sie k”nnen nur ganzzahlige Werte eingeben, laut Dokumentation mssen diese im Bereich von 0 bis 1000 liegen. Andere Eingaben werden von GEMKORDER aber nicht verhindert! Der Skalierungsfaktor ist nur fr das Abspielen von Bedeutung, ansonsten hat er keinerlei Auswirkungen. In jedem Eingabefeld wird ein leeres Feld als Eingabe von '0' gewertet. Jetzt gibt's eine Erkl„rung zu den vier Buttons: - ABBRUCH: Ist wohl klar, eine Sicherheitsabfrage gibt es nur, wenn GEMKORDER ein Programm und kein Accessory ist, da in letzterem Fall ja keine Daten verloren gehen k”nnen. - LADEN : Hiermit werden die GEM-Ereignisse geladen. Wenn die dabei ausgew„hlte Datei nicht die GEMKORDER-Kennung enth„lt, weigert sich das Programm, sie zu laden. Wenn es die gewnschte Datei nicht gibt, so wird das natrlich auch erkannt. - SPEICHERN: Die Ereignisse werden gespeichert; falls schon eine Datei mit diesem Namen existiert, werden Sie gewarnt. Der Skalierungsfaktor und die Anzahl der Ereignisse werden selbstverst„ndlich mitgespeichert und -geladen. Wenn Sie in einer der Fileselect-Boxen 'Ok' ohne Anwahl eines Files oder 'Abbruch' anklicken, so landen Sie wieder im Hauptmen. Als Extention fr die GEMKORDER-Makro-Dateien habe ich *.EVT (fr EVenT) gew„hlt. - AUFNEHMEN: Es werden so viele Ereignisse aufgezeichnet, wie im Eingabe- feld eingetragen wurden. Ist GEMKORDER ein Programm, so erscheint danach wieder die Dialogbox, andernfalls ert”nt nur ein Gong. Diese Funktion k”nnen Sie auch aufrufen, indem Sie einfach (im gerade aktiven Programm) die Tasten + + (gleichzeitig) drcken. Ich hoffe, daž diese m”glichst exotisch gew„hlte Tastenkombi- nation noch von keinem anderen Programm belegt ist. - ABSPIELEN: Es gilt hier dasselbe wie fr 'AUFNEHMEN', blož werden die Ereignisse abgespielt, und die Tastenkombination lautet + + . Falls Sie 'ABSPIELEN' oder 'AUFZEICHNEN' ber Tastatur abrufen, ert”nt auch zu Beginn ein Gong, an dem Sie erkennen k”nnen, daž GEMKORDER den Tastendruck auch wirklich registriert hat. Zu dem Aufrufen per Tastatur gibt es noch einiges zu sagen: GEMKORDER verl„žt einige Male pro Sekunde die Schleife, die auf ein Anklicken wartet, um zu berprfen, ob eine der beiden genannten Tasten- kombinationen gedrckt wurde. Das ist durch die EVENT_MULTI-Funktion realisiert. Diese kommt aber nur ans Ruder, wenn das aktive Haupt- programm GEM-Aufrufe macht, was manchmal nicht der Fall ist, so daž GEMKORDER dann nicht aufrufbar ist. Meist ist das dann wieder m”glich, wenn das Programm gerade Alert- oder Fileselectboxen benutzt, die ja ber das GEM erzeugt werden. Ein mir unerkl„rliches Ph„nomen ist, daž GEMKORDER nach einem Start des GfA-Basic-Interpreters (V2.02) den Tastaturaufruf nicht mehr erkennt. Das gilt leider ebenfalls fr viele GfA-Kompilate, also auch fr GEMKORDER, als Programm gestartet. Das liegt daran, daž nach dem Start von GfA-Basic der Shift-Tasten-Status pl”tzlich nicht mehr im Tasturpuffer, der von GEMKORDER direkt berprft wird, eingetragen wird. Ich werde versuchen dieses R„tsel zu l”sen. Vielleicht weiž jemand von Ihnen Rat? Wenn Sie im Hauptverzeichnis der Diskette, auf der sich auch GEMKORDR.ACC befindet, eine Makrodatei mit Namen GEMKORDR.EVT anlegen, wird diese beim Systemstart automatisch geladen und gestartet, sobald das Desktop erscheint, was dadurch erkannt wird, daž rechts in der Mitte des Bildschirms ein etwa 2 cm x 1 Pixel breiter grauer Streifen ist. Hiermit sind Sie in der Lage, sich den Computer nach einem Reset komplett installieren zu lassen, inklusive Autostart von GEM-Programmen, auch unter dem Blitter-TOS. 6. Fehler Sollten Sie Fehler entdecken, die auf GEMKORDER zurckzufhren sind und in dieser Anleitung noch nicht erw„hnt wurden, so schreiben Sie mir bitte. Ich werde mich bemhen, diese zu beseitigen. Fast noch wichtiger sind mir Verbesserungsvorschl„ge. Schreiben Sie mir doch, was Ihnen die t„glich Arbeit mit GEMKORDER weiter erleichtern k”nnte. Ich freue mich ber Vorschl„ge jeder Art! Schreiben Sie bitte unbedingt Ihre Adresse und, wenn m”glich, auch Ihre Telefonnummer dazu, falls ich Fragen an Sie habe (Ich hoffe doch, daž Sie bereit sind, mir diese zu beantworten!). Wichtig ist aužerdem noch die Versionsnummer Ihres GEMKORDERs, den Sie besitzen, und natrlich eine ausfhrliche Beschreibung des Fehlers oder Verbesserungsvorschlages. Wenn ein Fehler auftritt, der von GEMKORDER gemeldet wird (die meisten Fehler werden gemeldet), k”nnen Sie der Box die Fehlernummer entnehmen. Verwendet werden die Fehlercodes des GfA-Basic V2.0, die Sie in vielen Zeitschriften o.„. finden. Ich will hier nur den Fehler mit der Nummer -13 erw„hnen: er heižt "Diskette schreibgeschtzt". Sie haben zwei M”glichkeiten, auf die Fehlermeldung zu reagieren: Sie k”nnen GEMKORDER neustarten, dann wird, falls GEMKORDER ein Accessory ist, in der Schleife fortgefahren, die auf das Anklicken wartet; falls es aber als Programm installiert ist, so geht es in der Haupt-Dialogbox weiter. Die Ereignis-Daten werden dabei meist nicht zerst”rt. Wenn Sie 'Abbruch' anw„hlen, wird GEMKORDER beendet, aber nur, falls es ein Programm ist. Da Accessories nie enden drfen, f„hrt GEMKORDER, wenn es als ein solches gestartet wurde, lediglich in einer Endlosschleife aus EVENT_TIMER-Aufrufen fort. Fehler mit positiven Nummern sollten eigentlich berhaupt nicht auftreten. Wenn das doch geschieht, schreiben Sie mir bitte unbedingt. 7. Dateiformat Die gespeicherten GEM-Makros von GEMKORDER V1.0 haben folgendes Format: 10 Bytes Kennung, die Sie bitte einer schon gespeicherten Datei entnehmen. (Anzahl Ereignisse*8) Bytes Ereignisdaten, deren genaue Bedeutung Sie in einigen Zeitschriften finden, so z.B. ST-COMPUTER Ausgabe 4/88. 2 Bytes Skalierungsfaktor, der unver„ndert aus der Eingabezeile bernommen wird.