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

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline AndreasKromke

  • Benutzer
  • Beiträge: 77
Re: AtariX => MagicOnLinux
« Antwort #200 am: Fr 19.12.2025, 12:25:15 »
Vielleicht jemand, der ungeprüft einem Nullpointer (+ Offset in ein Array / eine Struct) folgt. Müsste man sich im Debugger ansehen.
Sehr gut diagnostiziert. Und auf dem Original-Atari wäre das in tausend Jahren nie jemandem aufgefallen.

Übrigens startet dieses Spiel CSB jetzt leidlich, mit 32768 statt 32000 Bytes Bildspeicher und dem ganzen Bildschirmadressen- und Paletten-Gedöns. Ich hab's mal mit Hatari ausprobiert, das ist schon beeindruckend: mit Ton und synchroner Start-Animation. Die Farben stimmen bei mir möglicherweise noch nicht ganz, aber es kann sein, daß innerhalb der Animation die Farbpalette nicht synchron aktualisiert wird. Ist auch eher so ein Gimmick, denn zum Spielen gibt's ja Hatari .. wenn nur der Mauszeiger dort nicht immer in der Bildschirmmitte wie angenagelt kleben bliebe, das NÄRFT.

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.458
Re: AtariX => MagicOnLinux
« Antwort #201 am: Fr 19.12.2025, 14:17:31 »
wenn nur der Mauszeiger dort nicht immer in der Bildschirmmitte wie angenagelt kleben bliebe, das NÄRFT.

Ja, Aranym hat da auch so Probleme damit manchmal. Ist halt nicht einfach Host/Emulation Maus zu synchronisieren, wenn man im Grunde nichts über das TOS weiss, und lediglich die Hardware emuliert. MagicOnLinux hat es da  deutlich einfacher.

Bei Hatari kommt noch dazu, daß viele Spiele ihre eigenen Routinen für ACIA haben, und TOS dafür gar nicht benutzen. Da kann der Emulator gar nicht wissen, wo die gerade die Atari-Maus darstellen.

Offline AndreasKromke

  • Benutzer
  • Beiträge: 77
Re: AtariX => MagicOnLinux
« Antwort #202 am: Fr 19.12.2025, 16:32:22 »
Die Position des Atari-Mauszeigers findet man in den "negativen LineA-Variablen".
« Letzte Änderung: Fr 19.12.2025, 16:36:57 von AndreasKromke »

Offline AndreasKromke

  • Benutzer
  • Beiträge: 77
Re: AtariX => MagicOnLinux
« Antwort #203 am: So 21.12.2025, 15:42:34 »
For convenience:

  -a, --atari-screen-mode=mode   Atari compatibility mode st-low/mid/high, overrides --geometry

Mit dem Parameter "-a st-mid" kann man z.B. jetzt einfacher die Auflösung 620x200 bei 4 Farben einschalten, wobei in diesem Fall automatisch die vertikale Größe des Fensters verdoppelt wird.

Ich habe noch einen ärgerlichen Fehler behoben, der bewirkte, daß man manchmal das Programm mit "kill -9" beenden mußte, weil es sich nicht sauber beenden ließ.

Die Unterstützung des ganzen G'lump mit physikalischen und logischen Bildschirmadressen und Farbtabellen über Xbios oder Register führt lediglich dazu, daß einige Spiele nun ihr Intro anzeigen können und erst dann irgendwo hängenbleiben. Das dient eigentlich eher der Analyse, warum irgendwas nicht funktioniert, z.B. weil es auf irgendwelche Hardware-Register wartet.

Generell gefällt mir die Angabe des Farbmodus als Parameter noch nicht, das ist alles inkonsistent. Die Modi sollten wie bei den Grafiktreibern heißen, also bspw. 4ip für vier Farben und 16ip für 16 Farben, nicht nach der Bit-Tiefe, das sorgt für Verwirrung.

Offline AndreasKromke

  • Benutzer
  • Beiträge: 77
Re: AtariX => MagicOnLinux
« Antwort #204 am: So 21.12.2025, 17:52:31 »
Endlich mal ein Programm zum Laufen gebracht, das vorher nicht funktionierte: MonST ist ein fieser Debugger, der Auflösung und Bildschirmadresse über Registerzugriffe abfragt bzw. sogar ändert. Der funktioniert jetzt zumindest in "ST-high". Hat keine große Relevanz, ist eher Spielerei.

Offline AndreasKromke

  • Benutzer
  • Beiträge: 77
