PicoDrive for the PS2 – Review
The Sony Playstation 2 scene has never been the epicenter of homebrew development. Homebrew is of course programs made for the video gaming console by unlicensed developers. Due to its proprietary system architecture, lack of documentation and general interest in the entire scene when it comes to homebrew not much was really developed for it. There’s always the exception of emulators which seem to pop up on any video gaming console that gets hacked as there’s a way cool feel about being able to run your classic collection on the latest and greatest hardware.
The PS2 had a rough time of it due the reasons I mentioned above plus the fact the system was hard to “mod” for most of its primetime lifespan required the installation of a modchip via soldering many wires directly to the motherboard of the console. It wasn’t until late in its lifespan that the inception of the Memor32 spawned the free alternative “Free MC Boot” that now allows users to simply “exploit” their PS2 by inserting a memory card. Although, it was too little too late as coders moved to more friendlier scenes like the PSP, Nintendo DS, Wii and at the time the original XBOX.
No one can argue the XBOX is still one of the best all around emulator solutions available (they try and fail), but the PS2 has a small collection of not so great emulators. The frame rate varies and quality is sparse, but she gets the job done – just not that pretty. That’s why 13 years after its release I want to take a gander at a new Sega Genesis / Sega CD emulator “PicoDrive” that was just ported from the PSP to the PS2 by SP193. It’s a rare thing for new emulators to be released (well, ported in this case) for older consoles so it peaked my interest on “How good is this thing?” and raised the question “Will it encourage more PS2 homebrew?”
I don’t mean to sound negative, but I don’t like to sugarcoat things. It did however take a lot of talent to port these emulators to the EE (Emotion Engine, the proprietary processor of the PS2) especially when not really much was known about the chips at the time and the general lack of interest in the PS2 homebrew scene. So mad props to those people! They donated their time thus allowing those of you (who didn’t own a XBOX) to play your retro gaming collection on the latest generation of video gaming console. At any rate it’s amazing that SP193 went to the trouble of porting PicoDrive to the PS2 so I think it really deserves a closer look.
While using your PS2 to playback videos, listen to music, play retro games and one or two homebrew games is feasible it’s just not that practical as there is really only one reason the majority of people “mod” their PS2 consoles (or any of them at that). However, since exploiting the PS2 now only requires a minimal investment in stuff you might already own the unskilled masses have been adopting the older platform a lot more than before. While I’m not going to go into detail about how to hack your PS2 to run emulators I am going to take a look at this new one.
PicoDrive dates back to 2004 as it was released for PocketPC devices (Microsoft Windows Mobile Classic) by FinalBurn.com’s Dave (fDave) and was coded in pure ARM assembly language. It was picked up by a coder named “notaz” who then ported it to UIQ2 (Symbion OS) phones which were popular back in late 2006 to 2009. Notaz then ported it to the GP2X an open source handheld video gaming console and finally to the Sony PSP. Porting it to the PSP required a rewrite of the ASM code to what notaz called “generic C” which he notes is slower and a side effect of this rewrite is also worsening screen tearing. Screen tearing is when two or more frames are displayed at the same time thus resulting in graphical anomalies (aka - the game looks like crap). Luckily, this phenomenon doesn’t affect all of the games out there.
Even the official up-to-date version of PicoDrive has compatibility issues and some games must be individually tweaked, but has been a major choice of porters thus it has had its presence graced on RISC OS devices, the iPhone, Nintendo DS, Dingoo and recently the Pandora.The Pandora version is now considered superior to the rest as it’s a step up from the GP2X version as no other platform has seen a major release for quite some time now. The latest official build on notaz’s site for the Sony PSP is 1.51b, and PicoDrive for the PS2 is based on that build. SP193 explains this is due to the fact the newer code is bunk and that it wouldn’t be as fast as this port (see the readme). SP193 originally ported PicoDrive 1.35b from the PSP (v1.00) on and has since then been updating the emulator. If you read this and the version is outdated then he’s doing a good job at keeping busy!
What’s up with PicoDrive for the PS2?
PicoDrive for the PS2 emulates the Sega Genesis, Sega CD and Sega PICO. I’m sure you’re all familiar with the first two 16-bit power consoles, but the latter was a commercial failure in the EU and US. However, since the rather large portable console with a screen, touch pad/pen & controller built in that was marketed to kids aged 2-8 was popular in Japan someone figured they might as well emulate it. It was released in 1994 and had a good eleven year run and is reportedly, but not verified to have been created solely to encourage kids to adopt video gaming consoles when they grew older – plus some other stuff about having fun and learning things.
PicoDrive for the PS2 is missing one major part of some of its cousins including the main port which is 32X support. It does however include the SVP chip emulation and was the first emulator ever to support this chip. The SVP chip support allows you to run one single commercially released game (Virtua Racing). The SVP (Sega Virtual Processor) is a co-processor built into the Virtua Racing cartridge that allows for enhanced processing capabilities therefore you got some polygons to play with (think Super FX chip / Starfox for the Super NES).
Features at a Glance
Sega Genesis / Sega CD / Sega PICO Emulation
480p Display (required supported hardware)
SVP Chip Emulation
Save States (Saving/Loading)
Z80, YM2612 & SN76496 Sound Chip Support
Sega CD 64K RAM cart Support
Force Game Region
Customize Background, Cursor, Font and Text Colors
Cheat Code Support – Not tested; cheaters can’t play games.
… and more (see the readme)
PicoDrive (1.51b) PlayStation 2 port v1.12 (2013/09/23) comes with some rough documentation related to running it on your PS2 via MC, HDD or USB. You’ll most likely be launching it with uLaunchELF (a PS2 homebrew launcher) and since it doesn’t support CDFS you won’t be making any bootable discs with it.
Simply copy the entire contents of the archive (PicoDrive-PS2-151b-112_bin.7z / or the latest version if another one has been released since this was published) to a folder on your Memory Card (MC), Internal HDD or USB Mass Storage Device and don’t forget the sub-folders plus the Sega CD BIOS files. No matter how you transfer it; USB, FTP, HDD, CD-R or by simply copying it using your Memor32 the folder structure must be intact and you’ll really want to place it on a Memory Card or USB Mass Storage device. Additionally, if you store it on a USB device some take a while to initialize so loading the background graphic is skipped.
The ROMS can be zipped or not and placed on a supported USB Mass Storage Device, Internal Hard Drive (HDD) or on a Memory Card. I threw them all on a USB Mass Storage Device (64GB Thumb Drive) and then transferred them to the Internal 2TB HDD. PicoDrive supports your normal array of Sega Genesis ROM images plus Sega CD images in BIN, CSO or ISO format. BIN is not recommended as it doesn’t support CDDA tracks (the background music) and CSO is a compressed ISO format which saves you a lot of space, but will horribly slowdown or render any FMV or disc read intensive games unplayable. PicoDrive will also load Sega Pico ROM images, but I’m not sure if you can play them or not and to what extent without the touch screen ability.
Usage – Menu System
Once the emulator has booted you have a basic menu that contains; Load new ROM/ISO, Change Options, Configure controls, Credits and Exit. Exit will reboot your PS2 console and I’m sure you can figure the rest out. The option menu allows you to tweak specific sound, graphics and processing settings for your games along with some more stuff like save state selection and BIOS testing. For a full lowdown read the readme!
Usage – Compatibility
Compatibility wise PicoDrive for the PS2 is roughly the same as the PSP port it’s based on. However, screen tearing is more apparent most likely due to the lack of optimization for the PS2 EE as its PSP counterpart has much better frame rates, less tearing and an overall better “feel” to the game playback.
With that said it performs well – much better than the older PGEN Sega Genesis PS2 emulator. Most games with 0 frameskip play back at 60fps albeit some graphical glitches. If you use the accurate rendering utilizing the automatic frameskip is required otherwise fast paced games like the Sonic the Hedgehog series will present noticeable lag. However, games like Phantasy Star work great using the 16-bit accurate rendering. Most if not all popular Sega Genesis games perform great and are perfectly playable. When you get into the Sega CD realm of things compatibility becomes an issue and tweaking per game configurations will be required to get some games to function properly – even if that is a possibility.
Overall compatibility can’t be greater then what the PSP port offers due to the fact this is a direct port with no game specific fixes (like with Genesis Plus GX – which is not for the PS2). When it comes to the Genesis bit expect to be able to enjoy all of your old backups with ease, good speed and really great 16-bit graphics! Gotta love those tiles!
Below is a small list of Sega CD games and how they ran under PicoDrive for the PS2. Note that all of them were in CSO format, but I did not mention the FMV slowdown as that is a given side effect of using the CSO format. For best results with games that contain heavy FMV sequences use the ISO/MP3 format.
Sega CD Setup & Images
The Sega CD bit requires specific versions of the Mega CD / Sega CD BIOS files to function properly (they’re copyrighted so they aren’t included). Once you have your BIOS files they should be named per the following naming schema to match the MD5/SHA-1’s.
MD5: 9b562ebf2d095bf1dabadbc1881f519a - SHA1: 7063192ae9f6b696c5b81bc8f0a9fe6f0c400e58 - eu_mcd2_9303.bin
MD5: d8b8b720dea6c6ba25c309ed633930f4 - SHA1: 523b3125fb0ac094e16aa072bc6ccdca22e520e5 - eu_mcd2_9306.bin
MD5: 278a9397d192149e84e820ac621a8edd - SHA1: 4846f448160059a7da0215a5df12ca160f26dd69 - jp_mcd1_9111.bin
MD5: bdeb4c47da613946d422d97d98b21cda - SHA1: e4193c6ae44c3cea002707d2a88f1fbcced664de - jp_mcd1_9112.bin
MD5: 2efd74e3232ff260e371b99f84024f7f - SHA1: f4f315adcef9b8feb0364c21ab7f0eaf5457f3ed - us_scd1_9210.bin
MD5: 6845579bd211e24eafe313933e6f8d7b - SHA1: bd3ee0c8ab732468748bf98953603ce772612704 - us_scd2_9303.bin
MD5: 854b9150240a198070150e4566ae1290 - SHA1: 5adb6c3af218c60868e6b723ec47e36bbdf5e6f0 - us_scd2_9306.bin
MD5: e66fa1dc5820d254611fdcdba0662372 - SHA1: f891e0ea651e2232af0c5c4cb46a0cae2ee8f356 - eu_mcd1_9210.bin
PicoDrive supports BIN/CUE, ISO/CUE and CSO/CUE Sega CD game image formats. However, there are a lot of “bad” dumps of Sega CD games out there due to the fact they people who dumped them didn’t know how to. If you plan on dumping them yourself (which you should) take a look at TurboRip v1.01 (TurboRipV101.zip) which is used to backup Turbo Duo CD games and should be used for Mega CD / Sega CD backups (Mega CD is the name of the Sega CD outside of the USA).
BIN/CUE is the most common format you’ll come across and the BIN contains CDDA (audio) tracks inside of it. Due to emulator limitations PicoDrive cannot playback these audio tracks from within BIN files and they must be encoded as 44.1kHz MP3 files with a bitrate of 128kbps or less (the lesser bitrate equals a smaller file, faster emulation and crappier sound).
Detailed sound format and naming conventions are outlined in the readme file, but if you grab the PSP version of PicoDrive v1.51b it comes with a tool named “bin_to_cso_mp3.exe” which uses lame.exe, lame.dll and ciso.exe to create CSO/CUE images from BIN/CUE or ISO/CUE and can also convert between the various formats. It has a default drag n’ drop conversion method of CSO/CUE, but can be used via the command line to produce various images and also supports Linux (not just Windows). Just make sure to grab LAME (the MP3 encoder) and ciso.exe (the CSO compressor) before you try to run it.
A quick size comparison of a game is in BIN format the game is 601,349,962 bytes, ISO is 163,309,129 bytes and CSO is a measly 85,381,894 bytes. That’s a major size differential going down right jhere (slang). Conversion is quick and painless and while games that contain FMV should not be compressed as CSO they are fine to be compressed as ISO/MP3/CUE as per the details in the readme file included with PicoDrive for the PS2. Hint – read the readme!
Usage – Problems & Solutions
The emulator port does contain some bugs and I’m not sure if they are related to every homebrew capable PS2 on the market, but some of them follow in no particular order (and how to fix them). The first is if you plug in a USB Mass Storage Device before running PicoDrive and it doesn’t see the device try plugging it in after you run it. If you can see a list of the games on the USB Mass Storage Device, but cannot load them try another device. Some USB Mass Storage devices will turn the PS2 power off as soon as you attach them when the PS2 is powered on so plug them in before you turn it on. The device you place the PicoDrive executable on is the only location you can load ROM/ISO images from (this was not the case in earlier builds and hopefully will be remedied in future iterations).
If you load a game and it doesn’t work try simply resetting the game. Change the options? Reset the game. Change the options? Reload the game. Each game has the ability to save a custom configuration for it so refer to the readme regarding compatibility issues and use this feature to figure out which combination will get the game you want running (if any will work that is). The Sega CD 64k RAM Cart is emulated per game meaning you must format it for each game – it’s not shared between games (there’s no way around this). To test your Sega CD BIOS file(s) press “Start” on the BIOS in the Configuration to test to make sure it boots.
Based on the fact this is a port of the PSP port of PicoDrive I wasn’t expecting miracles, but was pleasantly surprised with the quality of the port and the optimizations done thus far for the PS2 platform. Compatibility is great, sound crisp and clear and the ability to use compressed Sega CD images really saves you much needed space if you’re lacking it. The additional settings and support for virtual hardware are great additions, the menus are easy to navigate and I look forward to seeing what is in store down the road and hope PicoDrive has set a standard that others will soon follow.
retroarch picodrive | Dingoonity.org - The Dingoo Community
Picodrive - wiki.gp2x.org
.CSO - Wikipedia, the free encyclopedia
Pico Drive - XDA-Developers
PicoDrive - PHWiki
Eidolon's Inn : PicoDrive emulates Sega Virtua Processor!
PicoDrive: Mega Drive Emulation for RISC OS
PicoDrive PSP v1.51 - Emulators - PSP - QuickJump Downloads
PicoDrive (Symbian) - Download
PicoDrive - Sega Retro
PicoDrive - Pandora Wiki
PicoDrive - Emulation General Wiki
Sega Pico - Wikipedia, the free encyclopedia
SP193 and the psx-scene.com community for still supporting the PS2 after so many long years of scening’.
softdev, raz, mith0s, djdynamite, eke-eke, bradLv, ab1lify, xiaNaix, tantric, dms and 20+ years of other people!
Myself – I am the “one”.
* This is an independant review / Please Excuse the Screen Capture Quality; I have a dated capture card *