Hardware > Emulatoren

AtariX => MagicOnLinux

<< < (66/77) > >>

AndreasKromke:

--- Zitat von: goetz @ 3rz am So 18.01.2026, 21:14:45 ---(...)
Aaaaah, okay, das brauche ich genau null, v.a. nicht unter MagiC. Danke.

(Und auch sonst: Der SM124 bzw. ST-Hoch war einer der Hauptgründe mir einen ST zu kaufen. Neben dem Preis.)

--- Ende Zitat ---

Tatsächlich braucht man das für ein paar "spezielle" Programme. GfaBasic oder OmikronBasic oder ein paar andere aus der Ära, wobei man dann aber besser "ST-High" verwendet. Auch der 16-Farben-"interleaved"-Modus ist nur aus Kompatidings da. Er ist unpraktisch und langsam. Der andere 16-Farben-Modus funktioniert dagegen bei Programmen nicht, die am Bildspeicher herumpfuschen. Übrigens ist der 256-Farben-Modus von Atari auch "interleaved", weshalb, sofern ich mich richtig erinnere, die Behne für diesen Quatsch auch keinen Treiber gemacht haben.

Thorsten Otto:
Als Atari-Treiber schon (mfa256.s), wird ja schliesslich auch für TT gebraucht. Für Emulator aber nur in der pixel-packed Version (mfm256.s). Offscreen-Treiber gibt es aber für beide Formate.

AndreasKromke:
Richtig. Ich korrigiere: Die BBs haben für mich keinen entsprechenden Treiber gemacht.

Der letzte Fehler, mit der falschen Palette, der nur mit NVDI auftrat, lag letztendlich am MVDI. Ich habe mich mit dem disassemblierten NVDI dumm und dusselig gesucht, aber bin damit nur extrem mühsam weitergekommen. Dann erst hatte ich die Idee, erst den Fehler im MVDI-Treiber zu beheben, den ich schon vorher im Quelltext gesehen hatte (klassischer Copy-Paste-Fehler). Beim Debuggen des NVDI bin ich also letztlich steckengeblieben, wenn auch nicht stecken geblieben, denn ich steckte vorher ja nicht.

Das wird wieder gruselig, wenn ich den VT52-Fehler suchen will, ich befürchte das Schlimmste. Vielleicht schaue ich auch erstmal in die entsprechenden MVDI-Treiber.

Thorsten Otto:

--- Zitat von: AndreasKromke am Mo 19.01.2026, 09:30:58 ---Die BBs haben für mich keinen entsprechenden Treiber gemacht.

--- Ende Zitat ---

Wozu auch ;) Die waren ja ursprünglich für Mac gedacht, und da gibt es so ein Format ja nicht.

Wäre vermutlich kein grosser Aufwand, einen entsprechenden Treiber zu bauen. Fragt sich nur ob das Sinn macht, wird sicherlich langsamer sein als pixel-packed. Einzigen Grund den ich mir vorstellen könnte ist, wenn es Programme gibt, die mit pixel-packed bei 256 Farben nicht zurecht kommen. Aber die würden dann mit einer Grafik-Karte vermutlich auch nicht funktionieren.

don_apple:
Nachdem sich MagicOnLinux auf dem MacBook Air M3 mit macOS Sonoma (15.7.3) ohne Probleme bauen läßt , hab' ich das jetzt auch mal auf einem Intel Mac mit macOS Ventura (13.7.8) versucht.

Da scheitert das compilieren komischerweise allerdings bei der Datei src/MagiC.cpp mit den folgenden Fehlern:

--- Code: ---/Users/frank/Source/magiclinux/src/MagiC.cpp:138:23: error: expected expression
    *criticalRegion = PTHREAD_MUTEX_INITIALIZER;
                      ^
In file included from /Users/frank/Source/magiclinux/src/MagiC.cpp:32:
In file included from /Users/frank/Source/magiclinux/inc/emulation_globals.h:4:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/atomic:526:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__thread/timed_backoff_policy.h:18:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__threading_support:37:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/pthread.h:185:35: note:
      expanded from macro 'PTHREAD_MUTEX_INITIALIZER'
#define PTHREAD_MUTEX_INITIALIZER {_PTHREAD_MUTEX_SIG_init, {0}}
                                  ^
