Homebrew Official Retroarch WiiU (wip.)

Azel

Well-Known Member
Member
Joined
Dec 16, 2014
Messages
632
Trophies
0
Age
41
XP
656
Country
France
Maybe off topic, but is it illegal to play arcade roms of games? Cause arcade machines are so rare these days, and it's not like the police would throw you into jail or something.
it's still a 100% illegal, but yeah I doubt the police would throw you in jail.

there's a lot of arcade games that aren't that expensive though, ARCADE neogeo, is not that expensive for instance.

the real issue is that even if you own a game, it's illegal to download it to play it.
You're supposed to dump it on your own... and I wish you a lot of luck with dumping and decrypting arcade games xD
(it's very interesting though, MAME's source code is a good place to start reading, documenting arcade preservation is actually MAME's 1st purpose, even before letting you play game, surprising, I know :))
 

fukseliten

Well-Known Member
Member
Joined
Apr 19, 2008
Messages
134
Trophies
0
XP
219
Country
Norway
Does retroarch include UAE and C64 ?
Guess what im asking is if there is any chance for some commodore action on this project at some point ? ;)
 

dimok

Well-Known Member
Member
Joined
Jan 11, 2009
Messages
728
Trophies
3
XP
2,635
Country
United States
oh yeah that would be great :D
also, kind of related, would it be possible for the data/bss sections to start at a different address? mainly at an address >= 0x10000000 to make it visible to the gpu. it seemed to work with a tiny test program but it didn't for retroarch.
Ok I did some modifications on the homebrew launcher to allow some more freedom to the applications. The old format is also still supported and you can choose between big size of ELF and loose of code on exit of Mii Maker or small size of app (< 6.5mb) and not loose code anywhere in the system (except reboot/full relaunch).

I made a package for you to check it out and see how it works for you.
http://www6.zippyshare.com/v/zFIbmk3E/file.html

It includes the new HBL ELF, the new mp4 file which is necessary because of SD loader changes and an example linker file.With that linker file your ".text" section will be loaded to 0x0F000000 and your rodata, data and bss will be on 0x12000000. That means you can use shaders, buffers etc. for GX2 directly from the bss or rodata/data.

I tested it only with ftpiiu and hbl itself as I don't have a big enough elf file but it should work with big files as well. I added a HBL.elf version with the sections at the addresses as above to the package just as a reference.

The known limitations (which can still be increased by a lot if necessary):
.text section = 16 MB (can be increased to > 100MB)
.rodata, .bss, .data = > 256MB

Issues:
The thing is that coreinit and every system library also uses the range at 0x10000000 for their stuff. So the loader.elf moves the data section of the "game" above that.
I tried using 0x10000000 it wasnt working as I am overwriting some important coreinit stuff. So i checked 0x11000000 and that got into the application actually but crashed inside as i probably started overwriting my own data section with some heap data. Moving it further to 0x12000000 solved the issue for HBL. Though this is not a very clean environment as I might still be overwritting some important stuff.
You will very likely find an address that will work properly as there is a lot of free space. There is actually something about 800MB or more of RAM for heap and your data/bss/rodata sections but its spread throughout that section. You could investigate Mii Maker and see where it starts for Mii Maker and put your start bss/rodata/data to that. HBL actually now allows you to freely choose code and data section addresses by changing them in your linker file. Not all addresses have access to run code by the system as you know but HBL can copy the stuff to any location in PPC memory. (By changing the BATs I can actually make the code launch anywhere but again you would need to search some space where you don't overwrite other stuff).
The proper solution to that issue would be to switch to the RPX format and let the loader.elf move your code and data sections to correct positions. I will integrate a wiiload and sendelf support for the RPX format and load those the same way that loadiine loads games but for homebrews, to save the time for developers of installing some channel to launch and test their homebrews.

Due to how the current copy procedure works the maximum total size of the ELF is somewhere around 68MB at the moment. This limit comes from loadiine as I use the memory maps of it but it is not at its maximum limit and it can still be increased by a lot. It was faster for me to implement it that way as it was already available. Though i don't think you will hit that limit so fast :).

Let me know what you get out of this. Depending on the result i will check this into the HBL ELF branch or not.
 
Last edited by dimok,

Hielkenator

Well-Known Member
Member
Joined
Feb 7, 2010
Messages
4,210
Trophies
0
XP
679
Country
Netherlands
Then what do you suggest? Is it because my ROM folder has too many files in it? I can't for the life of me figure out why it takes to stinkin' long on my end. :blink::wacko: Do you have different folders for each ROM type? I placed all of them inside for RA, it should not take 60 seconds for me, it didn't do that on the Wii port.:unsure:


Edit: Maybe it's time for a new SD card.
Also instant loading for me, has been since the beginning.
You might have to look into your sd card or get a HDD.
Also no framedrops on Yoshis island on RA Wii for me., this couls also be related to your SD card/HDD.

You should make different folders based on roms type. RA filters these per system everytime you load this folder ( takes time to filter ). Changing them to separate folders probably will be your solution.
 
Last edited by Hielkenator,
  • Like
Reactions: the_randomizer

niuus

Well-Known Member
Member
Joined
Mar 4, 2016
Messages
2,023
Trophies
1
XP
4,456
Country
Venezuela
Thank you so much! hope we can get Playstation Emulator soon
That's gonna take months, for the moment, pana. But it will surely be a great surprise when it finally gets out there.

Can the zips themselves be renamed to be better? Something like SF2AUS or something is too confusing to understood what the name actually is.
Obviously, no. That's the naming convention that was decided for game recognition, and a standard for all arcade emulators.

Ok I did some modifications on the homebrew launcher to allow some more freedom to the applications. The old format is also still supported and you can choose between big size of ELF and loose of code on exit of Mii Maker or small size of app (< 6.5mb) and not loose code anywhere in the system (except reboot/full relaunch).

I made a package for you to check it out and see how it works for you.
http://www25.zippyshare.com/v/Ix58i0de/file.html

It includes the new HBL ELF, the new mp4 file which is necessary because of SD loader changes and an example linker file.With that linker file your ".text" section will be loaded to 0x0F000000 and your rodata, data and bss will be on 0x12000000. That means you can use shaders, buffers etc. for GX2 directly from the bss or rodata/data
Thanks for your work.

The scene is really starting to flourish. This is certainly a great time to have a Wii U.
 
Last edited by niuus,
  • Like
Reactions: the_randomizer

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
That's gonna take months, for the moment, pana. But it will surely be a great surprise when it finally gets out there.


Obviously, no. That's the naming convention that was decided for game recognition, and a standard for all arcade emulators.


Thanks for your work.

The scene is really starting to flourish. This is certainly a great time to have a Wii U.


Fair enough, I hope I can come up with system that will at least help me know what game is what, I can remove some of the games I don't want off the romset to make it easier, it's all good :)
Also instant loading for me, has been since the beginning.
You might have to look into your sd card or get a HDD.
Also no framedrops on Yoshis island on RA Wii for me., this couls also be related to your SD card/HDD.

You should make different folders based on roms type. RA filters these per system every time you load this folder ( takes time to filter ). Changing them to separate folders probably will be your solution.

Resolved the SD card issue, bought a Class 10/UHS-I 80 MB/s SDHC card (32 GB), deleted unnecessary files as there were too many, but as far as putting ROM folders correctly:

SD:/ROMs/NES
SD:/ROMs/Snes
SD:/ROMs/Megadrive

Etc....

The only setback is let's say I have ROMs the main folder, Snes, NES, Genesis/Megadrive, etc. If I make folders for each ROM type, RetroArch will only save one browser directory, and if I want to use another core, I would
need to change folders to another ROM folder, correct? Or are you saying to have a ROM folder with ROM folders inside it?

Something to that effect? Thank you for explaining. Yoshi's Island didn't have the framedrops per se, but Kirby's Dream Land 3 made extensive use of pseudo hi-res mode 7 (the tree canopies, underwater transparencies), dipped to around 54 fps and with audio chopping. But hey, it's alright, the Wii U port has none of these issues and I get 100% speed :) Keep up the hard work. Can't wait to see the eventual Snes9x 1.54.1 port, now that MSU-1 is complete.
 

ploggy

WAKA! WAKA!
Member
Joined
Aug 29, 2007
Messages
4,820
Trophies
2
XP
7,857
Country
United Kingdom
Ok I did some modifications on the homebrew launcher to allow some more freedom to the applications. The old format is also still supported and you can choose between big size of ELF and loose of code on exit of Mii Maker or small size of app (< 6.5mb) and not loose code anywhere in the system (except reboot/full relaunch).

