Autor Thema: AtariX => MagicOnLinux  (Gelesen 330 mal)

0 Mitglieder und 18 Gäste betrachten dieses Thema.

Offline AndreasK

  • Benutzer
  • Beiträge: 9
AtariX => MagicOnLinux
« am: Gestern um 16:11:04 »
Die Kette von "Atari-High-Level-Emulatoren" MagicMac, MagicMacX und AtariX ist schon länger eine Sackgasse, seit letzteres nicht mehr auf neueren Macs funktioniert.

Aus eher unangenehmem, gegegeben Anlaß (Bewegungseinschränkung, man wird alt, und manche werden halt ein paar Dekaden früher alt als andere, wenn sie überhaupt so alt werden) habe ich gerade viel Zeit, und was hilft gegen Depri? Alkohol oder Hacken.

Jedenfalls hatte ich schon lange den Wunsch, meinem Stiefkind AtariX einen soliden Nachfolger zu geben, und das ist für mich kein proprietäres System wie macOS (bisher mit Carbon) oder Windows, sondern Linux. Weil der Name "Magic Linux" vergeben ist, habe ich "MagicOnLinux" geschrieben.

Hier ist das Repository für MagicOnLinux. Es enthält nur Quellen, das Programm sollte sich aber zumindest unter Ubuntu einfach bauen lassen. Wie man an das "root file system" kommt, ist auch beschrieben. Und nein, komfortabel ist das (noch) nicht, und schön schon gar nicht.

https://gitlab.com/AndreasK/magiclinux

Für das "debugging" habe ich einen Disassembler benötigt. Ich habe deshalb meinen von GEMDOS nach Linux portiert:

https://gitlab.com/AndreasK/disass68k
(Scheiß-Little-Endian...)


[Andere Emulatoren]

Angesichts von Hatari und Aranym ist mein Emulator eher uninteressant, aber ich habe das ja auch für mich gemacht. Meiner ist etwa 20mal so schnell wie Hatari und etwa so schnell wie Aranym ohne JIT. Aranym-jit ist unerreicht, etwa 20- bis 40mal so schnell wie meiner. Grafikausgabe ist noch schneller, weil teilweise nativ. Von der FPU-Emulation ganz zu schweigen...

Wobei Hatari mit Emutos prima, out-of-the-box mit toll geschriebener Anleitung stabil läuft und ich dagegen bei Aranym ohne Afros nur geflucht habe. Mit Afros lief es dann. Mit dem Mauszeiger haben aber Hatari und Aranym derbe Problem, und Drag&Dop geht auch nicht.


[technisches Blabla]

Die letzte, leidlich funktionierende Version, AtariX, habe ich als Grundlage genommen. Ich habe einiges rausgeworfen, aber auch viel hinzugefügt, insbesondere die Fähigkeit, "disk images" sehr einfach einzubinden.

Beim Portieren war nicht nur die proprietäre Apple-API ein Problem, sondern auch meine Kurzsichtigkeit, im Jahre 1994 auf 32-Bit-Call-Back-Zeiger zu setzen. Die habe auch dringelassen und mit einem abenteuerlichen Verfahren weiterverwendet, weil ich keine lauffähige Atari-"tool chain" mehr greifbar hatte, um den MagiC-Kernel zu ändern und neu zu compilieren. Als das System dann so halbwegs lief, habe ich im Emulator den MagiC-Kernel zumindest besser ans neue Dateisystem anpassen können. Ich war nämlich 1994 so kurzsichtig gewesen, das fileID/vRefNum-Schema für das Dateisystem zu verwenden, weil das so bequem schien. Dämlich. Aber ich war halt jung und brauchte das Geld.

Überhaupt war das Neuschreiben des "host file system" eine Sisiphos-Arbeit. Alles von Carbon auf POSIX. Da sind auch noch ein paar Unschönheiten und Fehler drin.

Im Gegensatz zu MagicMacX und AtariX funktionieren jetzt auch die "interleaved plane"-Modi. Da hatte ich nämlich irgendwann Anfang der 2000er natürlich kein Bindestrich Jahre einen kleinen Fehler gemacht...

Wie die anderen Emulatoren beruht auch MagicOnLinux immer noch auf SDL. Mit dem Unterchied, daß auch unter X11 die Umlauttasten funktionieren und nicht nur unter Wayland. Was für ein Quatsch, was da in SDL gemacht wird! Aber wer braucht schon Umlaute?

Im Prinzip müßte sich das Programm mit vertretbarem Aufwand auf macOS portieren lassen, wobei man SDL wohl nachinstallieren kann. Windows hat eine ganz andere Dateisystem-API, soviel ich weiß. Ich habe aber nur einen alten Mac, und Windows tue ich mir nicht an.

Offline czietz

  • Benutzer
  • Beiträge: 3.893
Re: AtariX => MagicOnLinux
« Antwort #1 am: Gestern um 16:30:16 »
Cool! Vielen Dank.

Ließ sich problemlos auch auf ARM64-Linux bauen und läuft. Siehe Anhang.

Mit dem Mauscursor habe ich Probleme, er scheint manchmal wild zu springen. Aber vielleicht liegt das daran, dass ich mein Linux-Entwicklersystem per Remote-Desktop erreiche...

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.387
Re: AtariX => MagicOnLinux
« Antwort #2 am: Gestern um 17:08:15 »
Liess sich hier auch (relativ) problemlos bauen.

Host-FS scheint noch ein bisschen Probleme zu haben, MagXDesk zeigt immer nur "mehr als xx Objekte" an, aber fast nie alle.

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.387
Re: AtariX => MagicOnLinux
« Antwort #3 am: Gestern um 18:17:10 »
BTW: funktioniert auch mit einem just frisch übersetztem Kernel:


Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.387
Re: AtariX => MagicOnLinux
« Antwort #4 am: Gestern um 19:08:05 »
Deutsche/Englische/Französische Versionen werden jetzt auch automatisch für die snapshots gebaut:

https://tho-otto.de/snapshots/magicmac/magicmac-20251123-180216-bin.zip

Falls die jemand austauschen möchte.

Offline Lukas Frank

  • Benutzer
  • Beiträge: 14.234
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: AtariX => MagicOnLinux
« Antwort #5 am: Gestern um 19:34:59 »
Klasse und vielen Dank dafür ...

Offline tosbombe

  • Benutzer
  • Beiträge: 33
Re: AtariX => MagicOnLinux
« Antwort #6 am: Heute um 00:11:45 »
Die Migration nach macOS hat freundlicherweise Claude Code übernommen  :)

Muss aber noch eine Konfiguration basteln...
« Letzte Änderung: Heute um 00:18:45 von tosbombe »

Offline tosbombe

  • Benutzer
  • Beiträge: 33
Re: AtariX => MagicOnLinux
« Antwort #7 am: Heute um 00:27:08 »
Hmm..auf dem Mac scheint keine Auflösung akzeptiert zu werden. Tipps?

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.387
Re: AtariX => MagicOnLinux
« Antwort #8 am: Heute um 08:52:31 »
@AndreasK : hast du einen Account auf https://www.atari-forum.com? Sonst würde ich das dort auch bekannt machen.

Offline AndreasK

  • Benutzer
  • Beiträge: 9
Re: AtariX => MagicOnLinux
« Antwort #9 am: Heute um 09:10:58 »
Cool! Vielen Dank.

Ließ sich problemlos auch auf ARM64-Linux bauen und läuft. Siehe Anhang.

Mit dem Mauscursor habe ich Probleme, er scheint manchmal wild zu springen. Aber vielleicht liegt das daran, dass ich mein Linux-Entwicklersystem per Remote-Desktop erreiche...

Das klingt ja prima. Aber ARM ist ja inzwischen auch little-endian, und wenn niemand Assembler verwendet, sollte das auch keine Probleme machen. Interessant wäre, ob es auch auf 32-Bit geht oder auf big-endian. Theoretisch könnte das funktionieren, weil ich entsprechende Konvertierungen à la be32toh (32-bit big-endian to host endian) verwendet habe, die immer passen sollten.

Der Mauszeiger folgt stumpf bzw. intelligent dem Zeiger des Hosts. Dafür gibt es SDL-Nachrichten, "mouse moved" oder so. Wenn die nicht zeitnah kommen, kann es natürlich ruckeln. Die anderen Emulatoren machen das irgendwie anders, aber ich habe nicht nachgeschaut, wie. Vielleicht greifen sie in eine tiefere Schicht des Host-BS.

Offline AndreasK

  • Benutzer
  • Beiträge: 9
Re: AtariX => MagicOnLinux
« Antwort #10 am: Heute um 09:20:11 »
Liess sich hier auch (relativ) problemlos bauen.

Host-FS scheint noch ein bisschen Probleme zu haben, MagXDesk zeigt immer nur "mehr als xx Objekte" an, aber fast nie alle.

Das ist seltsam. Ist das macOS? Näheres könnte man in den log-Ausgaben per stderr sehen. Dazu mit cmake im Debug-Modus bauen (ist default) und vorher ggf. in config.h die INF und WRN fürs XFS einschalten.

Ich habe noch einen sechzehn alten Mac mit Mojave, der aber schon in Rente ist. Den wollte ich nicht mehr quälen, und ich habe mich schon lange an Ubuntu gewöhnt, das ich auch beruflich genutzt habe.

