Project Eris on Playstation Classic

01/08/21

Categories: Gaming Projects Tags: Emulation Video Games

~/contents

Two issues I’ve had with the modded PSC was the lack of a carousel, which meant it was not user-friendly for Minnow, and the inability to use MAME. I’ve been doing a bit of retrogaming lately on the Switch and I decided to revisit AutoBleem to see if changes had been made–and indeed they have! AutoBleem 0.9 now supports Emulation Station and Bleemsync has evolved into Project Eris, which also supports ES. These two appear to have relative parity, so for me the choice is ease of use and I originally decided to go with AutoBleem 0.9.

Per the AutoBleem 0.9 Instructions you can brick your PSC if you don’t uninstall a Bleemsync modified kernel. It’s been more than 2 days since I originally modded the PSC so I had to review my notes. I installed Bleemsync 1.2.0, put the USB aside, and switched over to AutoBleem. I have no idea where the Bleemsync USB is (I have a sneaking suspicion I wiped it a few weeks ago when I was spring cleaning, because of course I did) but I have backups of the EPB files.

Since I don’t have the original USB with files preserved I had to hunt down a copy of BleemSync1.2.0.zip. The official hosted copies were no longer hosted on ModMyClassic (confirmed), but fortunately a copy has been archived (shout out to DanTheMan827).

ModMyClassic advises us to create an “UNINSTALL” file with no extension in USB:\bleemsync\flags\

This did not work for me. I noticed Patton Plays has LBOOT.EPB in root, so I made that change but my PSC just boots to stock. Since AutoBleem 0.71 did not impact the kernel at all I decided to switch gears and work of the existing modified kernel by updating to Project Eris instead.

I downloaded the full package and extracted it to root. The first part of the installation went as expected, then Eris informed me I needed to reformat my FAT32 drive and recopy the files to it. I reformatted to exFAT and did so. The installation finished but Project Eris fails to launch. That’s because my files are a mess.

Project Eris Desktop App

I used the Eris Desktop app to clean up my one (1) PSP game, Harmful Park, and regenerate the database. You have to manually edit PSX games but you can look up metadata via database, which helps a lot.

I quickly found I could not scrape my additional roms through the Eris Desktop tool because the scraper window is cut off. It’s just as well, I decided to have only PSX games in the original carousel. For this the tool is really excellent, the error messages walk you through any issues and I had no trouble setting up PSX games.

Basic Project Eris Setup

Eris automatically added all my roms to the rom folders, but I don’t have the cores loaded, so I downloaded cores and put them here:

USB://project_eris/opt/retroarch/config/retroarch/cores

BIOS go in

USB://project_eris/opt/retroarch/config/retroarch/system

I had a ton of folders cluttering up my USB and wasn’t sure what could be kept. Looking at a still from one of restalgia’s videos I figured out the structure was something like

There are a ton of preloaded rom system folders, as well as some I figured were there by accident (a second “roms” folder, a “ram” folder).

MAME & Neo Geo Notes

I was able to improve MAME compatibility by downloading roms from an emulator reference set. I ended up going with FinalBurn (it was researching this that I learned FB Alpha was abandoned because of its illegal use in Capcom Home Arcade). I had some issues with Mame2000/2003 but so far everything runs in FinalBurn Neo without issue. It currently runs less games but I feel the performance is worth it.

The ArcadeItalia arcade database is useful for understanding the naming conventions of arcade ROMs, which ROMs are parents, and so on.

I had issues getting Mame and Neo Geo to run from ES. The Neo Geo BIOS needs to be present in the ROM folder and I added it to the retroarch bios folder for good measure. But I also found I needed to edit /opt/emulationstation/.emulationstation/es_systems.cfg as it was pointing to cores I didn’t have, namely fbalpha2012_libretro.so. I set these to fbneo_libretro.so (in the case of mame, I moved my fbneo roms from the Mame folder to the fba folder).

Scraping with Skraper

Thanks to Restaglia’s helpful video, Scrape Artwork and Change Themes for Emulation Station on Playstation Classic, I was able to do just that utilizing Skraper. This is a fantastic community-supported tool that offers a lot of media customization with very little effort.

The only issue I had was my first pass I noticed many of my games weren’t scraped. That’s because they were .7z roms. Skraper does not have .7z listed as an extension by default. I found that I needed to add this extension to each system (adding as global was not enough.)

