Tutorial  Updated

How to install Retrix (Retroarch/Libretro port) for Xbox One

Prerequisite - Requires Dev mode to be activated so you can sideloadd apps. If you don't already have it you can find more information here. https://www.windowscentral.com/how-activate-dev-mode-your-xbox-one-console


libretro_logo.jpg



Retrix(LibretroRT) is a massive project aimed at porting all libretro cores to UWP. It currently supports Nes,Snes,Sega Master System,Sega Game gear, Sega CD, sg 1000, Playstation, Gameboy, Gameboy advance, and many more to be ported soon. This guide will cover installing Retrix for your xbox one console.


[1.] Download ProjectPgeasus (If you already have ProjectPegasus this step doesn't apply)
https://github.com/wiired24/ProjectPegasus/raw/master/ProjectPegasusSetup.exe





[2.] Once Installed just open it up and select RetriX. Now just wait for it to download. All you have to do now is Sideload Retrix on to your Xbox One (If you don't know how, follow the full guide here https://github.com/wiired24/ProjectPegasus/blob/master/binaries/Installing APPX Packages.pdf )

[3.] Enjoy! :yayone:

TEcaQY6.png


Retrix brings with it support for local 2 player something we have not had until now. It also opens the floodgates to every single emulator that is currently inside the scope of the libretro project. You can see a full list here https://github.com/libretro

I had been sitting on releasing Retrix for quite a bit now but it has finally reached a point where it is stable enough for release. Credit goes to Albertofustonini for creating and maintaining the Retrix Project. Credit also goes to @kingtut for advocating for a Libretro/Retroarch port for Xbox One. You can follow current development on the official github page https://github.com/Aftnet/LibretroRT

 
Last edited by wiired24,

ploggy

WAKA! WAKA!
Member
Joined
Aug 29, 2007
Messages
4,845
Trophies
2
XP
7,961
Country
United Kingdom
Is it possible for you to port Mame 2000 or 2004 over? They have way smaller rom sizes and generally run much better. It even ran well on the DS
I think it would be best to start at the latest version and work backwards if needed? that way we can get the best balance of speed and rom compatibility.
 

wiired24

Developer
OP
Developer
Joined
Sep 3, 2013
Messages
1,118
Trophies
1
Age
29
Location
Dev_Home
XP
3,497
Country
United States
@wiired24 still compiling?

Hit a snag with compiling but it was totally my fault though as I was compiling outside of the default directory of C:\msys64 which was causing issues for some of the lua scripts in the make process. I've since removed the previous mame directory and cloned it again and will be compiling it again soon. Fingers crossed nothing breaks this time :P

--------------------- MERGED ---------------------------

Is it possible for you to port Mame 2000 or 2004 over? They have way smaller rom sizes and generally run much better. It even ran well on the DS

Right now I'm just focused on getting the latest version of MAME compiled and running on Xbox One. Once successful in that endeavor then I will look into that
 
  • Like
Reactions: Flux0

ploggy

WAKA! WAKA!
Member
Joined
Aug 29, 2007
Messages
4,845
Trophies
2
XP
7,961
Country
United Kingdom
Hit a snag with compiling but it was totally my fault though as I was compiling outside of the default directory of C:\msys64 which was causing issues for some of the lua scripts in the make process. I've since removed the previous mame directory and cloned it again and will be compiling it again soon. Fingers crossed nothing breaks this time :P



Right now I'm just focused on getting the latest version of MAME compiled and running on Xbox One. Once successful in that endeavor then I will look into that
Bummer, hope everything works out next time :)
 
  • Like
Reactions: wiired24

wiired24

Developer
OP
Developer
Joined
Sep 3, 2013
Messages
1,118
Trophies
1
Age
29
Location
Dev_Home
XP
3,497
Country
United States
This has been incredibly frustrating. @ploggy @jirkawaggon @Absestos @dominater01 @kingtut

I've installed all necessary build tools as dictated by the Tools page of the MAME Project http://mamedev.org/tools/

This includes - Microsoft Visual Studio (2015 with Update 3)
- Msys64 (installed to C:\)
- Python and GCC

By scanning through the makefile I was able to figure out how to build for the Universal Windows Platform. Essentially by typing "make vs2015_uwp". It begins compilation and does so for roughly 20 minutes and then upon the makefile trying to build one of the cpus I get this

Generated 1972 opcode handlers from 523 primitives
make[1]: Leaving directory '/c/msys64/home/vanit/mame/src/devices/cpu/m6800'
c:/mysys64/home/vanit/mame/scripts/genie.lua:536: File definition for TARGET=mame SUBTARGET=mame does not exist
stack traceback:
[C]: in function 'error'
c:/Users/Public/homebrew/mame/scripts/genie.lua:536: in main chunk
[C]: in upvalue 'builtin_dofile'
[string "premake = { }..."]:84: in function 'dofile'
[string "_WORKING_DIR = os.getcwd()..."]:45: in function '_premake_main'
make: *** [makefile:1061: vs2015_uwp] Error 1

I Don't understand why I continue to receive this error. I also get it while just typing "make" or "make vs2015". By glancing over the error you might think it has something to do with TARGET and SUBTARGET. That's what I thought as well but nowhere does it say to use TARGET and SUBTARGET as parameters when building for Windows and Visual Studio your told just to enter "make" or "make vs2015" or in our case "make vs2015_uwp"

I've raised an issue over on the official MAME Github repo in hopes to hear back from the MAME developers soon. If any of you guys or gals wanna take a whack at this the instructions for compiling MAME from source code are rather simple. First install Visual Studio 2015 (With Update 3) Then, Just follow all the instructions here on the MAME | Tools Page http://mamedev.org/tools/ and when you are told to type make you need to type "make vs2015_uwp" instead of just the "make" keyword as the guide suggests.

EDIT: if anyone tries to compile MAME and you get an error about not having Python in your path make sure and install it. You can do this through the msys shell
pacman -S python

You'll also need gcc for building MAME pacman -S gcc
 
Last edited by wiired24,
  • Like
Reactions: kingtut

kingtut

Well-Known Member
Member
Joined
May 3, 2017
Messages
1,067
Trophies
0
Age
29
XP
1,354
Country
United States
This has been incredibly frustrating. @ploggy @jirkawaggon @Absestos @dominater01 @kingtut

I've installed all necessary build tools as dictated by the Tools page of the MAME Project http://mamedev.org/tools/

This includes - Microsoft Visual Studio (2015 with Update 3)
- Msys64 (installed to C:\)
- Python and GCC

By scanning through the makefile I was able to figure out how to build for the Universal Windows Platform. Essentially by typing "make vs2015_uwp". It begins compilation and does so for roughly 20 minutes and then upon the makefile trying to build one of the cpus I get this

Generated 1972 opcode handlers from 523 primitives
make[1]: Leaving directory '/c/msys64/home/vanit/mame/src/devices/cpu/m6800'
c:/mysys64/home/vanit/mame/scripts/genie.lua:536: File definition for TARGET=mame SUBTARGET=mame does not exist
stack traceback:
[C]: in function 'error'
c:/Users/Public/homebrew/mame/scripts/genie.lua:536: in main chunk
[C]: in upvalue 'builtin_dofile'
[string "premake = { }..."]:84: in function 'dofile'
[string "_WORKING_DIR = os.getcwd()..."]:45: in function '_premake_main'
make: *** [makefile:1061: vs2015_uwp] Error 1

I Don't understand why I continue to receive this error. I also get it while just typing "make" or "make vs2015". By glancing over the error you might think it has something to do with TARGET and SUBTARGET. That's what I thought as well but nowhere does it say to use TARGET and SUBTARGET as parameters when building for Windows and Visual Studio your told just to enter "make" or "make vs2015" or in our case "make vs2015_uwp"

I've raised an issue over on the official MAME Github repo in hopes to hear back from the MAME developers soon. If any of you guys or gals wanna take a whack at this the instructions for compiling MAME from source code are rather simple. First install Visual Studio 2015 (With Update 3) Then, Just follow all the instructions here on the MAME | Tools Page http://mamedev.org/tools/ and when you are told to type make you need to type "make vs2015_uwp" instead of just the "make" keyword as the guide suggests.

EDIT: if anyone tries to compile MAME and you get an error about not having Python in your path make sure and install it. You can do this through the msys shell
pacman -S python

You'll also need gcc for building MAME pacman -S gcc
I will try to compile it tomorrow first thing morning. hopefully I wont have problems, I left this message so that you know I will start researching but I know nothing right now
 
  • Like
Reactions: wiired24

Absestos

Well-Known Member
Newcomer
Joined
Jun 24, 2017
Messages
74
Trophies
0
Website
www.aftnet.net
XP
297
Country
Italy
Small update live on GitHub, which hopefully improves stability.

I have been running RetriX in 64 bit mode (same as the Xbox one) and haven't had the random crashes I used to.
Would you like to check it out and see if it is any better?

I have also managed to make some progress with the Saturn core: it doesn't fail hard with exceptions the way it used to and seems to load games but runtime results in black screen and no sound, so it's not exposed in the UI yet.
 

ploggy

WAKA! WAKA!
Member
Joined
Aug 29, 2007
Messages
4,845
Trophies
2
XP
7,961
Country
United Kingdom
Small update live on GitHub, which hopefully improves stability.

I have been running RetriX in 64 bit mode (same as the Xbox one) and haven't had the random crashes I used to.
Would you like to check it out and see if it is any better?

I have also managed to make some progress with the Saturn core: it doesn't fail hard with exceptions the way it used to and seems to load games but runtime results in black screen and no sound, so it's not exposed in the UI yet.
Thank you, Downloading now..Wish me luck ;)

Sorry mate still crashing.. I've made a crash dmp but I assume it's going to say the same thing as before :(
 
Last edited by ploggy,

baha1453

Active Member
Newcomer
Joined
Apr 29, 2017
Messages
33
Trophies
0
Age
80
XP
97
Country
United States
it is only promising..
I tried PSX with Fifa 99 and many other games, NONE works.
I then decided to give a try to to the SNES with Batman and several other SNES and NES games, it took only 30 seconds to crash.

I am sorry but it needs a lot of improvement for the current emulators instead of new emulators.

What is the point in having MAME or even PS2 emulation as long as it does not work?
 

wiired24

Developer
OP
Developer
Joined
Sep 3, 2013
Messages
1,118
Trophies
1
Age
29
Location
Dev_Home
XP
3,497
Country
United States
Has anyone else attempted to compile MAME? Would be nice if we could get this working for Xbox...

No Bullshit, I'll literally donate $5 to anyone who can successfully compile MAME and show video proof of it running on Xbox One.

I've worked on getting this to compile for over 9 hours straight last night. I need your help
 
Last edited by wiired24,

wiired24

Developer
OP
Developer
Joined
Sep 3, 2013
Messages
1,118
Trophies
1
Age
29
Location
Dev_Home
XP
3,497
Country
United States
By looking through one of the Lua scripts that the makfile uses for building MAME I've been able to track down what seems to be the issue.
It's looking for a directory structure that is named C:/Projects/mame

if (_OPTIONS["PROJECT"] ~= nil) then
PROJECT_DIR = path.join(path.getabsolute(".."),"projects",_OPTIONS["PROJECT"]) .. "/"
if (not os.isfile(path.join("..", "projects", _OPTIONS["PROJECT"], "scripts", "target", _OPTIONS["target"],_OPTIONS["subtarget"] .. ".lua"))) then
error("File definition for TARGET=" .. _OPTIONS["target"] .. " SUBTARGET=" .. _OPTIONS["subtarget"] .. " does not exist")
 

wiired24

Developer
OP
Developer
Joined
Sep 3, 2013
Messages
1,118
Trophies
1
Age
29
Location
Dev_Home
XP
3,497
Country
United States
PSX core is running slow?
:wacko:

It's an unfortunate fact that the Xbox One has yet to receive a proper PS1 Emulator that runs fast and is stable. The only choices we have right now are WinPSe10 which is buggy and saves dont work but the speed is acceptable overall, and BeetlePSX through RetriX which is slow but will likely improve with time. PSX-BOX is a third option but it's a bit aways from being released as the backend is only capable of running 1 game (Crash Bandicoot)
 
  • Like
Reactions: levantacadeira

Flux0

Well-Known Member
Newcomer
Joined
Jan 3, 2016
Messages
94
Trophies
0
Age
44
XP
505
Country
United States
It's an unfortunate fact that the Xbox One has yet to receive a proper PS1 Emulator that runs fast and is stable. The only choices we have right now are WinPSe10 which is buggy and saves dont work but the speed is acceptable overall, and BeetlePSX through RetriX which is slow but will likely improve with time. PSX-BOX is a third option but it's a bit aways from being released as the backend is only capable of running 1 game (Crash Bandicoot)

Things will improve over time as more people try their hand at XB1 homebrew and the people here now learn more. Every new system that has homebrew has to start somewhere and build from there.

The environment the system provides is more limited than if there was a full exploit to open the system, however it is a legit method provided by Microsoft. After dealing with the PS3 and Wii U scenes, having homebrew that keeps working without playing cat and mouse with updates, while still letting people play new games and go online is welcome. Mame driving you crazy is just a temporary setback. :P

Edit: Very temporary setback from looking at the message posted just before mine.
 
  • Like
Reactions: wiired24

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: https://wccftech-com.cdn.ampproject.org/v/s/wccftech.com/amd-800-series-am5-motherboards-launch-r...