Offline AndreasK

  • Benutzer
  • Beiträge: 9
Re: AtariX => MagicOnLinux
« Antwort #11 am: Heute um 09:27:35 »
Hmm..auf dem Mac scheint keine Auflösung akzeptiert zu werden. Tipps?

Vermutlich eine Unverträglichkeit im Host-XFS. Ich habe absolut keine Rücksicht auf macOS genommen und ausschließlich Ubuntu Linux verwendet. Die Log-Ausgabe könnte bereits hilfreich sein, die kriegt man über config.h, dort die Zeile fürs XFS auskommentieren, dann  per cmake als "debug" bauen. Das Host-XFS ist brandneu und vollständig mit Doxygen-Kommentaren geschrieben, das sollte recht übersichtlich sein.

Ich kann überhaupt Ubuntu Linux empfehlen; es gibt auch ein "GNOME Theme", das das System aussehen läßt wie macOS (viel hübscher als das Ubuntu-Thema), aber leider kochen zunehmend sehr viele Programme ihr eigenes Süppchen bei den Fenster-Rändern, und dann wird es uneinheitlich. Mal sind die Knöpfchen bunt, mal wie im Ubuntu-Thema und manchmal anders häßlich. Wildwuchs wie unter Windows.

Offline AndreasK

  • Benutzer
  • Beiträge: 9
Re: AtariX => MagicOnLinux
« Antwort #12 am: Heute um 09:31:24 »
@AndreasK : hast du einen Account auf https://www.atari-forum.com? Sonst würde ich das dort auch bekannt machen.

Danke, gute Idee, aber ich werde mir selber einen besorgen. Ich bin auch des Englischen mächtig, wenn ich auch seit meinem 11. Lebensjahr mit dem Amerikanischen fremdele. Deshalb habe auch meine Android-Programme immer nur DE und EN-UK oder nur EN-UK geschrieben. Vermutlich sind das die einzigen im PlayStore, die keine US-Lokalisierung haben, es sei denn, es gibt ein paar verrückte Schotten irgendwo, die das auch so machen.

PS: Ich habe erst beim Suchen von Atari-Programmen zum Testen gesehen, daß Du ein Programm namens ORCS geschrieben hast. Sah toll aus, auch wenn ich momentan keinen Resource Editor brauche. Ich habe eine vage Erinnerung, daß ich INTRFACE oder so früher verwendet habe, das ist aber alles sehr lange her, habe ich vergessen.

PS/2: Ich kann mich bei atari-forum.com nicht anmelden. Nach "Submit" erscheint oben immer "Spammers Domain - Stop Forum Spam!". Ob "web.de" in einer "blacklist" ist? Ich schau mal, ob es eine Email-Adresse gibt, an die man sich wenden kann. Sonst könnte ich es nochmal mit meiner gmail-Adresse probieren. Wäre aber blöd.

PS/3: Es gibt bei atari-forum.com ein Formular, um sich an den "Admin" zu wenden. Schaumermal...
« Letzte Änderung: Heute um 09:53:04 von AndreasK »

Offline ragnar76

  • Moderator
  • *****
  • Beiträge: 627
Re: AtariX => MagicOnLinux
« Antwort #13 am: Heute um 09:48:03 »
Hmm... Ich muss wohl warten bis Debian (hab Debian 13) ein Update von Cmake raushaut

CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
  CMake 3.28 or higher is required.  You are running version 3.25.1

Offline czietz

  • Benutzer
  • Beiträge: 3.893
Re: AtariX => MagicOnLinux
« Antwort #14 am: Heute um 10:25:25 »
Hmm... Ich muss wohl warten bis Debian (hab Debian 13) ein Update von Cmake raushaut

CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
  CMake 3.28 or higher is required.  You are running version 3.25.1

Oh, das hatte ich vergessen. Ich habe ja auch Debian und hatte einfach die minimale Version im CMakeLists.txt auf einen niedrigeren Wert geändert. Keine Ahnung, warum dort überhaupt 3.28 steht. Lief ja auch mit einer älteren CMake-Version.

EDIT: Warten ist eher keine Option, es sei denn, Du möchtest auf Debian 14 (in 2027) warten.  :)
« Letzte Änderung: Heute um 10:45:19 von czietz »

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.387
Re: AtariX => MagicOnLinux
« Antwort #15 am: Heute um 10:36:01 »
Das ist seltsam. Ist das macOS?

Nein, linux. Passiert scheinbar hauptsächlich wenn ich über M: vom root-Verzeichnis aus starte, dort werden dann nicht alle Directories angezeigt. Sobald ich mein Home-Verzeichnis erreicht habe, scheint es aber zu gehen. Muss mal nachschauen, vlt. liegt das auch an MagiXDesk, evtl. überspringt es Ordner auf die man keinen Zugriff hat?