Re: AtariX => MagicOnLinux
« Antwort #205 am: Fr 26.12.2025, 13:02:39 »
Mit dem Einbau einer Tonausgabe würde man ein Riesenfaß aufmachen; Hatari hat da so ein highly sophisticated Programm, das den Yamaha-Chip emuliert. Einfacher wären erstmal der Tastenklick und Glocke; SDL kann wohl WAVs o.ä. abspielen. Aber woher kriege ich passende Tondateien? Ob es da frei verfügbare gibt, wo man sich bedienen kann? Ansonsten bliebe noch Selbermachen, also Klavier, Klopfen, Pizzicato oder Singen zum Beispiel.

Offline ragnar76

  • Moderator
  • *****
  • Beiträge: 660
Re: AtariX => MagicOnLinux
« Antwort #206 am: Fr 26.12.2025, 13:09:44 »
Den tastenklick fand ich immer nervig, vielleicht wäre das eine Alternative?
https://freesound.org/people/BryanSaraiva/sounds/820351/

Dort finden sich auch andere Sounds die Creative commons sind

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.458
Re: AtariX => MagicOnLinux
« Antwort #207 am: Fr 26.12.2025, 14:35:57 »
Hatari hat da so ein highly sophisticated Programm, das den Yamaha-Chip emuliert.

Direkt die Hardware zu emulieren widerspricht imho der Philosophie. Besser wäre es vermutlich, eine Schnittstelle für GSXB  zur Verfügung zu stellen.

Zitat
SDL kann wohl WAVs o.ä. abspielen.

Ja, WAV sollte immer gehen. Aber vermutlich willst du für Sound sowieso SDL-Mixer benutzen, da gehen dann auch alle möglichen anderen, *.ogg zB.

Offline AndreasKromke

  • Benutzer
  • Beiträge: 77
Re: AtariX => MagicOnLinux
« Antwort #208 am: Fr 26.12.2025, 15:48:11 »
Den tastenklick fand ich immer nervig, vielleicht wäre das eine Alternative?
https://freesound.org/people/BryanSaraiva/sounds/820351/

Dort finden sich auch andere Sounds die Creative commons sind
Gefällt mir. Vielleicht das hier noch als Ping ("Bell"):
https://freesound.org/people/datasoundsample/sounds/638638/

Offline RealLarry

  • Benutzer
  • Beiträge: 391
Re: AtariX => MagicOnLinux
« Antwort #209 am: Fr 26.12.2025, 16:26:47 »
[...] oder Singen zum Beispiel.

Da bin ich raus...das wollt Ihr sicherlich nicht hören ;)
Die Wirklichkeit ist bekanntlich nur eine Illusion, die durch den Mangel an Alkohol hervorgerufen wird.

Offline AndreasKromke

  • Benutzer
  • Beiträge: 77
Re: AtariX => MagicOnLinux
« Antwort #210 am: Fr 26.12.2025, 21:36:49 »
[...] oder Singen zum Beispiel.

Da bin ich raus...das wollt Ihr sicherlich nicht hören ;)

... und Pizzicato ist zu lang. Bleibt die Elektronik.

Übrigens laufen jetzt Signum 3 und 4 perfekt, bevorzugt im 256-Farben-Modus. Da gab es noch ein Problem mit der Maus; das habe ich zufällig gefunden, als ich den Tastenklick oder -klack einbauen wollte bzw. Vorbereitungen für selbiges.

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.458
Re: AtariX => MagicOnLinux
« Antwort #211 am: Sa 27.12.2025, 10:53:40 »
Apropos Maus: ich habe mir deine Änderungen dafür angeschaut. Prinzipiell lässt du dir relative statt absolute Koordinaten von SDL schicken. An den Atari werden aber in jedem Fall immer relative Koordinaten geschickt. Ich verstehe nicht so ganz, was das für Signum ändert?

Offline AndreasKromke

  • Benutzer
  • Beiträge: 77
Re: AtariX => MagicOnLinux
« Antwort #212 am: Sa 27.12.2025, 18:21:48 »
Apropos Maus: ich habe mir deine Änderungen dafür angeschaut. Prinzipiell lässt du dir relative statt absolute Koordinaten von SDL schicken. An den Atari werden aber in jedem Fall immer relative Koordinaten geschickt. Ich verstehe nicht so ganz, was das für Signum ändert?
Das ist auch vertrackt. Der Knackpunkt ist, daß ich normalerweise -- im Unterschied zu Hatari und Aranym -- immer versuche, die Mauszeiger von Gastgeber und Gast zur Deckung zu bringen. Das ist nämlich genau das, was mir bei den anderen Emulatoren fürchterlich auf den Zeiger geht: Ich rühre wie bescheuert mit der Maus, und der Hatari-Atari-Zeiger klebt wie eine Fliege am Fenster, links oder oben. Nun fummelt aber Signum anscheinend an der Mauszeigerposition des Atari herum, und das mag der Emulator nicht und zieht die Maus immer wieder zurück. Deshalb das Gehüpfe. Im relativen Modus ist, einfach gesagt, egal, wo der Host-Mauszeiger steht, der Atari kriegt also stumpf die Mausbewegungen. Dann funktioniert auch die Maus-Emulation im Atari, über Alt-(Umschalt-)Cursor. Im absoluten Modus müßte man dann den Mauszeiger des Hosts auch mit verschieben, sonst hüpft der Zeiger des Atari nämlich bei nächster Gelegenheit wieder zurück.

Übrigens gehen jetzt das Klick und das Pling. Es war eine schwierige Geburt, weil ich kein einfaches Beispiel gefunden habe und nicht kapiert hatte, daß es drei SDLs gibt, wovon zwei Mixer sind. Vielleicht kann mal jemand ausprobieren, ob das Programm auf dem Apple noch baut. Ich habe Schwierigkeiten mit cmake gehabt, weil der SDL-Mixer nicht so eingebunden wird wie SDL selbst (wobei der alte Mixer 1.2 wiederum so eingebunden wird, aber mit SDL2 kollidiert). Damit man keinen alten Kernel verwendet, ist jetzt auch eine Abfrage drin, denn für die Signaltöne braucht man eine neue Version.

PS: Die Signaltöne sind direkt in das Programm eingebunden, damit es keine Probleme beim Finden der Ton-Dateien zur Laufzeit gibt. Irgendwie hat Linux kein Konzept für Dateien, die ein bestimmtes Programm benötigt. Bei macOS ist das elegant gelöst.

PS/2: Die Glocke zeigt ja häufig einen Fehler an, ist also hilfreich, aber vielleicht sollte der Tastenklick standardmäßig erstmal ausgeschaltet sein...
« Letzte Änderung: Sa 27.12.2025, 18:55:26 von AndreasKromke »

Offline AndreasKromke

  • Benutzer
  • Beiträge: 77
Re: AtariX => MagicOnLinux
« Antwort #213 am: So 28.12.2025, 12:31:00 »
Wer das Programm jetzt vor Jahresende noch installiert, kriegt kostenlos bunte Bildchen im Dateimanager (bei mir Nautilus) für alle Atari-Programmdateien. Zugreifen, ehe es zu spät ist!

Warum die Dateien "Other" sind, weiß ich nicht. Die Datei-Eigenschaften zeigen die richtige Bezeichnung. Es war auch wieder eine schwierige Geburt; selbst die offiziellen Beschreibungen des MIME-Konzepts sind dürftig, und Beispiele sind unvollständig und fehlerhaft.

(Wer sich wundert: Ich habe mein Ubuntu auf Englisch gestellt, weil ich mich sonst ständig über dumm-dämlich-häßlich-denglishe Übersetzungsfehler ärgere ("Wollen Sie die Upp-Dahtes dohnlohden?"). Life Hack: Auf English (UK) stellen, dann kriegt man ein zivilisiertes Datumformat und nicht das proprietäre US-Zeugs. Zusätzlich kann man noch Datum und Uhrzeit auf "deutsch" stellen, das ignorieren aber einige Programme.)

PS: Man kann jetzt Atari-Programme auf der Kommandozeile übergeben. Es sollte beides funktionieren, Atari-Pfad oder Host-Pfad.

PS/2: Das Logo wirkt vielleicht etwas zeitgeistig, das ist aber unbeabsichtigt; ich fand es einfach nur fröhlich in dieser düsteren Jahreszeit.

PS/3: Doppelklick auf ein Atari-Programm im Nautilus-Dateimanager startet eine neue Instanz des Emulators und darin sofort das entsprechende Atari-Programm.

PS/4: Wenn man eine ".st"-Datei als Parameter übergibt, auch z.B. im Dateimanager ("Öffnen mit..."), kann man sie als A: oder B: aktivieren, nach Rückfrage. Hatari installiert diesen Datentyp nicht ganz korrekt, man kann aber das Icon nachtragen.
« Letzte Änderung: Heute um 01:52:44 von AndreasKromke »