libretro / bsnes2014 Goto Github PK
View Code? Open in Web Editor NEWLibretro fork of bsnes. As close to upstream as possible.
License: GNU General Public License v3.0
Libretro fork of bsnes. As close to upstream as possible.
License: GNU General Public License v3.0
Any bsnes core before 2015-12-17: Success! The game successfully launches.
Any bsnes core after 2015-12-17: Fail! The game does not launch at all.
Normal run-ahead causes odd start-and-stop skipping, breaks audio terribly. Second instance fixes audio but still skips ahead and back randomly and oddly. Even with 1 skip it will unpause shortly after you press pause for instance. The stand-alone emulator has run-ahead working. Any way this could be implemented as an option in the emulator core, or be made to play along with RA's native run-ahead? Thanks in advance.
I'm not sure how difficult it would be to add, but it would be quite nice.
Widescreen works for both Mode 7 and sprite-based games:
https://www.reddit.com/r/emulation/comments/bmc9t9/bsneshd_beta_5_bsnes_1073_formally_hd_mode_7_mod/
Video demonstration: https://youtu.be/RFCWAQlb7y0
Following the instructions on https://docs.libretro.com/development/retroarch/compilation/linux-and-bsd/ results in being unable to compile bsnes balanced (or more precisely, being unable to compile it with openGL).
Adding $(info statements to the Makefile to trace through it and find the problem shows me that the platform is set to "unix-opengl" and the Makefile does not understand that, causing it to fall through to the else statement that applies to Windows. It then tries to compile a .dll using Windows libraries, which fails.
In addition, the libretro-build.sh script doesn't properly report the error. What actually happens is that bsnes is compiled twice, once successfully (as unix) and once unsuccessfully (as unix-opengl). However, the summary at the end of the script just says that the core was not processed successfully, rather than saying that it was successfully processed one way and unsuccessfully another.
when Super Game Boy bios is located in , it will not find it and gives error like this:
RetroArch [libretro INFO] :: [Memory]: ID 41, Request "sgb.boot.rom".
RetroArch [libretro INFO] :: Load BIOS.
RetroArch [INFO] :: Environ SYSTEM_DIRECTORY: ".\system".
RetroArch [libretro ERROR] :: Cannot find requested file in system directory: ".\system/sgb.boot.rom
".
Syntax used:
`E:\EMULATORS\retroarch\retroarch.exe -L "E:\EMULATORS\retroarch\cores\bsnes_balanced_libretro.dll" "C:\Users\MEDIA\Desktop\New folder (2)\Super Game Boy (World).sfc" --subsystem sgb "C:\Users\MEDIA\Desktop\New folder (2)\Castlevania Legends (USA, Europe).gb"
`
moving the bios file into the Super Game Boy rom or into the gameboy rom(or what ever rom you are trying to load SuperGameBoy with) works.
this also affects bsnes-mercury
forum discussion: https://forums.libretro.com/t/super-game-boy-enough-is-enough/10872/5
Possible problematic area: https://github.com/libretro/bsnes-libretro/blob/libretro/target-libretro/libretro.cpp#L207
Tested under Windows 7 64bit.
Hello,
I get this compilation error using Xcode 6.0.1 toolchain:
clang++ -o out/bsnes_libretro_ios.dylib -dynamiclib obj/libco.o obj/processor-arm.o obj/processor-gsu.o obj/processor-hg51b.o obj/processor-lr35902.o obj/processor-r65816.o obj/processor-spc700.o obj/processor-upd96050.o obj/sfc-interface.o obj/sfc-system.o obj/sfc-controller.o obj/sfc-cartridge.o obj/sfc-cheat.o obj/sfc-memory.o obj/sfc-cpu.o obj/sfc-smp.o obj/sfc-dsp.o obj/sfc-ppu.o obj/sfc-satellaviewbase.o obj/sfc-icd2.o obj/sfc-bsx.o obj/sfc-nss.o obj/sfc-event.o obj/sfc-sa1.o obj/sfc-superfx.o obj/sfc-armdsp.o obj/sfc-hitachidsp.o obj/sfc-necdsp.o obj/sfc-epsonrtc.o obj/sfc-sharprtc.o obj/sfc-spc7110.o obj/sfc-sdd1.o obj/sfc-obc1.o obj/sfc-hsu1.o obj/sfc-msu1.o obj/sfc-satellaviewcart.o obj/sfc-sufamiturbo.o obj/gb-interface.o obj/gb-system.o obj/gb-scheduler.o obj/gb-memory.o obj/gb-cartridge.o obj/gb-cpu.o obj/gb-ppu.o obj/gb-apu.o obj/gb-cheat.o obj/gb-video.o obj/libretro.o -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk -arch armv7
ld: illegal text-relocation to '_posix_memalign' in /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/usr/lib/libSystem.dylib from '_co_create' in obj/libco.o for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [build] Error 1
Failed to build bsnes performance core
Hi, a first, thanks for your great work with retroarch/libretro.
This report is for SNES MULTITAP support.
I found closed issue about this problem, and check another time libretro cores (v1.3.6)
Today SNES9x core work without any problem with multitap games.
But Bsnes w/o mercury don´t work, games show multitap detection (bomberman, Tiny Toon Adventures - Wacky Sports Challenge, etc) like SNES9x core, but 3, 4 and 5 players don´t move.
I user same cfg file in both cases, only change core DLL into configuration file.
Regards.
I don't really like how savestates are incompatible between lagfix and not-lagfix (that frame_event_performed flag).
Since the serialization code is only be called when within one of those scheduler.exit(Scheduler::ExitReason::FrameEvent) calls, and each of them (other than non-SNES cores, which aren't used by this repo anyways) is followed by setting that flag, I suspect we can replace s.integer(status.frame_event_performed) with status.frame_event_performed=false. @Brunnis, do you agree?
For reference, here's how the lagfix looks after fixing it about ten times: libretro/bsnes-libretro@6039847...libretro
I can't find any LICENSE or COPYING or anything file containing the project's license, which is very problematic when you want to distribute the project as a package.
Hello,
I tried compile this by running make -j2 platform=x profile=balanced target=libretro
Started fine but i got this error:
cc build.o obj/libco.o obj/processor-arm.o obj/processor-gsu.o obj/processor-hg51b.o obj/processor-lr35902.o obj/processor-r65816.o obj/processor-spc700.o obj/processor-upd96050.o obj/sfc-interface.o obj/sfc-system.o obj/sfc-controller.o obj/sfc-cartridge.o obj/sfc-cheat.o obj/sfc-memory.o obj/sfc-cpu.o obj/sfc-smp.o obj/sfc-dsp.o obj/sfc-ppu.o obj/sfc-satellaviewbase.o obj/sfc-icd2.o obj/sfc-bsx.o obj/sfc-nss.o obj/sfc-event.o obj/sfc-sa1.o obj/sfc-superfx.o obj/sfc-armdsp.o obj/sfc-hitachidsp.o obj/sfc-necdsp.o obj/sfc-epsonrtc.o obj/sfc-sharprtc.o obj/sfc-spc7110.o obj/sfc-sdd1.o obj/sfc-obc1.o obj/sfc-hsu1.o obj/sfc-msu1.o obj/sfc-satellaviewcart.o obj/sfc-sufamiturbo.o obj/gb-interface.o obj/gb-system.o obj/gb-scheduler.o obj/gb-memory.o obj/gb-cartridge.o obj/gb-cpu.o obj/gb-ppu.o obj/gb-apu.o obj/gb-cheat.o obj/gb-video.o obj/libretro.o -o build
cc: error: build.o: No such file or directory
: recipe for target 'build' failed
make: *** [build] Error 1
Some hacked Games like "hyper street kart" or "spongebob kart" starts in black screen.
"SuperRoadBlaster" comes with a "no find msu1 hardware" Error. Tested with "bsnes Performance" in Retroarch.
Nach oben Nach unten
I did a new port https://github.com/rtretiakov/bsnes
Could be missing things but mostly completed
--------- beginning of crash
06-02 14:40:40.280 F/libc ( 5966): Fatal signal 7 (SIGBUS), code 1, fault addr 0xcffc2cf4 in tid 6005 (Thread-2)
06-02 14:40:40.280 W/ ( 464): debuggerd: handling request: pid=5966 uid=10103 gid=10103 tid=6005
06-02 14:40:40.296 W/debuggerd( 6119): type=1400 audit(0.0:62): avc: denied { search } for name="com.retroarch" dev="dm-1" ino=11149 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
06-02 14:40:40.333 D/APM_AudioPolicyManager( 749): stopOutput() output 13, stream 3, session 33
06-02 14:40:40.333 D/AudioPolicyManagerCustom( 749): getNewOutputDevice() selected device 0
06-02 14:40:40.333 D/APM_AudioPolicyManager( 749): setOutputDevice() device 0000 delayMs 96
06-02 14:40:40.367 F/DEBUG ( 6119): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
06-02 14:40:40.367 F/DEBUG ( 6119): Build fingerprint: 'OnePlus/OnePlus3/OnePlus3T:7.1.1/NMF26F/04062139:user/release-keys'
06-02 14:40:40.367 F/DEBUG ( 6119): Revision: '0'
06-02 14:40:40.367 F/DEBUG ( 6119): ABI: 'arm'
06-02 14:40:40.367 F/DEBUG ( 6119): pid: 5966, tid: 6005, name: Thread-2 >>> com.retroarch <<<
06-02 14:40:40.367 F/DEBUG ( 6119): signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0xcffc2cf4
06-02 14:40:40.367 F/DEBUG ( 6119): r0 00000000 r1 00000000 r2 00000008 r3 0000000f
06-02 14:40:40.367 F/DEBUG ( 6119): r4 000000a5 r5 efd006b0 r6 00000000 r7 00000014
06-02 14:40:40.367 F/DEBUG ( 6119): r8 00000000 r9 ee160e48 sl efd005c0 fp efd006d0
06-02 14:40:40.367 F/DEBUG ( 6119): ip 00000055 sp cffc2cf4 lr cffc2cf4 pc ee133456 cpsr 000e0030
06-02 14:40:40.366 W/debuggerd( 6119): type=1400 audit(0.0:63): avc: denied { search } for name="com.retroarch" dev="dm-1" ino=11149 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
06-02 14:40:40.375 F/DEBUG ( 6119):
06-02 14:40:40.375 F/DEBUG ( 6119): backtrace:
06-02 14:40:40.375 F/DEBUG ( 6119): #00 pc 00053456 /system/lib/libc.so (je_arena_maybe_purge+417)
06-02 14:40:40.375 F/DEBUG ( 6119): #01 pc 0005866f /system/lib/libc.so (arena_run_dalloc+1146)
06-02 14:40:40.375 F/DEBUG ( 6119): #02 pc 00055183 /system/lib/libc.so (arena_dalloc_large_locked_impl+202)
06-02 14:40:40.375 F/D
EBUG ( 6119): #03 pc 0006e5b7 /system/lib/libc.so (je_tcache_bin_flush_large+254)
06-02 14:40:40.375 F/DEBUG ( 6119): #04 pc 0006e29b /system/lib/libc.so (je_tcache_event_hard+90)
06-02 14:40:40.375 F/DEBUG ( 6119): #05 pc 00062cdf /system/lib/libc.so (je_malloc+762)
06-02 14:40:40.375 F/DEBUG ( 6119): #06 pc 00041fff /system/lib/libbinder.so (_ZN7android6Parcel13continueWriteEj+442)
06-02 14:40:40.375 F/DEBUG ( 6119): #07 pc 00042cf3 /system/lib/libbinder.so (_ZN7android6Parcel12writeAlignedIiEEiT_+30)
06-02 14:40:40.375 F/DEBUG ( 6119): #08 pc 00042721 /system/lib/libbinder.so (_ZN7android6Parcel19writeInterfaceTokenERKNS_8String16E+20)
06-02 14:40:40.375 F/DEBUG ( 6119): #09 pc 00075951 /system/lib/libmedia.so
06-02 14:40:40.375 F/DEBUG ( 6119): #10 pc 0006b8bd /system/lib/libmedia.so (_ZN7android10AudioTrack5startEv+464)
06-02 14:40:40.375 F/DEBUG ( 6119): #11 pc 00017a4b /system/lib/libwilhelm.so
06-02 14:40:40.375 F/DEBUG ( 6119): #12 pc 0001a8a9 /system/lib/libwilhelm.so
06-02 14:40:40.375 F/DEBUG ( 6119): #13 pc 00128a74 /data/app/com.retroarch-2/lib/arm/libretroarch-activity.so
06-02 14:40:40.375 F/DEBUG ( 6119): #14 pc 00131d78 /data/app/com.retroarch-2/lib/arm/libretroarch-activity.so
06-02 14:40:40.376 F/DEBUG ( 6119): #15 pc 00131e40 /data/app/com.retroarch-2/lib/arm/libretroarch-activity.so (audio_driver_sample_batch+24)
06-02 14:40:40.376 F/DEBUG ( 6119): #16 pc 0016ebb0 /data/data/com.retroarch/cores/bsnes_accuracy_libretro_android.so
06-02 14:40:40.376 F/DEBUG ( 6119): #17 pc 000607b8 /data/data/com.retroarch/cores/bsnes_accuracy_libretro_android.so
06-02 14:40:40.376 F/DEBUG ( 6119): #18 pc 00059c7c /data/data/com.retroarch/cores/bsnes_accuracy_libretro_android.so
06-02 14:40:40.708 D/HeadsetPhoneState( 1862): Enter onSignalStrengthsChanged
06-02 14:40:40.708 D/HeadsetPhoneState( 1862): Exit onSignalStrengthsChanged
06-02 14:40:40.708 D/NetworkController.MobileSignalController(1)( 1917): onSignalStrengthsChanged signalStrength=SignalStrength: 99 0 -120 -160 -120 -1 -1 25 -95 -13 -16 2147483647 2147483647 4 4 gsm|lte level=4 voicelevel=4 datalevel=4
06-02 14:40:40.716 I/NetworkController.MobileSignalController(1)( 1917): showDisableIcon:false
06-02 14:40:41.115 I/ServiceManager( 767): Waiting for service AtCmdFwd...
06-02 14:40:41.165 E/ ( 6119): debuggerd: failed to kill process 5966: No such process
When the PPU Fast Mode core option is set to OFF, the output resolution is always 512x448 instead of the expected 256x224 which most games use. This ruins the use of almost any CRT shaders as the output is incorrect.
When the PPU Fast Mode core option is set to ON this does not occur and the resolution is output correctly at 256x224 for most games and 512x448 for those specific games that use it.
This core has been recently updated in Arch Linux(jump from 464 to newest 499 commits version). Now, after loading savestate sound disappears, I have to restart Retroarch to get it back. It's not arch's package specific, since when compiled directly from git the same happens.
At least that's what I was able to determine, it's crashing after RA calls retro_serialize(data, size);
I recently updated this emulator with many improvements in its operation, engine, speed, etc ... It allows loading the MSU1 like Snes9x, it does not require a manifest, it does not have profiles, come on, it was updated in many aspects.
It would be nice if a port of this version was updated or created.
Thank you.
Libretro's Cheat Database for SNES has two styles: Game Genie in AAAA-BBBB and Action Replay in AAAAAABB. Game Genie works fine, but Action Replay codes do not work after loading and enabling them via the Cheat menu in RetroArch.
I also tried the following formats: AAAAAA:BB, AAAAAA/BB, and AAAAAA=BB. No luck with any of those either.
I codes do load in SNES9X, for reference, so the codes are most likely good.
could you please tag this to create a release?
would make it cleaner for distributions to package this.
This is an odd one, this particular game causes the inputs not to respond on android
This is a relevant log:
W/NvAudioPolicyManager( 172): getDeviceForStrategy() unknown strategy: 6
W/NvAudioPolicyManager( 172): getDeviceForStrategy() unknown strategy: 7
W/NvAudioPolicyManager( 172): getDeviceForStrategy() unknown strategy: 8
W/NvAudioPolicyManager( 172): getDeviceForStrategy() unknown strategy: 6
W/NvAudioPolicyManager( 172): getDeviceForStrategy() unknown strategy: 7
W/NvAudioPolicyManager( 172): getDeviceForStrategy() unknown strategy: 8
W/NvAudioPolicyManager( 172): getDeviceForStrategy() unknown strategy: 6
W/NvAudioPolicyManager( 172): getDeviceForStrategy() unknown strategy: 7
W/NvAudioPolicyManager( 172): getDeviceForStrategy() unknown strategy: 8
W/NvAudioPolicyManager( 172): getDeviceForStrategy() unknown strategy: 6
W/NvAudioPolicyManager( 172): getDeviceForStrategy() unknown strategy: 7
E/RetroArch( 9677): Failed to find device for ID: 5
E/RetroArch( 9677): Could not look up device name or IDs.
I/RetroArch( 9677): Device model: (SHIELD
I/RetroArch( 9677): ).
I/RetroArch( 9677): Using new lookup
W/art ( 9677): JNI WARNING: java.lang.StackOverflowError thrown while calling printStackTrace
It only fails to find device for this ID when THIS GAME IS LOADED
The same issue plagued mupen on lollipop (when it was working, now it doesn't even work)
Megaman X2/X3 crash after the Capcom logo
Whenever SuperRoadBlaster locks up and you can't even alt-tab or go back to the GUI, goes into what seems like an endless loop but the frame counter keeps updating (windows register the app as not responding and even then the fps counter keeps updating but input doesn't work)
I saw other threads open regarding the SGB but they are related to the PC. I have been able to get the SGB cartridge running inside BSNES performance on my shield tv. I am attempting to set up some way of launching the games directly through my frontend Hyperspin.
It says on the core wiki that it is only a PC thing but I have gotten it to launch a game and it is showing it load GB cartridge with the proper border. SO to be clear, the process I am using to get it to load is: I load content--> load SGB sfc file, and select mercury core --> go into quick menu and select super game boy --> load the gameboy game and then load the sfc file again --> game will launch but it doesnt run at full speed. I remember seeing in the core information that it will run better if launched from the command line.
I was hoping to get help with the syntax to launch from the command line.
cores/bsnes_performance_libretro_android.so "/storage/emulated/0/Hyperspin/Roms/Nintendo Super Game Boy/roms/SGB2.sfc" --subsystem sgb
OS: Slackware64-current
gcc-7.1.0
@ilag11111 Can you take a look at this?
g++ -std=gnu++0x -I. -Ilibco -O0 -g -DSFC_LAGFIX -fPIC -D__LIBRETRO__ -DGIT_VERSION=\"" fcc7244d"\" -DPROFILE_ACCURACY -c sfc/slot/sufamiturbo/sufamiturbo.cpp -o obj/sfc-sufamiturbo-accuracy.o
g++ -std=gnu++0x -I. -Ilibco -O0 -g -DSFC_LAGFIX -fPIC -D__LIBRETRO__ -DGIT_VERSION=\"" fcc7244d"\" -DPROFILE_ACCURACY -c target-libretro/libretro.cpp -o obj/libretro-accuracy.o
target-libretro/libretro.cpp: In function ‘void retro_cheat_set(unsigned int, bool, const char*)’:
target-libretro/libretro.cpp:591:18: error: invalid conversion from ‘char’ to ‘char*’ [-fpermissive]
char *nulstr = '\0';
^~~~
make: *** [Makefile:101: obj/libretro-accuracy.o] Error 1
git bisect failed...
There are only 'skip'ped commits left to test.
The first bad commit could be any of:
a9204c52ef1d254c881bf56fd6ee11a3355d4b14
da026a5bb24831e4035b518ebfd91cb2d7a2177f
879383ee1f546ad99884cf73fce10da43ce7c765
We cannot bisect more
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.