PicoDrive for RISC OS
v0.11

This is the first formal release of the Mega Drive emulator
PicoDrive (http://www.finalburn.com/mobile/pico.html) which
was ported to RISC OS by Jeffrey Lee (aka phlamethrower).

I have since optimised the rendering code, added keyboard input,
multitasking, audio output and DMA acceleration for the rendering
so that it is now usable for playing some Mega Drive games,
though you might want to switch to a 32K colour screen mode
for performance reasons and to ensure the audio plays more smoothly
(it's currently very primitive, and thus somewhat garbled).

The PicoDrive emulator does not currently implement the full
Mega Drive functionality, so some games will lack features,
particularly audio because it's missing the Z80 coprocessor
and the Programmable Sound Generator (a Texas Instruments
chip that will be familiar to old BBC hackers). I expect
these will come with time.

So, what are the keys?

 cursor keys - direction pad (up, down, left, right)

 Return - Start button
 A - button 'A'
 S - button 'B'
 D - button 'C'

 P - pause/resume
 Tab - toggle size between 100% and 200% scale
 Space - enter/leave full screen mode

It's supposed to support joysticks too but there's been a
certain amount of guesswork involved so you may find that
it doesn't work (properly) with your (USB) joystick.

If you settype your ROM images to &A89 (SMDROM) then
you can double-click them. Otherwise, just run !PicoDrive
manually and then drag the ROM image into the window.

There's a 320x240 screen mode definition in !PicoDrive.Mode
which you can copy into your MDF for full screen operation,
or (on an Iyonix anyway), you can press Tab before entering
full screen mode because you will already have a definition
for 640x480.

Notes:

The emulator core demands the use of reliable LDRH/STRH
operations and they are also useful when rendering to
16bpp modes. However, these are not reliable/usable on
the RiscPC, so there's a separate build for that currently,
and the A9home shares the RiscPC build because although
they do work properly on the A9home's ARM9 processor, it
appears that the A9home screen does not support half-word
stores. (To be confirmed after further investigation.)

The A9home and RiscPC both have to decimate the output
video currently, rendering and displaying only every other
frame in order to run at an acceptable speed. The IYONIX pc
is fast enough to do every frame when unscaled but starts
to struggle when the image is resized; we probably need the
graphics card to do inexpensive resizing.

There's no sound when running on the A9home, or RiscPC with
8-bit sound. It looks like DigitalRenderer does not work on the
A9home currently. I haven't investigated further at the moment.
I'm not sure whether I shall continue to use this module;
it would be good to have SharedSound support (and 8-bit output
too), plus the API doesn't match the emulator's construction
very well, making it difficult to stream smoothly.

Lastly, yes, I know about the various rendering artefacts,
and in particular its failure to draw only within its own
window. Don't worry about them for now; this should be fixed
in a later version ;)

Enjoy!

AL
22 Oct 2006


History:


 0.10 - 03 Oct 2006 - Initial release
 0.11 - 22 Oct 2006 - R/B swapping for 32K modes on later, unmodified
        GF cards because Castle's ROM/hardware doesn't do this

PicoDrive for RISC OS was brought to you by:-

 Michael Drake
 Jeffrey Lee
 Adrian Lees

PicoDrive and the Cyclone emulator were written by Dave of

  http://www.finalburn.com/

