PicoDrive 3DS

From GameBrew
Revision as of 15:13, 1 January 2022 by HydeWing (talk | contribs) (Created page with "{{Infobox 3DS Homebrews}} {{Infobox 3DS Homebrews |title=PicoDrive 3DS |image=250px |description=Sega Master System/MegaDrive/Sega CD emulator;...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
PicoDrive 3DS
General
PicoDrive 3DS
File:Picodrive 3ds.jpg
General
Authorbubble2k16
TypeConsole
Version0.94
LicenseMixed
Last Updated2018/03/21
Links
Download
Website
Source

This is a port of notaz's PicoDrive emulator to the old 3DS/2DS.

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 .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 folder.

User guide

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

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

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

Compatibility

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

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.

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

Controls

MegaDrive:

Y - A button

B - B button

A - C button

X - X button

L - Y button

R - Z button

In game:

Touchscreen - Menu

Up/Down - Choose between menu options

X+Up/Down - Page Up/Down

A - Confirm option

Left/Right - Change between ROM selection and emulator options

Screenshots

picodrive3ds3.pngpicodrive3ds4.png

picodrive3ds5.pngpicodrive3ds6.png

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: