OpenBOR 6xxx OpenBeta Testphase
-
@bizzar721 Yes. It behaves a bit different there, if I enter Video Menu and select SDL input it kicks me back to ES, in stretch this does not happen. Maybe there are other "bugs" but all in all it runs best and I'm satisfied in going to brawl some bad guys.
-
@bizzar721 said in OpenBOR 6xxx OpenBeta Testphase:
@darknior I've been playing Bare KNuckle VI with no crashing (6.02)! [Final version locks up retropie]
Thanks for the information, i will try this
Bare Knuckle VI [Ver. 6.02][v.3.0 Build 3690][China][Eng Menu]
version :)
I don't know what is different with the final version :(
Bare Knuckle VI [Final][China]
the OpenBOR engine version is not given ... only in Japanese, maybe this version il lower than the 6.02 !?EDIT : v6.02 is crashing too for me after the Master demo battle :(
-
@cyperghost said in OpenBOR 6xxx OpenBeta Testphase:
No... only for testing and rebuilding
Ok thanks, i do the same for the moment ...
-
ScriptModule for RetroPie newest versions!
Just for testing purposes!
-
Added Scriptmodule!
-
Trying it out now. I removed openbor from experimental packages, deleted openbor_beta folder as well as removed emulator.cfg.
It was option
357 OpenBOR - Beat 'em Up Game Engine v6512
Launching mod failed. It showed it compiled. Script loads, but when I execute game I get error
OpenBOR - Beat 'em Up Game Engine.sh line 20: opt/retropie/supplementary/runcommand/runcommand.sh: no such file or directory
line 20
"opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "openbor" "$choices"
right below
joy2keyStop
........my kryptonite!EDIT
The compiled OpenBOR does run using conventional methods -
@bizzar721 Arghh... missed the slash in the path. Thanks!
You can editnano $HOME/RetroPie/roms/ports/OpenBOR - Beats of Rage Engine.sh
and last line add/
to path so it looks like"/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "openbor" "$choices"
Thanks for catching this one :D
@darknior
I tried TMNT Shell Shocked Rev 5853 it's running smooth by using the scriptmodule, too. Even if there are 6 enemies in screen it does not stuck. My filters are: Hardware: Bilinear, Software: Simple 16bit ... so it makes sense to load the GL drivers.@mitu Do you see things to improve? How can I get rid of the wget command?
-
@cyperghost said in OpenBOR 6xxx OpenBeta Testphase:
I tried TMNT Shell Shocked Rev 5853 it's running smooth by using the scriptmodule, too. Even if there are 6 enemies in screen it does not stuck. My filters are: Hardware: Bilinear, Software: Simple 16bit ... so it makes sense to load the GL drivers.
Thanks if it works fine for you too, it's that i have a problem but i don't understand what ?
I use your binary file, you write to load GL drivers ... i don't understand what i miss ?I will try your install script this evening ... but you only installing the last version 6315. And i have some old games that only works with the 3400 version. Can you update it to have the two binary in the same folder and let the user choice like we can do with emulators. It's what i do on my pi. Thanks
-
@darknior Uff... this is my first scriptmodule I've written. So I don't know all commands how to add new ports. Let's wait for feedback I think at least some more people will tinker in. I hope that someone makes a better script for this.
About TMNT maybe you see slowdown I don't catch. This game brings the Pie to the edge of computing power.
htop
says 95%+ of CPU usage, it's a pitty OpenBOR uses just one core :( I see slowdowns of TMNT in snow level for example.... -
@cyperghost said in OpenBOR 6xxx OpenBeta Testphase:
@mitu Do you see things to improve? How can I get rid of the wget command?
There are a few things you could change on the technical side
- The
libGL
part (for gl2es) should be installed from source also. There is already something similar in @zerojay's RetroPie-Extra repository - see for instance how fofix is installed. I would also separate it in a function on its own. - Patches can be handled by the RetroPie setup script on its own - create a folder similar to the module name and use the
applyPatch
function. A good example is how RetroArch is built from source - https://github.com/RetroPie/RetroPie-Setup/blob/master/scriptmodules/emulators/retroarch.sh. - Your module is excluded when the platform has the x11 flag, but in the build phase you still test if the compilation is done on such platform to add the PANDORA flag.
Now these observations are done by just skimming the source, I haven't had a chance to actually test the module.
I do also have some not-really-technical observations about the scriptmodule as a whole
-
if you intend to submit it to the RetroPie-Setup repository, then IMHO you should
- rename the module to something else, may I suggest
openbor-current
oropenbor-dev
. This will prevent conflicts with the existing module. - fork the RetroPie repository and create your own branch, then develop there. It would be much easier to create PRs and for testing (i.e. people could add your branch in their RP setup folder and just use the module directly).
- rename the module to something else, may I suggest
-
create a script launcher to wrap the
OpenBor
binary and optionally add the GL stuff (parameter for gl4es s, loading the GL library), instead of putting every command in the port command definition, i.e. instead of
addPort "$md_id" "openbor" "OpenBOR - Beats of Rage Engine" "pushd $md_inst; $md_inst/OpenBOR %ROM%; popd"
create a
openbor-launch.sh
script and useaddPort "$md_id" "openbor" "OpenBOR - Beats of Rage Engine" "openbor-launch.sh"
Ideally you could have 2 scripts - one using
gl4es
and one without it, but I'm not sure this would work for Ports (though it would be ideal IMHO if it would be a standalone system). - The
-
@mitu said in OpenBOR 6xxx OpenBeta Testphase:
Ideally you could have 2 scripts - one using gl4es and one without it, but I'm not sure this would work for Ports (though it would be ideal IMHO if it would be a standalone system).
Yes therefore I patched Makefile to make additional lib path next to binary. I think in this case every GL-wrapper should be build for it's special needs.
I really appreciate your solid feedback. I think it's a good way to recompile GL4ES like @zerojay has done with some additional patches by using applyPatch.
I do not know if there are documentations ready for these patch modules, I just used some functions and commands that I could interpret from scriptmodules already in use.
In the meantime I would appreciate if you could make some tests with OpenBOR 6xxx branch - the galina patch is most optimzed. My knowledge about C code is just on basic level. So I'm on a dead end in optimizing the engine itself. I hope @zanac can help... He had done all the code working. I just collected his outfindings and made it useable by scripts.
-
@mitu I tried to disable gl4es ... it is painfully slow without the wrapper. It is needed in any case. But simple16bit is the only software filter that can be used (it is the default one), hardware filters can be changed, too and there you get better outcome with GL4ES
About a dev-branch.... well to be true it can be used as main. Because this version outbeats the old version in every case.
- uses newest modules
- The graphics is better
- working load/save support
- reconnects input devices properly
- PAK file support
- ...
Only disadvantage... it will likely not run on PI0/1
-
@cyperghost said in OpenBOR 6xxx OpenBeta Testphase:
Only disadvantage... it will likely not run on PI0/1
1/10 - downvoted.
-
@cyperghost said in OpenBOR 6xxx OpenBeta Testphase:
@mitu I tried to disable gl4es ... it is painfully slow without the wrapper. It is needed in any case. But simple16bit is the only software filter that can be used (it is the default one), hardware filters can be changed, too and there you get better outcome with GL4ES
If it runs better with
gl4es
then sure, it should be the default. Just remember that if you'll want this version to run also on a x86 (i.e. Ubuntu on PC), it should be optional - both during installation and runtime.About a dev-branch.... well to be true it can be used as main. Because this version outbeats the old version in every case.
- uses newest modules
- The graphics is better
- working load/save support
- reconnects input devices properly
- PAK file support
- ...
My advice to use another name is just a precaution to not break existing users' setup. From what I've seen in the topics discussing this new version, there might be cases where this new version is not backwards compatible. If someone has already installed the current version in RP and one of the games installed does not work - or works badly because of broken compatibility - with the new version, then it's not good. Just my 2c.
-
@mitu @cyperghost I fully understand why you would want to name it different, and I definatly think both versions should be available. My suggestion, if it is possible, is to setup both binaries during setup, keeping the 3400 build named the same, and adding OpenBOR 6xxx as an alternate emulator in
emulator.cfg
.Since the 3400 build is the same, except with enhancements, it would not break anything, only enhance the experience with save states, better performance & command line interface. If the user is not set up to use CLI, it will still function as normal, but with the added performance enhancements, video filters, and most importantly, working save states.
Essentially, it would be a worthwhile upgrade for anyone using the current OpenBOR, with the added bonus of having the latest as well.
-
@mitu
Just as follow up and why we act like this.A programmer named rofl0r aka anallyst had created a first port for ARM devices. Somehow it came to discrepancies within the OpenBOR development team (only the developers know more details) and he was dismissed from the project. At that time rofl0r was working on his own OpenBOR fork which was extremely tuned for efficiency. This version is still installable from RetroPie. This seems to be one of the reasons why today's developers have never really used Raspberry as their development platform (in my humble opinion!). All branches under 4xxx officially no longer exist as source code, all support of the old SVN forks will be discontinued. This is the rule followed by the ChronoChrash team (this is the development team behind OpenBOR).
@bizzar721
Now you come into play. The version currently used in RetroPie does not support PAK files. Each module must be unpacked separately to start a mod. This is extremely inconvenient and now comes the important point... this prevents a coexistence of new OpenBOR (6xxx branch) with the old one. Of course you can have two module versions, but personally I would never give up the comfortplus of the PAK files.I still hope that ChronoCrash will also support Raspberry as a platform. I think with Raspberry 4 the graphics processor will also improve and maybe support OpenGL natively. This would make the support much easier.
@mitu
There is just an old version with PAK support. As a hidden download here. Just read the README and you will understand why you should not support this version out of respect. I also compiled from this one a runable binary. You can get it here. It is the openbor_3400_pak binary.@darknior
As I have written in many postings, he had the ingenious idea to patch the source code so that single modules can be loaded by command line. I also did this in all subsequent versions (with a slight modification).@zanac
Had the idea to implement the latest version on an Allwinner board. He introduced the GL4ES wrapper and with his help we were able to reach the current state of development.@cyperghost
My final words are that OpenBOR is a very interesting project. The modules are lovingly crafted and fortunately the Raspberry 3 has enough power to run many modules at good speed. Unfortunately all software filters are not usable.The official way, in my opinion, would be to officially submit the support for version 6xxx to our development team (I still need help with the script module) and try to improve the performance of the 6xxx RPi branch.
This version can be compiled on an RPI1, but without the corresponding wrappers. This means that maybe only very old and simple game modules will run on these systems. So you might be able to keep the script module of the 3xxx branches (unofficially) just for these systems. Unpacking the files speed up the whole process.
@mitu
Are you more enlightened now? ;) -
@cyperghost said in OpenBOR 6xxx OpenBeta Testphase:
Are you more enlightened now? ;)
More or less.
As I said, I followed the topics you already have opened and I pretty much know this information. -
@mitu Then please excuse my ignorance ;)
-
@cyperghost said in OpenBOR 6xxx OpenBeta Testphase:
Now you come into play. The version currently used in RetroPie does not support PAK files. Each module must be unpacked separately to start a mod. This is extremely inconvenient and now comes the important point... this prevents a coexistence of new OpenBOR (6xxx branch) with the old one. Of course you can have two module versions, but personally I would never give up the comfortplus of the PAK files.
I could use a little enlightenment....
You have a compiled 3400 version that not only runs well, but loads from.pak
. Why wouldn't you use that one which will not progress any further but can run many older games which newer OpenBOR cannot. I am running both versions side by side, loading from.pak
and it works great. I know we will not support rofl0r, but will not abandon his version until we get a viable replacement otherwise much compatability will be lost.I have been working on a script to pack .bor folders to .pak but I cannot get it to execute from windows except for within the rom directory. I have gotten it to copy neccessary pack scripts/.exe to each .bor folder and create an edited makepack.bat to create a properly named .pak but I could not get it to execute unless I went directly into the .bor folder and executed it.
I'm sure with a little work we could get that to happen from linux, and then all that would need to be done is run it against your paks folder, converting .bor folders to .pak.
Then both versions can be enjoyed with minimum setup -
@bizzar721 said in OpenBOR 6xxx OpenBeta Testphase:
Why wouldn't you use that one which will not progress any further but can run many older games which newer OpenBOR cannot. I am running both versions side by side, loading from .pak and it works great.
I use that exact configuration on my Pie setup.
The big advantage the 3600 has, it takes 10-20% less CPU usage on a Pie3, so it is suitable for Pie1/0, too.I know we will not support rofl0r, but will not abandon his version until we get a viable replacement otherwise much compatability will be lost.
I think that's a decision that must be taken by our dev-team. I'm not sure how our Global-Moderators are aware of our development. So I
tagged themknow mitu is aware of thisand they should read this thread to see progress and answer our questions ;)
EDIT: Just saw that @mitu is a member of the moderator team! Congrats my friend ;)My deep hope is, that the ChronoCrash-team will take on development for RetroPie branch and I believe that the progress that is done to 6315-version of OpenBOR to Raspberry is a kind of breakthrough. Therefore we should be careful how we use the old branch.If we ignore their "code of conduct" they ignore us. Simple rule!
They know about our work and I think if more and more people get aware of of using OpenBOR through RetroPie we are on a good state ;)
I know we will not support rofl0r, but will not abandon his version until we get a viable replacement otherwise much compatability will be lost.
Well I think 3600 version is needed for Raspberry 1/0 only! The CPU is weak on this platform so I think 6315 will be pure overkill.
Most modules run fine on 6315 branch out of my 14 installed modules only 1 failed (Streets of Rage Z).So I think OpenBOR 3600 may be used on Raspberry 0/1/2/3
OpenBOR 6xxx should be used on Raspberry 2/3 ;)All in all our devs decide what to do ;)
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.