RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    adding xbox to retropie

    Scheduled Pinned Locked Moved Help and Support
    adding emulatorxboxmame emulator
    5 Posts 3 Posters 6.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • UnknownU
      Unknown
      last edited by

      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.

      You can't beat the classics(unless you copy them).

      lostlessL mituM 2 Replies Last reply Reply Quote 0
      • mituM mitu moved this topic from Ideas and Development on
      • lostlessL
        lostless @Unknown
        last edited by

        @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.

        UnknownU 1 Reply Last reply Reply Quote 0
        • UnknownU
          Unknown @lostless
          last edited by

          @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.

          You can't beat the classics(unless you copy them).

          1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @Unknown
            last edited by

            @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.

            UnknownU 1 Reply Last reply Reply Quote 0
            • UnknownU
              Unknown @mitu
              last edited by

              @mitu
              Oh. That's rather disappointing. I suppose I will have to stay on the lookout for an emulator of xbox that supports arm64.

              You can't beat the classics(unless you copy them).

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              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.