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

1 Mitglieder und 2 Gäste betrachten dieses Thema.

Offline AndreasKromke

  • Benutzer
  • Beiträge: 126
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: 126
Re: AtariX => MagicOnLinux
« Antwort #341 am: Gestern um 17:51:59 »
(gelöscht)

Offline don_apple

  • Benutzer
  • Beiträge: 35
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 »