Hacking Mighty Channels

  • Thread starter Thread starter marc_max
  • Start date Start date
  • Views Views 304,948
  • Replies Replies 969
davebaol said:
fldc said:
This is a log of mighty channels starting up with to many games for rev21d2x to handle
biggrin.gif


http://www.mediafire.com/?gnkhczehl4zzm4l

"could not get game list! ret=-3"
Thanks for the report, I'll get a look at it.
And please tell me how many games are installed in your nand.

Around 650, i don't know really know where the limits goes before it chokes
biggrin.gif
 
Ok thank you davebaol !!

Your theory is right !

I was trying to load with 248, 250, 251 and have no chance with nothing.

I saw that they all had the same version number (v65535 i don't know exactly).

With editing in Showmiiwad changing version to 21, then reinstalling the cIOS, all goes right !

Mighty is loading and no error title !

Thanks for both moding and helping !

I hope Marc Max will finish the "Manage Nand" feature to uninstall and maybe install wad by this menu.

And maybe we could run other channels like Internet to save real NAND memory.
 
I think there's a mistake in your post edit, because the cIOS downloaded with Modmii are all v65xxx versions except the 249 ones which are v21.

So 249 works without changing anything, the others need to be changed with ShowMiiWad.

This is what i have observed.
 
In my link there are only cios modules.
It's modmii which set cios version when you build the wad.
XFlak do you confirm?
 
I can answer that, on page 4 in modmii you can download 249 - base 37, 38, 56 or 57. Those are all ver. 21.

Slot 250 - base 37, 38, 56 or 57 however are all maxed out versions.

If you go to the advanced page, it's all version 21 again.
 
davebaol said:
freestile said:
I tried step 1 "1. move nand to the root and edit meta.xml, see what happens when you start MC"

And Mighty loaded fine this way through forwarder and homebrew channel. So not sure
what it could be? Seems like it doesn't want to read --path=/nand for me.
Ok, here is my theory.
Since you are using slot 246 you used "Advanced Custom Downloads" in ModMii or ShowMiiWads to change the slot.
Did you also changed the version of the cios?
You can check it with syscheck. Which version has the cios in slot 246?
If it's not v21 then MC beta5MOD ignores --partition and --path arguments.
Good call.
smile.gif

I had this very same issue (v65535 after installing it in slots 244 -> 247). Now trying with changing version numbers to 21.

EDIT: success!
biggrin.gif


It's too late for me to retest all my games. But the one game that has been driving me nuts lately (swords and soldiers) WORKS now! WITH a savegame already on the emu-nand, no less!
yaywii.gif
 
Etheboss said:
Anybody managed to get the Strong Bad series working on MC.???
No such luck. At best, it showed the intro but refused to budge afterwards. Most of the time, it just black screens (I'm talking about episode 1 here...I don't have the other ones).
(here is my log after testing it:

FS returned: 0
FS_Close(): 537172388
FS_Open(): (path: /dev/fs, mode: 0)
FS_Readdir(): (path: /title/00010001/57425845/content, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=5
FS_Readdir(): Calling os_sync_after_write(0x133E84C0,4)
FS_Readdir(): Calling os_sync_after_write(0,0) ----> outlen: 5
FS_Readdir(): Returning 0
FS returned: 0
FS_Readdir(): (path: /title/00010001/57425845/content, iolen: 2)
FS_Readdir(): Calling FAT_ReadDir(, 0x123B280, 5)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0x123B280, entries=5
FS_Readdir(): Calling os_sync_after_write(0x133E84C0,4)
FS_Readdir(): Calling os_sync_after_write(0x123B280,65) ----> outlen: 5
1: title.tmd
2: 00000008.app
3: 00000009.app
4: 0000000a.app
5: 00000007.app
FS_Readdir(): Returning 0
FS returned: 0
FS_Open(): (path: /dev/fs, mode: 0)
FS_Readdir(): (path: /title/00010001/57425845/data, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=1
FS_Readdir(): Calling os_sync_after_write(0x138F0080,4)
FS_Readdir(): Calling os_sync_after_write(0,0) ----> outlen: 1
FS_Readdir(): Returning 0
FS returned: 0
FS_Close(): 537172424
FS_Open(): (path: /dev/fs, mode: 0)
FS_SetAttributes(): /title/00010001/57425845/data
FS returned: 0
FS_Close(): 537172424
FS_Open(): (path: /dev/es, mode: 0)
FS_Close(): 537172388
FS_Open(): (path: /dev/stm/immediate, mode: 0)
FS_Open(): (path: /dev/stm/eventhook, mode: 0)
FS_Open(): (path: /dev/fs, mode: 0)
FS_Open(): (path: /dev/es, mode: 0)
FS_Open(): (path: /dev/net/kd/request, mode: 1)
FS_Open(): (path: /dev/net/kd/time, mode: 0)
FS_Open(): (path: /dev/di, mode: 0)
FS_Open(): (path: /dev/es, mode: 0)
FS_Open(): (path: /dev/es, mode: 0)
FS_Readdir(): (path: /tmp, iolen: 2)
FS_Readdir(): Calling FAT_ReadDir(, 0x1077B600, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0x1077B600, entries=0
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Calling os_sync_after_write(0x1077B600,0) ----> outlen: 0
FS_Readdir(): Returning 0
FS returned: 0
FS_Readdir(): (path: /title/00010001/57425845/data/user.ttarch, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=0
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Calling os_sync_after_write(0,0) ----> outlen: 0
FS_Readdir(): Returning -106
FS returned: -106
FS_Readdir(): (path: /title/00010001/57425845/data/banner.bin, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=0
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Calling os_sync_after_write(0,0) ----> outlen: 0
FS_Readdir(): Returning -106
FS returned: -106
FS_GetUsage(): /title/00010001/57425845/data
FS returned: 0
FS_GetUsage(): /meta
FS returned: 0
FS_GetUsage(): /ticket
FS returned: 0
FS_GetUsage(): /title/00010000
FS returned: 0
FS_GetUsage(): /title/00010001
FS returned: 0
FS_GetUsage(): /title/00010003
FS returned: 0
FS_GetUsage(): /title/00010004
FS returned: 0
FS_GetUsage(): /title/00010005
FS returned: 0
FS_GetUsage(): /title/00010006
FS returned: 0
FS_GetUsage(): /title/00010007
FS returned: 0
FS_GetUsage(): /shared2/title
FS returned: 0
FS_Readdir(): (path: /title/00010001/57425845/data/user.ttarch, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=0
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Calling os_sync_after_write(0,0) ----> outlen: 1
FS_Readdir(): Returning -106
FS returned: -106
FS_Readdir(): (path: /title/00010001/57425845/data/banner.bin, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=0
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Calling os_sync_after_write(0,0) ----> outlen: 1
FS_Readdir(): Returning -106
FS returned: -106
FS_Readdir(): (path: /tmp/banner.bin, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=0
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Calling os_sync_after_write(0,0) ----> outlen: 1
FS_Readdir(): Returning -106
FS returned: -106
FS_CreateFile(): /title/00010001/57425845/data/user.ttarch
FS returned: -105
FS_CreateFile(): /tmp/data.temp
FS returned: 0
FS_Readdir(): (path: /title/00010001/57425845/data/user.ttarch, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=0
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Calling os_sync_after_write(0,0) ----> outlen: 1
FS_Readdir(): Returning -106
FS returned: -106
FS_Readdir(): (path: /tmp/user.ttarch, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=0
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Calling os_sync_after_write(0,0) ----> outlen: 1
FS_Readdir(): Returning -106
FS returned: -106
FS_Readdir(): (path: /title/00010001/57425845/data, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=1
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Calling os_sync_after_write(0,0) ----> outlen: 1
FS_Readdir(): Returning 0
FS returned: 0
FS_Readdir(): (path: /title/00010001/57425845/data, iolen: 2)
FS_Readdir(): Calling FAT_ReadDir(, 0x1087D660, 1)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0x1087D660, entries=1
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Calling os_sync_after_write(0x1087D660,13) ----> outlen: 1
1: user.ttarch
FS_Readdir(): Returning 0
FS returned: 0


Thus far, most of my tests are positive. However, by that I mean that the non-problematic games work. Unfortunately, beyond that, it are mostly the same games that cause problems.

The good: the following worked with no issue whatsoever:
-S.M. All-stars+world (Super Mario all stars with SNES Mario world injected in it)
-star fox 64
-5 arcade gems
-Bomberman blast
-mega man 9
-sudoku challenge
-tetris party
-wild west guns
-sonic 4 episode 1
-cave story
-sin & punishment
-FF
-bubble bobble
-nyxquest (aka icarian)
-jungle speed


Maybes:
-Toki Tori black screened a couple times on me AFTER the introduction page. The introduction music kept playing, but that was it. However, the third time, it just works.
unsure.gif

-Dr Mario's savegame got corrupted somehow. Deleting the contents of "0010001\57444d45\data" fixed it.
-in Fluidity and Lit, my previous savegames were gone. Not sure whether this is from the folder redirection or not (it seemed possible to create another file just over it).
-FFCC: my life as a darklord may have this same issue, but I'm not sure (I can't remember on which emulated nand I played this game before)

Not working:
-monkey Island episode 1 and strongbad: homestar ruiner (both black screen...but work in uloader)
-art style: cubello and orbient (blackscreen...note that I never got these to work under triiforce nor uloader)
-lostwinds and lostwinds winter of the melodias


NOTES:
-as far as I can tell, the chosen base IOS doesn't matter. Or, more correctly: if a game works on one base IOS, they tend to work on the others as well (tested 38, 56 and 57).




@daveboal: is there any specific game you want the log file of, or want to see tested?
smile.gif
 
Great work on this. I was playing with uloader to remove the WBFS code so it only did NAND, and then found out about Mighty Channels and scraped my work.
smile.gif


Here are my MC findings so far using USB.

I used cIOSXXX[38]-rev17 which defaults to IOS220. Works fine for me there. I like my current cIOS249[56]-v21d2x2 and cIOS250[57]-v21d2x2 for WiiFlow use.

cIOS220[38]-rev17 seems to be the best for MC. I did not have much luck with other cIOS/revs. Even the 3b6 versions. They just crash/black screen lockup when the game loads.

cIOS220[38]-rev17 obviously ignores the NAND path argument and you need to put the NAND folders in ROOT.

With the same copy of the NAND/games, it works fine on my 1TB but not the 2TB. The 2TB finds the NAND, but not the Titles. They both have the same 32G FAT32 partition0, and the rest is NTFS. Should be a note in the supplied text mentioning that this is a CIOS fault. Instead of reading a 32 page thread.
smile.gif


I tried a default NAND and it showed and played the games, but the remote would unsync at game launch, forcing me to press the console & remote sync buttons. I then tried the NAND from the console being used and the remotes stayed synced. So anyone trying to use a NAND setup from one console onto another console, may have the same problems. Best to just setup the games using wad2nand.exe with a batch file "for %%x in (*.wad *.bat) do start /w wad2nand.exe "%%x" " and save these folders. Then create a NAND from the console. Remove any unneeded channels using ShowMiiWads, then copy over the pre-setup wad2nand game directories.

I have only tried a few games so far, but they all black screen lockup on system exit from the home menu. System Reset in the home menu causes it to crash to priiloader. The standard Triiforce fix fixes it. "If you want to fix the 'Return to Wii' function of HOME menu (in-game), just rename /ticket/00000001/00000002.tik to _00000002.tik (or delete it) from your NAND dump."

Keep up the good work. Feature requests would be to use the game names from WiiTDB. Sort by these names. Allow filtering by WiiWare/VC/etc and by WiiTDB genre. Pressing 2 does do a nice basic sort. And at a lower priority then the filtering code, per game selection of IOS would be nice.
 
For people that are getting black screens at game launch, when it previously ran, it seems the games' data directory in the "title" subfolder is not getting cleaned up. You need to use showmiiwads to find what folder the game is using and then delete all files in the data subfolder.

Maybe Mighty Channels needs to clean this every time before game launch or provide an option to do so.

Keep up the good work.
 
Here the Log from Castlevania Rebirth.

FS returned: 0
FS_Close(): 537172388
FS_Open(): (path: /dev/fs, mode: 0)
FS_Readdir(): (path: /title/00010001/57443950/content, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=5
FS_Readdir(): Calling os_sync_after_write(0x133E84C0,4)
FS_Readdir(): Calling os_sync_after_write(0,0) ----> outlen: 5
FS_Readdir(): Returning 0
FS returned: 0
FS_Readdir(): (path: /title/00010001/57443950/content, iolen: 2)
FS_Readdir(): Calling FAT_ReadDir(, 0x123B2A0, 5)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0x123B2A0, entries=5
FS_Readdir(): Calling os_sync_after_write(0x133E84C0,4)
FS_Readdir(): Calling os_sync_after_write(0x123B2A0,65) ----> outlen: 5
1: title.tmd
2: 00000000.app
3: 00000001.app
4: 00000002.app
5: 00000004.app
FS_Readdir(): Returning 0
FS returned: 0
FS_Open(): (path: /dev/fs, mode: 0)
FS_Readdir(): (path: /title/00010001/57443950/data, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=0
FS_Readdir(): Calling os_sync_after_write(0x138F0080,4)
FS_Readdir(): Calling os_sync_after_write(0,0) ----> outlen: 0
FS_Readdir(): Returning 0
FS returned: 0
FS_Close(): 537172424
FS_Open(): (path: /dev/fs, mode: 0)
FS_SetAttributes(): /title/00010001/57443950/data
FS returned: 0
FS_Close(): 537172424
FS_Open(): (path: /dev/es, mode: 0)
FS_Close(): 537172388
FS_Open(): (path: /dev/stm/immediate, mode: 0)
FS_Open(): (path: /dev/stm/eventhook, mode: 0)
FS_Open(): (path: /dev/fs, mode: 0)
FS_Open(): (path: /dev/es, mode: 0)
FS_Open(): (path: /dev/net/kd/request, mode: 1)
FS_Open(): (path: /dev/net/kd/request, mode: 0)
FS_Open(): (path: /dev/net/kd/time, mode: 0)
FS_Open(): (path: /dev/di, mode: 0)
FS_Open(): (path: /dev/es, mode: 0)
FS_Open(): (path: /dev/usb/oh1/57e/305, mode: 0)
FS_Open(): (path: /dev/es, mode: 0)
FS_Readdir(): (path: /shared2/sys/SYSCONF, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=0
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Calling os_sync_after_write(0,0) ----> outlen: 2
FS_Readdir(): Returning -106
FS returned: -106
FS_Delete(): /shared2/sys/SYSCONF
FS returned: 0
FS_Readdir(): (path: /shared2/sys, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=3
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Calling os_sync_after_write(0,0) ----> outlen: 3
FS_Readdir(): Returning 0
FS returned: 0
FS_CreateFile(): /shared2/sys/SYSCONF
FS returned: 0
FS returned: -6


Another question concerning Emu compatiblity.
Shall we post the logs in the mighty thread or in the d2x thread?
 
papermanzero said:
Another question concerning Emu compatiblity.
Shall we post the logs in the mighty thread or in the d2x thread?
I already asked in the d2x thread, i had no response over there, but it seems to me this topic is the most logical.
 
Etheboss said:
I already asked in the d2x thread, i had no response over there, but it seems to me this topic is the most logical.
I'm not sure, either. We might have worn davebaol out! At any rate, I just put up my log files in that thread.

It's hard when you're trying to track down problems in this instance because the (1) users' specific wii setup, (2) the emulated nand they've created, (3) the cIOSx rev21d2x v3 build they're using, or (4) Mighty Channels itself could be the source.

I rebuilt my nand 3 times before everything clicked in. Up to that point, I was blaming rev21d2x v3 (because rev 17 worked perfectly). All I can say now is that perhaps rev21 is more finicky. Once you have nand "right," everything is peachy.

In the last couple of days, I installed Uneek+DI. (Again, I tried it only because ModMii makes that kind of stuff so easy to do now!) On my USB drive, the nand I use for Mighty Channels is under the /NAND directory. Uneeks' nand is in the root.

Although I like the pretty red system menu screen on Uneek, I have to say I still prefer Mighty Channels. I think it's the easier, more effective way to go. I know that Marc_Max has already said he's tired of working on it and davebaol may have gotten frustrated with his cIOS, but I hope not.

I think they're both coming along very nicely...
 
Here is a modded version of mighty channels that adds a per game option to clear the old NAND data first. On CIOSrev17 some games play the first time, then never load again. Turning on the "Clear Data First" option will kill the data directory before playing. This will kill your save data of course, but it does allow the game to launch.

FWIW, for the games that lock up in this manner with rev 17, it seems that rev 21dx2b5 will launch them again without clearing the data. Unforunately they soon hang in game.

Also I hacked in the ability to wrap from the end game selection sceen back to the first. You can also go from first to last but only after going through all the pages once. Sorry but it will crash otherwise and I did not care enough to figure out why. (EDIT) Fixed.

(EDIT) newer code found a few posts down at:
http://gbatemp.net/t271798-mighty-channels...t&p=3484730
The new file link is:
http://rapidshare.com/files/450295351/migh..._hack110228.zip
 
Does the partition for Mighty Channels HAVE to be formatted as FAT32 with 32KB clusters? FAT32 with 16KB won't work? I formatted mine as the latter because the HD I used doesn't seem to support the former (16KB clusters is the maximum Easeus Partition Master and the Windows 7 partitioner allowed me to choose).
 
Yardape8000 said:
Also I hacked in the ability to wrap from the end game selection sceen back to the first. You can also go from first to last but only after going through all the pages once. Sorry but it will crash otherwise and I did not care enough to figure out why.

http://rapidshare.com/files/450196063/migh..._clear_hack.zip
That's because I use only one variable to know how many pages are read (from left to right). You can easy fix this by adding an imageLoaded boolean to the channel struct, and check if all images are loaded before showing them after changing page.
 
marc_max said:
That's because I use only one variable to know how many pages are read (from left to right). You can easy fix this by adding an imageLoaded boolean to the channel struct, and check if all images are loaded before showing them after changing page.
Thanks. I did not really see a channel struct to add it to, but you led me in the right direction. I fixed the code to allow scrolling from first to last page. The file also contains a diff of all my source changes.

New version at:
http://rapidshare.com/files/450295351/migh..._hack110228.zip
 
Yardape8000 said:
marc_max said:
That's because I use only one variable to know how many pages are read (from left to right). You can easy fix this by adding an imageLoaded boolean to the channel struct, and check if all images are loaded before showing them after changing page.
Thanks. I did not really see a channel struct to add it to, but you led me in the right direction. I fixed the code to allow scrolling from first to last page. The file also contains a diff of all my source changes.

New version at:
http://rapidshare.com/files/450295351/migh..._hack110228.zip

Sick! Thanks for this
grog.gif
 

Site & Scene News

Popular threads in this forum