simias / pockystation-libretro

Libretro frontend for Pockystation
4 stars 0 forks source link

Can build with Cargo, not accepted by RetroArch #1

Open tsukisan opened 1 year ago

tsukisan commented 1 year ago

Hi Simias, I am able to build the .so file with Cargo but when I put it into the cores directory and try to load it in Retroarch 1.10.3 (Arch Linux) it doesn't load. I am currently generating a .info file for Retroarch to see if this assists in any way. I'll report back.

tsukisan commented 1 year ago

It looks like the filename is playing a part in linking to the info file. The compiled file is named libpockystation_retro.so when it should be pockystation_libretro.so. I can't attach the info file I generated for Retroarch, code below, should be named pockystation_libretro.info and stored in the core info files directory:

# Software Information display_name = "Sony - PocketStation (pockystation)" authors = "Lionel Flandrin (simias)" supported_extensions = "gme" corename = "SPS" categories = "Emulator" license = "zlib" permissions = "" display_version = "Git"

# Hardware Information manufacturer = "Sony" systemname = "PocketStation"

# Libretro Features supports_no_game = "false" database = "Sony PocketStation" savestate = "false"

description = "The PocketStation is a Memory Card peripheral by Sony Computer Entertainment for the PlayStation home video game console. Categorized by Sony as a combination of a Memory Card and a miniature personal digital assistant, the device features a monochrome liquid crystal display (LCD), infrared communication capability, a real-time clock, built-in flash memory, and sound capability. To use the device's memory card functionality, it must be connected to a PlayStation through a memory card slot."

simias commented 1 year ago

Thank you for that, I actually just had to go through this hassle for my PlayStation emulator. Too bad that I only now saw this issue, I could have saved us both some of the trouble...

The name of the so is indeed bogus, but it's because (at least at the time) there was no obvious way for cargo to generate the library with a name that adhered to libretro's conventions, so I had to fudge it a bit.

Now that my PSX emulator is starting to work well I'm thinking of just integrating pockystation directly into it, this way it'll be easier to implement the communication between the PlayStation and the PocketStation.

BTW the PlayStation emulator I'm talking about is this one: https://gitlab.com/flio/rustation-ng

The one on github is an old, unmaintained version.

tsukisan commented 1 year ago

Personally I like keeping the PocketStation ROMs separately to play on their own. Unless you envision a way to play the PocketStation ROMs in your emulator without needing to load the PSX BIOS, just the PocketStation one.

simias commented 1 year ago

I didn't consider that people may want to run PocketStations ROMs on their own, I always saw them more like an add-on to the PSX but I see your point.

I agree that it would make sense to have both, maybe I could have it both inside the emulator and usable on its own as a stand-alone core.