[Rpcemu] Thoughts on RPCemu development
tommowalker at yahoo.co.uk
Wed Jul 25 12:36:52 BST 2007
I'm trying to decide where to take RPCemu from here. I've outlined some
thoughts below - I'd appreciate any comments or suggestions about things I
haven't thought of.
- Improved video support. 8mb VRAM is in SVN, though it only patches the RISC
OS 4.02 ROMs at present. Video acceleration is probably the next step, though
I'm not sure how to go about this - what SWIs are commonly used for video,
besides OS_SpriteOp and the VDU drivers?
- Improved Linux support. It needs a proper user interface, and better sound
support (which only works in the interpreter, and then only by accident).
- OS X port. Most of the source is now endian neutral, the only bits I'm
aware of that don't work on big endian machines are the floppy disc emulation
and HostFS. It shouldn't be difficult to add a proper OS X interface while
still using Allegro (Thomas Harte's port of B-em shows how this should be
done). Adding a PowerPC dynarec is non-trivial, but should be possible.
It was painful enough making RPCemu endian neutral, as I had to work using
PearPC. Therefore, I don't intend to do any of the work on the OS X port
(unless someone wants to donate a Mac)
- Emulation of an IDE card, so you can have a CD drive and more than one hard
drive. I have working code for an ICS IDE interface in Arculator (not
released) which could be transplanted to RPCemu. I imagine there could be
license problems though - could either the original ROM, or John Kortink's
ZIDEFS, both of which are closed source, be distributed without breaking the
- x86-64 dynarec needs much improving. This is what I intend to focus on in
the immediate short term.
- Direct floppy disc access. On Windows, accessing FAT floppy discs should be
easy. ADFS discs would need some kind of driver. I don't know about on Linux.
ADFS discs will be easy on DOS, assuming anyone actually uses the DOS port.
- On the subject of the DOS port, CD-ROM and sound support should be added. I
don't expect anyone to do this - I only added the DOS port to see if it was
- Network access. Probably the best way would be to emulate a LAN91C111, and
use Castle's EtherY interface. This is hampered by me being clueless about
networking in general.
- Better sound support. I suspect this will mean ditching Allegro's sound
- Mouse wheel support. Probably through the support module in ArcEm.
- MIDI emulation. I wouldn't mind being able to play Doom with music. The
Windows side of this is easy, the RISC OS side is less so, as I don't know
how MIDI really works in RISC OS.
- Support for non-RISC OS operating systems. Debian _nearly_ works - it
starts up fine, but BusyBox crashes (I think it's trying to access a library
that isn't there). NetBSD doesn't work at all. ARMedslack used to crash early
in startup, but in recent builds of RPCemu I can't even get past the boot
Yahoo! Answers - Got a question? Someone out there knows the answer. Try it
More information about the Rpcemu