(WIP) PicoDrive for PSP, skinned to look like Sonic's UGC
Find a file
2024-06-28 00:23:38 +02:00
.github/workflows ci, use available processor cores 2024-02-21 00:29:17 +01:00
cpu sh2 drc, minor optimization for x86 backend 2024-06-28 00:23:38 +02:00
jni update libchdr for zstd support 2024-05-24 16:25:20 +00:00
pico core vdp, some cleanup 2024-06-28 00:23:38 +02:00
platform core, revisit ym2612 busy flag implementation 2024-06-27 23:39:44 +02:00
tools build, more lowercase on linux, plus minor changes 2024-06-15 10:15:19 +00:00
unzip core, libretro vfs support 2022-01-27 22:31:09 +00:00
zlib Merge from libretro/master:7ff457f for repo synchronization 2022-04-19 23:58:59 +02:00
.gitignore build, more lowercase on linux, plus minor changes 2024-06-15 10:15:19 +00:00
.gitmodules core, fix 68k cycles in cyclone,fame (exceptions,bit ops,ADDI.L,TAS,CHK,MUL*,DIV*) 2024-03-07 21:19:10 +01:00
AUTHORS more changes to readme's 2023-10-26 18:42:25 +00:00
ChangeLog release 1.91 2013-10-12 22:06:29 +03:00
configure build, fix arch detection in configure 2024-06-28 00:23:38 +02:00
COPYING clarify PicoDrive's license 2013-06-26 03:07:07 +03:00
Makefile build, fix arch detection in configure 2024-06-28 00:23:38 +02:00
Makefile.libretro build, fix zstd asm file usage (used only for x86) 2024-06-15 16:21:10 +00:00
README.md revisit release script 2023-10-26 19:03:50 +00:00

This is yet another SEGA 8 bit and 16 bit console emulator for emulating most of the hardware SEGA has published up to and including the 32X.

Emulated 16 bit systems: Mega Drive/Genesis, Sega/Mega CD, 32X, Pico.
Emulated 8 bit systems: SG-1000, SC-3000, Master System/Mark III, Game Gear.

PicoDrive was originally written having ARM-based handheld devices in mind, but later had got various improvements for other architectures too, like SH2 recompilers for MIPS (mips32r2), ARM64 (armv8), RISC-V (RV64IM) and PowerPC (G4/2.03).

PicoDrive was the first emulator ever to properly emulate Virtua Racing and its SVP chip.

Currently the main development happens in the irixxxx's fork, notaz's repo isn't updated as much.

compiling

For platforms for which release builds are supplied the most easy way is to use the release script in tools/release.sh. See the release script for details. To make a platform build use

tools/release.sh [version] [platforms...]

This will deliver a file for each platform in a the release-[version] directory. A list of platforms is in the release script.

If you want to build an executable for a unixoid platform not listed in the platform list, try using

configure --platform=generic

If DRC is available for the platform, it should be enabled automatically. For gp2x, wiz, and caanoo you may need to compile libpng first.

After configure, compile with

make

helix MP3 decoder for ARM

For 32 bit ARM platforms, the optimized helix MP3 decoder can be used to play MP3 audio files with CD games. The helix source files are however not supplied due to licensing issues. If you have legally obtained the sources, put them in the platform/common/helix directory.

To compile the helix sources, set CROSS_COMPILE to your cross compiler prefix (e.g. arm-linux-gnueabi-) and LIBGCC to your cross compiler's libgcc.a (e.g. /usr/lib/gcc-cross/arm-linux-gnueabi/4.7/libgcc.a), and compile with

make -C platform/common/helix CROSS_COMPILE=$CROSS_COMPILE LIBGCC=$LIBGCC

This will result in a shared library named ${CROSS_COMPILE}helix_mp3.so. Copy this as libhelix.so to where the PicoDrive binary is on the target device.

Also, the support for helix must be enabled in PicoDrive by compiling with

make PLATFORM_MP3=1

This switch is automatically enabled for Gamepark Holdings devices (gp2x, caanoo and wiz). Without installing libhelix.so those devices will not play MP3 audio.

installing

The release scripts produces zip files which need to be installed on the target device manually. Usually that means unpacking the file to some directory on the device storage or on an SD card. See device specific descriptions on the net.

Send bug reports, fixes etc to derkub@gmail.com