• HomeBoards
  • RulesRules
  • HelpHelp
  • WikiWiki
  • Donate

Author Topic: Final Burn Alpha SDL for GCW-Zero (UPDATE 2015-03-11)  (Read 172779 times)

Gab1975

  • Posts: 1165
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #220 on: May 07, 2014, 06:01:17 pm »
so you can play JoJo's Bizarre Adventure?

I'm sorry, with the current "SH2 static compiler" the CPS3 games (like JoJo) are "beyond the reach" of the GCW Zero hardware... the triple buffer can give an help, but it can't work miracles!
The hope is that, sooner or later, an expert coder will make an SH2 dynamic recompiler for MIPS32 CPUs!
« Last Edit: May 07, 2014, 06:08:41 pm by Gab1975 »

surfi80

  • Posts: 252
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #221 on: May 07, 2014, 06:56:53 pm »
Gab always giving good news  ??? 
Caguen t?!!!
play with the best? die like the rest!

http://www.elotrolado.net/wiki/PS_VITA_Usuarios_EoL

Gab1975

  • Posts: 1165
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #222 on: May 07, 2014, 08:29:03 pm »
Gab always giving good news  ??? 
Caguen t?!!!

Therefore I will try "to recoup" with a true good news! :P
Probably the SEGA System16/18 games (like Altered Beast, Dynamite Dux, Golden Axe, Shadow Dancer, etc.) will have a good benefit from the use of triple buffer! ;)

surfi80

  • Posts: 252
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #223 on: May 07, 2014, 09:03:40 pm »
So if that's good news, thanks dude  ;D ;D ;D

;D ;) ;D ;) ;D ;) ;D ;) ;D ;) ;D ;) ;D ;) ;D
play with the best? die like the rest!

http://www.elotrolado.net/wiki/PS_VITA_Usuarios_EoL

Jefferson

  • Posts: 8
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #224 on: May 09, 2014, 03:57:17 am »
Ah, and have at it.

Nebuleon/fba-sdl/triple-buffering commit 27343bc is now in a pull request for you, d_smagin.

Awesome!  Any chance of getting a side build that has this commit?  ;D

Nebuleon

  • Guest
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #225 on: May 09, 2014, 04:11:41 am »
Ah, and have at it.

Nebuleon/fba-sdl/triple-buffering commit 27343bc is now in a pull request for you, d_smagin.

Awesome!  Any chance of getting a side build that has this commit?  ;D
I cannot make an OPK, only an executable you'd run over Telnet/SSH. Critical files of the OPK build process are missing.

I guess I could reverse the OPK, add the new executable in, and repack it, but I'd rather let d_smagin make a build, test it and give it out himself. I don't own any ROM I can use with FBA, so this is untested code; in particular, it's possible that the border of games that don't fit exactly in 320x240 may flicker madly and trigger photosensitive epilepsy.

dmitry_smagin (OP)

  • Posts: 423
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #226 on: May 09, 2014, 07:23:05 am »
Here' FBA with triple buffer support compiled with latest gcw0 toolchain:

http://www.sendspace.com/file/yvnf3q

Totally untested, because I still haven't upgraded to the firmware which supports triple buffering.
GCW-Zero prototype, Dingoo a320, Ritmix rzx-50, Dingoo a380, Xperia Play

surfi80

  • Posts: 252
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #227 on: May 09, 2014, 08:52:50 am »
Here' FBA with triple buffer support compiled with latest gcw0 toolchain:

http://www.sendspace.com/file/yvnf3q

Totally untested, because I still haven't upgraded to the firmware which supports triple buffering.

Thanks buddy, now I taste  ;D ;)
play with the best? die like the rest!

http://www.elotrolado.net/wiki/PS_VITA_Usuarios_EoL

Gab1975

  • Posts: 1165
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #228 on: May 09, 2014, 02:58:03 pm »
Here' FBA with triple buffer support compiled with latest gcw0 toolchain:

http://www.sendspace.com/file/yvnf3q

Totally untested, because I still haven't upgraded to the firmware which supports triple buffering.


