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

1 Mitglieder und 3 Gäste betrachten dieses Thema.

Offline AndreasKromke

  • Benutzer
  • Beiträge: 128
Re: AtariX => MagicOnLinux
« Antwort #340 am: Gestern um 17:50:09 »
Es ist gruselig! Auch ohne NVDI ist ein Fehlkonzept im VDI/XBIOS, das bei den "großen" Bildschirmtreibern, also bei denen mit VT52-Code, zum Durcheinander führt. Das kann man folgendermaßen testen:

- 16M Farben einstellen, kein NVDI
- VT52.PRG deaktivieren
- Mit Strg-B die Shell öffnen
- SID oder SD starten
- Mit Strg-C den Debugger beenden

Ergebnis: Ein bunter Cursor, grün und rosa.

Die Ursache: Xbios Cursconf(), hier mit den Unterfunktionen "cursor hide" und "cursor show". Eigentlich gehört das ins BIOS, nicht ins XBIOS, weil es den VT52 betrifft. Und Cursor ein/aus kann man auch über Esc-e und Esc-f machen. Cursconf springt aber direkt ins MVDI, auf die Sequenzen esc_e und esc_f, unter Umgehung (!) des Grafiktreibers. Die Kernel-Routine kann aber diesen Modus nicht und macht den Bildschirm seltsam.

Ich habe dann in meiner Naivität das Cursconf() geändert, so daß es über con_state springt, genau wie das BIOS Bconout. Aber, ach, es erschien nur seltsamer Mist auf dem Bildschirm. Es sieht so aus, als ob con_term gerade auf die Routine zeigt, die das Zeichen nach dem Esc verarbeitet, statt auf die Grundroutine, die auf Esc wartet. Es müßte also jemand mittendrin in einer Esc-Sequenz das Cursconf() aufgerufen haben. Wie das? Ich hab's erstmal aufgegeben.

Ich habe spaßeshalber mal NVDI aktiviert, und hier läuft dann eine Cursor-Blink-Routine, die, wie die interne, Byte-Zugriffe statt 32-Bit-Zugriffe aufs VRAM macht und damit einen grünen Cursor erzeugt. Aber das ist eine andere Geschichte.
« Letzte Änderung: Gestern um 17:52:38 von AndreasKromke »

Offline AndreasKromke

  • Benutzer
  • Beiträge: 128
Re: AtariX => MagicOnLinux
« Antwort #341 am: Gestern um 17:51:59 »
(gelöscht)

Offline don_apple

  • Benutzer
  • Beiträge: 36
Re: AtariX => MagicOnLinux
« Antwort #342 am: Gestern um 18:05:23 »
@AndreasKromke Ich habe jetzt mal einen Debug-build von magiclinux gemacht, und wenn ich magiclinux starte gibt es einige Meldungen auf der Konsole (siehe angehängte debug.txt).

Vielleicht ist das ja für dich interessant um ggf. Fehler im Code zu finden und zu bereinigen.

Die letzte Warnung
(17:55:57) DBG-WRN hostpath2HostFD() : fstatat("GEMSYS/MAGIC/STOP/") -> No such file or directory
läßt sich relativ einfach beheben, indem man den Ordner "STOP" im rootfs erstellt. Vielleicht kannst du das ja im Upstream-Repo anpassen das da der Ordner gleich vorhanden ist.

Edit: die beiden Warnungen vom shutdown.prg
(17:55:57) DBG-WRN m68k_write_memory_32() -- 68k vec 0x00000008 := 0x0016e736 (bus error) by process C:\GEMSYS\GEMDESK\shutdown.prg
(17:55:57) DBG-WRN m68k_write_memory_32() -- 68k vec 0x00000008 := 0x007cb4a0 (bus error) by process C:\GEMSYS\GEMDESK\shutdown.prg
konnte ich jetzt auch beheben, indem ich das shutdown.prg durch die version aus den aktuellen Snapshots von https://tho-otto.de/snapshots/magicmac/ ersetzt habe.
« Letzte Änderung: Gestern um 18:55:27 von don_apple »

Offline AndreasKromke

  • Benutzer
  • Beiträge: 128
Re: AtariX => MagicOnLinux
« Antwort #343 am: Heute um 16:41:52 »
Die Meldungen sind irrelevant. Ich habe sie nur deshalb als ERR oder WRN statt INF definiert, damit sie überhaupt angezeigt werden.

Ich habe übrigens Cursconf() reparieren können, im Kernel. Es sollte jetzt ohne NVDI keinen Cursor-Salat mehr geben. Leider hat das nichts an den Fehlern mit NVDI geändert. Startet man z.B. MCMD unter NVDI in 16M Farben, kriegt man einen grünen Cursor in doppelter Breite.

Offline Thorsten Otto

  • Benutzer
  • Beiträge: 1.496
Re: AtariX => MagicOnLinux
« Antwort #344 am: Heute um 17:25:39 »
Hätte mich auch gewundert wenn das nicht der Fall wäre ;) Die Routinen in NVDI sind ja praktisch die gleichen. Vermutlich passiert das auch auf echter Hardware, mit Treibern für Grafikkarten.

Offline Lukas Frank

  • Benutzer
  • Beiträge: 14.421
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: AtariX => MagicOnLinux
« Antwort #345 am: Heute um 17:37:02 »
Bei meinem Atari TT mit Matrix TC1208E und NVDI 5.03TC als Treiber ist die 16,7M Farben Darstellung einwandfrei ...

Edit: Nova Treiber mit MACH64 ist bei 16,7M Farben auch in Ordnung auf einem 030 Mega ST
« Letzte Änderung: Heute um 18:14:44 von Lukas Frank »

Offline AndreasKromke

  • Benutzer
  • Beiträge: 128
Re: AtariX => MagicOnLinux
« Antwort #346 am: Heute um 19:05:12 »
Danke für die Vergleichstests! Kam mir auch in den Sinn, leider habe ich keine Hardware mehr.

Ich widme mich erstmal dem grünen Cursor in 16M Farben. Dazu kann ich die Byte-Zugriffe aufs VRAM rückverfolgen (Zugriffe sollten hier fürs Blinken immer 32-bit sein).
« Letzte Änderung: Heute um 19:06:57 von AndreasKromke »