@michalmarek77,
post #46
Ale emulacja AmigaOS przez WinUAE to coś zupełnie innego niż odpalanie programów PPC (a nawet 68k) bezpośrednio pod MOS lub AOS4.
W przypadku WinUAE emulowany jest cały komputer, z CPU i chipsetem na poziomie rejestrów. Tak samo działa program odpalony przez UAE na MOS lub AOS4. Ale taka kompatybilność to nie jest dla mnie żadna kompatybilność, to jest emulacja.
Jednak pod MOS lub OS4 amigowe programy PPC działają natywnie, bez żadnych emulowanych CPU czy rejestrów: program chce otworzyć jakąś bibliotekę np. dos.library i otwiera ją. Jest to biblioteka natywna, działająca w systemie i dla programu nie ma to znaczenia, czy jest ona 68k w systemie OS3, czy PPC w MOS (OS4). Efekt finalny jest ten sam. W przypadku programów 68k emulowany jest procesor, a właściwie program rekompilowany jest w locie (JIT) do kodu PPC, zaś wszystkie zasoby z których korzysta są natywne dla systemu (tzn. nie są emulowane żadne rejestry).
W przypadku nowszych produkcji scenowych, gdzie wykorzystano akcelerację 3d, a demo korzysta z API systemowego, to taki program działa natywnie na odpowiednio wypasionym klasyku, ale także na maszynie z Morphosem, czy AmigaOS4. Takie są np. produkcje MDW i nie wymagają one specjalnych zabiegów - działają równie dobrze na klasyku z PPC, MOSie, OS4. W przypadku kodu 68k nie trzeba nawet PPC, a nadal program działa na tych platformach (przykładem takiego programu jest AmiNetRadio).
PS. Jeszcze dodam, że ta kompatybilność nie jest osiągnięta dzięki tłumaczeniu wywołań z jednego systemu na inny - tak działają wrappery (jego przykładem jest wrapper umożliwiający odpalenie części softu wyłącznie dla OS4 pod MOSem: OS4Emu).
Tu system oferuje programom API zgodne z API systemu dla którego zostały napisane. Taką cechę ma też Windows umożliwiający odpalenie softu napisanego pod Win3.11 pod najnowszą siódemką. To jest typowy przykład kompatybilności wstecznej
Ostatnia edycja: 07.06.11 18:37:18