mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-04 23:07:46 -04:00
Write a README file
This commit is contained in:
parent
8276aa84ac
commit
519c078685
1 changed files with 24 additions and 93 deletions
117
README.md
117
README.md
|
@ -1,108 +1,39 @@
|
|||
This is yet another SEGA 8 bit and 16 bit console emulator.
|
||||
# Sonic's UGC for PSP
|
||||
|
||||
It can run games developed for most consumer hardware released
|
||||
by SEGA, up to and including the 32X:
|
||||
- **16 bit systems:** Mega Drive/Genesis, Sega/Mega CD, 32X, Pico
|
||||
- **8 bit systems**: SG-1000, SC-3000, Master System/Mark III, Game Gear
|
||||
A fork of PicoDrive for PSP, skinned to look like Sonic's Ultimate Genesis Collection
|
||||
|
||||
PicoDrive was originally created with ARM-based handheld devices
|
||||
in mind, but later received various cross-platform improvements
|
||||
such as SH2 recompilers for MIPS (mips32r2), ARM64 (armv8), RISC-V (RV64IM)
|
||||
and PowerPC (G4/2.03).
|
||||
### Why?
|
||||
|
||||
PicoDrive was the first software to properly emulate Virtua Racing and
|
||||
its SVP chip.
|
||||
In 2019 (when i originally had this idea) i had just gotten a PSP, and in 2016-2020 i had a copy of Sonic's UGC on the Xbox 360, i knew that the PSP was very much powerful enough to run the same library of games, and this was on the back of my head until August of 2024, when i finally gained enough skill to make this into a reality.
|
||||
|
||||
At present, most development activity occurs in
|
||||
[irixxxx's fork](https://github.com/irixxxx/picodrive);
|
||||
[notaz's repo](https://github.com/notaz/picodrive) is updated less frequently.
|
||||
**Fun Fact** - I did make a **terrible** version of this idea in 2019 with my limited brain, which i still have archived today, (i stretched the SUGC logo to fit on the PBP, changed the background which made the game list almost unreadable, and a few other horrible hacks), but, it didn't involve any source code. This time i'm doing it for real, redesigning the UI and open sourcing all of it
|
||||
|
||||
### Sega Pico and Storyware Pages
|
||||
### Downloads
|
||||
|
||||
PicoDrive can use Storyware pages and pad overlays in png format in the same
|
||||
directory as the cartridge image. The selected page is displayed automatically
|
||||
if the pen is used on the storyware or pad. Details about how to correctly name
|
||||
the pages can be found in the *How to run Sega Pico games* section in
|
||||
`platform/base_readme.txt`.
|
||||
Soon!
|
||||
|
||||
### Gallery
|
||||
### Q&A
|
||||
|
||||
Some images of demos and homebrew software:
|
||||
**Q: Will you make this for the European version of Sonic's UGC (Sega Mega Drive Ultimate Collection // SEGA MDUC)?**
|
||||
A: Most likely not, the version i grew up with was SUGC and it doesn't hit the same for me, i did take a brief look on and it is largely the same, i'm just not bothered to do it at the moment.
|
||||
|
||||
|  |  |  |
|
||||
| --- | --- | --- |
|
||||
| [_MegaDrive: Titan Overdrive 2_](https://demozoo.org/productions/170767/) | [_MegaCD: RaycastDemo_](https://github.com/matteusbeus/RaycastDemo) | [_32X: OpenLara_](https://github.com/XProger/OpenLara/releases) |
|
||||
||||
|
||||
| [_MegaDrive: Titan Overdrive 2_](https://www.pouet.net/prod.php?which=69648) | [_MegaDrive: DMA David_](http://www.mode5.net/DMA_David.html) | [_32X: Doom Resurrection_](https://archive.org/details/doom-32x-all-versions) |
|
||||
**Q: Will you make a PS2 Port? It looks really similar to the PSP version!**
|
||||
A: Never. I haven't owned a PS2 since 2013 (when i was a fucking baby) and don't plan to.
|
||||
|
||||
|  |  |  |
|
||||
| --- | --- | --- |
|
||||
| [_SG-1000: Cheril Perils Classic_](https://www.smspower.org/Homebrew/CherilPerilsClassic-SG) | [_MasterSystem: Stygian Quest_](https://www.smspower.org/Homebrew/StygianQuest-SMS) | [_GameGear: The Sword of Stone_](https://www.smspower.org/Homebrew/SwordOfStone-GG) |
|
||||
|  |  |  |
|
||||
| [_SG-1000: Nyan Cat_](https://www.smspower.org/Homebrew/NyanCat-SG) | [_MS: Anguna the Prison Dungeon_](https://www.smspower.org/Homebrew/AngunaThePrisonDungeon-SMS) | [_GameGear: Turrican_](https://www.smspower.org/Homebrew/GGTurrican-GG) |
|
||||
**Q: How can i add more games?**
|
||||
A: Download or compile the Memory Stick version, go to or create the "rom" directory and add your games there, the file format doesn't matter
|
||||
|
||||
### Compiling
|
||||
**Q: How do i compile on Windows?**
|
||||
A: Not supported. I haven't used Windows as my daily OS since 2021 and have no plans to go back. Modern Windows is terrible and i have no reason to switch back (the biggest hurdle was Camtasia, which i finally stopped using after 6 years). Just use a Linux VM if you can't make the switch
|
||||
|
||||
For platforms where release builds are provided, the simplest method is to
|
||||
use the release script `tools/release.sh`. See the script itself for details.
|
||||
To create platform builds run the command:
|
||||
**Q: Does this work on PS Vita?**
|
||||
A: Yes, just use Adrenaline and you're good, both the ISO and Memory Stick versions should work with no problem.
|
||||
|
||||
```
|
||||
tools/release.sh [version] [platforms...]
|
||||
```
|
||||
**Q: Does this work on PPSSPP?**
|
||||
A: Absolutely! I used PPSSPP for testing the dev builds and it works flawlessly, but if you're gonna emulate SEGA Genesis games on an emulator, just use a normal Sega Genesis emulator, this is largely intended for people who own a PSP or PS Vita console.
|
||||
|
||||
This will generate a file for each platform in the `release-[version]` directory.
|
||||
A list of supported platforms can be found in the release script.
|
||||
**Q: How did you get an uncompressed version of the SUGC Intro and Soundtrack**
|
||||
A: I ripped them myself from the Xbox 360 version, just extract the files from the ISO and you should be good. ([Intro Video](https://dl.raythefox.pw/Projects/Sonic%27s%20UGC%20for%20PSP/Assets/SGC2_ATTRACT.wmv) - [Background Theme](https://dl.raythefox.pw/Projects/Sonic%27s%20UGC%20for%20PSP/Assets/retro_dreams.xma) - [Background Video](https://dl.raythefox.pw/Projects/Sonic%27s%20UGC%20for%20PSP/Assets/MAIN0001.wmv) - [SUGC Logo](https://dl.raythefox.pw/Projects/Sonic%27s%20UGC%20for%20PSP/Assets/SUGC_LOGO.PNG))
|
||||
|
||||
These commands should create an executable for a unixoid platform not included in the list:
|
||||
|
||||
```
|
||||
configure --platform=generic
|
||||
make
|
||||
```
|
||||
|
||||
To compile PicoDrive as a libretro core, use this command:
|
||||
|
||||
```
|
||||
make -f Makefile.libretro
|
||||
```
|
||||
|
||||
### 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. Due to licensing issues, the helix source files
|
||||
cannot be provided here; if you have obtained the sources legally, place them in
|
||||
the `platform/common/helix` directory.
|
||||
|
||||
To compile the helix sources:
|
||||
|
||||
- Set the environment variable `CROSS_COMPILE` to your cross compiler prefix
|
||||
(e.g. `arm-linux-gnueabi-`)
|
||||
- Set the environment variable `LIBGCC` to your cross compiler's `libgcc.a`
|
||||
(e.g. `/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/libgcc.a`)
|
||||
- Run the command:
|
||||
```
|
||||
make -C platform/common/helix CROSS_COMPILE=$CROSS_COMPILE LIBGCC=$LIBGCC
|
||||
```
|
||||
- Copy the resulting shared library named `${CROSS_COMPILE}helix_mp3.so` as
|
||||
`libhelix.so` to the directory containing the PicoDrive binary on the target device.
|
||||
|
||||
In addition, helix support must be enabled in PicoDrive itself by compiling with:
|
||||
|
||||
```
|
||||
make PLATFORM_MP3=1
|
||||
```
|
||||
|
||||
This switch is enabled automatically for Gamepark Holdings devices (`gp2x`,
|
||||
`caanoo` and `wiz`). Without installing `libhelix.so`, these devices will not play
|
||||
MP3 audio.
|
||||
|
||||
### Installing
|
||||
|
||||
The release script produces packages or zip archives which have to be installed
|
||||
manually on the target device. Usually this involves unpacking the archive or
|
||||
copying the package to a directory on either the internal device storage or an
|
||||
SD card. Device-specific instructions can be found on the internet.
|
||||
|
||||
|
||||
Send bug reports, fixes etc. to <derkub@gmail.com>
|
||||
**Q: How did you figure out this really confusing source code?**
|
||||
A: I admit that the PicoDrive source code is *almost* unreadable, and i definitely wouldn't recommend it to a beginner, but even if you are total trash at C code like i am, if you know where to look, it's not that hard, 99% of the changes were in the UI and the PSP-specific code, not on the emulator itself, i'm pretty sure it's possible to port this to Windows/Linux/PS2, but i have no desire in doing it myself, i can provide all of the design files, [my DMs are always open](https://raythefox.pw), message me and i'll be glad to help.
|
Loading…
Add table
Add a link
Reference in a new issue