In short, VBA PS3 is dead – long live VBANext. The same will happen to SNES9x PS3 shortly when it blossoms into SNES9x Next (new name for SNES9x Slim).

Platforms

This new project will be a faster, slimmed-down version of VBA-M that is currently aimed at three platforms:

PlayStation 3

Xbox 360 (WIP)

Mobile (WIP)

It will replace both VBA PS3 on PlayStation 3 and Lantus’ VBA360 0.03 on Xbox 360. In addition to that, a port to mobile platforms is tentatively in the works.

A few screenshots (taken from the PS3 version) can be viewed here: imgur.com/a/VcQNr#zgXsT

PlayStation 3

As for the PS3 port – a lot of progress has been made over the past few weeks. Super Game Boy border support is now in – when you select a game that is Super Game Boy-compatible from the ROM menu, it will display the border that would be visible on a real SNES with a Super Game Boy add-on cart.

It will perhaps be possible to add fourplayer gamepad support at a later date for Super Game Boy games as well – certain games like Wario Blast made use of the Super Gameboy’s access to the host hardware (SNES) to allow for multiplayer support with regular SNES pads. VBA-M supports this out of the box – so it would be a shame to let it go to waste.

On the display front – FBO mode will be added – this will allow for two shaders to be selected at once. All the features that are currently in SNES9x PS3 and other emulators will be added as well – for instance, border support (different from the Super Game Boy border support which is built into VBA-M) and possibly game aware shaders as well.

VBANext PS3 Build 44ed4409

A few days back PlayStation 3 developer squarepusher2 announced that the Nintendo Gameboy / GBA Emulator PS3 Port known as VBA PS3 would soon become VBANext, and today subcon959 has made available an unofficial VBANext PKG file for PS3 users to try out while awaiting an official release.

(PS3) Uses systemDrawScreen() macro now instead of IFDEF __CELLOS_LV2__ hackery to make a direct call to Graphics->Draw and psglSwap.

(PS3) Cleaned up code duplication in menu code (Core) Doesn't try to set regparm attribute now for non-x86 platforms

Changed blip_med_quality back to blip_good_quality

Patches to PS3 sound driver so it works with the new sound approach

Dumps VBA samples all at once, reports NUM SAMPLES

Rearranged damn headers again - we need a common.h NOW

Added USE_CACHE_PRETCH around instrinsics

Added USE_CACHE_PREFETCH around intrinsics

Had to move some #defines around - broke the build last commit

reordered top of file so headers come first - added string.h and stdio.h under __GNUC__ preprocessor

added string.h and stdio.h #includes under ANDROID preprocessor

Removed unused friend class 'Blip_Reader' from Blip_Buffer

Removed garbage files from PS3 buildtools

(Core) Removed GEKKO defines for cheat code (PS3) Had to add Cellframework1 for FileBrowser and OSKUtil - needs to be rewritten for Cellframework2 though.

Removed reinserted files from unused directory

Removed revert garbage files ending with '.orig'

(Core) USE_AGBPRINT and USE_CHEATS defines can now be used - reinserted files that were necessary for these parts to work.

(Core) There were some calls to doDMA in both the if and else blocks of certain conditionals - cut down on the amount of times this function is called by giving doDMA parameters instead that are defined inside these if-else codeblocks.

(Core) Removed CPUisGBAImage - this was a copy of utilIsGBAImage in GBA.cpp that was strangely never used at all. Perhaps this was never properly refactored and moved to Util.cpp. (PS3) changed buffer.c into buffer.inc and included it into audioport.c.

Expanded iteration macros

Changed NO_DEBUGGER defines to USE_DEBUGGER - no more double-negative define

Cleaned up a lot of header files - Cut down on GEKKO defines - Changed 'FRAMESKIP' define to 'USE_FRAMESKIP' to fit in with the rest of the VBANext switch naming convention. It will automatically define USE_FRAMESKIP if you define 'FRAMESKIP' - so it is backwards compatible in a sense.

Cleaned up a lot of unnecessary includes and cut down on some GEKKO ifdefs.