• Yokemate of Keyboards
    Yokemate of Keyboards
    Posts: 11868 from 2003/5/22
    From: Germany

    > Interesting note:
    > "X5000s CPU is not compatible with any FreePascal program at the moment"
    > Is this only true for OS4 or also for MorphOS on X5000?

    "Why my Programs does not work on AmigaOS4 X5000? The problem is, that FreePascal itself does not know the X5000 CPU, and it seems to be not a normal PowerPC, but needs some special care. I heard something about special alignment problems. I don’t have a X5000, Charlie doesn’t have a X5000 and we do not know whats special about it to fix that issue. Besides, we both are not really using OS4, we both use [...] MorphOS [...]. [...] If you are interested in Pascal and Amiga(OS4) and want to help with the compiler doing a better job on X5000 [...] you can just do it, it’s open source, send us a patch."

    I have a feeling this doesn't really answer the question, does it? ;-)

    But this does:

    "I'd like to fix Free Pascal's code generator to work properly on the X5000 on AmigaOS4. [...] My guess is that OS4's kernel doesn't provide a full compatibility with the standard 603/G3 instruction set via emulation, esp. when it comes to various FPU alignment restrictions. (MorphOS might also affected partly, but its kernel is more robust in this regard.)"

    Edit: Finally solved:

    "this issue, or at least the worst of it is now fixed in Free Pascal SVN trunk. As usual, the issue was solved with the help of a MorphOS Developer. They provided remote access to an X5000. [...] It was some optional optimization in some memory copy/fill routine, which only works on a subset of PowerPCs - primarily the ones shipped by Apple back then - as it assumes a certain cache line size. This optimization should have been disabled for OS4, but it wasn't. [...] Meanwhile, it was also uncovered, that FPC's PowerPC code generator doesn't really respect a set of FPU data access alignment restrictions, but these are normally hid by the OS via exception handling. These to be fixed soon."

    [ Edited by Andreas_Wolf 18.09.2020 - 22:39 ]
  • »29.06.20 - 15:10