Hardware > Emulatoren
AtariX => MagicOnLinux
Thorsten Otto:
Irgendein Ordner im $HOME Verzeichnis wäre schon besser denke ich, sonst braucht man root -Privilegien zur Installation. Für tests sicher nicht ideal.
Oder den pfad mit `xdg-user-dir DOCUMENTS`, oder besser noch `xdg-user-dir PUBLICSHARE` erfragen.
Thorsten Otto:
--- Zitat von: ragnar76 am Di 25.11.2025, 18:41:29 ---Das ging, glaube ich, schon mit dem alt ehrwürdigen STonX. Bin mir aber nicht mehr 1000%tig sicher, musste ich nochmal probieren
--- Ende Zitat ---
Geht mit einiger Sicherheit nicht. Ab $E00000 (14MB), oder spätestens ab $FC0000 steht das ROM. Und STonX emuliert komplett die Hardware-Addressen ab $FF0000. Bei MagicOnLinux geht das nur, weil so gut wie keine Hardware-Zugriffe emuliert werden, stattdessen wird alles an den Emulator weitergereicht.
Was mich daran erinnert, mal die ganzen APPS aus MagicMac mit einem geänderten Startup-Code zu linken, der nicht versucht eine SFP004 FPU an $FFFA42 zu finden.
PS:
--- Code: ---[ATARI EMULATION]
atari_memory_size = 536870912
--- Ende Code ---
funktioniert bei mir problemlos.
tosbombe:
Und auf dem Apple Silicon Mac ein Schrittchen weiter voran. Die Abfrage der offenen Dateien nach POSIX über /proc/fs muss BSD kompatibel angepasst werden, sind gerade mal drei anzupassende Zeilen. Es hakt aber noch beim Anzeigen der Laufwerksinhalte.
Unter Latest&Greatest Ubuntu für ARM64 konnte ich die Sourcen problemlos kompilieren, aber in QEMU wird der Mauszeiger nicht eingefangen. D.h. Klicks werden ignoriert.
AndreasKromke:
--- Zitat von: tosbombe am Di 25.11.2025, 19:01:32 ---Und auf dem Apple Silicon Mac ein Schrittchen weiter voran. Die Abfrage der offenen Dateien nach POSIX über /proc/fs muss BSD kompatibel angepasst werden, sind gerade mal drei anzupassende Zeilen. Es hakt aber noch beim Anzeigen der Laufwerksinhalte.
(..)
--- Ende Zitat ---
Sieht ja schon sehr schön grüüüün aus. Beim Mac müßte man noch beachten, daß das Dateisystem "case insensitive" ist, wenn ich mich recht erinnere. Das kann man theoretisch auch in die config-Datei eintragen für die virtuellen Laufwerke, konnte ich aber nicht testen, und ich weiß auch spontan nicht mehr, was das für einen Unterschied macht.
Die ersten kleinen Korrekturen habe ich übrigens gerade einfließen lassen. Ich empfehle ein "git pull".
RealLarry:
--- Zitat von: Thorsten Otto am Di 25.11.2025, 16:08:23 ---
--- Zitat von: RealLarry am Di 25.11.2025, 15:56:57 ---(10:04:23) DBG-INF LoadReloc("/home/larry/Atari-ST/magiclinux/Atari-rootfs/MAGICLIN.OS")
(10:04:23) DBG-ERR hostpath2HostFD() -- host path is located outside Atari drive C: "/usr/share/games/hatari/magiclinux/Atari-rootfs"
--- Ende Zitat ---
Sieht so aus als wenn dein Kernel in einem anderen Verzeichnis steht als dein rootfs. Kopiere den doch mal dorthin, und pass den Pfad entsprechend an.
Edit: gerade mal getestet, und mit
--- Code: ---[HOST PATHS]
atari_kernel_path = "/usr/share/games/magiclinux/Atari-rootfs/MAGICLIN.OS"
atari_rootfs_path = "/usr/share/games/magiclinux/Atari-rootfs"
--- Ende Code ---
funktioniert es (vorrausgesetzt, in dem Verzeichnis sind dann auch tatächlich die benötigten Dateien)
--- Ende Zitat ---
Danke, den Hinweis "host path is located outside" hatte ich gar nicht wahrgenommen...
Mein /home/larry/Atari-ST/ ist ein Symlink, damit scheint magiclinux (noch) nicht mitspielen zu wollen. Okay, den ganzen Bums nach /usr/share/games/magiclinux/Atari-rootfs umgezogen, dann verlangt es beim Start aber /home/larry/Documents/Atari-rootfs/MAGICLIN.OS. Wohlan, auch das angelegt und mit MAGICLIN.OS und GEMSYS/ bestückt. So weit so gut, dann meckert magiclinux aber über Drive C:, H: und M: - und endet wieder mit "could not find a suitable video driver"
In magiclinux.conf unter [ADDITIONAL ATARI DRIVES] habe ich noch nichts weiter angelegt.
--- Code: ---(07:09:26) DBG-INF Init() - MultiThread version for Linux
(07:09:26) DBG-INF Init() - 68k trace is emulated (slows down the emulator a bit)
(07:09:26) DBG-INF () - 68k ROM is not write-protected (makes the emulator a bit faster)
(07:09:26) DBG-INF Init() - 68k PC is checked for validity (slows down the emulator a bit)
(07:09:26) DBG-INF Init() - Autostart ON
(07:09:26) DBG-WRN EventLoop() - unhandled SDL event 518
(07:09:26) DBG-INF LoadReloc("/home/larry/Documents/Atari-rootfs/MAGICLIN.OS")
(07:09:26) DBG-INF LoadReloc() - kernel file size = 225447
(07:09:26) DBG-INF LoadReloc() - Size TEXT = 211520
(07:09:26) DBG-INF LoadReloc() - Size DATA = 10648
(07:09:26) DBG-INF LoadReloc() - Size BSS = 21
(07:09:26) DBG-INF LoadReloc() - Size overall, including basepage and stack = 0x000364ee (222446)
(07:09:26) DBG-INF LoadReloc() - Start address Atari = 0x7f3d749f3010 (host)
(07:09:26) DBG-INF LoadReloc() - Memory size Atari = 0x00800000 (= 8192 kBytes)
(07:09:26) DBG-INF LoadReloc() - Load address of system (TEXT) = 0x007c9c10 (68k)
(07:09:26) DBG-INF LoadReloc() - seek to relocation table, file offset 222196
(07:09:26) DBG-INF Init() - MagiC kernel loaded and relocated successfully
(07:09:26) DBG-INF Init() - Atari video mode is 24-bit true colour
(07:09:26) DBG-INF Init() - 68k video memory starts at 68k address 0x00800000 and uses 3145728 (0x00300000) bytes.
(07:09:26) DBG-INF Init() - 68k video memory and general memory end is 0x00b00000
(07:09:26) DBG-INF PixmapToBigEndian() -- Convert Pixmap to big-endian
(07:09:26) DBG-INF Init() - basepage address of system = 0x007c9b10 (68k)
(07:09:26) DBG-INF Init() - address of Atari68kData = 0x007c9ac2 (68k)
(07:09:26) DBG-INF Init() - sizeof(CMagiC_CPPCCallback) = 16
(07:09:26) DBG-INF Init() - sizeof(CMagiC_PPCCallback) = 16
(07:09:26) DBG-INF Init() - OS ROM range from 0x007c9c10..0x007fffe8 (68k)
(07:09:26) DBG-INF init() -- Atari drive C: is not a regular file: "/home/larry/Documents/Atari-rootfs"
(07:09:26) DBG-INF init() -- Atari drive H: is not a regular file: "/home/larry"
(07:09:26) DBG-INF init() -- Atari drive M: is not a regular file: "/"
(07:09:26) DBG-INF CMagiC::CreateThread() - erfolgreich
(07:09:26) DBG-INF AtariInit() - ATARI: First initialisation phase done.
(07:09:26) DBG-INF AtariDebugOut(Grafikausgabe initialisieren)
(07:09:26) DBG-INF AtariDebugOut(VT52 initialisieren)
(07:09:26) DBG-INF AtariDebugOut(BIOS-Initialisierung abgeschlossen)
(07:09:26) DBG-INF AtariBIOSInit() - ATARI: BIOS initialisation done.
(07:09:26) DBG-INF AtariDebugOut(MagiC-VDI initialisieren)
(07:09:26) DBG-INF Drv2DevCode(drv = 2) => 0x00010003
(07:09:26) DBG-INF AtariError(-1)
(07:09:26) DBG-WRN EventLoop() - unhandled SDL event 772
(07:09:26) DBG-WRN EventLoop() - SDL_CLIPBOARDUPDATE currently unhandled
(07:09:26) DBG-WRN EventLoop() - unhandled SDL event 518
(07:09:28) DBG-INF CMagiC::TerminateThread()
--- Ende Code ---
--- Code: ---[HOST PATHS]
atari_kernel_path = "/usr/share/games/magiclinux/Atari-rootfs/MAGICLIN.OS"
atari_rootfs_path = "/usr/share/games/magiclinux/Atari-rootfs"
atari_h_home = YES
atari_h_rdonly = YES
atari_m_host_root = YES
atari_m_host_root_rdonly = YES
atari_temp_path = "/tmp"
[HOST DEVICES]
atari_print_cmd = "echo printing not yet implemented"
atari_serial_dev_path = ""
[ATARI SCREEN]
atari_screen_width = 1024
atari_screen_height = 768
atari_screen_stretch_x = 2
atari_screen_stretch_y = 2
atari_screen_rate_hz = 60
atari_screen_colour_mode = 0
# 0:24b 1:16b 2:256 3:16 4:16ip 5:4ip 6:mono
hide_host_mouse = NO
[SCREEN PLACEMENT]
app_display_number = 0
app_window_x = 4294967295
app_window_y = 4294967295
[ATARI EMULATION]
atari_memory_size = 8388608
atari_language = 0
show_host_menu = YES
atari_autostart = YES
[ADDITIONAL ATARI DRIVES]
# atari_drv_<A..T,V..Z> = flags [1:read-only, 2:8+3, 4:case-insensitive] path or image
--- Ende Code ---
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln