PicoDrive PSP

From GameBrew
Revision as of 09:06, 21 February 2022 by HydeWing (talk | contribs) (→‎Changelog)
PicoDrive
Picodrive.png
General
Authornotaz, robson.santana
TypeConsole
Version1.93
LicenseMixed
Last Updated2008/01/28
Links
1.92.3 Download
Website
[1.93 Source]

Picodrive is a Megadrive/Genesis/Sega/CD Mega/32X/SMS emulator for PSP and PSVITA with eCFW Adrenaline/Ark or VHBL, optimized for ARM, which features 68k, Z80 and VDP chip emulation cores. Initially developed by Dave (aka fdave, author of FinalBurn), the project was expanded by notaz and subsequently updated by Robson Alcantara.

The base code originates from Dave's PicoDrive 0.30 for Pocket PC, and the Sega/Mega CD code is based on Stephane Dallongeville's Gens.

Features

  • Sega 32X/Sega CD emulation.
  • Save states.
  • Custom key mappings.
  • Frameskip.
  • Sound toggling.
  • Sound frequency toggling.
  • Custom backgrounds.
  • Custom menu cursor.
  • Etc.

Installation

Copy the whole PicoDrive directory to /PSP/GAME/ directory in your Memory Stick.

For games create a ROMS subdirectory and put the roms inside (CUE, BIN).

In order to play any Sega/Mega CD games, you will also need BIOS files. These files must be copied to the CFG directory, named as follows.

  • US - us_scd1_9210.bin, us_scd2_9306.bin, SegaCDBIOS9303.bin
  • EU - eu_mcd1_9210.bin, eu_mcd2_9303.bin, eu_mcd2_9306.bin
  • JP - jp_mcd1_9112.bin, jp_mcd1_9111.bin

These files can also be zipped.

Note that this emulator may require some tweaking of configuration settings to run some games well (see below FAQ section).

User guide

Supported file types

The game must be dumped to ISO+MP3, CUE+CSO+MP3 or CUE+BIN format. When using CUE+BIN, you must load CUE file from the menu, or else the emulator will not find audio tracks.

CUE+BIN can take a lot of space, so it can be converted to CUE+CSO+MP3 by using bin_to_cso_mp3 tool.

ISO+MP3 files can be named similarly as for other emulators. Examples are as folllows (you can name them either way).

SonicCD.iso (data track)
SonicCD_02.mp3 (audio track 1 (CD track 2))
SonicCD_03.mp3

Sonic the Hedgehog CD (US) - Track 01.iso
Sonic the Hedgehog CD (US) - Track 02.mp3
Sonic the Hedgehog CD (US) - Track 03.mp3

In case there is a CUE file with properly specified files names in it, file naming doesn't matter. Just be sure to load CUE from the menu.

It is very important to have the MP3s encoded at 44kHz sample rate and they must be stereo, or else they will play too fast/slow or won't play at all. Be sure not to use anything but classic MP3 format (don't use things like mp3pro).

ISO files can also be CSO compressed or zipped (but not MP3 files, as they are already compressed). CSO will cause slightly longer loading times, and is not very good for FMV games. Zipping ISOs is not recommended, as it will cause very long (several minute) loading times, and make some games unplayable. File naming is similar as with uncompressed ISOs.

SonicCD.cso (data track)
SonicCD_02.mp3 (audio track 1 (CD track 2))
SonicCD_03.mp3

Cheat support (PAT)

To use GG/patch codes, type them into your favorite text editor, one per line. Comments may follow code after a whitespace. Only GameGenie and Genecyst patch formats are supported.

Genecyst patch example (for Sonic).

00334A:0005 Start with five lives
012D24:0001 Keep invincibility until end of stage
009C76:5478 each ring worth 2
009C76:5678 each ring worth 3

Game Genie patch example (for Sonic 2).

ACLA-ATD4 Hidden palace instead of death egg in level select

Both GG and patch codes can be mixed in one file. When the file is ready, name it just like your rom file, but with additional .pat extension. Here are some examples, making sure that case matches.

ROM: Sonic.zip
PATCH FILE: Sonic.zip.pat

ROM: Sonic 2.bin
PATCH FILE: Sonic 2.bin.pat

Put the file into your ROMs directory. Then load the PAT file as you would a rom. Then Cheat Menu Option should appear in main menu.

FAQ (Sega/Mega CD)

Q. Game hangs after Sega logo.

You may need to enable Better Sync and/or Scale/Rot.fx options, found in Sega/Mega CD options submenu, and then reset the game.

Some other games may also require CDDA Audio and PCM Audio to be enabled to work (enabled by default).

Incorrectly named/missing mp3s may also be the cause.

Q. Background music is missing.

You might have named your MP3s incorrectly.

Q. Game music plays too fast/too slow/out of sync.

You have encoded your MP3s incorrectly. You will have to re-encode and/or resample them. PicoDrive is not a mp3 player, so all mp3s MUST be encoded at 44.1kHz stereo.

Badly encoded mp3s can cause various kind of problems, like noises, incorrect playback speeds, not repeating music or even prevent game from starting.

Q. Game hangs at the BIOS screen (with planets shown).

You may be using a bad BIOS dump. Try another from a different source.

Q. Settings that can improve performance.

Some Sega/Mega CD games don't use Z80 for anything, but they leave it active, so disabling Z80 manually (in Advanced Options) improves performance.

Use lower bitrate for better performance (96 or 128kbps CBRs recommended).

