Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Sega Pico ROM support in RetroPie



  • In my video game research I recently came across the Sega Pico which is "an educational video game console by Sega and powered by the same hardware used in the Sega Genesis, the physical shape of the Pico was designed to appear similar to a laptop. Included in the Pico are a stylus called the "Magic Pen" and a pad to draw on. Controlling the games for the system is accomplished either by using the Magic Pen like a mouse or by pressing the directional buttons on the console."

    I tried a couple of the ROMs (which had the .md extension) and they ran in both lr-picodrive and lr-genesis-plus-gx. I bet that's where PicoDrive got its name. Anyways all the buttons and dpad works but I don't have a way to emulate the "Magic Pen" stylus so I couldn't really "play" any of the games I tried. Does anyone know of a way to use like a USB mouse to emulator the "Magic Pen"?

    What I'm running:
    Pi Model: 3B
    RetroPie Version Used: 4.1.5 (I think)
    Built From: Pre made SD Image on RetroPie website
    USB Devices connected: USB keyboard & mouse
    Controller used: wireless Xbox 360 controller
    Emulator: lr-picodrive & lr-genesis-plus-gx


  • Global Moderator

    @backstander

    As nice as RetroArch is, it's notorious for leaving this type of peripheral functionality out during integration. I can't find a word about the 'Magic Pen' at the RetroArch wiki, but the PicoDrive emulator is perfectly capable of pen emulation by way the mouse. Perhaps like Stella for the 2600, a standalone port would be necessary to control all the games.



  • @mediamogul

    As nice as RetroArch is, it's notorious for leaving this type of peripheral functionality out during integration.

    That is what I'm discovering in my searches as well but I did find something about lr-genesis-plus-gx now having Light Gun / Mouse support

    a standalone port would be necessary to control all the games.

    I was actually thinking the same thing last night and started experimenting with DGen which I can get a mouse point to show and move on top of the game but I can't get the game to use it as the "Magic Pen".

    There might be a setting in /opt/retropie/configs/megadrive/dgenrc that I'm missing.

    Thanks for the reply!


  • Global Moderator

    @backstander

    The DGen feature list doesn't mention Pico Pen support and I suspect mouse support is limited to the 'Sega Mouse'. However, taking into account the RetroArch wiki notation that says PicoDrive was "written having ARM-based handheld devices in mind" and the fact that several pre-compiled binaries exist for various ARM devices on the PicoDrive site, I wonder if it wouldn't be a reasonably simple task of just compiling and running PicoDrive natively.



  • I wonder if it wouldn't be a reasonably simple task of just compiling and running PicoDrive natively.

    Thanks @mediamogul I got it working!

    Okay so I cheated and found a pre-compiled version of PicoDrive for Raspberry Pi here:
    https://www.raspberrypi.org/forums/viewtopic.php?f=78&t=53061

    Then I extracted it to the emulation directory:
    sudo tar xvzf picodrive.tgz -C /opt/retropie/emulators/

    I added this line to the bottom of the Megadrive emulators list:
    nano /opt/retropie/configs/megadrive/emulators.cfg

    picodrive = "/opt/retropie/emulators/picodrive/PicoDrive -config /opt/retropie/configs/megadrive/picodrive.cfg %ROM%"
    

    (Optional) I added this so my wireless Xbox 360 controller would work with the emulator:
    nano /opt/retropie/configs/megadrive/picodrive.cfg

    binddev = sdl:Xbox 360 Wireless Receiver (XBOX)
    bind backspace = Fast forward
    bind \xA0 = player1 B
    bind \xA1 = player1 C
    bind \xA2 = player1 A
    bind \xA3 = player1 X
    bind \xA4 = player1 Y
    bind \xA5 = player1 Z
    bind \xA8 = player1 MODE
    bind \xA9 = player1 START
    bind \xAA = Enter Menu
    bind up = player1 UP
    bind down = player1 DOWN
    bind right = player1 RIGHT
    bind left = player1 LEFT
    bind f1 = Save State
    bind f2 = Load State
    bind f3 = Prev Save Slot
    bind f4 = Next Save Slot
    bind f5 = Switch Renderer
    bind f6 = Pico Prev page
    bind f7 = Pico Next page
    bind f8 = Pico Switch input
    

    When you launch the Pico ROM just pick "picodrive" from the Runcommand and after the "game" loads, you have to press F8 on the keyboard to toggle to "Input: Pen on Pad" and then I can use my left Analog stick to move the mouse cursor around and the B button to click on objects. F6 & F7 will flip through the "pages".

    I guess I could have bound the F6/F7/F8 keys to buttons on my controller but I haven't gotten that far yet.



  • I did noticed that PicoDrive is not using my custom /opt/retropie/configs/megadrive/picodrive.cfg but instead using the default config.cfg from the same directory as PicoDrive.

    This is the PicoDrive usage example:

    PicoDrive v1.81 (c) notaz, 2006-2009,2013
    usage: /opt/retropie/emulators/picodrive/PicoDrive [options] [romfile]
    options:
     -config <file>    use specified config file instead of default 'config.cfg'
     -loadstate <num>  if ROM is specified, try loading savestate slot <num>
    

    Does anyone see something I'm missing?


  • Global Moderator

    @backstander

    Nice work. I might try to compile the latest version and add it later this evening. It's always great when things go this smoothly.

    Does anyone see something I'm missing?

    Unless it's a typo above, it appears you have a return after -config and before your path in the 'emulators.cfg' file. It should all be one line.



  • @mediamogul

    Nice work. I might try to compile the latest version and add it later this evening. It's always great when things go this smoothly.

    Agreed!

    Unless it's a typo above, it appears you have a return after -config and before your path in the 'emulators.cfg' file. It should all be one line.

    Good eye. I've corrected my earlier post but I looked on my Pi and I had it all one line so I guess that wasn't the issue :(


  • Global Moderator

    @backstander

    Curiouser and curiouser. Could be a permissions problem perhaps. I have also seen the rare and odd occasion where the software requires the config file to have a particular name. You might try renaming the file and 'emulators.cfg' reference to 'config.cfg', noted as being the default file name in your usage example above.



  • @mediamogul

    You might try renaming the file and 'emulators.cfg' reference to 'config.cfg', noted as being the default file name in your usage example above.

    I tried renaming to 'config.cfg' and I don't think that worked.

    Really this isn't a big deal. I was just hoping to have all my config files under one roof /opt/retropie/configs/ so they're easy to backup.

    Now I've got some appropriate games for the little kiddos to play over the holidays!


  • Global Moderator

    @backstander

    Just keep them away from 'Donkey Kong Jr. Math'. An ape in a diaper has no business teaching arithmetic.



Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.