Ist es möglich beim Start von Geos ein Programm automatisch auszuführen ?
Ein Programm welches man normalerweise durch einen Doppelklick startet, soll beim booten von Geos 1x ausgeführt werden.
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von Martin_75 am
Ist es möglich beim Start von Geos ein Programm automatisch auszuführen ?
Ein Programm welches man normalerweise durch einen Doppelklick startet, soll beim booten von Geos 1x ausgeführt werden.
Ist es möglich beim Start von Geos ein Programm automatisch auszuführen ?
Ja, dafür exestiert der Filetype "selbstausführend" (Auto_Exec). Das Konfigurieren von Geos z.B. ist so ein Programm.
Wenn Du konkreter wirst, um welches Programm es geht, kann ich auch entsprechend konkreter antworten ... .
Gruß
Werner
Ich greife Werner mal vor
Ich Empfehle AutoLoader von Jim Collette. Die Bedienung ist ganz Einfach.Auf die Startpartion kopieren
und über "Info" den Programmnamen Eingeben (da wo batch_copy steht)
Ich Empfehle AutoLoader von Jim Collette
Ja, das kann aber auch zu Problemen führen .
Während die selbststartenden Programme beim Booten geladen werden, steht weniger Speicher zur Verfügung. Ab Adresse $5000 steht die Routine (ResetHandle), die den korrekten Ablauf der selbststartenden Programme steuert. Das heißt:
Das Programm selbst, darf nicht den Speicherbereich ab $5000 in irgendeiner Form (dorthin geladen werden, dort etwas speichern, ...) benutzen.
Wenn das Programm diese Voraussetzung erfüllt, reicht es aus 2 Bytes (GEOS-Filetype) zu ändern. Der steht einmal im Directory-Eintrag (Offset 22 ($16)) und einmal im InfoBlock (Offset 69 ($45)).
Gruß
Werner
Ich wollte das Programm NewID automatisch starten lassen.
Gibt es ein Tool zum aendern des Filetyps, Infoblocks bzw. des Directoryeintrags?
Ich wollte das Programm NewID automatisch starten lassen.
Hast Du das Programm per Doppelklick gestartet schon länger im Einsatz?
Ich frage, weil es meiner Meinung nach nicht funktionieren kann (siehe hier: originale GEOS-Applikationen jungfräulich und folgende).
Es dürfte nur funktionieren, wenn zufällig die ersten beiden Ziffern nach dem $ im InfoBlock identisch sind mit der alten (auf Disk gespeicherten) Seriennummer. Trifft das nicht zu, sollte es bald nach dem Ausführen des Programms zum Absturz von Geos kommen....
GetID zum Auslesen der Seriennummer funktioniert korrekt.
Deshalb hänge ich hier mal 2 Archive an. Das erste enthält ein D64, das neben dem geänderten NewID (es startet jetzt automatisch beim Booten, Du mußt nur noch die Seriennummer im Info-Block eintragen) das von mir stammende Programm , dass auf den obigen Umstand angepasst wurde.
Das zweite Archiv enhält die beiden Disketten "The Best of GUSS". Auf der 2. Disk hier ist ebenfalls ein Programm zum Ändern der Seriennummer (von Falk Rehwagen) enthalten, das ebenfalls korrekt funktioniert. Die anderen enthalten Programme sind auch recht interessant ...
Gruß
Werner
Mit Autoloader hat es schon mal funktioniert.
Die anderen Programme von Werner konnte ich noch nicht testen..
Werner, kann man den Absturz irgendwie provozieren?
Die alte ID ist 0000 die neue 1362.
Werner, kann man den Absturz irgendwie provozieren?
Normalerweise wird die Routine zum Aufrufen von Hilfsmitteln "sabotiert". Das sind die Programme, die normalerweise im Menü "Geos" innerhalb eines Programms aufgeführt werden (z.B. FotoManager).
Rufe mal so ein Hilfsmittel über den geos-Menüpunkt auf ......
Ich habe es probiert, NewID kennt die 3. Adresse nicht, die geändert werden muß. Es schaut nur in die Routine im Kernel, die die Seriennummer ausliest. Da stehen nur 2 Adressen.
Die alte ID ist 0000
Wie geht das denn????
0000 heißt, die Diskette ist nicht installiert und das kann eigentlich nicht vorkommen....
Gruß
Werner
In der Tat, bei Seriennummer 0000 würde ich mir auch Sorgen machen. Seit Geos 1.3 kann man die zwar durch Hacken einstellen(*), aber pratisch App mit Seriennummernprüfung kommt damit klar.
(*) Das Kennzeichen, ob eine Boot-Disk bereits installiert ist, ist ein extra-Byte.
aber pratisch App mit Seriennummernprüfung kommt damit klar
ich behaupte mal, das soll wohl
"aber praktisch k e i n e App ....."
heißen .
Gruß
Werner
... in der Tat, das meine ich ...
Das ist die bootdisk von der 64hdd seite
eigentlich sollte sie mit dem key-in verfahren die ID uebernehmen... aber dass klappt nicht so ganz.
Also wenn man mit der Bootdisk von 64hdd bootet kommt erstmal eine Fehlermeldung das diese nicht ge-keyed ist (also kein Key drauf gespeichert ist)
Man muss nun die Originalgeosdiskette booten und das key-in Programm starten.
Dann sollte der Key auf die 64hdd-Bootdisk gespeichert werden.
Entweder das klappt nicht, oder nur mit einer bestimmten Geos version.
Wo speichert Geos die ID auf der Diskette ? Gibt es da Unterschiede zwischen der deutschen und der englischen Version ?
Möglicherweise sucht das Key-in Programm an der falschen Stelle.
Nach dem das Key-in Programm gelaufen ist, bootet die Bootdiskette aber sauber durch.
Vergleiche ich aber die beiden D64 vor und nach dem keyen, ist nur 1 Byte geändert worden.
Möglicherweise funktioniert das speichern des Keys nicht, oder key-in liest die ID falsch aus (0000) und speichert ihn als 0000 ab , wo vorher auch schon 0000 stand, deshalb keine Änderung im Image.
Hoffe ihr könnt mir soweit folgen...
Hallo Werner, dein umgebautes NewID funktioniert.
Die anderen beiden Programme leider nicht, sie melden einen Kernel Checksum Error.
Ich habe gestern aus geowrite und geopaint heraus den Rechner, PhotoManager, TextManager, ShowFont und den Notizblock aufgerufen, auch mehrmals.
Keine Abstuerze, NewID scheint zu klappen, trotzdem waere mir lieber das Key-in programm wuerde den Key richtig uebernehmen.
Hallo Werner, dein umgebautes NewID funktioniert.
Freut mich zu hören.
Die anderen beiden Programme leider nicht, sie melden einen Kernel Checksum Error.
Wer (welches Programm) meckert da? Zumindest das Programm, welches ich zue Änderung der Seriennummer programiert habe, enthält keinerlei Checksummen-Prüfung. Es ändert einfach die 3 nötigen Bytes im Speicher des C64/128. Auf Disk/Dxx-Image wird nichts geschrieben.
64HDD kenne ich nicht weiter. Habe mir mal die Anleitung heruntergeladen. Da steht was davon ein D64 einer originalen Bootdiskette zu erstellen. Schön und gut. Aber ein solches D64 funktioniert dann nicht mehr auf echter Hardware. Soweit ich weiss, kann sowas nur das SD2IEC...
Keine Abstuerze, NewID scheint zu klappen, trotzdem waere mir lieber das Key-in programm wuerde den Key richtig uebernehmen.
Das sagt mir, das 64HDD Geos-Kernel ist verändert gegenüber dem Original (Thema: Kopierschutz). Soweit ich weiss, ist das aber nirgendwo dokumentiert. Möglicherweise ist es ein Problem zwischen US und deutschem Geos oder unterschiedlichen Verschlüsselungs-Werten, oder, oder ....
Da kann ich leider nicht helfen.
Gruß
Werner
Ja der Kernel von 64Hdd wurde angepasst.
Aber ich habe eine andere Lösung gefunden:
Es gibt eine Pre-keyed Bootdiskette bei der die ID diejenige ist, welche für die freie Geos-Version benötigt wird.
Ich habe mit dem Hexeditor die Adresse herausgefunden, und mit freundlicher Hilfe aus dem Forum wurde mir gesagt dass diese Adresse im Track18 Sektor0 liegt.
Diesen haben ich dann abgeändert auf meine ID.
Also quasi dass was das Keying-Programm macht per Hand ins D64 geschrieben.
Nun bootet 64hd gleich mit meinem Key. New ID ist somit überfluessig.
Achja, den Checksum Error meldet das Programm vom der Best of Guss GT123.
Werner, dein Programm tut irgendwie gar nichts, man macht einen Doppelklick und es wird nur der DeskTop neu aufgebaut.
Soweit ich die Anleitung verstanden habe müsste ein Fenster zum Key eingeben auftauchen ?
Nun bootet 64hd gleich mit meinem Key. New ID ist somit überfluessig.
Glückwunsch.
Ich gehe mal davon aus, es ist das "slow"-Image von http://cbmfiles.com/geos/geos-13.php , welches dann aber US-Geos ist. Das Ganze ist zumindest fragwürdig. Im "normalen" Geos steht im besagten Track 18 Sektor 0 an Adresse $bd der Type der Diskette: $42-Systemdiskette, $50-Hauptdiskette, $00-Arbeitsdiskette. Dieser Wert wird vom originalen Geos-Desktop ausgewertet und läßt dann einige Funktionen nicht zu (das gilt für die originalen Geos V2.0 Disketten). Die folgenden 2 Bytes haben mit der Installation zu tun, Da steht aber definitiv nicht die Seriennummer im Klartext. Wenn, dann ist sie verschlüsselt.....
Werner, dein Programm tut irgendwie gar nichts,
Was im Endeffekt sogar gut ist ...
Mein Programm prüft am Anfang, ob es in Wheels oder MegaPatch gestartet wurde. Nur wenn dieser Test positiv ausfällt, wird das Programm sofort wieder verlassen. Also meint das Programm das das 64HDD-Geos entweder Wheels oder MegaPatch ist. Deshalb tut es nichts.
Im normalen Geos 64/128 funktioniert mein Programm .
Die Änderungen im 64HDD-Geos scheinen also noch umfangreicher zu sein, als ich bisher angenommen habe .......
Gruß
Werner
Leider gibt es den Geos-Kernel von 64HDD nur in der US Version.
Es fehlen also alle Umlaute in den Menues.
Der Kernel wurde so veraendert, dass alle Aufrufe die normalerweise an die Floppy gehen auf 64hdd umgeleitet werden.
(Vereinfacht gesagt)