FAQ (Genesis/MegaDrive)

Q. Game has graphical glitches.

This is most likely because Accurate Renderer is not enabled (see Options).

Q. Game does not boot or sound is glitchy.

Try to enable Accurate Renderer; Make sure Z80 is not disabled (in Advanced Options). Some games may need to be reset after adjusting settings.

Controls

Menu:

Circle - Accept option

Cross - Cancel option

In game:

D-Pad - Movement

Square - A button

Cross - B button

Circle - C button

Start - Start

L - Quick Load

R - Quick Save

Known issues

  • 32x is not emulated.
  • SVP emulation is slow.
  • Various VDP quirks (window bug, scroll size 2, etc) are not emulated, as very few games use this.
  • The emulator is not 100% accurate, so some things may not work as expected.

Changelog

v1.92.3 2018/01/28

  • Fix graphical issues for accurate renderer (e.g.: some Super Street Fighter II backgrouds) by notaz.
  • 4:3 screen size option for Master System games (probably in the future, the emulator will decide the parameters as the game).

v1.92.2 2017/12/09

  • Fix graphical issue: black/shadows bands when use accurate renderer in some games like: Fantastic Dizzy, Test Drive 2, Sonic 3d Blast, Subterrania etc (provisional fix).
  • Fix fps issue when use sometimes vsync for PAL games (provisional fix).
  • Fix sound issue when use frequencies below 44khz for NTSC games (provisional fix).
  • Fixed upper limit for CPU clock.

v1.92.1 2017/11/17

  • Various compatibility and bug fixes.

v1.91.17 2017/11/02

  • Fix some bugs in SMS games (e.g. Star Wars collision dections fails).

v1.91.16 2017/10/15

  • Fix and reuse of the assembly memory manager (the best in speed and compatibility).
  • Changes in the lower limits of the screen ratio.

v1.91 2017/09/28

  • Revert to C code for memory handler (SRam don't work with asm MIPS version).

v1.91 2017/08/26

  • Fixed bug in clock time
  • Better support for suspension and wakeup (still having problems for sega cd games).
  • This file included in pack.

v1.91 2017/08/12

  • Re-added gamma and black level adjust features.

v1.91 2017/05/22

  • Fix some freezes for SVP dynarec (-2FPS).

v1.91 2016/12/23

  • Less instructions for SVP dynarec (+5FPS).
  • Revert to C code for Yamaha sound chip (best peformance).

v1.91 2016/12/16

  • Reverting to how to list the roms of version 1.51b.
  • Changed build from 'libretro' branch to 'master' branch.

v1.91 2016/12/13

  • Asm code for Yamaha sound chip.
  • Option for Sega CD CPUs sync (speed-up for some games).

v1.91 2016/12/07

  • Bug fixes in interface, renderer, Sega CD audio and PSP SVP dynarec.
  • SVP dynarec for PSP (mirror tracks don't work).
  • Option to keep sound while slowdown.
  • More screen size options (PSP).
  • Re-added vsync options.
  • SVP cycles option.
  • More asm code for PSP version (renderer and memory).
  • Revived PSP support (Robson Santana).

v1.91 2013/10/12

  • Added OpenDingux support (Paul Cercueil).
  • Save directory changed to ~/.picodrive/ for generic platform build (Paul Cercueil).
  • Revived GP2X/Caanoo/Wiz support.
  • Switched to cleaner CD controller code from Eke-Eke's Genesis Plus GX.
  • Fixed overflow issue where cd emulation would break after ~10 minutes of gameplay.
  • Fixed synchronization issue where model1 CD BIOS would randomly hang.

v1.90 2013/09/24

  • 32X+CD emulation has been implemented.
  • CD graphics processor code has been replaced with much cleaner Eke-Eke's implementation from Genesis Plus GX.
  • CD PCM code has been completely rewritten.
  • Various CD compatibility issues have been solved. Hopefully no more regressions this time.
  • pandora: fixed tv-out (again), added automatic layer switching.
  • libretro: fixed crackling sound for some games, added some core options.
  • sdl: multiple joystick support has been fixed (Victor Luchits).

Credits

  • notaz - GP2X, UIQ, PSP, Gizmondo ports, CPU core hacks, lots of additional coding (see changelog).
  • Dave - Cyclone 68000 core, Pico emulation library.
  • Chui - FAME/C 68k interpreter core, based on C68K by Stephane Dallongeville.
  • Stephane Dallongeville (written), NJ (optimized) - CZ80 Z80 interpreter core.
  • Tatsuyuki Satoh, Jarek Burczynski, MAME development - Software implementation of Yamaha FM sound generator.
  • MAME development - Texas Instruments SN76489/SN76496 programmable tone/noise generator.
  • Stephane Dallongeville - Gens, MD/Mega CD/32X emulator. Most Sega CD code is based on this emu.
  • people @ ps2dev.org forums/PSPSDK crew - libaudiocodec code (by cooleyes), other sample code.

Additional Thanks:

  • Charles MacDonald for old but still very useful info about genesis hardware.
  • Steve Snake for all that he has done for Genesis emulation scene.
  • Tasco Deluxe for his reverse engineering work on SVP and some mappers.
  • Bart Trzynadlowski for his SSFII and 68000 docs.
  • Haze for his research.
  • Lordus, Exophase and Rokas for various ideas.
  • Nemesis for his YM2612 research.
  • Mark and Jean-loup for zlib library.
  • ketchupgun for the skin.

External links

Advertising: