20w ago - Following up on the recent
PS3 RetroArch v0.9.8 release, today PlayStation 3 developer
CaptainCPS-X has made available a FB Alpha RL (Retro Loader) v1.00 for PS3 CFW 3.40 / 4.XX users with details below.
Download:
FB_Alpha_RL_1.00_[20130130].pkg (8.5 MB) /
FB_Alpha_RL_1.00_[20130130].pkg (Mirror) /
FB_Alpha_RL_1.00_[20130130].pkg (Mirror #2)
To quote: Hiyas everyone, today I come with something that I've been working for the last few days, please read the documentation before using it, I know that some people don't usually like to read, but please take a minute to read and see what FB Alpha RL offers.
Note: I verified the problems with emulation of CPS-1, and it seems it is only happening on libretro port, not on the Windows official release of FB Alpha. I tried to see if I could find the issue, but I couldn't identify it.
Information:
As a dev from the official FB Alpha Team, FB Alpha RL was made with a objective in mind, to keep the original experience from the official FB Alpha (for Windows OS) on the PS3 system.
Even when I don't know how to implement a fancy GUI for the PS3 system with textures and all the complicated stuff, I managed to use my previous application core (gamePKG core) to create this nice frontend for RetroArch's FB Alpha core.
I know that RetroArch is already a frontend, but I like to keep things simple and straight to the point.
Please, read the technical info for more details.
Technical Info:
Signed for CFW 3.40 / 4.XX (should work for everyone). Tested at 1080p resolution via HDMI.
FB Alpha RL uses a custom "burn_drivers.h" header file that was generated by modifying the official windows version of FB Alpha with a routine to generate such file on launch.
The header have a big structure with all the information for all supported drivers in FB Alpha v0.2.97.28. Information such as:
- Romset Name (Ex. kof2002)
- Parent ROM (Ex. sf2)
- Year
- Manufacturer (Ex. Capcom)
- System (Ex. Neo Geo)
- Max players
- Game Screen Resolution
- Game Screen Aspect Ratio
Future release will have a custom generated header with all the ROM information as well, so the application will be able to verify every romset with precise CRC32 checks (as in the official FB Alpha for Windows).
FB Alpha RL will scan the following directories for ZIP files:
Specific directories:
/dev_hdd0/game/ROMS00000/USRDIR
/dev_hdd0/game/ROMS00000/USRDIR/fba
/dev_hdd0/game/SSNE10000/USRDIR/cores/roms
Generic directories:
/dev_*/roms
/dev_*/roms/fba
Devices scanned are:
dev_hdd0 (PS3 Internal HDD)
dev_usb000 (External USB)
dev_usb001 (External USB)
dev_usb002 (External USB)
dev_usb003 (External USB)
dev_cf (Compact Flash)
dev_sd (SD Card)
dev_ms (Memory Stick)
NOTE: You don't need the official RetroArch installed, this already has my own modified build incorporated into FB Alpha RL installation directory. So you can safely install the official RetroArch and it won't interfere.
Usage:
- Use UP and DOWN to select Games.
- Press (X) to Load the selected Game.
- Press (O) to Quit and return to XMB.
- Press [SELECT] to Load "RetroArch" (FB Alpha Core).
Features:
- Auto configure screen Aspect Ratio on game load.
- Quick ROM(s) scanning in extensive path locations.
- Romset validation against FB Alpha v0.2.97.28 drivers library.
- Checking for duplicate ROM(s).
- Detailed info about listed ROM(s).
- Full game name display for easier navigation.
- Direct loading of ROM(s).
- Simple GUI & nice application logos(LMAO xD).
WIP / Coming on future releases:
- Set System Input preset on Game Load (Ex. NeoGeo.cfg / Shooters.cfg / etc).
- Simple Input Mapping feature.
- Display Extended ROM information by pressing (/\).
Changelog:
- 1.00 (January 30, 2013) Initial Release
Thanks to:
- My buddies Treble Winner (Barry) / Kev / IQ_132 from the original FB Alpha Team <3.
- PS3 Scene websites (in no order) such as: PS3HAX / PSX-Scene / PS3Crunch / Etc, for you support
- TheMaister / Twinaphex / Squarepusher / Company - Libretro/RetroArch is just amazing.
- pete_uk - for your unofficial RetroArch builds.
- STLcardsWS - for your support

- aldostools - your ps3tools for windows are the best

- deank - multiMAN helped me research / debug my application
- fail0verfl0w, GeoHot, etc - for all you have done for the PS3 scene
- Anonymous - for releasing Sony SDKs
Thanks to anyone else I forgot that in some way contributed to the PS3 scene and as a result I was able to do this homebrew application.
Source Code:
- FB Alpha RL - github.com/CaptainCPS/FBAlphaRL
- RetroArch (Modded for FB Alpha RL) - github.com/CaptainCPS/RetroArch
- FB Alpha v0.2.97.28 (Modded to generate "burn_drivers.h")(Windows) - (coming soon, I'm organizing it)
SeeYa!
Update: I been working with v1.01 of FB Alpha RL and I'm almost done with the tedious coding. I had to rewrite many things so I could handle data more easily. I personally like to keep the code clean and understandable.
Here is the current WIP (Work In Progress) for the next version (this list is not final, everything listed here has been already implemented, there are a few other things coming up before I release):
Changelog:
1.01 (February 3, 2013)
- Incremented number of displayed games.
- Added quick list navigation by pressing L2 / R2.
- Added Analog Stick support to navigate lists.
- Added Main menu with various useful items.
- Added ZIP Info feature (press [ ] to view ZIP info).
- Updated FB Alpha (libretro) core.
- (FBA core) Fixed graphic problems in CPS-1 driver.
- (FBA core) Fixed Diagnostic Menu Lock-up in some games.
- Added Screenshot feature (press (PS) and look in Photo XMB column).
- Improved application core overall.
And here you have some
screenshots. Thanks for the feedback and detailed info, I will try to release a properly signed EBOOT next time, hopefully it will work for everyone

SeeYa!
Now this is the format of the new FBA_RL.ini (configuration) file that will be created the first time you run the application:
// --------------------------------------------------------------------------
// FB Alpha RL Options
// --------------------------------------------------------------------------
// If you edit this manually, make sure you do so properly, any malformation
// of this configuration will force the application to generate a new one, resulting
// in the loss of any previous configuration you made.
// --------------------------------------------------------------------------
// Custom ROM Paths [up to 12 alternate paths]
// --------------------------------------------------------------------------
rompath_1:"/dev_hdd0/roms"
rompath_2:"/dev_hdd0/roms/fba"
rompath_3:"/dev_hdd0/game/ROMS00000/USRDIR"
rompath_4:"/dev_hdd0/game/ROMS00000/USRDIR/roms"
rompath_5:"/dev_hdd0/game/ROMS00000/USRDIR/roms/fba"
rompath_6:"/dev_hdd0/game/ROMS00000/USRDIR/fba"
rompath_7:"/dev_hdd0/game/FBAL00123/USRDIR/cores/roms"
rompath_8:"/dev_hdd0/game/FBAL00123/USRDIR/cores/roms/fba"
rompath_9:"/dev_hdd0/game/SSNE10000/USRDIR/cores/roms"
rompath_10:"/dev_hdd0/game/SSNE10000/USRDIR/cores/roms/fba"
rompath_11:"/dev_hdd0/game/FBAL00123/USRDIR/cores/roms"
rompath_12:"/dev_hdd0/game/FBAL00123/USRDIR/cores/roms"
// --------------------------------------------------------------------------
// Automatically set proper Screen Aspect Ratio on game launch
// --------------------------------------------------------------------------
auto_ar:"yes"
// --------------------------------------------------------------------------
// Input preset configuration file paths for specific systems.
// When configured, they will be auto-loaded on game launch,
// unless you specify an individual game configuration.
// --------------------------------------------------------------------------
input_capcom_misc:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/capcom_misc.cfg"
input_cave:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/cave.cfg"
input_cps1:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/cps1.cfg"
input_cps2:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/cps2.cfg"
input_cps3:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/cps3.cfg"
input_dataeast:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/data_east.cfg"
input_galaxian:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/galaxian.cfg"
input_irem:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/irem.cfg"
input_kaneko:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/kaneko.cfg"
input_konami:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/konami.cfg"
input_neogeo:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/neogeo.cfg"
input_pacman:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/pacman.cfg"
input_pgm:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/pgm.cfg"
input_psikyo:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/psikyo.cfg"
input_sega:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/sega.cfg"
input_seta:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/seta.cfg"
input_taito:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/taito.cfg"
input_technos:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/technos.cfg"
input_toaplan:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/toaplan.cfg"
input_misc_pre90:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/misc_pre90.cfg"
input_misc_post90:"/dev_hdd0/game/FBAL00123/USRDIR/cores/presets/input/misc_post90.cfg"
// --------------------------------------------------------------------------
// When missing, automatically create all basic Input Configuration files
// --------------------------------------------------------------------------
input_auto_create:"yes"
// --------------------------------------------------------------------------
// Custom GUI Textures (PNG) paths
// --------------------------------------------------------------------------
texture_main_menu:"/dev_hdd0/game/FBAL00123/USRDIR/cores/borders/default/MAIN_MENU.PNG"
texture_gamelist:"/dev_hdd0/game/FBAL00123/USRDIR/cores/borders/default/GAME_LIST.PNG"
texture_zipinfo:"/dev_hdd0/game/FBAL00123/USRDIR/cores/borders/default/ZIP_INFO.PNG"
texture_options:"/dev_hdd0/game/FBAL00123/USRDIR/cores/borders/default/OPTIONS_MENU.PNG"
The Game list module has been updated with lot of stuff as well, and now as is mentioned on the change log, you will now be able to Filter games by System (CPS1, CPS2, NEOGEO, etc...) for easier navigation. The file browser is a WIP at this moment, but in a couple of days everything will be all working and ready for a beta release.
I am currently setting up the whole MAME 148 romset in place to make some extensive tests and see how the application handle the monster game list

. Of course FB Alpha doesn't support all of them but it will definitely put some stress on the scanning process, so let's see. I'll be in touch soon with more details! thank you for your patience to those waiting for the next release.
I just added Game Preview display feature and made proper adjustments to the rendering code to support all common display modes: 1080p / 720p / 480p, I personally tested all resolution and they all work fine, the only note I would add is that I haven't tested on 4:3 TV / Monitor, but is rare for someone to be using a PS3 on one of those these days

LOL.
The preview images will be always included on my releases, so you don't have to worry about looking for them . At this moment the collection is very complete, maybe some of them need to be re-named to match latest romsets, but I will take care of that with time.
For the record, Preview PNGs will be located in: /dev_hdd0/game/FBAL00123/USRDIR/cores/previews/
To give you an estimate time of release, probably in 2 or 3 days I will be ready to make a release with all working features if everything goes fine.

SeeYa!
Download: http://www.multiupload.com/IN5RL8R2C8 / http://code.google.com/p/fba360/source/detail?r=490 / http://code.google.com/p/fba360/source/checkout
FBANext r490 changes since 486:
Revision 490: (PS3) Ms. Pac-Man works again; reverted inconsequential PS3 ifdefs
Revision 489: [PS3] updated proj file
Revision 488: (PS3) Calculations in setview are no longer being done every frame, but done once outside the main emulation loop - the same goes for rotation.
Revision 487: (PS3) Build changes
Supported systems:
Capcom CPS-1
Capcom CPS-2
Capcom CPS-3 Cave
Neo-Geo
Sega System 16 (and similar systems), System 18, X-Board, Y-Board
Toaplan
Taito 68k
Psikyo 68EC020/SH PGM
Konami
Sega
Megadrive (savestates are not supported)
More PlayStation 3 News...
Download: http://www.multiupload.com/9AIZ4U6PSD
At the moment - you can't launch FBA ROMs from the File Manager - only with the Retro tab. IMO this sucks and we should b e able to launch them from the File Manager in some way - one way to solve this would be that if you were to execute a ZIP file by pressing the X button in the File Manager - it would quickly open the ZIP file and check the first file in the ZIP. If the ZIP file has a SFC/SMC/whatever file in it, then we know it's a SNES ROM - if not, it's FBA. The same could be done for all other emulators that support ZIP files (SNES9x, Genesis Plus, FCEU).
Another update to FBANext v1.0.0 rev 451 is also released with the changelog below.
Download: http://www.multiupload.com/KQQC9P6RBZ
r450 Log message
(PS3) Save state slots - unlimited amount
(PS3) Save state saving/loading fixed - the filename of the saved state was wrong.
(PS3) VSync on/off option now turns Vsync on/off.
r451 Log message
(PS3) Updated/added all new shaders to FBA
(PS3) Shader selection works differently now - press Left and Right to select, and press X to select the shader. Having the shader be loaded every time you press Left or Right can really slow things down ultimately and is demanding on the Cg runtime compiler.
r452 Log message
(PS3) Frame_count shaders work now - water.cg/noise-mudlord.cg (NOTE - noise-mudlord is supposed to look a bit like the noise filter in Silent Hill with scratches and all)
(PS3) Rewritten run.cpp a bit - removing function call overhead where possible.
FBANext PS3 r455 is also available now, which includes a CPS3 BiOS fix.
Download: http://depositfiles.com/files/td8vy01p5
Changelog for r455
CPS3 bios fix
FBANext PS3 r470 is also released which includes Neo-Geo driver performance improvements.
Download: http://www.filefactory.com/file/cc3f3ca/n/fba-r470.zip / http://code.google.com/p/fba360/source/detail?r=470
Changelog for r470
(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
FBANext PS3 r478 is now available, with the FBAnext Multi-Arcade Emulator Build r478 changes as follows:
Download: http://www.multiupload.com/N3DPI90SID / http://code.google.com/p/fba360/source/checkout
Changelog for r478 (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 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