Hacking cIOSX rev21d2x: Yet Another Hot Fix!!!!

Did d2x work for you?

  • Yes, I had an issue with the official cios and d2x fixed it

    Votes: 93 48.2%
  • Yes, but everything was already working for me with the official cios

    Votes: 82 42.5%
  • No, and I posted what goes wrong

    Votes: 9 4.7%
  • No, and I won't report what goes wrong because I am a troll

    Votes: 9 4.7%

  • Total voters
    193

davebaol

Well-Known Member
OP
Member
Joined
Sep 3, 2010
Messages
912
Trophies
0
XP
192
Country
Italy
WiiPower said:
I don't understand how it works, maybe i got a brick before by head or something. If the 1st read fails, you try a 2nd/3rd read that is even more supposed to fail? And it works with both SL & DL 001 games?
From http://en.wikipedia.org/wiki/DVD%2BR_DL
QUOTEThere are two modes for dual-layer orientation, parallel track path (PTP) and opposite track path (OTP). In PTP mode, used for DVD-ROM, both layers start recording at the inside diameter (ID) with the lead-in and end at the outside diameter (OD) with the lead-out. Sectors are sequenced from the beginning of the first layer to the end of the first layer, then the beginning of the second layer to the end of the second layer. In OTP mode, used for DVD-Video, the disk is recorded in the same physical way, but the sectors are sequenced from the beginning of the first layer to the end of the first layer, then the end of the second layer to the beginning of the second layer. In both modes, the layers share one lead-in and one lead-out.[citation needed]

A common mistake that people make is to think that the disc spins first in one direction, and then another, either for PTP or OTP recording, when in fact DVD-Writers always spin a disc in the clockwise direction. A simpler way to understand what's written above is to think of the little hole in the centre of the DVD as the "inside" and the rim of the DVD as the "outside". Since dual-layer DVDs have two data layers, placed one on top of the other – Layer 0 (L0) and Layer 1 (L1), there are two ways in which these two layers may be written to - L0, inside to outside and then L1 inside to outside again (PTP), or L0 inside to outside and then L1 outside to inside (OTP). OTP is usually used for DVD-Video, to prevent the inherent delay that PTP involves: in PTP, the laser head moves from the outside edge of the DVD to the inside to start reading L1 when it reaches the end of L0. This results in the video skipping or freezing up for some time as the laser head repositions itself and the system waits to start receiving data again.
Also, some dvd burning applications allow you to choose between PTP and OTP.
See this image taken from http://www.kenstone.net/fcp_homepage/dual_...media_gary.html
02_dual_layer_media_gary.jpg

I really don't know if Wii discs are written in OTP or PTP, maybe both methods are supported.
However I believe this can involve different sector numeration.
 

XICO2KX

Well-Known Member
Member
Joined
Jul 1, 2007
Messages
162
Trophies
1
XP
927
Country
Portugal
davebaol said:
@XICO2KX
Sorry, not now.
I think there are many other features with higher priority.
Ok, no problem!
wink.gif

I hope you have the time after finishing the more important features!
happy.gif
 

XICO2KX

Well-Known Member
Member
Joined
Jul 1, 2007
Messages
162
Trophies
1
XP
927
Country
Portugal
digdug3 said:
Yeah, XICO2KX, thanks for finding our old posts again in the CFG thread! I already asked the same question a few posts ago, but have to agree there are other more important things right now...

Besides that, I don't know how many other people have this problem, or if its related to only a few USB drives. I use a WD ESSENTIALS 1Tb (old version).
Mine is a LG XD5 - 320GB!
tongue.gif

In Windows I can un-mount and un-plug it perfectly without any weird/disturbing corruption sounds!
rolleyes.gif
 

davebaol

Well-Known Member
OP
Member
Joined
Sep 3, 2010
Messages
912
Trophies
0
XP
192
Country
Italy
@WiiPower
wacko.gif
I was going crazy assuming I did a bad patch for the original DI module in ios 53 and 55.
Finally I've understood that under a cios with those bases NeoGamma doesn't set method 2 for ios reload block.
Is there any special reason?

EDIT:
Note that the misleading writing "Blocking IOS Reload" appears in NeoGamma while loading the game.

EDIT 2:
Sorry, it seems NeoGamma is innocent.
I think the ESP module doesn't patch the original ES module for those bases. Damned Waninkoko!
 

WiiPower

Well-Known Member
Member
Joined
Oct 17, 2008
Messages
8,165
Trophies
0
XP
345
Country
Gambia, The
ES_Identify/ES_DiVerify can't be used with base IOS56. That makes it impossible to load decrypted discs with that base IOS, not that this is a big proble. But if you want true backwards compatibility of the cIOS...
 

davebaol

Well-Known Member
OP
Member
Joined
Sep 3, 2010
Messages
912
Trophies
0
XP
192
Country
Italy
WiiPower said:
ES_Identify/ES_DiVerify can't be used with base IOS56. That makes it impossible to load decrypted discs with that base IOS, not that this is a big proble. But if you want true backwards compatibility of the cIOS...
???
I'm talking about base 53 and 55.
I've no issue with base 56.
 

WiiPower

Well-Known Member
Member
Joined
Oct 17, 2008
Messages
8,165
Trophies
0
XP
345
Country
Gambia, The
davebaol said:
WiiPower said:
ES_Identify/ES_DiVerify can't be used with base IOS56. That makes it impossible to load decrypted discs with that base IOS, not that this is a big proble. But if you want true backwards compatibility of the cIOS...
???
I'm talking about base 53 and 55.
I've no issue with base 56.

Then run a decrypted disc with base IOS56. Running decrypted discs requires to run ES_Identify to identify as the disc title, and ES_Identify can't be used with base IOS56. It's not an important issue, but it's there, i did see it again just a few days back.
 

davebaol

Well-Known Member
OP
Member
Joined
Sep 3, 2010
Messages
912
Trophies
0
XP
192
Country
Italy
Oh ok, you're talking about a brand new issue.
I thought that you were answering me.
You know, sometimes I'm a bit self-centered.
biggrin.gif


PS: I've no decrypted disc and I don't even know how to make one.
 

WiiPower

Well-Known Member
Member
Joined
Oct 17, 2008
Messages
8,165
Trophies
0
XP
345
Country
Gambia, The
davebaol said:
Oh ok, you're talking about a brand new issue.
I thought that you were answering me.
You know, sometimes I'm a bit self-centered.
biggrin.gif


PS: I've no decrypted disc and I don't even know how to make one.

It's not important. I think it's called backup-creator[.exe].

Hmm, you need to add some new ES module to the patcher.c file? Do i understand that correctly? If yes, how about putting a
default:
printf("Error unknown XX module, version = %u", version);
break;

in all those patcher.c files? And then build all those cIOS once, and look if you get debug messages, maybe the es modules for IOS53 and IOS55 aren't the only ones with missing patches. Oh and i would move the stuff that's ways the same outside the switch(even if the compiler probably does it itself)
 

davebaol

Well-Known Member
OP
Member
Joined
Sep 3, 2010
Messages
912
Trophies
0
XP
192
Country
Italy
WiiPower said:
It's not important. I think it's called backup-creator[.exe].
Thanks for the info.
However it's a minor issue. I'll try to fix it in the future, maybe.
smile.gif

WiiPower said:
Hmm, you need to add some new ES module to the patcher.c file? Do i understand that correctly?
Correct! And I've already patched both bases (they use the same ES module).
WiiPower said:
If yes, how about putting a
default:
printf("Error unknown XX module, version = %u", version);
break;

in all those patcher.c files?
Already done.... we have had the same idea.
However standard printf is too big for most modules (exe section exceeded).
Also the printf from the original module is not available here since the module has not been patched.
So I used the write function (see syscalls.s) without printing the version (I'm too lazy to write a u32_to_hex function
biggrin.gif
).
Oh, this will freeze the console (the patches are actually applied through mload that dislikes the write) but the error appears in usbgecko buffer.
And I think the crash is acceptable since this is actually a fatal error.

