adding xbox to retropie
-
i am attempting to add the orginal xbox system to retropie. my first attempt was to install xemu on the raspberry pi. however i discovered that this is impossible due to it's lack of support for arm64. i did some more research and found out that MAME is capable of running xbox games. i tried running a rom with lr-mame in a zipped folder and got this in the verbrose log:
Parameters: Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame/mamearcade_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/Grooverider - Slot Car Thunder (USA).xiso.zip" --verbose --appendconfig /dev/shm/retroarch.cfg [WARN] [GameMode]: GameMode cannot be enabled on this system ("dlopen failed - libgamemode.so: cannot open shared object file: No such file or directory.") https://github.com/FeralInteractive/gamemode needs to be installed. [WARN] [Config]: GameMode unsupported - disabling... [INFO] RetroArch 1.12.0 (Git d6deee4) [INFO] === Build ======================================= [INFO] CPU Model Name: ARMv7 Processor rev 3 (v7l) [INFO] Capabilities: NEON VFPv3 VFPv4 [INFO] Built: Mar 16 2023 [INFO] Version: 1.12.0 [INFO] Git: d6deee4 [INFO] ================================================= [INFO] [Input]: Found input driver: "x". [INFO] [Core]: Loading dynamic libretro core from: "/opt/retropie/libretrocores/lr-mame/mamearcade_libretro.so" [INFO] [Config]: Loading config: "/opt/retropie/configs/mame-libretro/retroarch.cfg". [INFO] [Config]: Appending config: "/dev/shm/retroarch.cfg". [INFO] [Environ]: SET_VARIABLES. [INFO] [Overrides]: Redirecting save file to "/home/pi/RetroPie/roms/mame-libretro/Grooverider - Slot Car Thunder (USA).xiso.srm". [INFO] [Overrides]: Redirecting save state to "/home/pi/RetroPie/roms/mame-libretro/Grooverider - Slot Car Thunder (USA).xiso.state". [INFO] [Environ]: GET_LOG_INTERFACE. [INFO] [Environ]: SYSTEM_DIRECTORY: "/home/pi/RetroPie/BIOS". [libretro INFO] SYSTEM_DIRECTORY: /home/pi/RetroPie/BIOS [INFO] [Environ]: CORE_ASSETS_DIRECTORY: "/home/pi/.config/retroarch/downloads". [libretro INFO] CONTENT_DIRECTORY: /home/pi/.config/retroarch/downloads [INFO] [Environ]: GET_SAVE_DIRECTORY. [libretro INFO] SAVE_DIRECTORY: /home/pi/RetroPie/roms/mame-libretro/ [INFO] [Environ]: SET_PIXEL_FORMAT: XRGB8888. [INFO] [Content]: Content loading skipped. Implementation will load it on its own. [libretro INFO] Joystick map: disabled [INFO] [Environ]: SET_INPUT_DESCRIPTORS: [libretro INFO] Starting game:/home/pi/RetroPie/roms/mame-libretro/Grooverider - Slot Car Thunder (USA).xiso.zip [libretro WARN] Driver Grooverider - Slot Car Thunder (USA) not found -1 [libretro ERROR] Driver not found Grooverider - Slot Car Thunder (USA) [libretro WARN] Driver mame-libretro not found -1 [libretro ERROR] System not found: mame-libretro [libretro INFO] RES:-2
i have found very little information about how to get MAME to run xbox roms on the internet. i have done some studing of MAME code on github and found this in mame/src/mame/microsoft/xbox.cpp.
#define ROM_LOAD_BIOS(bios,name,offset,length,hash) \ ROMX_LOAD(name, offset, length, hash, ROM_BIOS(bios)) ROM_START( xbox ) ROM_REGION( 0x400, "mcpx", 0 ) ROM_LOAD( "mcpx_1_0.bin", 0, 0x200, CRC(0b07d1f1) SHA1(5d270675b54eb8071b480e42d22a3015ac211cef) ) ROM_LOAD( "mcpx_1_1.bin", 0x200, 0x200, CRC(94ce376b) SHA1(6c875f17f773aaec51eb434068bb6c657c4343c0) ) ROM_REGION32_LE( 0x100000, "bios", 0) ROM_SYSTEM_BIOS(0, "bios0", "Chihiro Bios 4134 1024k") \ ROM_LOAD_BIOS(0, "4134_1024k.bin", 0x000000, 0x100000, CRC(49d8055a) SHA1(d46cef771a63dc8024fe36d7ab5b959087ac999f)) \ ROM_SYSTEM_BIOS(1, "bios1", "Chihiro Bios 3944 1024k") \ ROM_LOAD_BIOS(1, "3944_1024k.bin", 0x000000, 0x100000, CRC(32a9ecb6) SHA1(67054fc88bda94e33e86f1b19be60efec0724fb6)) \ ROM_SYSTEM_BIOS(2, "bios2", "Chihiro Bios 4034 1024k") \ ROM_LOAD_BIOS(2, "4034_1024k.bin", 0x000000, 0x100000, CRC(0d6fc88f) SHA1(ab676b712204fb1728bf89f9cd541a8f5a64ab97)) \ ROM_SYSTEM_BIOS(3, "bios3", "Chihiro Bios 4817 1024k") \ ROM_LOAD_BIOS(3, "4817_1024k.bin", 0x000000, 0x100000, CRC(3f30863a) SHA1(dc955bd4d3ca71e01214a49e5d0aba615270c03c)) ROM_COPY( "mcpx", 0, 0x3fe00, 0x200) ROM_COPY( "mcpx", 0, 0x7fe00, 0x200) ROM_COPY( "mcpx", 0, 0xbfe00, 0x200) ROM_COPY( "mcpx", 0, 0xffe00, 0x200) ROM_REGION( 0x1000000, "tbp", 0 ) // To Be Processed, of course ROM_LOAD( "5101_256k.bin", 0x000000, 0x040000, CRC(e8a9224e) SHA1(5108e1025f48071c07a6823661d708c66dee97a9) ) ROM_LOAD( "xbox-5530.bin", 0x040000, 0x040000, CRC(9569c4d3) SHA1(40fa73277013be3168135e1768b09623a987ff63) ) ROM_LOAD( "xbox-5713.bin", 0x080000, 0x040000, CRC(58fd8173) SHA1(8b7ccc4648ccd78cdb7b65cfca09621eaf2d4238) ) ROM_LOAD( "5838_256k.bin", 0x0C0000, 0x040000, CRC(5be2413d) SHA1(b9489e883c650b5e5fe2f83a32237dbf74f0e9f1) ) ROM_END } // anonymous namespace CONS( 2001, xbox, 0, 0, xbox, xbox, xbox_state, empty_init, "Microsoft", "XBOX", MACHINE_IS_SKELETON )
I believe this means that MAME requires BIOS file in order to run the emulation. i had hoped that the log would say what specific BIOS were missing but the error seems to be hat it doesn't recognize it as an xbox game.
Does anyone know how to get MAME to run other systems besides arcade?
Can anyone tell me what I am doing wrong?i am attemting this with a raspberry pi 4 running the official version of retro-pie 4.8 image.
-
-
@Unknown you aren’t going to get Xbox running on a pi4. Just not enough power even if there was an emulator. The highest you’re going to get with decent performance would be Dreamcast.
-
@lostless
Dreamcast is from the same generation as the Xbox and Gamecube. I am aware that Dreamcast can get decent prefromance on a Pi 4, and I have also experimented with Gamecube on the pi 4 which yielded some near playable performance. Therefore I believe that there is hope that the Xbox may be able to be emulated as well. -
@Unknown said in adding xbox to retropie:
Does anyone know how to get MAME to run other systems besides arcade?
Can anyone tell me what I am doing wrong?Xbox is not emulated, has just a skeleton driver, as stated in the driver fle.
-
@mitu
Oh. That's rather disappointing. I suppose I will have to stay on the lookout for an emulator of xbox that supports arm64.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.