libretro / fbalpha2012_neogeo Goto Github PK
View Code? Open in Web Editor NEWFinal Burn Alpha 2012. Port of Final Burn Alpha to Libretro (0.2.97.24). Standalone core for Neo Geo.
Final Burn Alpha 2012. Port of Final Burn Alpha to Libretro (0.2.97.24). Standalone core for Neo Geo.
Hi
In actual builds FB Alpha 2012 Neo Geo can't load content from path with special chars.
I have:
D:/Emulación/Neo Geo/neogeo.zip
D:/Emulación/Neo Geo/wjammers.zip
When I select "wjammers.zip" it goes to black and return to RetroAch, with core loaded (core names in in te bottom corner) and with a message of "Failed to load content".
If I move this to a non-special chars path it works:
D:/Neo Geo/neogeo.zip
D:/Neo Geo/wjammers.zip
Actually I reported 2 bugs related to simmilar problems for RetroArch (libretro/RetroArch#6026 and libretro/RetroArch#5959) but this seems to be a problem on the core with last changes, because I have a backup of a 1.6.7 with FB Alpha 2012 Neo Geo v0.2.97.29 that works fine, but if I update the core (core updater -> FB Alpha 2012 Neo Geo) it chrashes (the revision number doesn't change, it says 0.2.97.29 too).
I tried to move the core that works to 1.7, but it chrashes too.
I'm using the current last nightly build of RetroArch on Windows 10:
Build date: Jan 3 2018
Git version: 0e337bb11
With the current version of this core and RetroArch we can't use (at least in Windows 10) directories with special characters, like "D:/Emulación", because it crash, as explained here: libretro/RetroArch#6051
And commented here: libretro/RetroArch#5664 (comment)
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Would be possible to make a file with the zip names of the roms and the "equivalent" full name of the game to be showed when you are selecting a game? I only see the zip name and sometimes is not easy to identify the game...
I'm using RetroArch for the Nintendo Wii.
Thanks for the great job with RetroArch!
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
As I want to play games which from neogeo type. like 'metalslug2'
I go to jni lib and use the ndk-build command . But i can't get the core build.
Can anyone tell me how to build this ? thank you.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
I'm testing this core in the latest RetroArch release for the Nintendo Wii. I noticed the sound is a bit low and not accurate (it doesn't sound as it sound in the original NeoGeo). I don't know how to explain it, but anyone with a real NeoGeo or maybe even just triying in other emulators will hear the difference. Are you still fixing/optimicing/accurating this kind of things in the NeoGeo emulation for this core?
Would be possible to add new options to the core menu? It would be great to have the possibillity to select between AES (console) or MVS (arcade) modes and between regions (Japan/Europe/USA). I know it can be done with the UniBIOS but would be great to be abble to select it in the emulator with the original BIOS too.
Would be possible to add game drivers to make the emulator load them? It would be much better because this emulator can work with more games and hacks but if they aren't in the list or some CRC doesn't
match, it won't load... Maybe the drivers could be in a directory and that way you could add/remove/edit the drivers according to your needs and make more games load in this emulator...
Talking just about Wii version, shouldn't be better to have separate versions of the emulator destinated only to the Core? The memory of the Wii is very limited, so this way each version could be optimiced removing all the stuff that it's not for that core saving more memory to load the games (specially for the NeoGeo). And this way the emulator would be more friendly (the core could be integrated with the RetroArch boot.dol and showing just the neccessary options for that specific core. I think it would be much better for the Wii versions.
Just something about the LOAD CONTENT option... why this name and not just LOAD GAME? It is more clear for the user :P
Thanks for all, and thanks for this great emulator and the great job you are doing day by day.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Would be possible to put the game drivers in separate files in a folder to make possible to add or remove games from the emulator easily instead having them hardcoded with the emulator? This way we could save memory loading the driver just when you select the game.
Thanks for the great job with RetroArch!
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
https://www.winkawaks.org/roms/neogeo/index.htm#
add to fbalpha 2012 ver roms neo-geo @twinaphex
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
In the last nightly build, the Wii version doesn’t work, and when it was working, the classic control didn’t work, in version 1.8.4 it was working perfectly with the core, since then the core started having problems until today...
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Last build of this core on Wii with normal sound was fb_alpha_neo_libretro.dol from the 1.3.6 release.
That core declares itself as v0.2.97.30
Releases 1.4.0, 1.4.1 and 1.5.0 have distorted sound.
fbalpha2012_neogeo_libretro_wii.dol in the 1.5.0 release declares itself as v0.2.97.29
both the 1.4.0 and 1.4.1 cores show v0.2.97.30
I test the fba 2012 neogeo cores with the correct romsets builded with clmamepro. When the run ahead option is disabled each game load fine without glitches. But when I actived this, game have heavy glitch pictures when start a game. (it doesn’t occur when we actived this during game but only if activated by default at start of a game) Is it a know bug with last revision of the core? and there is a possibilty to solve it thanks
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
If you set the game difficulty in the diagnostic mode it wont be saved without save/load state.
This can be worked around by setting difficulty saving state after boot and loading at every launch.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
I recently updated the retroarch version of my 3ds from 1.3.3 to 1.7.7. The core of neo geo works at the same performance as before except for two problems that in the old version there wasn't:
It is not very important, but the heavier roms (mslug3,4,5, garou ....) don't load from "load content", at first I thought that they didn't work in 1.7.7, but they do work if they load through playlist. It is a minor problem, but something happens with it.
This is the reason why I open the issue, Metal Slug 5 (in all his versions of roms for FBA) in version 1.7.7 sounds with an extrident noise, it seems that the effects sound below, but the music is a very intense and continuous noise. In version 1.3.3 (the same rom) sounds perfectly, so this seems a regression.
I don't know if it will affect more games, it only happens with metal slug 5 of which I have tried (and I have tried several heavy ones like mslug3,4, x, garou and sengoku3).
I've been taking a look at the commits and the truth is that I have no idea which can be responsible for the regression, since the version of 3ds has not changed so much since 1.3.3. Thanks in advance
PS: In PC with version 1.7.7, with this same core, the same rom that I used in 3ds sounds good.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
There is no available method to run in AES(home console) mode.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Would be possible to add that stuff to this stand alone versions for the Nintendo Wii? It would be great to have this implemented: https://gbatemp.net/threads/large-neogeo-games-support-and-cps3-tests.493767/
P.S.: Could be this FBA stand alone versions of NeoGeo, CPS-1 and CPS-2 be already compiled for the Wii in a downloads section?
Thanks for all this great work!
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
This core constantly crashes or freezes on the Wii. Since the buildbot hack, this core has had multiple issues.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The controls do not respond at all using this core on the Wii. Needs a fix.
Related to issue:
libretro/RetroArch#11217
Requires input bitmask
** To be added
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
This probably applies to all the FBA-based cores and maybe MAME cores also, but I've only had reason to encounter it on Neo Geo. Metal Slug 2 is well known for its terrible performance and apparently that's partially a result of a fixable error in the game's frame-locking code, see link.
Patching this ROM and running it via mainline (non-libretro) Final Burn Alpha will cause the emulator to throw a warning about the mismatched CRC before the game goes ahead and launches anyway. RetroArch, on the other hand, reports:
RetroArch [libretro ERROR] :: :: [FBA] ROM index 0 was not found ... CRC: 0x2a53c5da
RetroArch [ERROR] :: Failed to load content.
Implementing a warning system for bad ROMs is probably far from a priority currently, so perhaps this could instead be a core option for now? By default, only matching ROMs should launch, but a core option to allow ROMs with bad CRCs also?
+ cc -c -osrc/cpu/a68k/fba_make68k.o src/cpu/a68k/fba_make68k.c -g -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -O2 -DNDEBUG -fPIC -Wno-write-strings -DTARGET=" Neo Geo" -DNEOGEO_ONLY -DGIT_VERSION=" 0645660" -DINCLUDE_7Z_SUPPORT -DUSE_SPEEDHACKS -D__LIBRETRO__ -D__LIBRETRO_OPTIMIZATIONS__ -DWANT_NEOGEOCD -D__LIBRETRO_OPTIMIZATIONS__ -DFRONTEND_SUPPORTS_RGB565 -Isrc/burner/libretro -Isrc/burn -Isrc/cpu -Isrc/burn/snd -Isrc/burn/devices -Isrc/intf -Isrc/intf/input -Isrc/intf/cd -Isrc/burner -Isrc/cpu -Isrc/dep/libs/zlib -Isrc/dep/libs/lib7z -Isrc/burn/drv/neogeo -Isrc/dep/generated -Isrc/burner/libretro/libretro-common/include -Isrc/dep/libs
src/burn/snd/ay8910.c: In function ‘AY8910Scan’:
src/burn/snd/ay8910.c:824:28: warning: ‘%d’ directive writing between 1 and 10 bytes into a region of size 8 [-Wformat-overflow=]
sprintf(szName, "AY8910 #%d", i);
^~
src/burn/snd/ay8910.c:824:19: note: directive argument in the range [0, 2147483647]
sprintf(szName, "AY8910 #%d", i);
^~~~~~~~~~~~
In file included from /usr/include/stdio.h:862:0,
from src/burn/driver.h:8,
from src/burn/snd/ay8910.c:13:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:33:10: note: ‘__builtin___sprintf_chk’ output between 10 and 19 bytes into a destination of size 16
return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__bos (__s), __fmt, __va_arg_pack ());
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/cpu/a68k/fba_make68k.c: In function ‘branchinstructions’:
src/cpu/a68k/fba_make68k.c:3607:5: error: format not a string literal and no format arguments [-Werror=format-security]
sprintf( jmpLabel, GenerateLabel(BaseCode+0xff,1) ) ;
^~~~~~~
src/cpu/a68k/fba_make68k.c: In function ‘stop’:
src/cpu/a68k/fba_make68k.c:5709:3: error: format not a string literal and no format arguments [-Werror=format-security]
sprintf(TrueLabel,GenerateLabel(0,1));
^~~~~~~
src/cpu/a68k/fba_make68k.c: In function ‘ReturnFromException’:
src/cpu/a68k/fba_make68k.c:5768:2: error: format not a string literal and no format arguments [-Werror=format-security]
sprintf(TrueLabel,GenerateLabel(0,1));
^~~~~~~
src/cpu/a68k/fba_make68k.c: In function ‘movesr’:
src/cpu/a68k/fba_make68k.c:6310:8: error: format not a string literal and no format arguments [-Werror=format-security]
sprintf(TrueLabel,GenerateLabel(0,1));
^~~~~~~
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Getting this with gcc 5.2
g++ -Wno-error -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O3 -DNDEBUG -fPIC -Wno-write-strings -DUSE_SPEEDHACKS -D__LIBRETRO__ -D__LIBRETRO_OPTIMIZATIONS__ -DWANT_NEOGEOCD -DLSB_FIRST -DINLINE="static inline" -DSH2_INLINE="static inline" -D__LIBRETRO_OPTIMIZATIONS__ -DPROFILE_ACCURACY -std=gnu++0x -DFRONTEND_SUPPORTS_RGB565 -Isrc/burner/win32 -Isrc/burner/libretro -Isrc/burner/libretro/tchar -Isrc/burn -Isrc/cpu -Isrc/burn/snd -Isrc/burn/devices -Isrc/intf -Isrc/intf/input -Isrc/intf/cd -Isrc/burner -Isrc/cpu -Isrc/cpu/i8039 -Isrc/dep/libs/zlib -Isrc/burn/drv/capcom -Isrc/burn/drv/konami -Isrc/burn/drv/dataeast -Isrc/burn/drv/cave -Isrc/burn/drv/neogeo -Isrc/burn/drv/psikyo -Isrc/burn/drv/sega -Isrc/burn/drv/toaplan -Isrc/burn/drv/taito -Isrc/dep/generated -Isrc/dep/libs -c src/burn/drv/neogeo/d_neogeo.cpp -o src/burn/drv/neogeo/d_neogeo.o
src/burn/drv/neogeo/d_neogeo.cpp:1656:1: error: narrowing conversion of '2231435264u' from 'unsigned int' to 'INT32 {aka int}' inside { } [-Wnarrowing]
};
^
src/burn/drv/neogeo/d_neogeo.cpp:1693:1: error: narrowing conversion of '2231435264u' from 'unsigned int' to 'INT32 {aka int}' inside { } [-Wnarrowing]
};
^
/fba_cores_neo/src/burner/libretro/libretro.cpp currently lists all the UniBIOS versions 3.0 and below to check for when trying to load UniBIOS as specified in the core options. FBA version 0.2.97.30 supports UniBIOS 3.1, so I would assume that this fork would also. Ideally, the later version would be preferred.
EDIT: Reading from the FBA 0.2.97.30 DAT file, the UniBIOS 3.1 is as follows:
<rom name="uni-bios_3_1.rom" size="131072" crc="0c58093f"/>
I don't know anything about anything, but it may be that all that libretro.cpp needs is the following change, beginning from line 379 (unmodified first) ...
if(strcmp(szPossibleName, "asia-s3.rom") == 0)
{
if(index < 0) { index = find_rom_by_name((char*)"uni-bios_3_0.rom", list, count); }
if(index < 0) { index = find_rom_by_crc(0xA97C89A9, list, count); }count); }
... which would need to be adjusted to read:
if(strcmp(szPossibleName, "asia-s3.rom") == 0)
{
if(index < 0) { index = find_rom_by_name((char*)"uni-bios_3_1.rom", list, count); }
if(index < 0) { index = find_rom_by_crc(0x0C58093F, list, count); }
if(index < 0) { index = find_rom_by_name((char*)"uni-bios_3_0.rom", list, count); }
if(index < 0) { index = find_rom_by_crc(0xA97C89A9, list, count); }count); }
However, I have zero understanding of whether deeper changes are necessary for this to work.
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.