PicoDrive 3DS

From GameBrew
PicoDrive 3DS
Picodrive3ds2.png
General
Authorbubble2k16, fix by sleepingkerby
TypeConsole
Version0.94 & CHX fix
LicenseMixed
Last Updated2021/10/17
Links
[0.94 and CHX fix Download]
Website
Source

This is a port of notaz's PicoDrive emulator to the Old 3DS.

Although PicoDrive is already highly optimized for ARM processors, if ported as is, it still doesn't run full speed for all Mega Drive games on the Old 3DS/2DS, as it's evident in the RetroArch's version. So this port heavily relies on the 3DS's 2nd core to emulate the FM synthesized music for the YM2612 FM chip to achieve 60 FPS. But the 2nd core on the Old 3DS is unfortunately not fast enough to generate the FM synthesized music at a full 44100Hz, so sounds are generated at 30000Hz on an Old 3DS. It sounds ok for many games, except for those that use high-pitched notes or sound samples.

The screen rendering is done completely using the original PicoDrive's ARM processor-optimized renderer.

Installation

Available in 3DSX and CIA formats.

  • CIA - Copy picodrive_3ds_top.png to root of your SD card. Install picodrive_3ds.cia with your favorite CIA installer.
  • 3DSX - Copy picodrive_3ds.3dsx, picodrive_3ds.smdh and picodrive_3ds_top.png into sdmc:/3ds/picodrive_3ds/. Run it with Homebrew Launcher.

ROMs can be placed inside any folder.

If you have the CD ROM BIOS, place them in sdmc:/3ds/picodrive_3ds/bios/. They must be named:

  • bios_CD_U.bin,
  • bios_CD_J.bin,
  • bios_CD_E.bin, for the respective regions.

You can place all three BIOS in the bios folder.

User guide

This emulator uses the same user interface as VirtuaNES for 3DS, TemperPCE for 3DS and Snes9x for 3DS.

It can play Master System, Mega Drive games and Sega CD games, and 32X games.

You can quit the emulator to your homebrew launcher/your CFW's home screen in the game menu.

Note that CD games run a little slower (you should enable 1-2 frameskips) on an Old 3DS, but it runs very well on a New 3DS.

Compatibility list

PicoDrive 3DS compatibility table can be found on this page.

CHX Cheat files

Please note that the official 0.94 release is not compatible with CHX files.

The bug was fixed by sleepingkerby and it is strongly advised that you use the fixed CIA build if you plan on using cheats.

A collection of CHX files for PicoDrive 3DS were made available by Hark0n.

If you want to create your own cheat files, you can use CHX-File Creator. Information about cheat file format can be found here.

Controls

MegaDrive:

Y - A button

B - B button

A - C button

X - X button

L - Y button

R - Z button

In game:

Touchscreen - Menu, Exit to Home screen

Left/Right - ROM selection, Emulator options

Up/Down - Choose between menu options

X+Up/Down - Page Up/Down

A - Confirm option

Screenshots

picodrive3ds3.pngpicodrive3ds4.png

picodrive3ds5.pngpicodrive3ds6.png

Compatibility

It will run better on the New 3DS as usual, where all music and sound samples will be generated at 44100Hz.

32X games can only played at a reasonable speed on a New 3DS using the .CIA version of the emulator.

Changelog

v0.94

  • Added support to save battery-backed RAM for CD games.
  • Fixed problems with games that show parts of the previous screens at the left/right edges.
  • Added support for cheats.
  • Added configuration for region selection between (Default, US, Europe, Japan).

v0.93

  • Fixes a sound bug that plays the previous sound from a CD-ROM game when you load up an SMS ROM.
  • Re-ordered region priority to US, JP, EU.
  • Added support for .32x extensions and 32X games. (but some games like Virtual Fighter, Virtual Racing Deluxe cause the emulator to crash, just like the RetroArch versions).
  • Fixed ASM version of the 32X rendering routines to prevent crashing, and Blackthorne games.
  • Fixed the frame-rate bug that is not consistent with the frame-rate selected in the menu.
  • Enabled 32X / SVP dynarec when running in CIA mode and the necessary custom firmware is available.
  • Sets the default mapping for Sega MD's X, Y, Z buttons.
  • Fixed a read-ahead library bug that previous caused small ISO games to boot to the CD player.
  • Fixed minor sound emulation issues and improved sound sync.
  • Fixed YM2612 timer bug.
  • Implemented more aggressive optimzation of the YM2612 assembly emulation. Less skipping in some games on the Old 3DS.
  • Fixed playing PWM samples by deducting the DC offset of the waveform (CSND is unable to reliably play samples with a significant DC offset).

v0.92

  • Added support for Mega CD games.
  • CD reads are implemented with read-ahead for speed.
  • Other optimizations for CD games now allow Sonic CD's 2D levels, Final Fight CD and probably others to be playable on an Old 3DS with frame drops with smooth audio, if you can accept that (FMV's still run slowly due to heavy processing).
  • Optimizations.
  • Fixed PicoDrive crashing bug when loading any save state immediately when the game starts running.
  • Removed option for flickering sprites as it doesn't work as intented.
  • Clear Mega CD PCM buffers on reset.
  • Fixed random crashing bug when loading CD games due to uninitialized variables.
  • Added configurable option for 3- or 6-button controller type.
  • Added some minor optimizations for the YM2612 FM synth (although it did nothing to improve performance and quality on an old 3DS).
  • Fixed bug where the SRAM was previously never saved.
  • Now defaults World region games to 60 FPS.
  • Added option to force 60 FPS, 50 FPS and default frame rate.
  • Added more screen stretching options and properly handles H32 and H40 width modes.
  • Reduced lag in the music and sound playback.
  • Used the assembly version of the 32X renderer (untested).

v0.91

  • Added support for more extensions (.smd, .gen, .bin, .rom).
  • Added option to apply a low pass filter to the audio.

v0.90

  • First release.

Credits

  • Notaz for his well-optimized PicoDrive emulator.
  • Authors of the Citra 3DS Emulator team. Without them, this project would have been extremely difficult.
  • Fellow forummers on GBATemp for the bug reports and suggestions for improvements.

External links

Advertising: