OpenBOR in RetroPie 4.1

Dochartaigh

New member
Hello all, I've been waiting patiently until I saw OpenBOR added to the experimental menu of RetroPie, which just happened in the latest 4.1 update! Has anybody tried this on their Raspberry Pi 3 computer? I've added the .PAK files to the ports/OpenBOR folder like the GitHub directions say to do, and run "/opt/retropie/ports/openbor/extract.sh" like it also says to do, but nothing happens.

Anything I should try? Thanks!
 
So ... Hello from the RetroPie forums. I want just mention that there seems no need in the old port if the work @zanac has done, does it job. The chances are high that an official port can be brought to Raspberry without need of the old port.
 
Hi to all, sorry for misunderstanding, yes i show in retropie forum that latest release run very well on "embedded" platform (like rasbperry but also allwinner-pandora-box board) just with two small hack in the source...
I have not skill enough to make a good job, the problem in embedded platform are these:
- we need a way to force a resolution on boot by command line ('cause chipset are not so dynamic, for example on allwinner it render at 384x224, forcing this all work fine, of course with a GLES filter to make graphic better)
- we need a way to load a specific pak on boot by command line ('cause there is an external launcher)

In other words... if in future you will add a solic command line argc/argv (based on getopt?) the official release of openbor will be compiled without any hack! :)

About old version... i patched also the deprecated and hated old version, the reason is that i like a very old game that was never be updated (Saint Seyia Death and Rebirth), i didn't know the story behind that version... i undestand that you cannot support by i suggested to retropie team to keep it just for very old mods adding a label "unsupported and deprecated engine" when the new engine will be integrated.

Sorry for how i done the hack, i have not time to study the source and implement getopt inside... i trust that you will aquire this request so in a near-future retropie will have offificial release without any kind of hack :)
 
Not a prob. And welcome to the forum.

As I've explained there, if any improvement was made over the official repository, just create a branch at github and ask for merging. The project leader, Damon Caskey, will take a look and approve it or not. People to help us are always wanted and welcome :)

The minimum parameters needed are:
--window / --full-screen (in case of --window it should read --width --height )
--pakfile (when used it read a full path of a pak file)

I can't tell you if this is doable or not, we would need to wait DC or other high ranked dev to reply.
 
Anyway i want to underline that openbor is based on Open GL, must embedded board (Rasbperry but also Allwinner chipset) has driver only for "Open GLES 2.0" that is a dialect of Open GL (consider GLES2 like a subset, 99% of code is the same)....

What does it means? That on RPI OpenBor 6XXX will work with SDL and render without use GPU, so if you want to apply scanline, bilinear filter and so on it become very slow (without filters it rock and is very funny!!!).

In a future if openbor will use also GLES2 backend we will enjoy a more powerfull RPI port :)

Anyway play openbor on embedded system is very cool, thank for this project, i'm very happy to play a lot of beat'm up thank to openbor :) Thank thank and again thank!
 
Your Avengers is the game that forced me to make the porting of openbor in embedded boards. It rock, late i will share a video. However actually i own a allwinner not rpi :)

Great news using gl4es wrap i solved GL problem with a small hack in the source
 
@zanac can you please post unified patchfiles?
I think it will be easier for code reviews.

Are you working with the same file versions as you've done with the first patch? Becasue it wasn't easy to find the code base you've used ;)

@moderators
I've checked sources this is a real port of your commit (openbor-d6938eea5f22c91eea28294190fd0e1aa60daca4.zip)
 
Your Avengers is the game that forced me to make the porting of openbor in embedded boards.
hehehehe I am glad you liked it :)

zanac said:
Tomorrow i upload code

https://m.facebook.com/groups/148961237813?view=permalink&id=10157471340597814

This is my arcade cab that run all

Oh, that is awesome! I've shared on my page too.
 
zanac said:
The trick is use gl4es as gl wrapper. Monday i will share more info and source patch.

Yes as the output says

LIBGL: Initialising gl4es
LIBGL: v1.0.9 built on Sep 10 2018 19:42:08
LIBGL: Using GLES 2.0 backend
LIBGL:loaded: libbcm_host.so
LIBGL:loaded: libvcos.so
LIBGL:loaded: libbrcmGLESv2.so
LIBGL:loaded: libbrcmEGL.so
LIBGL: Using GLES 2.0 backend
LIBGL: Hardware Limited NPOT detected and used
LIBGL: FBO are in core, and so used
LIBGL: PointSprite are in core, and so used
LIBGL: CubeMap are in core, and so used
LIBGL: BlendColor is in core, and so used
LIBGL: Blend Substract is in core, and so used
LIBGL: Blend Function and Equation Separation is in core, and so used
LIBGL: Texture Mirrored Repeat is in core, and so used
LIBGL: Extension GL_OES_mapbuffer detected
LIBGL: Extension GL_OES_depth24 detected and used
LIBGL: Extension GL_OES_rgb8_rgba8 detected and used
LIBGL: Extension GL_EXT_texture_format_BGRA8888 detected and used
LIBGL: high precision float in fragment shader available and used
LIBGL: Max vertex attrib: 8
LIBGL: Max texture size: 2048
LIBGL: Max Varying Vector: 8
LIBGL: Texture Units: 4(8), Max lights: 8, Max planes: 6
glGetError 0x500
LIBGL: Hardware vendor is Broadcom
LIBGL: Targeting OpenGL 2.0
LIBGL: Forcing NPOT support by disabling MIPMAP support for NPOT textures
LIBGL: glXMakeCurrent FBO workaround enabled
LIBGL: Current folder is:/home/pi/openbor/dist/bin
 
@zanac I would suggest to do following patch to sdlport.c

dirExists(paksDir, 1);
dirExists(savesDir, 1);
dirExists(logsDir, 1);
        dirExists(screenShotsDir, 1);

// Test command line argument to launch MOD
int romArg = 0;
if(argc == 2) {
loadsettings();
memcpy(packfile, argv[1], strlen(argv[1]));
if(fileExists(packfile)) {
romArg = 1;
}
}

if(!romArg)
Menu();
 
Back
Top Bottom