Amiga.org
Amiga computer related discussion => Amiga Software Issues and Discussion => Topic started by: motorollin on November 01, 2007, 08:29:28 PM
-
Is there any reason why OS3.9 functions couldn't be rewritten as PPC versions? It seems to me that this could be a good alternative to OS4 Classic if what one is looking for is a PPC native Workbench with Classic compatibility.
--
moto
-
motorollin wrote:
Is there any reason why OS3.9 functions couldn't be rewritten as PPC versions?
Well I guess that is what those OS4 and MorphOS guys did ?
If you meant recompile, then it depends on the sources (C / 68k asm / no sources at all)
-
No, I didn't mean recompile. I meant rewrite from scratch. MorphOS and OS4 aren't quite the same since they're not (AFAIK) API compatible with OS3.x. A PPC rewrite of 3.x would be both API and binary compatible (binary compatibility being provided by the 68k CPU).
--
moto
-
MorphOS is API and binary (ABI) compatible with AOS 3.x (barring couple of things, such as BCPL).
MorphOS started as a tight microkernel + static (no just-in-time compilation back then) 68k emulator for PowerUP cards. Only couple of core components were PPC native back then (exec, expansion and couple of other things). The KS ROM components were replaced one by one with PPC native versions, but the 68k APIs were kept. This way any OS legal 68k app will continue to run as it has no idea how the actual underlying OS function is implemented.
The obvious benefit of using the 68k emulation is that you don't need to worry about the caches. With dual 68k and PPC you must manually keep track of caches and flush when needed. This results in severe penalties as typically both 68k and PPC caches are fully flushed when switching the processor.
Also, once you throw in JIT compilation, the emulated 68k runs circles around 68060, not to mention 68040@25.
W00T, this was my 4000th post.
-
MorphOS and OS4 aren't quite the same since they're not (AFAIK) API compatible with OS3.x. A PPC rewrite of 3.x would be both API and binary compatible (binary compatibility being provided by the 68k CPU).
There is no binary compatibility without API compatibility. They are not 100% compatible because they dont support everything (i.e. BCPL programs).
Is there any reason why OS3.9 functions couldn't be rewritten as PPC versions?
One could also write a 68k emulator for PPC (to run OS3 on PPC under emulation) and systemically replace 68k components.
-
Piru wrote:
MorphOS is API and binary (ABI) compatible with AOS 3.x (barring couple of things, such as BCPL).
Interesting, I didn't realise that. Would it even run hardware bashing software like WHDLoad? (on Classic)
Piru wrote:
Also, once you throw in JIT compilation, the emulated 68k runs circles around 68060, not to mention 68040@25.
Even on BPPC/CSPPC?
Piru wrote:
W00T, this was my 4000th post.
W00t indeed :pint:
--
moto
-
motorollin wrote:
Piru wrote:
Also, once you throw in JIT compilation, the emulated 68k runs circles around 68060, not to mention 68040@25.
Even on BPPC/CSPPC?
In fact, the MOS 68k JIT on my CSPPC 604/180 MHz beats the 68060/50 MHz. Demos like SilkCut or Starstruck runs even faster under MOS than on a real 68k.
-
@motorollin
Would it even run hardware bashing software
HW bashing stuff never was target for MorphOS, but some things do work. It has been a while I ran MorphOS on amiga so my memory is a bit hazy here... I remember running some demos and intros on it though.
like WHDLoad? (on Classic)
I really don't know. If I'd have to guess I'd say no (the emulated 68060 has no MMU for example).
Piru wrote:
Also, once you throw in JIT compilation, the emulated 68k runs circles around 68060, not to mention 68040@25.
Even on BPPC/CSPPC?
Easily.
-
wow i knew the JIT engine was powerful but never imagined the bppc\cppc would out run a 060 in just in time emulation . Makes me want to try out morph os on my bppc . Is the classic version fast compared to a 060 with voodoo in 3.9 i would assume it is since the JIT can outrun it