libretro / beetle-psx-libretro Goto Github PK
View Code? Open in Web Editor NEWStandalone port/fork of Mednafen PSX to the Libretro API.
License: GNU General Public License v2.0
Standalone port/fork of Mednafen PSX to the Libretro API.
License: GNU General Public License v2.0
PSX games seem to only report a resolution of 320x240 to RetroArch, resulting in ugly graphics when using integer scaling if that game does not run at 320x240. (e.g. Symphony of the Night, which is natively 256x240)
Hi Guys,
Just noticed the issue in FF8 - at the left edge of the bridge in Dollet, when characters pass a certain point they start blinking (flashing) rapidly. This isn't happening in Mednafen 0.9.38.7. Not sure if the Libretro core is behind on the source? The newest one shows that it's 0.9.38.6. Using the latest nighty RA as well with no special settings in the core menu.
If you play a game like Dragon Ball GT Final Bout with a Dualshock, you'll not be able to play the game :
Along with Tekken 2, Rayman 1, Disney Hercules...
That's normal, ok but I would like you to not having to switch everytime just for having the rumble feature.
I've reported this error for the LilyPad plugin of PCSX2 back in the days and they were able to fix the issue in order to play the game despite the dualshock option activated.
(PCSX2/pcsx2#1348)
The line of code they used:
if (pad->mode == MODE_DIGITAL && config.padConfigs[query.port][query.slot].autoAnalog && !ps2e) {pad->mode = MODE_ANALOG;}
Hope you can do the same for Beetle-psx, thanks!
cubatilles on the forums describes the issue in detail: http://libretro.com/forums/showthread.php?t=3616&p=26440&viewfull=1#post26440
He mentions similar problems in the Moto Racer games, but R4 is the only one I have on hand and confirmed.
There are a few select PSX games that dont interpret the full analog range of a 360 controller incorrectly. The stick will be fully tilted and only a light tilt will be received. This issue has a fix in the original mednafen but still persists with the lib core.
http://mednafen.fobby.net/documentation/psx.html#Analog+Sticks+Range+Issues
Could a toggle switch for this be added to the core options?
The music in RPG Tsukuru 4 plays faster than intended. This was fixed in Mednafen 0.9.38.7.
While checking for bugs with the GL renderer and making sure they weren't also happening with the software renderer I stumbled upon that issue where colored dots pop up near 3D elements
At first I thought this was exclusive to the core with the GL renderer because it didn't happen with the core that didn't have it but then I realized that I hadn't updated the core without the GL render in a while and after updating it the issue was present in both. sadly I forgot to take a screenshot of that issue not being present in a somewhat recent build (around may 31st) but I managed to find a much older build (feb 13th) and it doesn't have it either.
It also does not happen at resolution higher than native as seen here,
and it doesn't seem to be affected by any other option.
Here's a save as close as possible to the spot I used and a savestate in case you need it. link
On a sidenote as unlikely as it might seem updating the non HW core might have changed some behavior in the HW enabled one, namely a similar colored dots problem at one specific point of the game and another one involving 3D elements disappearing while inspecting objects / opening a menu that would fix itself until the next restart by switching "Show full VRAM" on and off without going back to the game inbetween. Nevermind those two things are caused by having "Software framebuffer" on I just forgot to doublecheck what option I had on for testing to begin with.
I'm using 2x scaling. Other than those two specific instances, though, I haven't yet encountered other scaling issues in the game, not even while the actual non-logo intro plays. These lines do not appear as static as they are in the screenshots, they flicker and effectively produce a grey bar.
The GPU is a GTX 480 with the 361.91 driver.
Hello,
The original Mednafen had options to adjust the axis scale on dualshock and dualanalog controllers to deal with logical range issues that would cause movement problems in some games. An example is given here:
http://mednafen.fobby.net/documentation/psx.html#psx.input.port1.dualshock.axis_scale
Is there any chance that these options could be added into this core so that it could be utilized by various front-ends like retroarch?
Thanks!
Look, I tried FF9 pal-spanish with a patch released in 2002 by the Paradox group which (aside of nulling subchannel data check) includes a boot-screen that allows to select either PAL or NTSC video-modes but if I select NTSC only sound is heard afterwards ingame: everything works except its blackscreen.
The same happens with other games patches on the reverse direction (NTSC to PAL).
You might think it's a bug on the patch side, but it works on the real thing.
Please add a video-mode change detector.
Currently, you cannot use the PSX mouse or either of the lightgun input methods in the libretro port.
Creating a new issue for this, since this is a bit more unique in comparison to the other gl renderer bugs.
Widescreen not enabled by default, regardless of core option
The following can be reproduced with any game:
Workaround:
After loading a game, disable and then re-enable the widescreen core option.
Widescreen gets disabled automatically during certain loading screens
Reproduced with Apocalypse (USA):
Workaround:
Disable and then re-enable the widescreen core option.
I found that the code already supports negcon but it is not exposed to libretro. Seems just a matter of calling SetInput with "negcon" pad type, and maybe a few declarations.
I failed to enable it myself since I don't know a thing about libretro's interfaces.
OS: Slackware64-current
RetroArch-1.3.6-x86_64-1_SBo
pcsx-rearmed-10ed51a_2016.06.18_master-x86_64-1_git
beetle-psx-libretro-2016.08.18_2c2e41d_master-x86_64-1_git
When starting a redump of SaGa Frontier (USA)
a black screen will be encountered, the game is not frozen as both sound and input still work. This will occur with both the software and OpenGL renderers, but it will work correctly with pcsx-rearmed
.
md5sum: 95f57b8f33470e6763c0a947b9e1a13f
crc32: 907455ad
It turns out that the latest commit from 2016-06-25 have broken PAL games completely as they only show a black screen with sound (refer to this thread http://libretro.com/forums/showthread.php?t=6174)
The last working commit was 465fdd9 compiled 2016-06-22
It doesn't matter what settings you change either, still black screen only with sound.
Tested on Windows 10 x64 with Radeon 7950 Radeon Software Version 16.5.3 (OpenGL 4.5 Context) and latest RA x64 and mednafen HW builds.
When starting a game using opengl backend (everything else is set to default) : screen goes black but the game still run.
Attempting to go back to RA (meaning using F1 or L3+R3), immediately close retroarch.
Debug doesn't provide much info :
snip
OpenGL context reset
Building OpenGL state (1x internal res., 16bpp)
Target framebuffer size: 1024x512
Target framebuffer size: 256x240
Target framebuffer size: 640x240
Target framebuffer size: 256x240
Target framebuffer size: 640x480
Trying to use it to play with mouse the english translation of Policenauts. Also, where can I find a recent compile? It seems this core is up to 0.9.38.x according to the commits but the one that the Core Updater of the nightly downloaded says it's based on 0.9.36.5
Thanks for your work :-D
Using the button combination "START+SELECT+L1+L2+R1+R2" does not appear to work. Is this perhaps configurable which is why it doesn't work by default? Also, it would be great if this were configurable, due to the fact that most Squaresoft games soft-reset when using that combination.
Thanks in advanced for the help!
Setup: I use --appendconfig for my gaming setup. Each appended config file has a specified savefile directory. For most of the systems I use, it works correctly. It also used to work correctly with Mednafen PSX.
Now, however, anytime a PS1 game is loaded with the help of an appended config, the Memory Card saves save themselves into the System folder. This is regardless of what the appended config file has specified. RetroArch will even show the directory you specified, but it won't save there.
I have no issues when using full configuration files; wherever the config file says to save, it saves. It's only with the use of the --appendconfig command that this happens.
Hello,
I have official PSN pbp images of FFVIII and FFIX and when I got to the second disc it's always asking me to change to the right disc. It's also in the case of loading from a memory card.
Hi Developers,
Is it possible to add option for skipping PSX BIOS logo screen and directly go to the game?
If no, please add the option for it.
Thanks.
just a request
After selecting a memory card to use (or no memory card) the screen stays black, but the music plays.
This video begins with what should follow, but only the music plays.
The game "Beyond the Beyond" doesn't work with the beetle-psx-libretro core and crashes upon starting. It does however work with the pcsx-rearmed core even though I'm not using an arm device and other games do work with the mednafen core.
Crashes with the mednefen core.
$ retroarch -L /usr/lib64/libretro/mednafen_psx_libretro.so Beyond\ the\ Beyond\ \(USA\)/Beyond\ the\ Beyond\ \(USA\).cue
unhandled setting UI: psx.input.port1.gun_chairs
unhandled setting UI: psx.input.port2.gun_chairs
unhandled setting UI: psx.input.port3.gun_chairs
unhandled setting UI: psx.input.port4.gun_chairs
unhandled setting UI: psx.input.port5.gun_chairs
unhandled setting UI: psx.input.port6.gun_chairs
unhandled setting UI: psx.input.port7.gun_chairs
unhandled setting UI: psx.input.port8.gun_chairs
terminate called after throwing an instance of 'MDFN_Error'
what(): Error opening file No such file or directory
Aborted
While the pcsx-rearmed core works.
$ retroarch -L /usr/lib64/libretro/pcsx_rearmed_libretro.so Beyond\ the\ Beyond\ \(USA\)/Beyond\ the\ Beyond\ \(USA\).cue
Starting PCSX-ReARMed r15-522-gf72db18
Running PCSX Version 1.9 (Jan 18 2016).
Mapped (RAM/scrp/ROM/LUTs/TC):
80000000/1f800000/1fc00000/00000000/00000000
found BIOS file: scph7003.bin
RGB565 supported, using it
plugin: plugins/builtin_gpu
plugin: plugins/builtin_spu
plugin: plugins/builtin_pad
plugin: plugins/builtin_pad
Plugins loaded.
Loaded CD Image: Beyond the Beyond (USA)/Beyond the Beyond (USA).cue[+cue].
Track 01 (DATA) - Start 00:02:00, Length 13:39:28
selected sound output driver: libretro
CD-ROM Label: BEYOND_THE_BEYOND
CD-ROM ID: SCUS94702
CD-ROM EXE Name: SCUS_947.02;1
ari64_reset
As do other games.
$ retroarch -L /usr/lib64/libretro/mednafen_psx_libretro.so Tales\ of\ Phantasia\ \(Japan\)\ \[En\ by\ Gemini+Throughhim413\ v1.0\]/Tales\ of\ Phantasia\ \(Japan\)\ \[En\ by\ Gemini+Throughhim413\ v1.0\].cue
unhandled setting UI: psx.input.port1.gun_chairs
unhandled setting UI: psx.input.port2.gun_chairs
unhandled setting UI: psx.input.port3.gun_chairs
unhandled setting UI: psx.input.port4.gun_chairs
unhandled setting UI: psx.input.port5.gun_chairs
unhandled setting UI: psx.input.port6.gun_chairs
unhandled setting UI: psx.input.port7.gun_chairs
unhandled setting UI: psx.input.port8.gun_chairs
The two relevant cue files.
FILE "Beyond the Beyond (USA).bin" BINARY
TRACK 01 MODE2/2352
INDEX 01 00:00:00
FILE "Tales of Phantasia (Japan) [En by Gemini+Throughhim413 v1.0].bin" BINARY
TRACK 01 MODE2/2352
INDEX 01 00:00:00
Also in case anyone has any objections, I do own physical copies of these games.
Seems this has not been addressed yet, can we have this fixed soon if possible?
Hi, could you add the support for PBP file (like PCSX_Rearmed)?
This kind of file help a lot to save disk space.
Thx a lot for all your hard work!
Hello
I used emulator since ten years. Here is a feature that could be very useful for libretro psx emulator: optimize game into a compatible format.
For exemple:
This option could be incredible when you talk of psx iso. Many pc plugin or emulator allow some modifications to your iso.
In compression (sometimes decompression on the fly needs bigger CPU)
compress to bz2 format (cdr mooby 2 plugin for PsX)
compress to 7z
compress to zip
compress to pbp or to multi pbp file
To gain some place, they also tried some exotic thing (on pc) this modification works on some andorid / linux emulator.
convert XA audio stream to mp3.
Delete/compress dummy files
Other drastic option exist (wipe video data / wipe audio data) (that option is clearly stupid)
Some times they also used index files to link the file to the compressed iso the emulator
Other path could be explored to gain some precious place and cpu usage , convert sony video PSX files to a newer and better compressed format.
Adding a way to do that optimizations safely and easily on your iso would be wonderful (we could gain place / cpu usage with a good compatibility)
=> the device could do it at his own rythm ( even i f the process needs one or two hours per iso)
That thing could be done for psp iso and perhaps one day gamecube and wii iso (like the wbfs format)
On a clean install of RetroArch, I updated all of my cores, but this time I left out the regular "Mednafen PSX" and instead only downloaded "Mednafen PSX HW".
When launching content, after loading the Mednafen PSX HW core, it would only show a black screen, however you could hear the audio.
As a test, I downloaded the Mednafen PSX (regular), and launched content which worked. Afterwards, I loaded up the Mednafen PSX HW core and tried loading content as well. This time it worked. So it appears that loading content in Mednafen PSX HW requires having already loaded content with Mednafen PSX (standard).
As a second test, I found out the problem is also reproducible by just deleting the "mednafen_psx_libretro.dll" cfg file and leaving the "mednafen_psx_hw_libretro.dll" intact.
I am on Windows 10 x64, using the stable 1.3.6 retroarch build, with the newest buildbot cores as of today.
I am specifically using the 1.3.0 build with the Mednafen PSX core downloaded via the RetroArch GUI. I have placed three requisite bios files for Mednafen (MD5 checksum confirmed) in the bios
subfolder in the RetroArch directory.
The crash happens immediately upon attempting to run a .cue
file in the same directory as the .bin
. I have confirmed that there is no directory listed in the .cue
file; instead, it is simply the filename of the .bin
file.
What can explain this error?
Since a few days ago I've been experiencing strange bugs. I've made some snaps of it. Everything is set to default. Software renderer not opengl.
One the first picture there's the issue of ?shadow? on the left of the box. And the next three show some strange lines, points on the forests when moving.
When compiling from a freshly cloned git master, first thing printed is:
chmod: cannot operate on dangling symlink './mednafen/include/trio/CHANGES'
chmod: cannot operate on dangling symlink './mednafen/include/desa68'
beetle-psx-libretro/mednafen/include/trio$ ls -l CHANGES
lrwxrwxrwx 1 root root 22 Feb 15 19:02 CHANGES -> ../../src/trio/CHANGES
beetle-psx-libretro/mednafen/include$ ls -l desa68
lrwxrwxrwx 1 root root 14 Feb 15 19:02 desa68 -> ../src/desa68/
Certain games like Codename Tenka need only the first memory card in to play and both are inserted and I see no way to remove the second memory card, any ideas on fixing this issue?
Segfaults on Linux as soon as I try to launch a game. Here's the backtrace:
Starting program: /usr/bin/retroarch -L /usr/lib64/libretro/mednafen_psx_libretro.so /storage/Downloads/Software/psx/R-Type\ Delta\ NTSC\ USA\ PSX.cue
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Didn't read whole file: /sys/devices/system/cpu/present.
Didn't read whole file: /sys/devices/system/cpu/possible.
[New Thread 0x7fffebea2700 (LWP 4848)]
[New Thread 0x7fffeb6a1700 (LWP 4849)]
Program received signal SIGSEGV, Segmentation fault.
0x00007fffea74e722 in FrontIO::SaveMemcard(unsigned int) () from /usr/lib64/libretro/mednafen_psx_libretro.so
(gdb) bt
#0 0x00007fffea74e722 in FrontIO::SaveMemcard(unsigned int) () from /usr/lib64/libretro/mednafen_psx_libretro.so
#1 0x00007fffeaa16e44 in CloseGame() () from /usr/lib64/libretro/mednafen_psx_libretro.so
#2 0x00007fffeaa1b9e9 in retro_unload_game () from /usr/lib64/libretro/mednafen_psx_libretro.so
#3 0x0000000000416b27 in event_deinit_core (reinit=true) at command_event.c:549
#4 0x000000000041857a in event_command (cmd=EVENT_CMD_CORE_DEINIT) at command_event.c:1420
#5 0x0000000000413e35 in rarch_main_init (argc=4, argv=0x7fffffffc7f8) at retroarch.c:1230
#6 0x00000000004105b6 in main_load_content (argc=4, argv=0x7fffffffc7f8, args=0x0,
environ_get=0x40f952 <frontend_linux_get_env>, process_args=0x0) at frontend/frontend.c:226
#7 0x0000000000410730 in rarch_main (argc=4, argv=0x7fffffffc7f8, data=0x0) at frontend/frontend.c:289
#8 0x00000000004108bb in main (argc=4, argv=0x7fffffffc7f8) at frontend/frontend.c:343
(gdb) quit
This is to kindly inquire about the possibility of exposing an option to select the Region / Video Mode in the Core Options of beetle-psx-libretro, thus allowing the user to either force a specific format (PAL / 50hz or NTSC / 60hz) or leave it up to the automatic region detection normally performed by the emulator.
The reason behind this request lies in being able to circumvent the technical limitations that affected the PAL-exclusive localizations of several classics.
Back in the day, PAL PS1 games were released on the market in a crippled form that capped them at 50hz, making the overall framerate 17,5% slower if compared to their respective NTSC counterparts. Furthermore, because of the intrinsic difference between the two formats and the different number of lines displayed, PAL versions were often plagued with black borders.
While it appears that the latter effect is mitigated in emulation, the former is still firmly in place.
That is because, as far as I understand, Mednafen PSX faithfully reads the regional code of each game and then proceeds to run it with the corresponding Region / Video Mode, but this makes it so that some German, French, Italian and Spanish translations are inevitably hindered by the slower framerate.
Being able to choose between modes would allow a wider array of options, while keeping the goal of accuracy.
Thanks in advance!
Hello,
I'm experiencing some graphical glitches with the latest revision of this core with Crash Bandicoot 3 and other games. Mostly about wrong colors, here are some screenshots.
Gray trexture [Crash Bandicoot 3]
Green pixels in the background [Crash Bandicoot 3]
Colors seems wrong here. Foreground is too green-y and there's a very sharp cut between the background fog and the scene [Silent Hill]
Core was working great but after updating to the newest nightly i get an immediate crash and runtime error. Every other core is still working.
Runtime Error!
Program: D:\Emulators\RetroArch\retroarch.exe
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
I have version 1238.4ad02c7-1 installed on Arch Linux (64-bit). When I run the core in Retroarch, it won't let me change the renderer away from software in the menu. Any suggestions?
OS: Slackware64-current
gcc-5.3.0_multilib-x86_64-3alien
beetle-psx-libretro-1034c46_2016.06.06_master-x86_64-1_git
I noticed HAVE_GRIFFIN
in the Makefile so I decided to try building with it and found it fails to do so. It does not matter if trying to build the core with HAVE_OPENGL=1
or not.
beetle_psx_griffin.o: In function `disk_get_num_images()':
beetle_psx_griffin.cpp:(.text+0xebb): undefined reference to `PBP_DiscCount'
beetle_psx_griffin.o: In function `CDSelect()':
beetle_psx_griffin.cpp:(.text+0x1a2f3): undefined reference to `PBP_DiscCount'
beetle_psx_griffin.o: In function `disk_set_image_index(unsigned int)':
beetle_psx_griffin.cpp:(.text+0x1a34a): undefined reference to `PBP_DiscCount'
beetle_psx_griffin.o: In function `cdaccess_open_image(char const*, bool)':
beetle_psx_griffin.cpp:(.text+0xd51df): undefined reference to `CDAccess_PBP::CDAccess_PBP(char const*, bool)'
beetle_psx_griffin.o: In function `disk_replace_image_index(unsigned int, retro_game_info const*)':
beetle_psx_griffin.cpp:(.text+0xd53c3): undefined reference to `PBP_DiscCount'
collect2: error: ld returned 1 exit status
Makefile:287: recipe for target 'mednafen_psx_libretro.so' failed
make: *** [mednafen_psx_libretro.so] Error 1
Full log: http://pastebin.com/76rYKL53
Since this is one of the most CPU-intensive cores in RetroArch i am looking for a way to speed it up a bit so it could run fullspeed on low-powered PCs (Intel Celerons, Atoms, etc.) and even some Android devices.
The better solution would be a core option to reduce accuracy a bit like the bsnes-mercuty option 'bsnes_violate_accuracy'.
After updating to the newest buildbot build I was able to reproduce a crashing problem.
The event viewer entry is as follows:
Faulting application name: retroarch.exe, version: 0.0.0.0, time stamp: 0x0024a7a4
Faulting module name: mednafen_psx_hw_libretro.dll, version: 0.0.0.0, time stamp: 0x574af118
Exception code: 0xc0000005
Fault offset: 0x0000000000087255
Faulting process id: 0x950
Faulting application start time: 0x01d1b9c4f3dd57ee
Faulting application path: E:\Emu\Emus\RetroArch\retroarch.exe
Faulting module path: E:\Emu\Emus\RetroArch\cores\mednafen_psx_hw_libretro.dll
Report Id: 8a5e47b6-efa5-43d5-9168-298607abbc6e
Faulting package full name:
Faulting package-relative application ID:
Both of these games worked without problems with yesterday's build. I tested this with BIOS skip enabled. However, when disabling BIOS skip, it never gets passed the BIOS screen, and the screen looks like this:
The camera doesn't move in the way it's supposed to, making the game very hard to play because you have to adjust it with L1 constantly. Upstream mednafen doesn't have this issue.
I load the .CCD with .IMG and .SUB, but doesn't work right. Did I do something wrong?
I think it doesn't load subchannel data and applies antipiracy. Or is it a bug?
This thread is for games that have been found that go into stuttering fits at 1x rendering. Please specify what games and where the slowdowns take place.
Beetle PSX libretro is currently missing GPU cache emulation which was added in Mednafen 0.9.37-UNSTABLE,
It is needed to render the heat engine effects in various Formula One games correctly and prevents flickering on the map screen of Tactics Ogre.
OS: Slackware64-current
gcc-5.3.0_multilib-x86_64-3alien
When trying to build a freshly cloned repo with HAVE_OPENGL=1 it quickly results in a build failure. Building just the software renderer works as it always has. For a full log see the following pastebin link.
http://pastebin.com/1VgxURgt
Makefile:314: recipe for target 'rustation-libretro/src/retrogl/retrogl.o' failed
make: *** [rustation-libretro/src/retrogl/retrogl.o] Error 1
When load game from command line (-L mednafen_psx_libretro.dll image.cue), ignores save directory setting (RetroArch\saves) and created mcr file in content directory.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.