Add the accurate version of beetle-pce ?
-
https://github.com/libretro/beetle-pce-libretro
In tinkering with retropie lately I decided to re-test Exile 1 with
lr-beetle-pce-fast
built from source to see if the indestructible ants bug was still there. It is. Since the bug was reported in 2017 and the bug doesn't exist in the accurate version, I decided to tinker with the retropie installer so it could build. I basically removed any references to "fast".The accurate version is slower so it requires a pi4 at stock speed for most games. Overclocking is needed for the arcade card games.
UPDATE: This also fixes the issues with Baby Jo and Builderland.
#!/usr/bin/env bash # This file is part of The RetroPie Project # # The RetroPie Project is the legal property of its developers, whose names are # too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source. # # See the LICENSE.md file at the top-level directory of this distribution and # at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md # rp_module_id="lr-beetle-pce" rp_module_desc="PCEngine emu - Mednafen PCE port for libretro" rp_module_help="ROM Extensions: .pce .ccd .cue .zip\n\nCopy your PC Engine / TurboGrafx roms to $romdir/pcengine\n\nCopy the required BIOS file syscard3.pce to $biosdir" rp_module_licence="GPL2 https://raw.githubusercontent.com/libretro/beetle-pce-libretro/master/COPYING" rp_module_repo="git https://github.com/libretro/beetle-pce-libretro.git master" rp_module_section="main" function _update_hook_lr-beetle-pce() { # move from old location and update emulators.cfg renameModule "lr-mednafen-pce" "lr-beetle-pce" } function sources_lr-beetle-pce() { gitPullOrClone } function build_lr-beetle-pce() { make clean make md_ret_require="$md_build/mednafen_pce_libretro.so" } function install_lr-beetle-pce() { md_ret_files=( 'mednafen_pce_libretro.so' 'README.md' ) } function configure_lr-beetle-pce() { mkRomDir "pcengine" ensureSystemretroconfig "pcengine" addEmulator 1 "$md_id" "pcengine" "$md_inst/mednafen_pce_libretro.so" addSystem "pcengine" }
-
@Darksavior Thanks for the script. I was able to generate the binary but, when selecting beetle-pce as emulator (instead of the fast version) I get a severely distorted image (basically a diagonal image rather than a squared one). Both the fast and supergrfx versions work fine. Have you encountered a similar issue?
-
@janderclander14 No. I can't reproduce your issue.
I tested using the latest retropie weekly build and then fully updated it. Must be a config problem on your end or 3rd party image. -
@ExarKunIv Here's this one if you wish to add it to your repo.
-
@Darksavior thank you so much for the script. I just got compiled the latest main and the script is a life-saver. I'm currently getting interest into PC Engine (Super) CD and the quite many games on that system. There are pure gems here which are unfortunately mostly in Japanese.
Anyhow with
lr-beetle-pce-fast
multiple gfx artifacts are visible as well as a weird screen ratio. As you mentioned Baby Jo is perfectly working without any issue. Same can be said of Ryuuko no Ken/Art of Fighting amidst others.Definitely the emulator to rely on for anything PC Engine CD if you are on Pi4.
I haven't seen any performance issues after several testing sessions even with Arcade Card games (Street Fighter 2, Garou Densetsu/Fatal Fury, Formation Soccer 95, etc). Roughly ~230 CD games tested, 5 SuperGrafx and a handful of regular PC Engine/TG16.
My setup is a stock Pi4 with an up-to-date Retropie. All games tested compressed as
CHD
.The only issue I had was the 6-button controller support which doesn't with CD games (eg. Art of Fighting). You have to press the
L2
trigger to switch between 2 and 6-button controller. This works no problem withlr-beetle-pce-fast
and/or with PC Engine games (eg. Street Fighter 2). Yet controller won't move or at random withlr-beetle-pce
.Below my settings allowing for an accurate emulation:
pce_aspect_ratio = "4:3" pce_scaling = "hires" pce_multitap = "disabled" everything else at default
Few games will be happy without the
Multitap
'plugged in' eg. Cho Aniki.It would be great to see that core added indeed to Retropie. At least for Pi4. As an extra that core also supports SuperGrafx hence one emulator for 3 systems.
Thanks again.
-
@nemo93 Yea, np.
I haven't seen any performance issues after several testing sessions even with Arcade Card games (Street Fighter 2, Garou Densetsu/Fatal Fury, Formation Soccer 95, etc). Roughly ~230 CD games tested, 5 SuperGrafx and a handful of regular PC Engine/TG16.
I encountered slowdowns with Sapphire at the time so I assumed it was because of the arcade card emulation. Maybe improvements have been done over time.
The only issue I had was the 6-button controller support which doesn't with CD games
I'm not sure about your controller problem. I'd rather play the arcade versions of those games or if a neocd version exists with arranged audio. I'll try to reproduce the controller problem when I can. You'll probably have to report it to their github if the problem is on their end. I suggest testing the controller on pc as well to rule out the pi/retropie.
https://github.com/libretro/beetle-pce-libretro/issues -
@janderclander14 I know it's a late reply, but I just tried this emulator for the first time.
I think I found the issue: You have to enable threaded rendering in the retroarch video settings (or better in the correspondingretroarch.cfg
) .Also, I have 1 frame run-ahead enabled, and it seems to work on my overclocked Pi4. I haven't tested much, though.
-
@ecto Thanks! that just solved the issue! This must be a core bug, since I have threaded rendering disabled globaly (to save 1 frame of latency) and all other cores I've tried worked fine. Other than this, the core works perfectly on the Pi 4, as you said, even with runahead enabled.
-
Thanks all. I do confirm the core is working very nicely.
@Darksavior I cracked a ticket about the issue mentioned above. I do confirm Sapphire is running fullspeed on stock RPi4. Do you mind me asking if you're willing to get a PR ready to have this core included on Retropie? Just a few suggestions to improve (slightly) your script:
- That single core does support 3 systems: PC Engine/TurboGrafx-16, PC Engine CD and SuperGrafx.
- I'd restrict the core to RPi4 and above (unless someone confirms it's fine on RPi3).
- I'd restrict
lr-beetle-pce-fast
as well aslr-beetle-supergrafx
to RPi3 (and below). - I've tested with
.chd
and.7z
only without issue hence those extensions are valid. - I'd enforce the following settings (if possible):
pce_aspect_ratio = "4:3" pce_scaling = "hires" pce_multitap = "disabled"
Let me know if there's anything I can help with. Thanks again.
-
@nemo93 I know nothing of doing a PR. I only altered it to point to the non-fast version. It's all I know how to do.
The core is available on the Retropie-Extras repo.
https://github.com/Exarkuniv/RetroPie-ExtraMaybe @ExarKunIv might be interested in the changes you've suggested.
-
@nemo93 i will gladly add them to the script in my repo.
where are these settings going? so i know where to add them -
@Darksavior apologies. Thanks for pointing to that repo I was not aware of it. There's even Duckstation (lr)!!
@ExarKunIv thanks for jumping in! As stated I didn't know anything about your repo and it looks great. Amazing job done here. The settings are to be added/set into the
retroarch-core-options.cfg
file.I still do firmly believe that
lr-beetle-pce
should be integrated straight into Retropie given how well it runs and the benefits it brings (at least to RPi4 owners). I don't want to step onto anyone's toes here but if I can help to crack a PR on Retropie let me know (with all credits to @Darksavior).Thanks again.
-
@nemo93 I'm happy to include it.
-
@BuZz awesome. PR created. Thanks for reviewing. Also thanks again @Darksavior, @ecto, @ExarKunIv as well as any people who contributed to that 'libretro core'.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.