OS Software




ARpiCADE 3.X

Started by dee2eR, Apr 26, 2025, 12:41 AM

Previous topic - Next topic

MarkOZLAD

**
Jr. Member
Posts: 38
Logged
Ok, I got FB Neo working on 3.X but it was quite painful.  I didn't have much luck with the update and ended up basically copying the updated files in myself.  It was running wboy but very choppy.  I noticed in the console output two errors:

/boot/launchers/resSwitch.sh: line 25: [: ==: unary operator expected
./lr-launcher-logic.sh: line 61: [: ==: unary operator expected

I brought up these lines in nano and used AI to fix them.  After this wboy is running about 99% but still has the odd jump.  Happy with that progress.  I might look at the config files from the other pi to jamma adapter I have where wboy runs flawlessly and see if I can find any differences.

Still have the issue with ddragon and robocop.  I was hoping fixing the switchres would fix them but no cigar.

I'll now return to the original image and see what is happening.  I have renewed vigour after the win on 3.X!

MarkOZLAD

**
Jr. Member
Posts: 38
Logged
Seems I'm very close to getting FBNeo running on my original Arpicade image (circa 2017) but still getting a black screen when I try to run FBNeo.  When I run from SSH all the console writes from FBNeo looked great until the end where it was saying "This core requires a content file" despite having found the rom and video config.

I was basically copying the config from the new 3.X onto my old version,  switchRes.sh, ./lr-launcher-logic.sh etc.  After I changed switchRes I managed to get my old image to break ddragon in the same way that it is broken (for me) on the 3.X.  So that gives me a strong clue as to what is going on there.

I'm now restoring the old image back to starting state so I can have the arcade working well again.

I think the next step is to look at the resolutions being selected for 3.X for the games I am having trouble (ddragon, robocop) with and adjusting accordingly. 

Sure have learned a lot about how arpicade is working now.  I should be able to get 3.X sorted.

dee2eR

Administrator
*****
Hero Member
Posts: 327
Logged
Please upload whatever changes you come up with.  I'm guessing a little bit of video mode tweaking to the 57.444 hz mode will get you there.

Without knowing the version of the 'old image' you have is I'm guessing, but I suspect it is running DoubleDragon at the wrong refresh rate, but in a mode that doesn't curl.  I had a look at it when I did the FBNeo update and there was just the tiniest curl on my PVM (which seems to be quite tolerant to whatever causes it), it must be pretty close.

Also, having looked at it again recently,  I'm almost tempted to do some more work on 3v11, noticed a few things that could be improved in the brief time I used it to do the update.

Is Wonder Boy the same curl issue?  It's been ages but I remember it being smooth in 172 after user wboy on the previous forum tweaked the MAME settings.

MarkOZLAD

**
Jr. Member
Posts: 38
Logged
On my "old version" there is a document on the boot partition that says Arpicade v3.83 instructions so that should be ballpark.

I'm using an RGB modded TV as my arcade monitor (that's my hobby) so there's not a lot I can do with dialing in sync,  whatever "wrong" resolution was in the old one is likely what I'll need to revert to.  Can't let the perfect be the enemy of the good!

Wonder Boy does not have the same curl issue as ddragon or robocop on 3.X, just seems to have the odd skip/jump,  continuing to investigate that one.  I did just find a forum post suggesting....

"For example, Wonder Boy needs a special modeline in FBNeo (switchres.ini content):

modeline "1536x224_59 15.704280KHz 59.940000Hz" 29.115735 1536 1580 1717 1854 224 235 238 262 -hsync -vsync"
I'll have to work out how I can make that happen to test it

The two files I've changed are:

lr-launcher-logic.sh from /boot/launchers

resSitch.sh from /boot/launchers

These changes were to fix the errors:
/boot/launchers/resSwitch.sh: line 25: [: ==: unary operator expected./lr-launcher-logic.sh: line 61: [: ==: unary operator expected

dee2eR

Administrator
*****
Hero Member
Posts: 327
Logged
#34
It's just occured to me it could be worth running
Quoteuname -a
on your various images, the Linux Kernel may be also different between ARpiCADE_3 and whatever software your other Pi system is using (it may be different between ARpiCADE versions too...).  There must have been a bunch of updates to it over the years and I haven't looked at it for ages due to the newer Pi variations.

You could always adjust the resSwitch.sh script so it uses 57.5 instead of 57.444, it's pretty close...  That is assuming your monitor is fine with that one.  I know Snow Bros didn't curl, but Snow Bros is 224 lines so maybe it was just not visible.

The Wonder Boy refresh rate in resSwitch.sh should be correct from at least ARpiCADE 3.X (maybe earlier, I can't remember).  Is your 5v possibly very slightly low?  I remember adjusting the 5v while running Double Dragon in AdvMAME once and getting realtime speed changes in the game on a Pi3 (EDIT: this is not really something I recommend doing though. End edit.).  I'll try and take a look at wonderboy over the weekend, I'm curious now.

One of my cabs is also a homemade JAMMA cab based on an old CRT TV, I used a RGB to component (3 rca video) box to do it (it was a very long time ago...).  I should try doing a proper RGB mod on it someday, but outside of the extreme edges (where there is a bit of dot crawl) it looks great.  I still probably use it more than my other cabs as the tube is 2 inches larger than the next biggest in any of my other cabs.

EDIT: thanks for uploading those changes, I'll check them out.

MarkOZLAD

**
Jr. Member
Posts: 38
Logged
pi@rjamma_orig:~ $ uname -a
Linux rjamma_orig 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l GNU/Linux

MarkOZLAD

**
Jr. Member
Posts: 38
Logged
Ok, I've at least got ddragon and robocop back running in Advmame without the curl.

in the resSwitch.sh I made a change...

elif [ $(lessThan $r 57.20) == n ] && [ $(lessThan $r 57.45) == y ]; then
        #36316982    262    2413    240@ 57.444855        195 roms
## 1920 x 240 @ 57.444855hz  ## Double Dragon +100+ roms
            vcgencmd hdmi_timings 1920 1 126 260 107 240 1 6 10 6 0 0 0 57.4 0 36316982 1


to

elif [ $(lessThan $r 57.20) == n ] && [ $(lessThan $r 57.45) == y ]; then
        #36316982    262    2413    240@ 57.444855        195 roms
## 1920 x 240 @ 57.444855hz  ## Double Dragon +100+ roms
            #vcgencmd hdmi_timings 1920 1 126 260 107 240 1 6 10 6 0 0 0 57.4 0 36316982 1
 vcgencmd hdmi_timings 1920 1 113 192 175 240 1 6 3 16 0 0 2 57.500 0 37560000 1

This doesn't work with fb-neo, instead it results in a massively horizontally stretched image but hey,  at least I have the games running again.  I played them and they are fine in advmame, in fact they seem to run great.

For Wonderboy I changed aconfig file for the 224p60.1to something like

video_rotation = "0"
video_refresh_rate = "60.000000"
custom_viewport_width = "1920"
custom_viewport_height = "224"
custom_viewport_x = "0"
custom_viewport_y = "8"
video_vsync = "true"
audio_sync = "false"
video_hard_sync = "true"

The result is very good in FB-Neo,  seems to be some judder when it is loading assets or sounds but seems to settle down after a bit.  That will have to do for now.

I'm not suggesting everyone do these changes,  I am focused on a few games and especially Wonder Boy.  I don't know how this will affect other games.

MarkOZLAD

**
Jr. Member
Posts: 38
Logged
I've added the line:

fbneo-preload = "enabled"

to file:

/home/pi/.config/retroarch/retroarch-core-options.cfg

Appears to have helped with the asset loading in Wonder Boy.

MarkOZLAD

**
Jr. Member
Posts: 38
Logged
For the ddragon modeline I've settled on this for now:

## 1920 x 240 @ 57.444855hz  ## Double Dragon +100+ roms
vcgencmd hdmi_timings 1920 1 81 192 207  240 1 6 3 16  0 0 2  57.444855 0 37467832 1

I'm not going to claim I know exactly what I'm doing here,  I used co-pilot to help me generate this modeline. It has the correct frequency, the front and back porch settings were influenced by the old image's 57.5 modeline and then modified to shift the image to the right.  Could possibly be shifted more to the right but it's pretty good.

This value works for me,  ymmv.

I ended up returning the aconfig file for wonderboy (224p60.1) back to stock.

dee2eR

Administrator
*****
Hero Member
Posts: 327
Logged
was it easy to use co-pilot to tweak the res?  I've never used AI but it may be a better way than how I've been doing modes...

MarkOZLAD

**
Jr. Member
Posts: 38
Logged
It's easy but hit and miss.

For the Ddragon one I grabbed the working modeline off the old arpicade version and put in the non working modeline from  the new version and said to it "this modeline works, this one gives me skew, can you learn from the first one to modify the second one to try and give me a working modeline...and it did.

Then I went further and provided it the exact refresh rate for Ddragon and it provided another working modeline.  However it was shifted too far to the left. So I asked it if it could make a new modeline that would shift the image to the right. After some back and forth, trial and error where I provided feedback to the AI it worked out which values to change the horizontal position and was able to adjust it accordingly.

However...last night I tried for an hour to get wonder boy to use the exact arcade frequency of 60.096154 and just could not get it right. In the end I reverted to your modeline.

dee2eR

Administrator
*****
Hero Member
Posts: 327
Logged
From my testing yesterday your 57.444855 mode is not running at 57.444855hz either.  I forgot to check what it actually was running at but Double Dragon runs at about 103% speed on that modeline so it's def faster than the original (but curling) modeline.

MarkOZLAD

**
Jr. Member
Posts: 38
Logged
Ok good to know.

Can you tell me how to find that out?

Funnily enough...Ddragon could do with a speed up!

dee2eR

Administrator
*****
Hero Member
Posts: 327
Logged
I just pressed 'f11' to bring up MAMEs game speed indicator.

MarkOZLAD

**
Jr. Member
Posts: 38
Logged
What about the previous modeline I was using?

vcgencmd hdmi_timings 1920 1 113 192 175 240 1 6 3 16 0 0 2 57.500 0 37560000 1
What speed does it run at?