I made a package for you to check it out and see how it works for you.
http://www25.zippyshare.com/v/Ix58i0de/file.html

It includes the new HBL ELF, the new mp4 file which is necessary because of SD loader changes and an example linker file.With that linker file your ".text" section will be loaded to 0x0F000000 and your rodata, data and bss will be on 0x12000000. That means you can use shaders, buffers etc. for GX2 directly from the bss or rodata/data.

I tested it only with ftpiiu and hbl itself as I don't have a big enough elf file but it should work with big files as well. I added a HBL.elf version with the sections at the addresses as above to the package just as a reference.

The known limitations (which can still be increased by a lot if necessary):
.text section = 16 MB (can be increased to > 100MB)
.rodata, .bss, .data = > 256MB

Issues:
The thing is that coreinit and every system library also uses the range at 0x10000000 for their stuff. So the loader.elf moves the data section of the "game" above that.
I tried using 0x10000000 it wasnt working as I am overwriting some important coreinit stuff. So i checked 0x11000000 and that got into the application actually but crashed inside as i probably started overwriting my own data section with some heap data. Moving it further to 0x12000000 solved the issue for HBL. Though this is not a very clean environment as I might still be overwritting some important stuff.
You will very likely find an address that will work properly as there is a lot of free space. There is actually something about 800MB or more of RAM for heap and your data/bss/rodata sections but its spread throughout that section. You could investigate Mii Maker and see where it starts for Mii Maker and put your start bss/rodata/data to that. HBL actually now allows you to freely choose code and data section addresses by changing them in your linker file. Not all addresses have access to run code by the system as you know but HBL can copy the stuff to any location in PPC memory. (By changing the BATs I can actually make the code launch anywhere but again you would need to search some space where you don't overwrite other stuff).
The proper solution to that issue would be to switch to the RPX format and let the loader.elf move your code and data sections to correct positions. I will integrate a wiiload and sendelf support for the RPX format and load those the same way that loadiine loads games but for homebrews, to save the time for developers of installing some channel to launch and test their homebrews.

Due to how the current copy procedure works the maximum total size of the ELF is somewhere around 68MB at the moment. This limit comes from loadiine as I use the memory maps of it but it is not at its maximum limit and it can still be increased by a lot. It was faster for me to implement it that way as it was already available. Though i don't think you will hit that limit so fast :).

Let me know what you get out of this. Depending on the result i will check this into the HBL ELF branch or not.

I just tried loading the FBA core (Which always frooze half way through loading before) it now fully loads but blackscreens soon after.
I also tried loading core that worked fine before but get a "function socket is null" error.
@aliaspider @LibretroRetroArc the cores need recompiling/reworked to work with the new HBL?
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
I just tried loading the FBA core (Which always frooze half way through loading before) it now fully loads but blackscreens soon after.
I also tried loading core that worked fine before but get a "function socket is null" error.
@aliaspider @LibretroRetroArc the cores need recompiling/reworked to work with the new HBL?

Hmm possibly, haven't tested the new HBL yet, hopefully these minor snags are ironed out shortly.
 

niuus

Well-Known Member
Member
Joined
Mar 4, 2016
Messages
2,023
Trophies
1
XP
4,456
Country
Venezuela
Fair enough, I hope I can come up with system that will at least help me know what game is what, I can remove some of the games I don't want off the romset to make it easier, it's all good :)
I would recommend deleting all the clones, unless there's something specific in an alternative romset, you're better off with the main game only.

Resolved the SD card issue, bought a Class 10/UHS-I 80 MB/s SDHC card (32 GB), deleted unnecessary files as there were too many, but as far as putting ROM folders correctly:

SD:/ROMs/NES
SD:/ROMs/Snes
SD:/ROMs/Megadrive

Etc....

The only setback is let's say I have ROMs the main folder, Snes, NES, Genesis/Megadrive, etc. If I make folders for each ROM type, RetroArch will only save one browser directory, and if I want to use another core, I would
need to change folders to another ROM folder, correct? Or are you saying to have a ROM folder with ROM folders inside it?
Let's just say there's not a 'correct' way, but there is a 'comfortable' way and each person chooses one. Right now, i use that directory structure, pointing Retroarch to the ROMs folder as default, which is more than enough for me to select the proper console folder and pick my game.
 
  • Like
Reactions: the_randomizer

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    S @ salazarcosplay: good morning everyone