PPC - Pocket PC - Axim x50v

General
2005-11-03
2013-04-03
  • I am thinking about try to compile OpenMSX for a PPC. Id like to know if any of u had tried it or if u have any advice for me. I am thinking about use ms-evc as the compiler.

    thanks
    Veiga

     
    • So far, openMSX has only been compiled with GCC and Intel's C++ compiler. So if you can use GCC, you're likely to encounter less problems. However, if you decide to go with Microsoft's compiler, we're interested to learn what kind of changes you had to make to get openMSX to compile - if they're not too disruptive, we'd like to integrate them into CVS.

      About the CPU: it seems the Axim x50v uses the Intel PXA 270, which is an XScale CPU (ARM-like) with MMX support. If the XScale MMX is similar enough to x86 MMX, it might be possible to adapt the MMX code openMSX, which will speed up graphics scaling a lot. In any case, at 624MHz, I expect this CPU is powerful enough to run openMSX at full frame rate for running games. A lot also depends on the speed at which you can write pixels into VRAM, but I expect that on a PDA there will be less/thinner layers between the application and the hardware than on a desktop, so that should help performance.

      Since you're considering Microsoft's compiler, I guess you're running Windows on the Axim. I don't know how much the Pocket PC version of Windows differs from the desktop version, for which openMSX already has support.

      As you'll be cross compiling, you'll have to tell the build system your target platform, instead of relying on auto-detection. Set the environment variables OPENMSX_TARGET_CPU, OPENMSX_TARGET_OS and OPENMSX_CXX (the latter should point to the cross compiler executable). The files build/cpu-*.mk and build/platform-*.mk tell openMSX how to handle a certain CPU and platform, so you should add files for the PXA 270 and for embedded Windows.

      You'll have to find Pocket PC versions of the libraries openMSX needs, or remove the dependencies from openMSX. I suggest you start with the former, since it will likely be less effort. There seems to be SDL for Pocket PC, although I'm not sure how mature it is. Libraries like TCL, libxml and libpng are pretty portable, so I guess they're already ported, if not, it shouldn't be too hard to do it yourself.

      If you have any questions, please ask them here, on the openmsx-devel mailing list or on IRC (#openmsx on irc.freenode.net). Most of the developers are present on IRC in the evenings (GMT+1).

      Please keep us updated on your successes and troubles.