PB6 - Emulators

From Pandora's Box Hacking
Jump to navigation Jump to search

A list of the various emulators installed on the PB6 and what is known about them. The strange thing about the way these emulators work is that it appears that the Final Burn Alpha emulators all seem to have the Pandora's Box 6 frontend embedded into them, combined in the same executable as far as we can tell.

Emulator Internal Name Emulator Internal 1300 Games Database Internal FBA Console Database Default Emulator
app1 Final Burn Alpha Yes, found at 0x57be40. No Yes
app2 Final Burn Alpha Yes, found at 0x6a9e28. No No
app3 Final Burn Alpha Yes, found at 0x928f50. No No
app4 Final Burn Alpha Yes, found at 0x1283f40. Yes Yes, for /roms_fba/
app5 Final Burn Alpha Yes, found at 0x935450. No No
app6 XMAME v0.106 No No Yes, for /roms_mame/
app7 Final Burn Alpha Yes, found at 0x1703488. Yes No
app8 PCSX ReARMed r22 No No Yes, for /roms_playstation/

Internal 1300 Game Database
There appears to be an internal database of all 1300 default supported ROMs for the PB6 that is embedded into some of the emulator executables. It holds both the ROM name and what looks like several flags for options on how to run the game. This is where the emulator app to use for each ROM is set and is also likely where each ROM's category is set (though still undiscovered at the moment). An exploration of the format and use of this database can be found at PB6 - Internal 1300 Game Database. The offsets used in the table above are to the first game in the database, kof97. There appears to be some sort of table header just above it that is unknown which is about 50 bytes in length.

Internal FBA Console Database
Final Burn Alpha natively supports various console games by default, however it does not appear that the PB6 supports running them (or we haven't figured it out yet). It seems only some of the Final Burn Alpha versions have references made to the various console ROMs which seems to support the idea that some of the FBA versions were compiled with support for the console games and some were not.

Strangely enough, the frontend does seem to recognize the console roms, popping them up with their proper names however attempting to run any of them results in the emulator quitting right away.

Default Emulator
This is a listing of which apps are used by default for the automatically scanned ROM directories, those which are not a part of the default 1300 games.

Linero ARM Cross Compiler
All the applications appear to have been built with Linero's cross compiling toolchain and most of them have the same signature within the executable, usually near the end:

GCC: (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609.A8 aeabi

app2, app3, app4, app5, app6, app7, app8:
GCC: (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
GCC: (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609 A8 aeabi

This version of Linero is *quite* old now, but still available for download. Also, note that this shows that Pandora's Box 6 development is happening on Ubuntu 16.04 for x64 platforms.