Post: FBANext Emulator Updated: r478
07-09-2011, 02:40 PM #1
-Daemon-
HELL IS HERE
(adsbygoogle = window.adsbygoogle || []).push({});
Another week, another update, but like the previous ones it is worth it as it includes a large number of performance improvements, to make playing your retro arcade games on your PS3 Console even more fun, and this time we have Jararaca from PSX-Scene to thank for compiling the latest builds from FBANext development team that been busy updating the Project Code on Google!


You must login or register to view this content.

Originally posted by another user
(Changes since r454)

• (PS3) Set audio samplerate from 48030 to 48020 - still no audio crackles
• (PS3) Cleaned up PSGL video driver - cut down on code duplication, made a lot of the OpenGL namespace static functions into macros (so they can be inserted straight into vid_psgl.cpp - where they are needed) - moved the static variables from vid_psgl.h to vid_psgl.cpp
• (PS3) Removed broken shader 2xSaL-HD.cg
• (PS3) You can change the aspect ratio now from the ingame menu.
• (PS3) Aspect ratio revamp of code - the following aspect ratios are now possible - 4:3, 5:4, 7:5, 8:7, 12:7, 16:9, 16:10, 16:15, 1:1, 2:1, 3:2, and Custom (Resized) aspect ratio mode. Custom resize aspect ratio mode is the previously existing resized mode - you can also switch to this resized mode in case you have selected another aspect ratio from the ingame menu by going to 'Screen Resize' and then exiting again.
• (PS3) Shaders can now be switched from the ingame menu - press left or right on D-pad or analog stick to switch between shaders, and load the shader by pressing the CROSS button.
• (PS3) Bugfix - when a shader was loaded - only the fragment program was loaded - and the vertex program from the previous shader would remain active. Now both vertex and fragment programs get updated with the ones from the shader being loaded.
• (PS3) Implemented frame advance in ingame menu - press either the CROSS button or press and hold R2 at your leisure to frame advance.
• (PS3) Main emulation loop improvements - audio function is now a straight call to audio_check instead of first going through the audio interface class (audio.check) - put the 'case EMULATING:' block inside a do-while loop - not only is this faster (because we don't have to go through the whole switch again to see if GameStatus == EMULATING is true - but it will also allow us to do frame advance from within the ingame menu.
• (PS3) No more seperate sound class to go through - AudioInterface for PS3 now implements audio_check, audio_init, audio_constructor, audio_destructor and on in its member functions (static functions).
• (PS3) Neo Geo driver performance improvements - nBurnBpp is always 4 for PS3 (32bit color) - so the function pointers for sprite and text layer rendering are not necessary and the switches can be avoided
• (Core) CPS1/CPS2 performance improvements - CPS2 games now have their own Frame function - Cps2Frame - also removed a lot of the CPS1/CPS2 branches that occurred along the way - cut down on function pointer usage
• (Core) Neo-Geo - Split up NeoFrame into two - one is for games that do not render line by line (the vast majority of the games - NeoFrame) and the other is for the games that do (Zedblade, Neodrift, and another game).
• (360/PS3) Replaced most sound-related while loops into do-while
• (PS3/360) Performance improvements for CPS1/CPS2 driver - moved qs_z and qs_c.cpp to qs.cpp - made a lot of static functions into macros - plus did some other optimizations. A lot faster now on PS3.
• (PS3) Ifdeffed all branches for nInterpolation - is always set at 1 - so we can avoid the branches per frame. Will perhaps make for a nice optimization for 360 as well.
• (PS3/360) Made more SH2 opcodes into macros
• (PS3/360) Turned most SH2 opcode inline functions into macros. NOTE: This is necessary on PS3 because the compiler doesn't inline shit and dabbling with the inlining limit switches only ends up with worse performance - ghetto inlining/macroizing functions is the most reliable way of inlining. Should not have any adverse effects on 360. Improved performance on PS3.
• (PS3) Audio driver performance optimizations - big lag decrease
• (PS3/360) InputTick only used once - so dropped straight into place where it's called.
• (PS3 / 360) Avoid most of the indirect function calls for input / video



Jararaca was also nice enough to include MultiMAN support in the compiled r478 builds which you can grab from our library!

SOURCE AND DOWNLOAD AT

You must login or register to view this content.
(adsbygoogle = window.adsbygoogle || []).push({});

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo