Hacking Mighty Channels

  • Thread starter Thread starter marc_max
  • Start date Start date
  • Views Views 304,889
  • Replies Replies 969
papermanzero said:
Skater4599 said:
In triiforce it was always a requirement to have the FAT parition be first/primary, also I don't understand why anyone would need 2 fat partitions? My HDD is like this and works flawlessly

Partition 1 -> FAT32 with 32kb clusters primary/active, has Apps and Emu Nand and even a WBFS folder for some games
Partition 2 -> WBFS


Because there many guys who have WBFS Partition (1) and a Fat32 Partition for Data (2).
There are also many guys who use the USB HDD for other things and have more than one partition.
Another benefit is that you are more more more flexible with this multi-partition support.

To say "it's working for me, just use this config" is sometimes not so easy.
Btw. no triiforce doesn't require the first partition. It is cios 21 which requires the first partition.

Your right rev21 broke that support, but even in rev 17 the nand emu partition needed to be set to active/primary IIRC

Does rev21 work if your FAT32 partition is first?
part1>FAT Active/primary
part 2>WBFS
part 3>FAT

I agree that more flexibility is better, but my point is that your not totally "up the creek without a paddle" as a worst case scenario. You could still use 2 partitions WBFS>one big FAT for extra storage too, or if you needed to house files larger than 4gb, use FAT partition for games > second NTFS for storage. I'm not suggesting you do that.. Im just giving options that there are ways around the issue
 
papermanzero said:
@davebaol
This was also my case.
If you made a new full nand dump (with FS Toolbox), and copy this dump to Partition 3, it's working with cios 17. The 3rd partition must be active and a primary partition.
Ok now it works.
It was non active.
 
Skater4599 said:
papermanzero said:
Skater4599 said:
In triiforce it was always a requirement to have the FAT parition be first/primary, also I don't understand why anyone would need 2 fat partitions? My HDD is like this and works flawlessly

Partition 1 -> FAT32 with 32kb clusters primary/active, has Apps and Emu Nand and even a WBFS folder for some games
Partition 2 -> WBFS


Because there many guys who have WBFS Partition (1) and a Fat32 Partition for Data (2).
There are also many guys who use the USB HDD for other things and have more than one partition.
Another benefit is that you are more more more flexible with this multi-partition support.

To say "it's working for me, just use this config" is sometimes not so easy.
Btw. no triiforce doesn't require the first partition. It is cios 21 which requires the first partition.

Your right rev21 broke that support, but even in rev 17 the nand emu partition needed to be set to active/primary IIRC

Does rev21 work if your FAT32 partition is first?
part1>FAT Active/primary
part 2>WBFS
part 3>FAT

How about 1 partition? 1 FAT32 partition? It will work great. Make a directory named WBFS. USB loaderGX and USB config work fine with it and can install games to it. You will need 1 game in it for USB laders to see it I think. Use Wii Backup Manager to install 1 game FAT32. Works like a charm. SNEEK UNEEK MightyChannels Triiforce and everything else I have tried works great. Forget WBFS partitions.
 
Skater4599 said:
Your right rev21 broke that support, but even in rev 17 the nand emu partition needed to be set to active/primary IIRC

Does rev21 work if your FAT32 partition is first?
part1>FAT Active/primary
part 2>WBFS
part 3>FAT

I agree that more flexibility is better, but my point is that your not totally "up the creek without a paddle" as a worst case scenario. You could still use 2 partitions WBFS>one big FAT for extra storage too, or if you needed to house files larger than 4gb, use FAT partition for games > second NTFS for storage. I'm not suggesting you do that.. Im just giving options that there are ways around the issue

I didn't tried to move the FAT partition to position 1 (because of missing free space)
I heard that this should work. But I dunno for sure.

QUOTE(davebaol @ Feb 15 2011, 01:06 AM) Ok now it works.
It was non active.

Great to hear. ^^
I thought I got an edge case.
 
mikefor20 said:
Skater4599 said:
papermanzero said:
Skater4599 said:
In triiforce it was always a requirement to have the FAT parition be first/primary, also I don't understand why anyone would need 2 fat partitions? My HDD is like this and works flawlessly

Partition 1 -> FAT32 with 32kb clusters primary/active, has Apps and Emu Nand and even a WBFS folder for some games
Partition 2 -> WBFS


Because there many guys who have WBFS Partition (1) and a Fat32 Partition for Data (2).
There are also many guys who use the USB HDD for other things and have more than one partition.
Another benefit is that you are more more more flexible with this multi-partition support.

To say "it's working for me, just use this config" is sometimes not so easy.
Btw. no triiforce doesn't require the first partition. It is cios 21 which requires the first partition.

Your right rev21 broke that support, but even in rev 17 the nand emu partition needed to be set to active/primary IIRC

Does rev21 work if your FAT32 partition is first?
part1>FAT Active/primary
part 2>WBFS
part 3>FAT

How about 1 partition? 1 FAT32 partition? It will work great. Make a directory named WBFS. USB loaderGX and USB config work fine with it and can install games to it. You will need 1 game in it for USB laders to see it I think. Use Wii Backup Manager to install 1 game FAT32. Works like a charm. SNEEK UNEEK MightyChannels Triiforce and everything else I have tried works great. Forget WBFS partitions.

As mentioned before he's trying to reproduce and implement multi-partition support.
 
Skater4599 said:
Does rev21 work if your FAT32 partition is first?
part1>FAT Active/primary
part 2>WBFS
part 3>FAT
Yes, rev21 only works if the 1st partition is FAT and primary (active or not).
 
Different behavior between rev17 and rev21:
[*]With rev17 the nand MUST be on the active partition (FAT)[*]With rev21 the nand MUST be on the 1st partition (FAT active or not)
NOTE: regardless of the cios rev Mighty Channel plays the banner sound only if the emulated nand is in the same partition.

By enabling multi partition support in FatFs d2x v3beta4 can load the emulated nand from the desired fat partition (active or not).
For the time being the number of the desired partition is hardcoded inside the fat module.
Now I could implement one of the following solutions:
[*]emulating rev17 behavior (automatic selection of the active partition)[*]extending the ioctlv command for mounting the desired USB/SD partition from Mighty Channel.

marc_max, are you still with us?
I'd like to know what you prefer.
happy.gif
 
QUOTE said:
The official rev21 supports a new ioctlv command 100 (just like the previous one but using vector) which allows you to set the folder for the emulated nand.

like hearing this...yay
 
LocoRoco said:
QUOTE said:
The official rev21 supports a new ioctlv command 100 (just like the previous one but using vector) which allows you to set the folder for the emulated nand.

like hearing this...yay
Erm...you do know that marc_max announced he's going to quit working on mighty channels, right? He also stated earlier that he wouldn't implement it because it would break compatibility with sneek.
 
Wever said:
LocoRoco said:
QUOTE said:
The official rev21 supports a new ioctlv command 100 (just like the previous one but using vector) which allows you to set the folder for the emulated nand.

like hearing this...yay
Erm...you do know that marc_max announced he's going to quit working on mighty channels, right? He also stated earlier that he wouldn't implement it because it would break compatibility with sneek.
If I really said that, then it was misunderstood.
I said that I wouldn't implement it because it's a cIOS thing. Even if it breaks compatibility with SNEEK I know that a lot of users want this feature, and now that davebaol warned me about this, I can try it. I have the code ready, but I can't compile it now. I hope it works, I'm not very used to how IOS calls are managed.

I'm quiting but I still have to release the final version so until then, MC is still being developed
wink.gif
 
davebaol said:
By enabling multi partition support in FatFs d2x v3beta4 can load the emulated nand from the desired fat partition (active or not).
For the time being the number of the desired partition is hardcoded inside the fat module.
Now I could implement one of the following solutions:
[*]emulating rev17 behavior (automatic selection of the active partition)[*]extending the ioctlv command for mounting the desired USB/SD partition from Mighty Channel.

Extending the ioctlv command for mounting the desired USB/SD partition would definitely be the way to go here if marc_max also is up for it.
Maybe we're looking at one more beta before the final version just to be sure everything works a it should
wink.gif
 
cIOSX d2x v3beta4

Now d2x v3beta4 extends the FAT module to support multiple partitions.

Changelog:
  • Enabled multiple partition support in FatFs
  • Extended ioctlv commands for mounting the desired USB/SD partition (the default partition is 0 for backward compatibility)

@marc_max
To set the desired partition you can modify the function Nand_Mount like that.
happy.gif


CODEs32 Nand_Mount(nandDevice *dev, u32 partition){
ÂÂÂÂs32 fd, ret;
ÂÂÂÂu32 inlen = 0;
ÂÂÂÂioctlv *vector = NULL;
ÂÂÂÂu32 *buffer = NULL;

ÂÂÂÂ/* Open FAT module */
ÂÂÂÂfd = IOS_Open("fat", 0);
ÂÂÂÂif (fd < 0)
ÂÂÂÂÂÂÂÂreturn fd;

ÂÂÂÂ/* Prepare vector */
ÂÂÂÂif(IOS_GetRevision() == 21) {ÂÂÂÂÂÂÂÂ
ÂÂÂÂÂÂÂÂinlen = 1;

ÂÂÂÂÂÂÂÂ/* Allocate memory */
ÂÂÂÂÂÂÂÂbuffer = (u32 *)memalign(32, 32*3);

ÂÂÂÂÂÂÂÂ/* Set vector pointer */
ÂÂÂÂÂÂÂÂvector = (ioctlv *)buffer;

ÂÂÂÂÂÂÂÂbuffer[0] = (u32)(buffer + 2);
ÂÂÂÂÂÂÂÂbuffer[1] = sizeof(u32);
ÂÂÂÂÂÂÂÂbuffer[2] = partition;
ÂÂÂÂ}

ÂÂÂÂ/* Mount device */
ÂÂÂÂret = IOS_Ioctlv(fd, dev->mountCmd, inlen, 0, vector);
ÂÂÂÂ
ÂÂÂÂ/* Free memory */
ÂÂÂÂif(buffer != NULL)
ÂÂÂÂÂÂÂÂfree(buffer);

ÂÂÂÂ/* Close FAT module */
ÂÂÂÂIOS_Close(fd);

ÂÂÂÂreturn ret;
}
 
@davebaol, i think you need to rename EHCI.app to EHCI-v21-LagFix-v2.app to work with cIOSX rev21d2x, i believe the normal EHCI.app in the W21Modules is used for normal rev 21 builds.
@xflak, please confirm
 
Thanks Etheboss, it was the original rev21 EHCI module.
Now you can download the correct package.
 
davebaol:
Now we just have to test it out in a new Mighty Channel Alpha/Beta before the final version
wink.gif

Must say.. super greit work so far with the cIOS
 
Yeah I agree.
Maybe marc_max can release a new beta6 just for testing purpose.
For the time being it would be great if we could have the new meta.xml arguments:
--partition=[0-3]
--path=/myNAND

marc_max, can you add those arguments? Please
biggrin.gif
 
davebaol said:
Yeah I agree.
Maybe marc_max can release a new beta6 just for testing purpose.
For the time being it would be great if we could have the new meta.xml arguments:
--partition=[0-3]
--path=/myNAND

marc_max, can you add those arguments? Please
biggrin.gif

just my thought
wink.gif

And if none of them exist it should go by the defaults (the active partition)
And the default for those arguments should be "auto" (ios default)
 
No, at the moment v3beta4 doesn't look for the active partition and likely it will never do it.
Also the default values should preserve backward compatibility.
So the best default for the partition is 0 just like it is for the official rev21.
The best default for the nand path is the empty string, i.e. the root.
 
davebaol said:
No, at the moment v3beta4 doesn't look for the active partition and likely it will never do it.
Also the default values should preserve backward compatibility.
So the best default for the partition is 0 just like it is for the official rev21.
The best default for the nand path is the empty string, i.e. the root.
Thanks for the nfo just tried to help
wink.gif
But you coded it so it's best to listen to you
wink.gif
 
davebaol said:
Yeah I agree.
Maybe marc_max can release a new beta6 just for testing purpose.
For the time being it would be great if we could have the new meta.xml arguments:
--partition=[0-3]
--path=/myNAND

marc_max, can you add those arguments? Please
biggrin.gif
I can I can, but I'm very busy these days.
The code you posted is almost the same I had, but haven't tried it yet.
 

Site & Scene News

Popular threads in this forum