Thanks for the update! :)
I made a quick test with some SEGA System16 games... below some examples:
Altered Beast in the double buffer release (v-sync on) runs at about 30 fps, in the triple buffer release at an average of 55 fps (from 58 to 51 fps)
Cotton in the double buffer release (v-sync on) runs at 21 or 16 fps, in the triple buffer release at an average of 27 fps (from 31 to 23 fps)
Dynamite Dux is a bit strange, it runs slowly in both fba releases (I don't know why)... the bootleg version runs very well (about 60 fps in the triple buffer release), but it's "buggy" (various graphic glitches in the background)
Shinobi in the double buffer release (v-sync on) runs at about 30 fps, in the triple buffer release at an average of 55 fps (from 58 to 51 fps)... in both fba releases the game is affected by a "unsteady scrolling".

PS: I tried also some CPS2 and Neo Geo games, they run very well in both fba releases.
« Last Edit: May 09, 2014, 02:59:50 pm by Gab1975 »

surfi80

  • Posts: 252
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #229 on: May 09, 2014, 03:04:34 pm »
Hammerin Harry now works worse about 20fps max
and CPS3 if already improved somewhat, but not playable
play with the best? die like the rest!

http://www.elotrolado.net/wiki/PS_VITA_Usuarios_EoL

Atlantis_Risen

  • Posts: 535
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #230 on: May 09, 2014, 11:39:47 pm »
I was hoping 'In the Hunt' would be improved, but I'm still getting only about 4 fps.  What is it about that game that's so taxing?

Gab1975

  • Posts: 1165
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #231 on: May 10, 2014, 06:41:54 am »
I was hoping 'In the Hunt' would be improved, but I'm still getting only about 4 fps.  What is it about that game that's so taxing?

The problem with the Irem V30/33 games is (if I understood well) how the frames are rendered, so the triple buffer can't do very much!

dcervi

  • Posts: 67
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #232 on: May 10, 2014, 10:49:02 am »
Thanks for your great work with this emulator, guys.

There's a flickering problem in vertical games when using screen rotation and vsync activated. Part of the loading screen remains in the borders. It seems one or more buffers aren't properly cleared.

mth

  • Posts: 319
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #233 on: May 10, 2014, 05:21:20 pm »
I was hoping 'In the Hunt' would be improved, but I'm still getting only about 4 fps.  What is it about that game that's so taxing?

The problem with the Irem V30/33 games is (if I understood well) how the frames are rendered, so the triple buffer can't do very much!

You're right; I don't know the details of FBA, but in general triple buffer doesn't make rendering faster.

What happens on vsynced double buffering is that when the app finishes rendering a frame, it has to wait until the next vsync before it can continue. On 60 fps there is 1000 / 60 = 17 ms per frame. If the app takes 20 ms to draw a frame, it misses the first vsync by 3 ms and will have to wait 14 ms for the next one. The end result is that it will run at half the refresh rate of the LCD, which is 30 fps for the Zero.

On triple buffering, there is an extra buffer between the app and the vsync page flipper. This means that if the app takes 20 ms to draw a frame, that frame is kept in the third buffer until vsync, but the app can continue immediately. As a result the app will never have to wait and can deliver a frame every 20 ms, leading to 1000 / 20 = 50 fps.

If an app takes 250 ms per frame however, it will run at 4 fps in either case.

Gab1975

  • Posts: 1165
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #234 on: May 10, 2014, 05:49:40 pm »
What happens on vsynced double buffering is that when the app finishes rendering a frame, it has to wait until the next vsync before it can continue. On 60 fps there is 1000 / 60 = 17 ms per frame. If the app takes 20 ms to draw a frame, it misses the first vsync by 3 ms and will have to wait 14 ms for the next one. The end result is that it will run at half the refresh rate of the LCD, which is 30 fps for the Zero.

On triple buffering, there is an extra buffer between the app and the vsync page flipper. This means that if the app takes 20 ms to draw a frame, that frame is kept in the third buffer until vsync, but the app can continue immediately. As a result the app will never have to wait and can deliver a frame every 20 ms, leading to 1000 / 20 = 50 fps.

If an app takes 250 ms per frame however, it will run at 4 fps in either case.

Thanks for technical explanation! :) In simple words, the triple buffer (with his two back-buffers) allows to have the same framerate of a rendering with the v-sync off, but with the v-sync on...

PS: In the MAME4all the Irem V30/V33 games run better than in the FBA (probably a different rendering method)

hi-ban

  • Posts: 889
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #235 on: May 10, 2014, 07:34:15 pm »
The problem with the Irem V30/33 games is (if I understood well) how the frames are rendered

Could you tell where did you read this? I always thought the cause was the V30/V33 emulation core being slow, not the renderer...

dmitry_smagin (OP)

  • Posts: 423
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #236 on: May 10, 2014, 07:59:15 pm »
The problem with the Irem V30/33 games is (if I understood well) how the frames are rendered

Could you tell where did you read this? I always thought the cause was the V30/V33 emulation core being slow, not the renderer...

Some v30/v33 (but not all, i think) use scanline-perfect emulation, i.e. call emulate function each time scanline is rendered. That's why emulation is slow and in this particular case emulation core == renderer.
GCW-Zero prototype, Dingoo a320, Ritmix rzx-50, Dingoo a380, Xperia Play

Gab1975

  • Posts: 1165
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #237 on: May 10, 2014, 11:39:11 pm »
Could you tell where did you read this? I always thought the cause was the V30/V33 emulation core being slow, not the renderer...

Initially I thought as you (or rather that the problem was a bad V30 core emulation), but d_smagin explained me what you can read in the top post...

Atlantis_Risen

  • Posts: 535
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #238 on: May 11, 2014, 12:25:52 am »
In the Hunt seems to run much better in Mame, but no save states so  :P

Gab1975

  • Posts: 1165
Re: Final Burn Alpha SDL for GCW-Zero (UPDATE 2014-05-06)
« Reply #239 on: May 11, 2014, 07:44:37 am »
I tested the triple buffer release and I spotted only a bug (graphic glitch)... as dcervi already pointed out, in the games where a section of the QVGA resolution remains unused (for example in the lowres games 256x192px or in the shoot'em up vertically rotated) the loading screen persists with a flickering effect !

PS: this glitch occurs only with the v-sync on, so it's clearly correlated with the triple buffer...
« Last Edit: May 11, 2014, 07:53:29 am by Gab1975 »