💾 Archived View for warp.geminispace.club › ~freezr › gemlog › 2021-09-08-neogeo.gmi captured on 2024-05-26 at 14:47:02. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-11-04)
-=-=-=-=-=-=-
Hello Geminauts, this is not my usual topic about Gemini (which I really like), but something new that I came across during the last couple of weeks, perfect to stick on capsule; do not forget my gemlog is more like a personal diary always available and free to read for all.
Last week I was tempted to do something crazy and to buy a "Neo Geo Arcade Stick" for a lot of money, I actually purchase it but immediately after, when I checked again the games available and I realized that the majority were only fighting games; which is fine but, although I loved the genre, there are other beautiful games available for the "Neo Geo" that I also played a lot, like "Neo Turf Master", and many of them weren't included in this unusual "Revival Arcade Stick Mini Console". Eventually I canceled my order but I left myself with the desire to play some "Neo Geo" game.
Among my computers I have a Ryzen 3 mini-pc connected to the TV, perfect for this kind of stuff and then and I decided to install RetroArch on it. The installation was fine, I had previous experiences with RetroPie and RetroArena hence I expected to have more or less the same features available by default... WRONG!
To begin with Mame didn't work properly not sure if because the romset compatibility or because the lack of the BIOS which is now is legally available here:
THE UNIVERSE BIOS: Official Homepage (http://unibios.free.fr/)
However it is well known for any people a little bit engaged on the retro-gaming that for certain class of games and consoles, like for instance the "Neo Geo" 16-bit console, "FinalBurn Alpha" (FBA) has always been a better choice than Mame!
Since I was using RetroArch I needed to use emulators compatibles with it.
RetroArch is the official front-end for the LibRetro emulators, the latter is a (cool!)set of cross platform APIs to create games and emulators.
The first thing I discovered since the last time I used RetroAreana is that FBA... Surprise, surprise... Has been forked and renamed "FinalBurn NEO" (FBN).
The official reason is the following:
Many of the developers of this project also worked on FB Alpha. Due to a controversy, we no longer do, and recommend that everyone use this emulator instead.
Some optional readings:
https://kotaku.com/the-emulator-in-capcoms-home-arcade-is-stirring-controv-1834156759
https://techraptor.net/gaming/news/legal-dilemma-of-capcom-home-arcades-usage-of-emulator-fb-alpha
Obviously FBN is not available on the OpenSuse Tumbleweed repos as well as the ones in Debian, the only way to get it is compiling the source code!
While I am quite familiar with compiling source code on Debian based environment I cannot say the same with the Suse family. Anyone familiar with the compiling process knows that what might be differ from distro to distro, especially if those use different packaging method, is the name of the packages required to get a basic development environment.
Debian distros based use meta-packages, a special package that is basically a collection of other packages, that allows to download a pool a specific packages at once; so far I understood, OpenSuse does not have meta-packages, instead it uses "patterns". This method gathers all the package you need for specifics tasks but I am not sure if those exist as meta-packages like Debian.
A simple method to get these "patterns" is through the "Yast Software Management". Run the manager, check for "patterns" and then for "Base Development"; I resume it schematically:
yast software management> patterns > base development
This is the list of the packages installed
bin86 (download size 87.5 KiB) cvsps (download size 67 KiB) cyrus-sasl-devel (download size 133.6 KiB) gcc11-info (download size 2.32 MiB) gdbm-devel (download size 133.5 KiB) glibc-info (download size 1.16 MiB) gperf (download size 150 KiB) libaio-devel (download size 13.8 KiB) libapparmor-devel (download size 107.3 KiB) libblkid-devel (download size 142.5 KiB) libcom_err-devel (download size 80.2 KiB) libdb-4_8-devel (download size 60.1 KiB) libfl2 (download size 105 KiB) libgmpxx4 (download size 31.2 KiB) libosip2-12 (download size 106.6 KiB) libstdc++6-devel-gcc11 (download size 10.63 MiB) libuuid-devel (download size 154.3 KiB) m4 (download size 207.5 KiB) make (download size 291.3 KiB) pam-devel (download size 114.3 KiB) patch (download size 123 KiB) perl-DBI (download size 749.6 KiB) perl-Digest-HMAC (download size 23.4 KiB) perl-Error (download size 44.2 KiB) perl-MailTools (download size 104.7 KiB) perl-Net-SMTP-SSL (download size 12.5 KiB) perl-Text-Unidecode (download size 138.6 KiB) site-config (download size 16.6 KiB) sparse (download size 237.2 KiB) subversion (download size 2.87 MiB) tack (download size 365.8 KiB) tcsh (download size 308.5 KiB) zlib-devel (download size 122.7 KiB) openldap2-devel (download size 226.7 KiB) gcc-info (download size 14.6 KiB) libext2fs-devel (download size 105.7 KiB) libfl-devel (download size 104.4 KiB) gmp-devel (download size 316.7 KiB) libosip2-devel (download size 72.6 KiB) libstdc++-devel (download size 13.3 KiB) gcc11-c++ (download size 11.05 MiB) bison (download size 642.8 KiB) autoconf (download size 708.6 KiB) perl-DBD-SQLite (download size 2.25 MiB) perl-Authen-SASL (download size 53.6 KiB) perl-Git (download size 230.7 KiB) makeinfo (download size 852.8 KiB) subversion-bash-completion (download size 171.6 KiB) ncurses-devel (download size 1.37 MiB) tcsh-lang (download size 140 KiB) binutils-devel (download size 13.60 MiB) e2fsprogs-devel (download size 68 KiB) flex (download size 394.3 KiB) gcc-c++ (download size 14 KiB) bison-lang (download size 161.8 KiB) automake (download size 858.5 KiB) git-email (download size 189.2 KiB) subversion-perl (download size 1.16 MiB) cvs (download size 482.4 KiB) gettext-tools (download size 1.58 MiB) libtool (download size 748.8 KiB) git-svn (download size 197.8 KiB) git-cvs (download size 226.6 KiB) git (download size 58.4 KiB) patterns-devel-base-devel_basis (download size 9.3 KiB)
A couple of packages more are explicitly required:
zypper install libSDL2-devel libSDL2_image-devel
QUICK NOTE: the package "checkinstall" was not available although is mentioned in the OpenSuse Wiki as one of the method to compile packages from the source.
Now that OpenSuse has gathered all the packages required to compile and the ones required by FBN, those were my commands:
mkdir Libretro cd Libretro wget https://github.com/libretro/FBNeo/archive/refs/tags/v1.0.0.02.zip unzip v1.0.02.zip cd FBNeo-1.0.02/ # From the root of the repository make -j5 -C src/burner/libretro generate-files make -j5 -C src/burner/libretro
Actually the procedure was not so smooth at all; at the beginning I was simply compiling the static binary, if it was not been for "hunterk" and "BarbuDreadMon" from the "Libretro Forums" I would never known about the existence of the specific "libretro" folder inside /src.
Oddly the information for the command `make install` are not provided:
make: *** No rule to make target 'install'. Stop.
Thus I created a symbolic link from my current folder:
su -c "ln -s $HOME/Libretro/FBNeo-1.0.0.02/src/burner/libretro/fbneo_libretro.so /usr/lib64/libretro/"
sudo ln -s $HOME/Libretro/FBNeo-1.0.0.02/src/burner/libretro/fbneo_libretro.so /usr/lib/x86_64-linux-gnu/libretro/
If you are using Debian or Ubuntu with "sudo" enabled.
If my commands were reported correctly and applied the same way as well now the core must be available into RetroArch!
A real screenshot but from a Virtual Debian Machine.
Apparently RetroArch is packaged "as is" without further tuning, hence some features do not work properly; for instance if you want update some contents through the internal uploader it fails because it is not allowed to write on the root file system: you can fix this behavior remapping the system folder with the ones already available in `.config/retroarch`.
you can fix this behavior remapping the system folders with the ones already available in `.config/retroarch`.
Once this is done the uploader is able to download extra contents like for instance the cool shaders!
Getting FBN on OpenSuse hasn't been that easy, especially for the lacking of spare time, so far it is working pretty well but there still some paper cuts that I haven't addressed yet and I would like to fix; that means that I am going to update this gemlog anytime soon!
I am going to update this gemlog anytime soon!
For comments or suggestion write me at:
+------------------------------------------------------------+ | | | | | | | ..::++o+. | | :o+ooooooo:. | | :::: .ooooooo+.. .:.. | | ooo+ .oooo+. .+ooooo+++. | | .+: .oooo .oooo+o+ooo+: :ooooooooooo+ | | :oooo+. :oooo .oooooooo:. +oooooooo..oooo. | | +ooooooo:.oooo+ .ooooo+. :oooo+ooo::ooooo+ | | +ooooooooooooo+ .ooo: +oo+:ooooooooooo+ | | +oo: :+oooooooo .ooo::::++: +ooooooooooooooo: | | oo+ .:ooooo+ ooooooooo: +oooooooooo::oo+ | | oo .+ooo .oooooo+. :+oooo+o+:.ooo+ | | +. . .:+ .ooo+: .:. +ooo++:+oo+. | | .. .:::+:+:.. +: .:++++:. .+oooooo:. | | :+:+::++:++. .:+:+++++:. ..:++. | | .++:.. ..:::. :+++. ..::. ... ... . | | :+: .. .:++:+:. .+:::++:++:: | | ++: ... ::+++++++: .+++.. :+++++: | | :+: .::+++ .:++:::::::+: ::+++...+::::+: | | ::+: .::::+..+++:: .:++:+++++::.::+. | | :++:. .++: .::++: :++:::+++++:++++:. | | ::++:...:+: ::++: :+:. :..::+++:. | | .:++:::+::. .:++: ++:. .:::. | | .::+++++: .+:: +++++:.:::: | | ..:++: .. .:++:::. | | .:. | | | | | +------------------------------------------------------------+