jtothebell / fake-08

A Pico-8 player/emulator for console homebrew
Other
615 stars 50 forks source link

Compatibility tracking #214

Open Nine-H opened 1 year ago

Nine-H commented 1 year ago

fake-08 featured sdl2 linux x86_64

tracking doc

https://docs.google.com/spreadsheets/d/10I7lS-XmOfzTMlPVdAJEheVpMH2VjW7H1ayVm-jFNxQ/edit?usp=sharing

methodology/limitations

ratings

I plan to update the document from time to time, you're welcome to integrate the data into your project.

Nine-H commented 1 year ago

updates

michaelachrisco commented 1 year ago

Super Poulet Poulet works really well.

JCR64 commented 1 year ago

Outbreak is a recent game that is broken, a fantastic Vampire Survivors like game.

jtothebell commented 1 year ago

Thank you for putting this together, this is a very nice reference for things to improve. If I may make a suggestion, it would be good to track if a game is multicart. For example, Mots Grand Prix, Poom and UnDune II all worked last I checked, but require multiple carts, and will crash if those carts aren't present

Kistaro commented 1 year ago

My total remake of Pico Tetris, Extreme Tetrom, runs but does not render correctly:

This was tested in RetroArch on a Miyoo Mini Plus.

Nine-H commented 1 year ago

At the moment I'm focusing on testing the entire featured carts collection. I think that limiting testing to featured gives a representative sample of software that should be complete and final.

@jtothebell are there any docs on how to identify, download, and run multicart games?

jtothebell commented 1 year ago

Per the Pico-8 Manual (https://www.lexaloffle.com/dl/docs/pico-8_manual.html#Exporting_Multiple_Cartridges), any cartridges that call reload with a cart argument, or load need that cart to be present. If you are playing games on the BBS, you'll see a spinning cart in the corner while it is loading. Generally creators of multi cart games will distribute a zip containing all the carts needed, but it really is on a case by case basis. Once all the needed carts are in the same directory, they should load and function fine.

FAKE-08 doesn't support any network operations, so if the only way to get the extra carts is from the BBS, then there is not a straightforward or supported way for that game to work with FAKE-08.

Nine-H commented 11 months ago

@jtothebell I tried getting Kalikan to work by tracking the downloads in the network tab of my browser to download the missing carts but I couldn't figure out what to name the first level file, can fake-08 print the file it's trying to open to stdout on a crash?

while I'm requesting features, printing crash output to stdout and not just the screen would let me paste them into the spreadsheet, and being able to set the window size on the command-line would make carts easier to play.

There hasn't been a release since I last tested carts, have there been any commits that would make it worthwhile to rebuild and start retesting?

jtothebell commented 10 months ago

@Nine-H it should be looking for a cart that matches the BBS key IIRC. Pico-8 first makes a call to a BBS endpoint (cpost_lister3.php) that returns the latest version of the cart (lid) based on its key and the runtime version passed. The lid is then used to download the specific cart from get_cart.php. Pico-8 also caches these responses as text files for offline use if you are using splore.

The lid included in the request to cpost_lister3.php is what Fake-08 is looking for (so in the example of Kalikan, it should be looking for kalikan_stage_1b not kalikan_stage_1b-3 when it loads the state).

Those all seem like good feature requests, and I will try to get to them. I've been struggling to find both time and motivation to work on Fake-08 lately. Since the last release there have been a handful of small fixes, but nothing major