/Users/frank/Source/magiclinux/src/MagiC.cpp:175:36: warning: cast between pointer-to-function and pointer-to-object is an extension
      [-Wpedantic]
    jump_table[jump_table_len++] = (void *) callback;
                                   ^~~~~~~~~~~~~~~~~
/Users/frank/Source/magiclinux/src/MagiC.cpp:278:28: error: expected expression
    m_KbCriticalRegionId = PTHREAD_MUTEX_INITIALIZER;
                           ^
In file included from /Users/frank/Source/magiclinux/src/MagiC.cpp:32:
In file included from /Users/frank/Source/magiclinux/inc/emulation_globals.h:4:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/atomic:526:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__thread/timed_backoff_policy.h:18:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__threading_support:37:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/pthread.h:185:35: note:
      expanded from macro 'PTHREAD_MUTEX_INITIALIZER'
#define PTHREAD_MUTEX_INITIALIZER {_PTHREAD_MUTEX_SIG_init, {0}}
                                  ^
/Users/frank/Source/magiclinux/src/MagiC.cpp:280:29: error: expected expression
    m_ScrCriticalRegionId = PTHREAD_MUTEX_INITIALIZER;
                            ^
In file included from /Users/frank/Source/magiclinux/src/MagiC.cpp:32:
In file included from /Users/frank/Source/magiclinux/inc/emulation_globals.h:4:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/atomic:526:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__thread/timed_backoff_policy.h:18:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__threading_support:37:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/pthread.h:185:35: note:
      expanded from macro 'PTHREAD_MUTEX_INITIALIZER'
#define PTHREAD_MUTEX_INITIALIZER {_PTHREAD_MUTEX_SIG_init, {0}}
                                  ^
/Users/frank/Source/magiclinux/src/MagiC.cpp:301:20: error: expected expression
    m_EventMutex = PTHREAD_MUTEX_INITIALIZER;
                   ^
In file included from /Users/frank/Source/magiclinux/src/MagiC.cpp:32:
In file included from /Users/frank/Source/magiclinux/inc/emulation_globals.h:4:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/atomic:526:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__thread/timed_backoff_policy.h:18:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__threading_support:37:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/pthread.h:185:35: note:
      expanded from macro 'PTHREAD_MUTEX_INITIALIZER'
#define PTHREAD_MUTEX_INITIALIZER {_PTHREAD_MUTEX_SIG_init, {0}}
                                  ^
/Users/frank/Source/magiclinux/src/MagiC.cpp:302:24: error: expected expression
    m_ConditionMutex = PTHREAD_MUTEX_INITIALIZER;
                       ^
In file included from /Users/frank/Source/magiclinux/src/MagiC.cpp:32:
In file included from /Users/frank/Source/magiclinux/inc/emulation_globals.h:4:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/atomic:526:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__thread/timed_backoff_policy.h:18:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__threading_support:37:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/pthread.h:185:35: note:
      expanded from macro 'PTHREAD_MUTEX_INITIALIZER'
#define PTHREAD_MUTEX_INITIALIZER {_PTHREAD_MUTEX_SIG_init, {0}}
                                  ^
/Users/frank/Source/magiclinux/src/MagiC.cpp:303:14: error: expected expression
    m_Cond = PTHREAD_COND_INITIALIZER;
             ^
In file included from /Users/frank/Source/magiclinux/src/MagiC.cpp:32:
In file included from /Users/frank/Source/magiclinux/inc/emulation_globals.h:4:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/atomic:526:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__thread/timed_backoff_policy.h:18:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/__threading_support:37:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/pthread.h:214:34: note:
      expanded from macro 'PTHREAD_COND_INITIALIZER'
#define PTHREAD_COND_INITIALIZER {_PTHREAD_COND_SIG_init, {0}}
                                 ^

--- Ende Code ---
Meine C/C++ Kenntnisse reichen leider nicht aus um herauszufinden wie man diese Fehler beheben kann. Laut Google fehlt da wohl irgendwo ein "pthread_mutex_t", aber wo genau konnte ich nicht rausfinden.

Laut https://stackoverflow.com/questions/14320041/pthread-mutex-initializer-vs-pthread-mutex-init-mutex-param wird heutzutage wohl auch empfohlen pthread_mutex_init() anstatt PTHREAD_MUTEX_INITIALIZER zu verwenden.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln