Hacking Mighty Channels

  • Thread starter Thread starter marc_max
  • Start date Start date
  • Views Views 304,909
  • Replies Replies 969
Yardape8000 said:
Here is my 11.1 mod adding the first/last page scrolling, display game name on selection, and delete save game data before run option.

It has not been tested because I no longer have a Wii. It should work fine though as the code has not changed. Full source included.

https://rapidshare.com/files/460171655/migh...nels_v11_1y.zip

Thanks Yardape, your work is much appreciated
grog.gif
 
Reformatted the usb drive to one single FAT32 partition an converted my games to .wbfs files to avoid a multi-partition setup. Now it works well.
smile.gif


But how am I supposed to install wads tp the the nand? Crawling inside the TV bench to get the HDD out and connect it to my computer everytime I want to add a game is not an ideal solution. Is it possible to just extract the wad somehow and move the folders inside the virtual nand directory by FTP or similar?
 
d2x cIOS v4b3 (base53) log for the game Lost Winds Winter of the Melodias (Game freezes with an anoying soundbeep after creating a new savegame)(No savegame on the emu-nand before start)
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>FS returned: 0
FS_Close(): 537172388
FS_Open(): (path: /dev/fs, mode: 0)
FS_Readdir(): (path: /title/00010001/574c4f50/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(0x133E88C0,4)
FS_Readdir(): Returning 0
FS returned: 0
FS_Readdir(): (path: /title/00010001/574c4f50/content, iolen: 2)
FS_Readdir(): Calling FAT_ReadDir(, 0x14FAB60, 5)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0x14FAB60, entries=5
FS_Readdir(): Calling os_sync_after_write(0x133E88C0,4)
1: title.tmd
2: 00000008.app
3: 00000009.app
4: 0000000a.app
5: 00000007.app
FS_Readdir(): Calling os_sync_after_write(0x14FAB60,65) ----> outlen: 5
FS_Readdir(): Returning 0
FS returned: 0
FS_Open(): (path: /dev/fs, mode: 0)
FS_Readdir(): (path: /title/00010001/574c4f50/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(): Returning 0
FS returned: 0
FS_Close(): 537172424
FS_Open(): (path: /dev/fs, mode: 0)
FS_SetAttributes(): /title/00010001/574c4f50/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/es, mode: 0)
FS_Open(): (path: /dev/usb/oh1/57e/305, mode: 0)
FS_GetUsage(): /title/00010001/574c4f50/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_GetUsage(): /title/00010001/574c4f50/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/574c4f50/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(0x135E1080,4)
FS_Readdir(): Returning 0
FS returned: 0
FS_Readdir(): (path: /title/00010001/574c4f50/data, iolen: 2)
FS_Readdir(): Calling FAT_ReadDir(, 0x12CB9E0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0x12CB9E0, entries=0
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Calling os_sync_after_write(0x12CB9E0,0) ----> outlen: 0
FS_Readdir(): Returning 0
FS returned: 0
FS_GetUsage(): /title/00010001/574c4f50/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_GetUsage(): /title/00010001/574c4f50/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/574c4f50/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(0x135E1080,4)
FS_Readdir(): Returning 0
FS returned: 0
FS_Readdir(): (path: /title/00010001/574c4f50/data, iolen: 2)
FS_Readdir(): Calling FAT_ReadDir(, 0x14766C0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0x14766C0, entries=0
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Calling os_sync_after_write(0x14766C0,0) ----> outlen: 0
FS_Readdir(): Returning 0
FS returned: 0
FS_GetUsage(): /title/00010001/574c4f50/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_GetUsage(): /title/00010001/574c4f50/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/574c4f50/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(0x135E1080,4)
FS_Readdir(): Returning 0
FS returned: 0
FS_Readdir(): (path: /title/00010001/574c4f50/data, iolen: 2)
FS_Readdir(): Calling FAT_ReadDir(, 0x1325560, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0x1325560, entries=0
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Calling os_sync_after_write(0x1325560,0) ----> outlen: 0
FS_Readdir(): Returning 0
FS returned: 0
FS_GetUsage(): /title/00010001/574c4f50/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_CreateFile(): /title/00010001/574c4f50/data/W@@@@@@@@@A
FS returned: 0
FS_Readdir(): (path: /title/00010001/574c4f50/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(): Returning 0
FS returned: 0
FS_Readdir(): (path: /title/00010001/574c4f50/data, iolen: 2)
FS_Readdir(): Calling FAT_ReadDir(, 0x147C800, 1)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0x147C800, entries=1
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
1: W@@@@@@@@@A
FS_Readdir(): Calling os_sync_after_write(0x147C800,13) ----> outlen: 1
FS_Readdir(): Returning 0
FS returned: 0
FS_GetUsage(): /title/00010001/574c4f50/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_CreateFile(): /title/00010001/574c4f50/data/banner.bin
FS returned: 0
FS_Readdir(): (path: /title/00010001/574c4f50/data, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=2
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Returning 0
FS returned: 0
FS_Readdir(): (path: /title/00010001/574c4f50/data, iolen: 2)
FS_Readdir(): Calling FAT_ReadDir(, 0x13C0FE0, 2)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0x13C0FE0, entries=2
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
1: W@@@@@@@@@A
2: banner.bin
FS_Readdir(): Calling os_sync_after_write(0x13C0FE0,26) ----> outlen: 2
FS_Readdir(): Returning 0
FS returned: 0
FS_Readdir(): (path: /title/00010001/574c4f50/data, iolen: 1)
FS_Readdir(): Calling FAT_ReadDir(, 0, 0)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0, entries=2
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
FS_Readdir(): Returning 0
FS returned: 0
FS_Readdir(): (path: /title/00010001/574c4f50/data, iolen: 2)
FS_Readdir(): Calling FAT_ReadDir(, 0x13C0FE0, 2)
FS_Readdir(): Return from FAT_ReadDir: outbuf=0x13C0FE0, entries=2
FS_Readdir(): Calling os_sync_after_write(0x135E1080,4)
1: W@@@@@@@@@A
2: banner.bin
FS_Readdir(): Calling os_sync_after_write(0x13C0FE0,26) ----> outlen: 2
FS_Readdir(): Returning 0
FS returned: 0 </div>
Just contributed to the logs for the games that's not working. <img src="style_emoticons/<#EMO_DIR#>/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />
 
First of all thanks for an amazing app
smile.gif


I wondering about the sort function though. It does sort by system, but is it possible to sort them alphabetically?
 
Hello,

I'm able to run mighty channel with CIOS 17 (base 38) installed on slot 248 but I decided to use last CIOS 21 d2x v4 on slot 251 (base 38) and mighty channel starts but the nand emulation doesn't work anymore :

- I got one game not working : jungle speed
- I got one game reporting NAND corruption : Dr Mario

Back to the use of CIOS 17 solved it.

In both case mighty channel .xml has been updated to launch the proper cios.

Any idea ?

Something I miss on CIOS 21 d2x V4 ?

Remark : I will past that too on d2x thread.

Regards

Olivier
 
Hi to all... First I need to say thanks to Marc for his great job.

This is a modified version of mighty channels, based on yardape8000 mod. It add a caching system to have an instant start of m.c... On my system, the original version was taking also 15-20 second to browse titles. Too much
biggrin.gif


I've tested on my wii and works perfectly (for me).

From my notes added to readme_en.txt

Code:
stfour notes:

Added a primordial cache system for titles. After first run the file "mighty_cache.dat" is created in the config folder (where mighty_channels.cfg is). The cache file is rebuilted automatically only if titles count changes. To force the rebuild for some reason, simply delete "mighty_cache.dat"

Changes:

v.2
* Corrected a possible bug on title lenght
* Added check on cache file version, so if structure change, cache file will be rebuilded

v.1
* title in gamelist is now a static string. This is to speedup cache operations and simpler code at the expense of little more memory occupation. Actually titles are limited to 32 characters. Longer are simply truncated.
* modified a little how the title is composed
* added __WriteCache / __ReadCache functions
* Fat is mounted before ISFS operations.

If you want give a try, download here

mighty_11.1y_cache2.zip !!! Seems to work only with usb device
 
stfour said:
Hi to all... First I need to say thanks to Marc for his great job.

This is a modified version of mighty channels, based on yardape8000 mod. It add a caching system to have an instant start of m.c... On my system, the original version was taking also 15-20 second to browse titles. Too much
biggrin.gif


I've tested on my wii and works perfectly (for me).

From my notes added to readme_en.txt

Code:
stfour notes:

Added a primordial cache system for titles. After first run the file "mighty_cache.dat" is created in the config folder (where mighty_channels.cfg is). The cache file is rebuilted automatically only if titles count changes. To force the rebuild for some reason, simply delete "mighty_cache.dat"

Changes:
* title in gamelist is now a static string. This is to speedup cache operations and simpler code at the expense of little more memory occupation. Actually titles are limited to 32 characters. Longer are simply truncated.
* modified a little how the title is composed
* added __WriteCache / __ReadCache functions
* Fat is mounted before ISFS operations.

If you want give a try, download here

mighty_11.1y_cache.zip

Doesn't work for me !
I start it and then it goes directly to a code dump. I Have my games and Mighty Channel running from my SD, could it have something to do with that.
 
stfour said:
Hi to all... First I need to say thanks to Marc for his great job.

This is a modified version of mighty channels, based on yardape8000 mod. It add a caching system to have an instant start of m.c... On my system, the original version was taking also 15-20 second to browse titles. Too much
biggrin.gif


I've tested on my wii and works perfectly (for me).

From my notes added to readme_en.txt

Code:
stfour notes:

Added a primordial cache system for titles. After first run the file "mighty_cache.dat" is created in the config folder (where mighty_channels.cfg is). The cache file is rebuilted automatically only if titles count changes. To force the rebuild for some reason, simply delete "mighty_cache.dat"

Changes:
* title in gamelist is now a static string. This is to speedup cache operations and simpler code at the expense of little more memory occupation. Actually titles are limited to 32 characters. Longer are simply truncated.
* modified a little how the title is composed
* added __WriteCache / __ReadCache functions
* Fat is mounted before ISFS operations.

If you want give a try, download here

mighty_11.1y_cache.zip

Awesome! am at work now but will def use this when i get home
 
IceIceBird said:
Doesn't work for me !
I start it and then it goes directly to a code dump. I Have my games and Mighty Channel running from my SD, could it have something to do with that.

I'm running homebrew from usb drive... but I doesn't feel that matters. Also if the cache file doesn't exist, mighty channels should work as usual.

Anyway as soon have my wii available (no less than two hour), I will try from sd.

the modded by Yardape8000 works for you ?

http://gbatemp.net/t271798-mighty-channels...t&p=3621854
 
mmm.... I think i found the bug...

this should be ok

Code:
Changes:

v.2
* Corrected a possible bug on title lenght
* Added check on cache file version, so if structure change, cache file will be rebuilded

mighty_11.1y_cache2.zip !!! Seems to work only with usb device

IceIceBird, let me know if it works for you
wink.gif
 
stfour said:
mmm.... I think i found the bug...

this should be ok

Code:
Changes:

v.2
* Corrected a possible bug on title lenght
* Added check on cache file version, so if structure change, cache file will be rebuilded

mighty_11.1y_cache2.zip

IceIceBird, let me know if it works for you
wink.gif

Doesn't work now either, code dump when starting up Mighty Channel/Games from SD (it code dumps somewhere in the starting process or cashing process, I think).
Yes, Yardape8000 mod works.
 
Before the crash can you see mighty channels interface, saying it is searching for titles or crash as soon as start ?

Also, please check if exist in the sd \config\mighty\mighty_cache.dat. If so, delete it.
 
Found the problem... and maybe a solution... need some time to fix.

Actually I am quite surprised that works with usb device.
 
Here the new version with sd bug fixed. Now test with my sd (and retested with usb drive
wink.gif
)

changes

Code:
v.2bis
* Corrected a bug with SD and cache. It cannot be accessed if nand emulation is active :(.
* Added a message on startup

v.2
* Corrected a possible bug on title lenght
* Added check on cache file version, so if structure change, cache file will be rebuilded

v.1
* title in gamelist is now a static string. This is to speedup cache operations and simpler code at the expense of little more memory occupation. Actually titles are limited to 32 characters. Longer are simply truncated.
* modified a little how the title is composed
* added __WriteCache / __ReadCache functions
* Fat is mounted before ISFS operations. (big ERROR)

mighty_11.1y_cache2bis.zip
 

Site & Scene News

Popular threads in this forum