Autor Thema: Gemini V.1.2.2 Sourcen veröffentlicht  (Gelesen 20599 mal)

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Offline goetz @ 3rz

  • Benutzer
  • Beiträge: 2.053
Gemini V.1.2.2 Sourcen veröffentlicht
« 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.
« Letzte Änderung: Mo 22.01.2024, 20:08:57 von gh-baden »
Wider dem Signaturspam!

Offline goetz @ 3rz

  • Benutzer
  • Beiträge: 2.053
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #1 am: Mo 22.01.2024, 20:13:04 »
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.
« Letzte Änderung: Mo 22.01.2024, 20:13:53 von gh-baden »
Wider dem Signaturspam!

Offline czietz

  • Benutzer
  • Beiträge: 3.685
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #2 am: Mo 22.01.2024, 20:42:13 »
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.
« Letzte Änderung: Mo 22.01.2024, 20:46:00 von czietz »

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #3 am: Di 23.01.2024, 07:37:12 »
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.

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #4 am: Di 23.01.2024, 09:00:28 »
BTW, willst du auch announcement auf atari-forum.com machen? Ich denke, da interessieren sich nicht nur deutsche Benutzer für ;)

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #5 am: Di 23.01.2024, 09:21:38 »
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.

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #6 am: Di 23.01.2024, 12:45:08 »
Den Source für nlslib.lib konnte ich schon mal rekonstruieren. Zu finden hier: https://github.com/th-otto/gemini/tree/main/nls

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #7 am: Di 23.01.2024, 13:18:14 »
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 :/
« Letzte Änderung: Di 23.01.2024, 13:40:55 von Thorsten Otto »


Offline goetz @ 3rz

  • Benutzer
  • Beiträge: 2.053
OFF: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #9 am: Do 25.01.2024, 13:33:22 »
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.
Wider dem Signaturspam!

Offline goetz @ 3rz

  • Benutzer
  • Beiträge: 2.053
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #10 am: Do 25.01.2024, 13:34:04 »
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?
Wider dem Signaturspam!

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #11 am: Do 25.01.2024, 14:41:14 »
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.
« Letzte Änderung: Do 25.01.2024, 14:44:42 von Thorsten Otto »

Offline goetz @ 3rz

  • Benutzer
  • Beiträge: 2.053
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #12 am: Do 25.01.2024, 22:50:43 »
Aus der disassemblierten Library.

Hätt ich nicht gedacht, dass das so schön wird (daher meine Nachfrage), Hut ab!
Wider dem Signaturspam!

Offline MJaap

  • Benutzer
  • Beiträge: 1.587
  • ST-Computer
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #13 am: Fr 26.01.2024, 00:20:44 »
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...

Offline kernal

  • Benutzer
  • Beiträge: 162
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #14 am: Mo 29.01.2024, 17:22:25 »
Lassen sich die Flydials eventuell durch "Let'em fly" ersetzen?

:-\

https://docs.dev-docs.org/htm/search.php?find=Fly
https://www.atariuptodate.de/de/3553/letem-fly

bzw. XAES Background (formerly Let Em Fly)

https://www.atariuptodate.de/en/7297/xaes-background

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #15 am: Mo 29.01.2024, 17:48:09 »
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.


Offline kernal

  • Benutzer
  • Beiträge: 162
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #16 am: Mo 29.01.2024, 18:10:37 »
Aw cool, danke und "F"!


Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #17 am: Di 30.01.2024, 06:17:59 »
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.

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.315
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #18 am: Di 30.01.2024, 08:07:32 »
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.


Offline MJaap

  • Benutzer
  • Beiträge: 1.587
  • ST-Computer
Re: Gemini V.1.2.2 Sourcen veröffentlicht
« Antwort #19 am: Di 30.01.2024, 08:41:10 »
Tolle Leistung!