Zitat
Nach "Submit" erscheint oben immer "Spammers Domain - Stop Forum Spam!". Ob "web.de" in einer "blacklist" ist?

Das kann gut sein. Die haben dort vor ein paar Monaten einiges getan, um bots in den Griff zu bekommen, die sonst die meiste Zeit das forum lahmlegen oder zumindest verlangsamen.

Zitat
Sonst könnte ich es nochmal mit meiner gmail-Adresse probieren.

gmail steht mit einiger Sicherheit auch auf der Blacklist. Kontakt mit einem Admin sollte aber gehen.


Offline czietz

  • Benutzer
  • Beiträge: 3.893
Re: AtariX => MagicOnLinux
« Antwort #16 am: Heute um 10:47:47 »
Das kann gut sein. Die haben dort vor ein paar Monaten einiges getan, um bots in den Griff zu bekommen, die sonst die meiste Zeit das forum lahmlegen oder zumindest verlangsamen.

Web.de und GMX sind schon seit "Ewigkeiten" bei Atari-Forum.com auf der Blacklist. Ich habe versucht, den Admins zu erklären, dass United Internet einer der größten Anbieter von Mailadressen in Deutschland ist und es irgendwie ungeschickt ist, den komplett zu blockieren. Aber sie wollen ihre Blacklist nicht anpassen. GMail hingegen soll funktionieren. (Nicht selbst getestet.)

Offline ragnar76

  • Moderator
  • *****
  • Beiträge: 627
Re: AtariX => MagicOnLinux
« Antwort #17 am: Heute um 11:08:23 »
Hmm... Ich muss wohl warten bis Debian (hab Debian 13) ein Update von Cmake raushaut

CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
  CMake 3.28 or higher is required.  You are running version 3.25.1

Oh, das hatte ich vergessen. Ich habe ja auch Debian und hatte einfach die minimale Version im CMakeLists.txt auf einen niedrigeren Wert geändert. Keine Ahnung, warum dort überhaupt 3.28 steht. Lief ja auch mit einer älteren CMake-Version.

EDIT: Warten ist eher keine Option, es sei denn, Du möchtest auf Debian 14 (in 2027) warten.  :)
Ich hab jetzt die CMakeLists.txt so veränder dass die minimum required version 3.25 ist. Damit läuft es tatsächlich ganz gut. Was mir allerdings ein wenig sauer aufstösst, zum bearbeiten der config (magic-on-linux -e) ist der gnome-text-editor hardcoded in der main.cpp. ich denke hier sollte etwas anderes "eingebaut werden", z.b. als zweistufiger befehle ala:

touch ~/.config/magiclinux.conf
xdg-open ~/.config/magiclinux.conf

das würde den Texteditor öffnen der im System als Default eingestellt ist

Offline AndreasK

  • Benutzer
  • Beiträge: 9
Re: AtariX => MagicOnLinux
« Antwort #18 am: Heute um 11:14:48 »
Ich möchte noch hinzufügen, daß die Abstimmung bzw. API zwischen Emulator und Emulant noch nicht endgültig sein soll. Das ist ein Hack. Ich habe an den Funktionszeigern herumgebastelt, weil ich einen neuen Host-Callback für die disk images brauchte, und darauf geachtet, daß die Gesamtlänge der Übergabestruktur erhalten bleibt. Ich habe mich nämlich nicht getraut, das ganze System innerhalb des Emulators neu zu compilieren. Das Konzept mit den mehreren 32-Bit-Werten pro Methoden-Callback ist aus heutiger Sicht auch unsinnig und sollte raus. Und das Host-XFS sollte Zugriff auf die internen Objekte haben, statt nur mit inode/volume zu hantieren.. Da passiert zuviel noch auf Atari-Seite, weil die Schnittstelle fürs alte MacOS gedacht war. Ich wollte aber erstmal alles zum Laufen bringen. Und die erkalteten sfirst-Objekte müssen nach einiger Zeit automatisch freigegeben werden. Und die HostXFS-Klasse sollte statisch sein. Und das von ChatGPT gestrickte Logo gefällt mir auch noch nicht, weil der Pinguin einen seltsamen Schwanz hat. Muß mal die BUGS.TXT erweitern...

Offline AndreasK

  • Benutzer
  • Beiträge: 9
Re: AtariX => MagicOnLinux
« Antwort #19 am: Heute um 11:16:55 »
Schreib bitte ein "issue"! Du kannst übrigens mit der Kommandozeile einen Editor auswählen. Einfach Parameter "-h" oder "--help". Da gibt es umfangreiche Möglichkeiten.