DOSBOX: ANSI-Befehle funktionieren nicht (richtig)

Hier dürfen auch unregistrierte Besucher posten.
Antworten
ErwinK

DOSBOX: ANSI-Befehle funktionieren nicht (richtig)

Beitrag von ErwinK »

Hallo, bisher benutzte ich den dosemu unter Linux Xubuntu. In der neuen Version 20.04 LTS ist er nicht mehr enthalten. In dosemu-DOS hatte ich mir eine "Benutzeroberfläche" gebastelt, in welcher ich Befehle zum Programmstart auf die Funktionstasten gelegt habe. Das erlaubt der ANSI-Treiber in der config.sys.
Jetzt habe ich DOSBOX 0.74-3 installiert, da funktioniert das nur zum Teil. Farbige Ausgaben auf dem Bildschirm sind da, aber das Schreiben der ANSI-ESC-Sequenzen für die Tastaturbelegung scheitert. Statt dessen erscheint der String auf dem Bildschirm. Anscheinend werden auch weder autoexec.bat und config.sys automatisch ausgeführt, statt dessen werden Befehle in die Konfigurationsdatei von DOSBOX geschrieben. Die autoexec.bat kann ich ja noch von Hand starten, bzw. die Befehle in der DOSBOX-config eintragen.
Ich habe bei der Beschreibung von nansi.sys des FreeDOS-Pakets gelesen, dass die Belegung der Tasten mit Befehlen abgeschaltet werden kann, wegen Sicherheitsrisiko. Ist das vielleicht bei DOSBOX der Fall? Fragen über Fragen...
Vielleicht weiß jemand eine Lösung. Danke für euer Interesse,
Erwin K.
Benutzeravatar
Nitrosamin
MemMaker-Benutzer
Beiträge: 73
Registriert: So 23. Mai 2021, 23:15
Kontaktdaten:

Re: DOSBOX: ANSI-Befehle funktionieren nicht (richtig)

Beitrag von Nitrosamin »

Also in der Konfigurationsdatei (dosbox.conf) kannst Du am Ende deinen Code eintragen. Das ist quasi die Autoexec.bat
Unter https://www.dosbox.com/ gibt es auch ein Tutorial. Ist aber leider auf Englisch.
mfg.

Nitro
mkarcher
LAN Manager
Beiträge: 204
Registriert: Fr 5. Jun 2020, 19:38

Re: DOSBOX: ANSI-Befehle funktionieren nicht (richtig)

Beitrag von mkarcher »

Im dosbox ist der Code für Tastaturübersetzung gar nicht enthalten, siehe den Quellcode der ANSI-Emulation in dosbox. Damit hast Du keine Chance, unter dosbox die Tastaturbelegung mit ANSI-Sequenzen zu verändern.

Leider (für Deinen Anwendungsfall) ist dosbox so aufgebaut, dass dort kein echtes 16-Bit-DOS läuft, was mit Gerätetreibern erweitert werden kann, sondern es ist ein komplettes monolithisches DOS außerhalb der 16-Bit-Umgebung implementiert. Das hat den Vorteil, dass der DOS-Kern keinen konventionellen Speicher in der virtuellen 16-Bit-Umgebung belegt, und der DOS-Kern auch nicht durch fehlerhafte Anwendungen korrumpiert werden kann, aber den Nachteil, dass dieser DOS-Kern nicht mit 16-Bit-Treibern (wie einem anderen ANSI.SYS) erweitert werden kann.
ErwinK

Erledigt: Re: DOSBOX: ANSI-Befehle funktionieren nicht (richtig)

Beitrag von ErwinK »

Danke euch für die Antworten. Wie DOSBOX "hinter den Kulissen" läuft, weiß ich nicht, deshalb hielt ich die Erweiterung mit ansi.sys für möglich. Andere ESC-Codes werden aber anscheinend korrekt interpretiert, bzw. wird der Ansi-Treiber entsprechend emuliert. Mit der kleinen Einschränkung kann ich aber leben.

Viele Grüße, ErwinK
Antworten