Difference between revisions of "9.8.0-25"

 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
The Old3DS+New3DS 9.8.0-25 system update was released on June 1, 2015 for all available regions.
 
The Old3DS+New3DS 9.8.0-25 system update was released on June 1, 2015 for all available regions.
 +
 +
No security flaws were fixed.
  
 
== Change-log ==
 
== Change-log ==
Line 8: Line 10:
 
All of the following titles were updated for Old3DS+New3DS: [[Home Menu]], [[CVer]], [[NS]], and mint (eShop applet).
 
All of the following titles were updated for Old3DS+New3DS: [[Home Menu]], [[CVer]], [[NS]], and mint (eShop applet).
  
=== Home Menu ===
+
Home Menu was only updated for USA, EUR, and JPN.
The *only* changes here(besides exheader .text size) was that the codebin got updated: .text was previously 0x00204C6C, it's now 0x00204D44.
+
 
 +
=== [[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:
 +
* 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.
 +
 
 +
=== [[NS]] ===
 +
The only actual change in functionality was that the function initializing the NS internal titleID list was updated.
  
 
==See Also==
 
==See Also==

Latest revision as of 05:01, 3 June 2015

The Old3DS+New3DS 9.8.0-25 system update was released on June 1, 2015 for all available regions.

No security flaws were fixed.

Change-logEdit

Official change-log:

  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.

System TitlesEdit

All of the following titles were updated for Old3DS+New3DS: Home Menu, CVer, NS, and mint (eShop applet).

Home Menu was only updated for USA, EUR, and JPN.

Home MenuEdit

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 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 uniqueID from 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.

NSEdit

The only actual change in functionality was that the function initializing the NS internal titleID list was updated.

See AlsoEdit

System update reports: