Hardware > Emulatoren

AtariX => MagicOnLinux

<< < (49/78) > >>

AndreasKromke:
WTF! Nach dem erfolgreichen Hinwürgen von GFA-Basic startet jetzt auch Omikron-Basic. Beim ersteren hatte das die angenehme Nebenwirkung, daß ich noch drei (!) Fehler bei selten genutzten Funktionen im XFS gefunden habe. Die Lösung war ein Mock-Joystick. Für Omikron braucht es einen Fake-Shifter-Read-Pointer. Das Sch...programm liest die Register, die vom Shifter ständig geändert werden, und wo kein Shifter, da keine Änderung, und wo keine Änderung, da Endlosschleife. Was sollte der Quatsch damals?

AndreasKromke:
Leider gibt es wohl keine Alternative zu gxmessage, die mindestens so gut ist und auf allen Linux-Versionen sofort greifbar. Ich habe damals lange recherchiert und nachgelesen, was es in Richtung xmessage Brauchbares gibt. Andererseits habe ich mich auch schon daran gewöhnt, ein PPA zu installieren, also eine alternative Paketquelle. Dann gibt es auch automatisch Aktualisierungen. Selberbauen ist natürlich etwas mühsam. Auf dem Mac war das alles einfacher, aber ich mußte damals das SDL ändern und selber bauen, weil sonst die Dialoge keine Tastatureingaben gekriegt haben.

don_apple:

--- Zitat von: AndreasKromke am Fr 02.01.2026, 18:35:31 ---1. Die Vergrößerung des Atari-Fensters um den Faktor 2 ist für moderne Monitore gedacht. Bei 2,5k- oder 4k-Monitoren sieht man ansonsten den Atari-Bildschirm nur unter einer Lupe. Aber läßt sich ja leicht ändern.
2. Den Hinweis zum sdl2-mixer habe ich ergänzt. Das Paket kam erst später dazu.
3. Bitte versuche, den cp-Parameter "--update=none" zu ersetzen durch "--no-clobber". Wenn das auch nicht geht, dann bitte durch "-n". Dieser Parameter gilt als veraltet. Mein cp hat Version 9.4.
4. Bitte die soeben hochgeladene Version testen, ob der Überlauf in MAGXDESK auch damit behoben ist. Ich denke, eine Änderung der RSC-Datei sollte ausreichend sein. Ich habe es rudimentär getestet.

Und vielen Dank fürs Testen! Obwohl ich noch einen Vorkriegs-Mac stehen habe, bin ich doch leider weit weg von macOS, dafür habe ich derzeit keine Energie.

--- Ende Zitat ---
Vielen Dank für die Rückmeldung.

Zu "3.": bei macOS kennt cp anscheinend grundsätzlich keine langen Optionen (wie z.B. "--update=none"). Ich habe deshalb jetzt das LOCALISE.SH wie folgt geändert:

--- Code: ---# Localise MagiC root fs
# Note that this script can be run from anywhere
# TODO: should run recursively

VERBOSE="-v"
#VERBOSE=""

if [ "$#" -eq 1 ]; then
    # go to directory where the script resides
    cd "$(dirname "$0")"
    # convert language code to uppercase
    CODE=`echo $1 | tr a-z A-Z`
    # check if kernel file already matches
    cmp --quiet $CODE/MAGICLIN.OS ../MAGICLIN.OS
    STATUS=$?
    if [ $STATUS -eq 2 ]; then
        echo "LOCALISE.SH: Valid country codes are: "; ls -d ??
        exit 1
    fi
    if [ $STATUS -eq 1 ]; then
        # overwrite all programs and kernel
        cp $VERBOSE -pf $CODE/MAGICLIN.OS ../
        cp $VERBOSE -pf $CODE/GEMSYS/GEMDESK/*.RSC ../GEMSYS/GEMDESK/
        cp $VERBOSE -pf $CODE/GEMSYS/GEMDESK/*.PRG ../GEMSYS/GEMDESK/
        cp $VERBOSE -pf $CODE/GEMSYS/GEMDESK/*.TXT ../GEMSYS/GEMDESK/
        # do not overwrite application database, if exists
        cp $VERBOSE -pn $CODE/GEMSYS/GEMDESK/APPLICAT.DAT ../GEMSYS/GEMDESK/ 2>/dev/null
        cp $VERBOSE -pn $CODE/GEMSYS/GEMDESK/APPLICAT.INF ../GEMSYS/GEMDESK/
    fi
else
    echo "usage: LOCALISE.SH DE|EN|FR"
    #echo $#
    exit 1
fi

--- Ende Code ---
Also "--verbose" durch "-v" ersetzt und "--update=none" durch "n". Damit funktioniert das Script jetzt bei mir auf macOS.

Zu "4.": mit der aktuellen Version von MagicOnLinux von Linux tritt der Crash nicht mehr auf. Danke für's fixen!

Btw. bei mir sieht die Ausgabe von cmake etwas anders aus als die die in der MACOS.txt zur Verifizierung angegeben ist:

--- Code: ----- The C compiler identification is AppleClang 17.0.0.17000603
-- The CXX compiler identification is AppleClang 17.0.0.17000603
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /opt/homebrew/bin/pkg-config (found version "2.5.1")
-- Checking for module 'sdl2'
--   Found sdl2, version 2.32.10
-- Checking for module 'sdl2_mixer'
--   Found sdl2_mixer, version 2.8.1
-- Configuring done (5.0s)
-- Generating done (0.0s)
-- Build files have been written to: /Users/<user>/Source/magiclinux/build

--- Ende Code ---
Wie du siehst wird da auch sdl2_mixer erwähnt.

AndreasKromke:

--- Zitat von: don_apple am Fr 02.01.2026, 21:09:29 ---
--- Ende Zitat ---
Prima. Der cp-Befehl könnte entweder veraltet sein, oder er stammt aus einer anderen Quelle, weil macOS ja auch ein BSD-Unix ist und kein Linux.

Thorsten Otto:

--- Zitat von: AndreasKromke am Fr 02.01.2026, 20:32:50 ---Leider gibt es wohl keine Alternative zu gxmessage, die mindestens so gut ist und auf allen Linux-Versionen sofort greifbar.

--- Ende Zitat ---

Es gibt schon diverse Alternativen (zenity, dialog, yad, whiptail etc.). Ob deren Verfügbarkeit besser ist, weiss ich aber nicht (auf openSUSE gibt es die alle). Evtl. könnte man das auch konfigurierbar machen, da es nur eine zentrale Stelle gibt wo es aufgerufen wird, sollte das machbar sein.

Ich hatte mich auch schon daran versucht, dafür SDL zu verwenden. Müsste prinzipiell möglich sein, da man in SDL2 mehrere Fenster verwalten kann. Allerdings wären dafür einige "Krücken" notwendig (Events von solchen Fenster sollten ja nicht an die Emulation weitergereicht werden). Und das Handling habe ich noch nicht sauber hinbekommen, da Emulation und Graphic in verschiedenen Threads laufen, kann man an der Stelle nicht einfach SDL-Funktionen aufrufen.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln