Drobe :: The archives
About Drobe | Contact | RSS | Twitter | Tech docs | Downloads | BBC Micro

RISC OS emu ported to games console

By Chris Williams. Published: 26th Feb 2006, 23:20:16 | Permalink | Printable

Welcoming ArcEm with open ARMs

An Archimedes emulator has been ported to an ARM powered games console as part of a coding competition. Ian Jeffray took the open source ArcEm and produced a version for Game Park Holding's GP2X gadget - a device powered by two ARM processors. Ian had only 20 days to prepare a port of the emulator and eventually managed to get it displaying the RISC OS 3 desktop on the dual 200MHz ARM9 console. He was also able to use the device's hardware acceleration to scale the desktop down for the portable LCD screen and provide a mouse cursor.

Other entries in the GP2X 2006 competition included a Game Boy emulator and a port of Bubble Train, also available on RISC OS. The Bubble Train game won the event, according to results released earlier today.

"The GP2X scene is mad for emulators and there was no Acorn showing," said Ian when asked why he attempted the ArcEM port.

He continued: "I don't know why ArcEM [on the GP2X] is running three times slower than on a RiscPC, I need to profile it. It needs to be five times faster to be sane and 10 times faster to be useful for games. The people working on the Game Boy Advance emulator are having some trouble, so it seems that an ARM isn't a good CPU for emulating an ARM platform.

"The lack of raw processing power is likely, but you need a lot of code to emulate a single machine code instruction, so to even emulate a 8MHz ARM7 GBA on a 200MHz ARM9 GP2X is quite a factor. And you have to be emulating the graphics, sound and so on at the same time. Perhaps the second CPU on the GP2X can help with that."

The source code to the GP2X port has been added to the ArcEm CVS repository for anyone curious enough to toy with the project and improve upon it. The ArcEm contributors have recently worked on adding sound support to the software and implementing HostFS - allowing the emulator to access the files on the host operating system's file systems.

Released in November 2005, the GP2X uses the combination of an ARM920T and an ARM940T, with 64M of RAM, to run Linux and games, using just two AA batteries. Ian has previously worked on RISC OS games titles, including Inferno and Burn 'Out.



Ian's GP2X webpage ArcEm website

Previous: News in brief
Next: Omega USB project contemplated


Viewing threaded comments | View comments unthreaded, listed by date | Skip to the end

Looks great - now I want one! Well done.

I can't see why it wouldn't be possible to execute a series of instructions natively just as Virtual PC for Windows does for emulated virtual machines on x86 machines. It would be an interesting project! I'd love to be able to play Stunt Racer 2000 on the move.

 is a RISC OS Userksattic on 27/2/06 1:26AM
[ Reply | Permalink | Report ]

ARM on ARM emulation is always going to be slow, but an optimising dynamic translator (nee JIT) does have the potential to turn one emulated instruction in to one native instruction in a large number of cases, and generate far more efficent inline code to do memory lookups. It still will be far slower than fully native, but orders of magnetude faster than pure emulation. The only draw back is the large amount of memory required for a translation cache may not be available on the target device. In which case a simpilier block based JIT as used in Virtual RPC, may produce large gains to be useable, but without such a severe meory penalty.

 is a RISC OS Userdruck on 27/2/06 9:32AM
[ Reply | Permalink | Report ]

Now if only there was a Nokia 770 port, although the speed might be even more of an issue :-(

 is a RISC OS UserJaffa on 27/2/06 9:38AM
[ Reply | Permalink | Report ]

What about virtualisation, or will the arm26 vs. arm32 differences cause problems? How about virtualisation where the virtualiser switches mode to handle arm26 instructions? Does the ARM9 support that? So many questions!

 is a RISC OS Userguestx on 27/2/06 12:04PM
[ Reply | Permalink | Report ]

druck, I look forward to your ARM on ARM JIT patch for ArcEm.

 is a RISC OS Userflibble on 27/2/06 12:43PM
[ Reply | Permalink | Report ]

shame it doesn't run native :(

 is a RISC OS Usersa110 on 27/2/06 1:35PM
[ Reply | Permalink | Report ]

I dreamt about this! Really I ever wrote an article but never send it in to a website!!

 is a RISC OS Userhighlandcattle on 27/2/06 3:01PM
[ Reply | Permalink | Report ]

Please login before posting a comment. Use the form on the right to do so or create a free account.

Search the archives

Today's featured article

  • Using SDL natively
    Neil White makes his move
     2 comments, latest by nex on 17/10/04 10:52AM. Published: 6 Oct 2004

  • Random article

  • DIY guide to building a portable computer
    Swap 'portable' for 'luggable'
     10 comments, latest by Xinoyi on 16/6/05 2:13PM. Published: 30 May 2005

  • Useful links

    News and media:

    Top developers:
    RISCOS LtdRISC OS OpenMW SoftwareR-CompAdvantage SixVirtualAcorn

    CJE MicrosAPDLCastlea4X-AmpleLiquid SiliconWebmonster


    RISCOS.org.ukRISCOS.orgRISCOS.infoFilebaseChris Why's Acorn/RISC OS collectionNetSurf

    Non-RISC OS:
    The RegisterThe InquirerApple InsiderBBC NewsSky NewsGoogle Newsxkcddiodesign

    © 1999-2009 The Drobe Team. Some rights reserved, click here for more information
    Powered by MiniDrobeCMS, based on J4U | Statistics
    " So, where's your DHCP port?" "Unreleasable for legal reasons""
    Page generated in 0.0846 seconds.