QUOTE(WiiPower @ May 27 2011, 03:15 PM) And then build all those cIOS once, and look if you get debug messages, maybe the es modules for IOS53 and IOS55 aren't the only ones with missing patches.
Again, too lazy to do it now.
nyanya.gif

QUOTE(WiiPower @ May 27 2011, 03:15 PM)
Oh and i would move the stuff that's ways the same outside the switch(even if the compiler probably does it itself)
Yeah, usually I would agree.
However it's quite boring transcribe in C code all the addresses needed to patch the assembly code of each module.
Much more convenient see at a glance all the stuff you have to replace.
wink.gif
 

davebaol

Well-Known Member
OP
Member
Joined
Sep 3, 2010
Messages
912
Trophies
0
XP
192
Country
Italy
@WiiPower
Ok, tested all the bases supported by ModMii (I'm not so lazy as I thought
biggrin.gif
).
Everything seems to work.
Just one thing, I can't mount wbfs from usb with base 58. Nothing happens.
Is it a known issue of NeoGamma or should I hunt the nth bug in the cios?
 

WiiPower

Well-Known Member
Member
Joined
Oct 17, 2008
Messages
8,165
Trophies
0
XP
345
Country
Gambia, The
davebaol said:
@WiiPower
Ok, tested all the bases supported by ModMii (I'm not so lazy as I thought
biggrin.gif
).
Everything seems to work.
Just one thing, I can't mount wbfs from usb with base 58. Nothing happens.
Is it a known issue of NeoGamma or should I hunt the nth bug in the cios?

IOS58 has a ehci module unlike all other IOS. I think it changes the HDD compatiblity and adds usb2.0 stuff support for games. But you would need confirmation on both before you could assume it, i'm not even 50% sure.
 

davebaol

Well-Known Member
OP
Member
Joined
Sep 3, 2010
Messages
912
Trophies
0
XP
192
Country
Italy
Yeah, the ehci module used for base 58 is different but provides the same interface of the usual one.
Actually it's just an adapter to the Nintendo usb2 module.
So it should be fully transparent.
In fact CFG and GX worked with 58-based cios since the 1st day it was released.
Also, I tested 3 hard drives and no luck.
 

WiiPower

Well-Known Member
Member
Joined
Oct 17, 2008
Messages
8,165
Trophies
0
XP
345
Country
Gambia, The
davebaol said:
Yeah, the ehci module used for base 58 is different but provides the same interface of the usual one.
Actually it's just an adapter to the Nintendo usb2 module.
So it should be fully transparent.
In fact CFG and GX worked with 58-based cios since the 1st day it was released.
Also, I tested 3 hard drives and no luck.

So CFG works with that cIOS and NeoGamma doesn't with the same HDD?
 

norbyte

Well-Known Member
Newcomer
Joined
May 28, 2011
Messages
55
Trophies
0
XP
118
Country
Gambia, The
First of all: Thanks for d2x, my new choice for playing backups.

Everything seems to work, but I have an issue with "We Sing Robbie Williams". I installed d2x v4 base 56 in slot 249. There are no other cios installed. The game works and recognizes the logitec mics as well as the original usb hub. The hub is connected to USB1. Plugging and unplugging a mic works in game. But unplugging the hub OR a mic from USB1 does not work. I re-plugged in the mic in game but the game does not recognize them. Restarting the game will solve it.

Can anybody confirm that? Is that a bug of d2x or of the game? Or do I need to install d2x again with base 37 into another slot?

Thanks in advance,
norbyte
 

WiiPower

Well-Known Member
Member
Joined
Oct 17, 2008
Messages
8,165
Trophies
0
XP
345
Country
Gambia, The
NeoGamma R9 beta49 is out:
http://gbatemp.net/t219243-neogamma-r9-beta-test
Mostly only the cIOS identification and base IOS58 support.

@Davebaol:
About your HDD problem with the ios reload block. Is your fix executed everytime the cIOS is started, or only if ios reload blocking is enabled? When i start games with base IOS58, the HDD seems to be slower than usual, causing stutter in videos.

@XFlak:
I hope the cIOS identification works as it should, i did only 1 short test.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: https://youtu.be/GVs1tc_vq0g?si=laLZzpaM8uZLmYXO