atari-home.de - Foren
Software => Coding => Thema gestartet von: goetz @ 3rz am Mo 22.01.2024, 20:08:11
-
Gereon Steffens hat, mit Zustimmung von Stefan Eissing, Gemini V.1.2.2, den alternativen Desktop ab 1990, veröffentlicht, samt Mupfel.
Repository: https://github.com/gereons/gemini/
Ankündigung: https://chaos.social/@gereon/111800978197512920
Ankündigung2: https://chaos.social/@gereon/111800979963088985
Der Stand ist nach der veröffentlichten 1.2.1, aber vor dem nächsten öffentlichen Release 1.9, also ein Zwischenstand, der so wohl nie Verbreitung fand. Der Source liegt (fast ausschließlich) als TurboC-Source vor, und läßt sich mit zwei kleinen Ausnahmen (FlyDials, und ein _du/Mupfel_du Symbol) auch mit PureC bauen und linken.
Auch wenn es nicht der Source der 1.9a ist, so ist’s doch ein tolles zeitgeschichtliches Atari-Dokument von Mitte 1991. Es sind schon Anpassungen an MultiTOS enthalten.
Danke an Gereon für die tolle und freundliche Kommunikation, und natürlich für die Offenlegung.
-
Ich bin, wenn ich den Startup-Code gegen PureC und die StandardLibs tausche, bei diesem Stand, und komm nicht ganz weiter. Der "AesCtrl"-Fehler geht weg, wenn ich alles mit TurboC baue statt mit PureC, das liegt vmtl. daran, dass die FlyDials-Library mit TurboC gebaut wurde. Den "m_du"-Fehler habe ich noch nicht gefunden …
Mit PureC gebaut (s.u.) bekomme ich ein Binary, das aber nach der Startup-Animation still auf den Desktop abstürzt.
-
Danke an die Autoren - und auch an Dich. Es ist immer schön, wenn so alte Projekte der Nachwelt erhalten bleiben.
EDIT:
Den "m_du"-Fehler habe ich noch nicht gefunden …
Ich denke, Du musst dem MUPFMRG.PRJ die Datei DU.C hinzufügen, in der das Kommando "du" und das zugehörige Symbol "m_du" definiert werden. Guck Dir MUPFEL.PRJ als Beispiel an.
-
Von mir auch vielen Dank an deinen Einsatz, und natürlich auch an Gereon und Stefan für die Freigabe der Sourcen (kann man dort auf chaos.social eigentlich einen account erstellen? habs irgendwie nicht hinbekommen)
Bin gerade dabei da mal durchzuschauen. Wenn die Sourcen von 1991 sind, können sie eigentlich auch nur mit Turbo-C gebaut worden sein, Pure-C 1.1 ist von November 1993.
-
BTW, willst du auch announcement auf atari-forum.com machen? Ich denke, da interessieren sich nicht nur deutsche Benutzer für ;)
-
Nach ersten tests:
Wenn ich die schon von @czietz angemerkte fehlende zeile in mupfmrg.prj einfüge (und nach ein paar Änderungen damit die include-Dateien gefunden werden), kann ich gemini.app bauen, mit Pure-C übersetzt, aber unter Verwendung der Turbo-C include-Dateien und Libraries. Es crasht auch nicht, beendet sich aber gleich nach Start wieder.
Was mir auch aufgefallen ist: die Programm-Datei ist ~259KB. Die Version von 1995 ist ~346KB. Da fehlt also noch einiges bis zur aktuellen Version :(
Es sind auch noch ein paar andere Dinge die fehlen. Sourcen von der nls.lib z.B. Auch wurden scheinbar ein paar tools (getcfile, nlscat & nlscomp) zur Erstellung der gemini.msg verwendet die nicht dabei sind.
-
Den Source für nlslib.lib konnte ich schon mal rekonstruieren. Zu finden hier: https://github.com/th-otto/gemini/tree/main/nls
-
Der "Absturz" rührt daher daß Gemini seine Resource-Datei nicht findet. Die ist scheinbar auch nicht vorhanden :( Die Datei geminiic.rsc im repo beinhaltet lediglich die icons, aber nicht die Resource für Gemini selber. Abhilfe: die venus.rsc aus dem Venus Ordner kopieren und umbenennen (es wird sowieso venus.h für die Definitionen benutzt). Resultat:
Edit: Standalone Venus funktioniert noch nicht (stürzt mit Bus-Error ab beim start). Schätze mal dafür müsste man die venus.msg Datei konstruieren, dafür fehlen aber leider die tools :/
-
Interessant auch solche Kommentare: https://github.com/gereons/gemini/blob/f81f87d3e84cbeb6112a595fa4fc2500bbee27aa/FLYDIAL/FLYDIAL.H#L11
https://github.com/gereons/gemini/blob/f81f87d3e84cbeb6112a595fa4fc2500bbee27aa/FLYDIAL/FLYDIAL.H#L58
Gabs die FlyDials auch für PC-GEM?
-
Interessant auch solche Kommentare: https://github.com/gereons/gemini/blob/f81f87d3e84cbeb6112a595fa4fc2500bbee27aa/FLYDIAL/FLYDIAL.H#L11
https://github.com/gereons/gemini/blob/f81f87d3e84cbeb6112a595fa4fc2500bbee27aa/FLYDIAL/FLYDIAL.H#L58
Gabs die FlyDials auch für PC-GEM?
Mir nicht bekannt, aber die gab’s anscheinend auch nur auf Anfrage bei Julian, scheint es bei einer Rückwärts-Recherche von heute aus.
Nun, Adimens gab es (zumindest intern) mal für Flex/OS :) (Siehe „Vom Anfänger zum GEM-Profi“, die Geiß-Brüder hatten ihr Framework mal dafür ausgelegt gehabt)
PC-GEM ist halt recht fruchtlos, wenn die Speichergrenze zuschlägt, man will halt eigentlich ein flaches Speichermodell und mehr als 640 KB haben …
Mein erster IT-Job mit 13 war in einem Betrieb mit drei MegaST und einem 286er mit PC-GEM und 1st Word Plus darauf -- der 286er hatte eine Faxkarte, und man übernahm Adimens-Exporte darauf, mischte mit einem Merge zu Serien"briefen" und faxte die weg. Aber es war immer ein Kampf um die freien RAM-Ressourcen am PC.
-
Den Source für nlslib.lib konnte ich schon mal rekonstruieren. Zu finden hier: https://github.com/th-otto/gemini/tree/main/nls
Woher rekonstruiert?
-
Aus der disassemblierten Library.
FlyDials sind auch in Arbeit. Wird aber nicht perfekt werden. Es gibt einige Stellen an denen ich Turbo-C nicht dazu bewegen kann den exakt gleiche Code zu erzeugen.
BTW, die letzte offizielle Version von Gemini (meldet sich bei mir immer noch mit 1a, und nicht mit 1.99 ;)) wurde dann wohl irgendwann mal mit Pure-C übersetzt.
-
Aus der disassemblierten Library.
Hätt ich nicht gedacht, dass das so schön wird (daher meine Nachfrage), Hut ab!
-
Aus der disassemblierten Library.
FlyDials sind auch in Arbeit. Wird aber nicht perfekt werden. Es gibt einige Stellen an denen ich Turbo-C nicht dazu bewegen kann den exakt gleiche Code zu erzeugen.
Respekt!
Das fiel mir in den letzten Tagen erst auf, dass die FlyDials nie veröffentlicht wurden und Reschke auch nie darüber schrieb, wie die sich lizenzieren lassen...
-
Lassen sich die Flydials eventuell durch "Let'em fly" ersetzen?
:-\
https://docs.dev-docs.org/htm/search.php?find=Fly (https://docs.dev-docs.org/htm/search.php?find=Fly)
https://www.atariuptodate.de/de/3553/letem-fly (https://www.atariuptodate.de/de/3553/letem-fly)
bzw. XAES Background (formerly Let Em Fly)
https://www.atariuptodate.de/en/7297/xaes-background (https://www.atariuptodate.de/en/7297/xaes-background)
-
Nein, die beiden Sachen haben (ausser dem Aussehen des "Eselsohr") nichts miteinander zu tun.
Die FlyDial Library ist eher eine Sammlung von Routinen (ähnlich cflib), die u.a. halt auch die Dialoge beweglich macht. Siehe auch https://github.com/gereons/gemini/blob/main/FLYDIAL/FLYDIAL.H (und die anderen Header files), da sind u.a. auch Routinen für einen Font-Selektor bei, die auch von Gemini genutzt werden.
Ist aber eh bald hinfällig, die Umsetzung ist so gut wie fertig. Muss nur nochmal final drüber schauen.
-
Aw cool, danke und "F"!
-
Sourcen der FlyDials sind nun verfügbar in meinem fork (https://github.com/th-otto/gemini)
Für die Neugierigen: es gibt ein paar Stellen an denen ich es immer noch nicht geschafft habe, den exakt gleichen Code zu erzeugen. In den meisten Fällen wirkt sich das dahingehend aus, daß der neu kompilierte Code andere Register benutzt als das Original. Solche Stellen sind momentan noch im Source markiert. Die entsprechenden Funktionen habe ich aber manuell geprüft.
Zu beachten ist auch daß die Version laut flydial.gen 0.28 ist, im Source steht aber 0.31. In Gemini 1.a ist wohl die Version 0.48 verbaut.
BTW, in der Zwischenzeit hat Gereon noch ein paar fehlende Sourcen der nls-Library & Tools ergänzt.
-
Nachtrag: wenn man mit den nls-tools venus.msg erzeugt (und mit ein paar kleineren Fixes die ich letzten schon gemacht habe) läuft jetzt auch die Standalone Venus (das ist nur der Desktop, ohne eingebaute mupfel).
Ich frag mich allerdings welchen Sinn diese nls tools machen. Es lassen sich damit lediglich die (deutschen) Kommentaree aus den Sourcen extrahieren, eine Übersetzung in andere Sprachen ist damit nicht möglich.
Dafür würde auch eine englische Resource-Datei fehlen.
-
Tolle Leistung!
-
Tolle Leistung!
Finde ich auch... Hut ab.