Skraper allows user-submitted media mixes. I looked at the templates in /Mixes and modified one for my purposes. This is a simple 2 image template that centers the logo below the screenshot rather than offsets it. I wasn’t able to do quite what I wanted, which was to have the wheel rotated 270 degrees on horizontal screenshots only. I ended up setting it so all MAME games would have the logo rotated.

I’d also like to figure out a way to give the wheel a thick white border so I can move it farther into the screenshot and retain visibility, but I’m pretty sure I’d have to grab the wheels separately, batch apply that effect, then use them as custom images. For now, this is close enough to what I want.

<ImageComposition xsi:noNamespaceSchemaLocation="https://www.skraper.net/ImageComposition.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Information ShortName="Mix3 HD 4:3" LongName="Custom Mix" Description="Screenshot + Wheel" Author="yo mama" />
  <Viewport Color="#00FFFFFF" Width="1280" Height="960" />
  <Drawings>
    <Item Type="Screenshot" IfOrientation="IsLandscape">
      <Display X="50%" Y="0%" Antialiasing="None" Width="100%" Height="78%" Anchor="TopHCenter" />
      <Fallback Type="ScreenshotTitle">
        <Fallback Type="SystemWallPaper">
          <Children Reference="Parent">
            <Item Type="Text" Text="No Screenshot!" TextColor="#FFFFFFFF" FontFamilly="Arial" FontStyle="Bold Italic" />
          </Children>
        </Fallback>
      </Fallback>
    </Item>
    <Item Type="Screenshot" IfOrientation="IsPortrait">
      <Display X="50%" Y="0%" Antialiasing="None" Width="100%" Height="100%" Anchor="TopHCenter" />
      <Fallback Type="ScreenshotTitle">
        <Fallback Type="SystemWallPaper">
          <Children Reference="Parent">
            <Item Type="Text" Text="No Screenshot!" TextColor="#FFFFFFFF" FontFamilly="Arial" FontStyle="Bold Italic" />
          </Children>
        </Fallback>
      </Fallback>
    </Item>
    <Item Type="Wheel" IfSystem="IsNotInTheList:75">
      <Display X="50%" Y="100%" Width="100%" Height="25%" Anchor="BottomHCenter" />
      <Fallback Type="Text" Text="%name%" TextColor="#FFFFFFFF" FontFamilly="Arial" FontStyle="Bold Italic" />
    </Item>
    <Item Type="Wheel" IfSystem="IsInTheList:75">
      <Display X="0%" Y="50%" Width="50%" Height="50%" Anchor="BottomLeft" />
      <Rotation XOffset="50%" YOffset="100%" Angle="270" />
      <Fallback Type="Text" Text="%name%" TextColor="#FFFFFFFF" FontFamilly="Arial" FontStyle="Bold Italic" />
    </Item>
  </Drawings>
</ImageComposition>

I noticed a lot of my games were scraping Japanese logos. Under the miscellaneous tab you can set region priority and verify the ROM by CRC. Setting region priority us,eu,wor,jp,ss ensured I always got the English-language logo when available.

Skraper throws an error if you remove system folders, even if they are empty, so after I’m done scraping I stash empty folders in a subdirectory so it’s easier to navigate the rom folders in Retroarch.

Emulation Station Themes

I told myself I wouldn’t get weird about themes but of course I did. Theme installation is simple, just drop the folder into

project_eris/opt/emulationstation/.emulationstation/themes/

I wanted clean, simple menus that Minnow could easily navigate featuring a large screenshot of the game with the logo. I ended up going with the aptly-named simplebigart theme, but these are the ones I narrowed it down to.

https://github.com/dionmunk/es-theme-clean https://github.com/lilbud/es-theme-angular https://github.com/anthonycaccese/es-theme-art-book https://github.com/ehettervik/es-theme-minilumi https://github.com/djbriane/es-theme-pixel-tft https://github.com/robertybob/es-theme-simplebigart

Performance

The PSC is not perfect, but it has been a solid emulator for me. I’m not too worried about accuracy, so long as games are playable, and most have been, and ES makes the collection playable by my kiddo. ES kicks the player out to Retroarch when exiting the game, which is not ideal, but that’s a comparatively minor issue.

I recently tested Castlevania: Symphony of the Night emulated on the PSC and as a PS1 disc in my PS3 (I apparently got rid of my PS1 because the PS3 is backwards-compatible. :( ). I couldn’t tell the difference.