Line 9: |
Line 9: |
| | | |
| === Home Menu === | | === Home Menu === |
− | The *only* changes here(besides exheader .text size) was that the codebin got updated: .text was previously 0x00204C6C, it's now 0x00204D44. 4 functions were updated. | + | The *only* changes here(besides exheader .text size) was that the codebin got updated: .text was previously 0x00204C6C, it's now 0x00204D44. 4 functions were updated: |
| + | * L_105f38: This is the function handling application auto-booting. Previously auto-booting of the gamecard via the [[SMDH|icon]] flag only happened when L_2317ec(L_2317ec address is for the current version) returned 0. Now, that function must return 0, or the gamecard [[Title_list|uniqueID]] from [[AMNet:GetTitleIDList|AM:GetTitleIDList]] must match 0xF802A. |
| + | * L_1fc374: The following was added at the end right before "return 0;": if(L_215ba0()==0xc8613914)return 9; |
| + | * L_23ea9c: The code after the L_1fc374 call was updated: when retval==9, a new code-block is executed: ret=L_1fc374(...); if(ret!=2){return 1;} <jump to code which is also executed for the L_1fc374 call before this with retval==2> |
| + | * L_23f068: |
| + | ** The value passed to L_1fc374() sp8 was changed from 500 to 400(r9 is set to 400, before entering the loop here). |
| + | ** When L_1fc374 returns 9, the following is now done: r9-= 100; if(s32 r9<=0)return 1; <"continue;" the loop> |
| + | ** Code was added @ 23f2c4: if(someval==0){<r0=ptr on the stack> <execute 3 nops> <"break;" from the loop>} |
| + | ** The previously hard-coded "if(u32 val <= u32 otherval+500)someval = 0;"(someval is the same one as above) was changed to "if(u32 otherval+<above r9 variable> >= val)someval = 0;" |
| + | ** The loop ends(besides "break;") once someval==0. |
| | | |
| ==See Also== | | ==See Also== |