website logo
Auteur
avatar
thellier

Forum » » OS4 sur Classic » » AmigaOS4.1 sur WinUAE PPC


Posté : 09-09-2014 14:46 icone du post

Tony Wilen vient d'expliquer pourquoi les anciens drivers x86 (comme Picasso96 et Wazp3D) ne marchent pas dans WinUAE-ppc


En fait ces drivers utilisent des instructions ASM 68k spéciales nommées TRAP : Faire un TRAP permet à l'émulateur 68k de WinUAE d'appeler une fonction X86 avec les paramétres dans les registres 68k émulés


Ceci permet a des progs 68k Amiga pour WinUAE d'utiliser les fonctions de Windows comme DirectX,OpenGL,etc..


Par contre dans OS4 les progs 68k tournent avec la JIT de pétunia sur le ppc et non pas dans le  68k (cad ici l'émulateur 68k de WinUAE) 


Et comme le tout nouveau émulateur ppc de WinUAE  (QEMU etc..) ne connais pas la bidouille des TRAPs ==> ça appelle rien coté x86


En plus la bidouille TRAP, pour passer les parametres à la fonction x86 appelée, utilise les registres de l'émulateur 68k de WinUAE : or celui ci est inactif en OS4 puisque tout est fait avec le ppc même les progs 68k ==> nulle part pour stocker les parametres


Bref ça va demander plein d'évolutions chiantes à Toni


"About "UAE" devices and directory filesystem running under OS4:

Even if OS4 supports them (it should, at least in theory) but there are two technical problems:

m68k to host switching is done using m68k TRAP instructions, when UAE m68k emulator notices trap instruction executed by UAE boot rom, it calls host side code and trap instruction is not emulated. This can't work if m68k is not UAE m68k, PPC emulated m68k just executes trap instruction and bad things happen. Traps needs to be replaced with IO accesses to some reserved space (like UAE boot ROM). Quite easy update.

Much more complex problem: host side code takes parameters from UAE m68k emulator's registers which won't work when UAE m68k is idle and "m68k" is PPC emulated.. Each trap call needs to save parameters to memory and return code also needs to be memory based, not D0 register. This requires lots of really boring updates..

Only after everything else works. Maybe.
"

Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=1926&forum=8