Changes

1,007 bytes added ,  00:37, 5 December 2019
β†’β€ŽVersion history: Reorganize into 5 groups, not chronologically
Line 76: Line 76:  
== Version history ==
 
== Version history ==
   βˆ’
There are '''10''' known versions of the DI driver found in various [[IOS History|IOS versions]], based on the IOS versions still present on NUS.  It is quite likely that there are additional changes not noted here.
+
There are '''10''' known versions of the DI driver found in various [[IOS History|IOS versions]], based on the IOS versions still present on NUS.  These are generalized into 5 version families, based on observable behavior (this is not strictly chronological, presumably as Nintendo was working on multiple versions with the same features at the same time).  It is quite likely that there are additional changes not noted here.
 +
 
 +
The DI driver includes a full set of [[:/dev/es|ES]] IoctlV wrappers, although it only uses ES_DiVerify and ES_DiVerifyWithTicketView.  It also includes instructions for all [[syscalls]], even though most are not used.  Both of those change across versions, even though those differences do not actually show up in practice.
    
{| class="wikitable"
 
{| class="wikitable"
 
  |+ Overview
 
  |+ Overview
 +
! Group
 
  ! Version
 
  ! Version
 
  ! <abbr title="Out of bounds">OoB</abbr> [[#0x8D DVDLowUnencryptedRead|0x8D]]
 
  ! <abbr title="Out of bounds">OoB</abbr> [[#0x8D DVDLowUnencryptedRead|0x8D]]
Line 91: Line 94:  
  ! [[#0x95 DVDLowGetStatusRegister|0x95]]
 
  ! [[#0x95 DVDLowGetStatusRegister|0x95]]
 
  ! [[#0x96 DVDLowGetControlRegister|0x96]]
 
  ! [[#0x96 DVDLowGetControlRegister|0x96]]
 +
! Syscall
 +
! ES
 
  |-
 
  |-
 +
| [[#Group A|A]]
 
  | [[#Oct  5 2006 17:41:21|Oct  5 2006 17:41:21]]
 
  | [[#Oct  5 2006 17:41:21|Oct  5 2006 17:41:21]]
 
  | {{No}}
 
  | {{No}}
Line 103: Line 109:  
  | {{No}}
 
  | {{No}}
 
  | {{No}}
 
  | {{No}}
 +
| {{Not tested}}
 +
| {{Not tested}}
 
  |-
 
  |-
 +
| [[#Group B|B]]
 
  | [[#Jun  8 2007 18:17:09|Jun  8 2007 18:17:09]]
 
  | [[#Jun  8 2007 18:17:09|Jun  8 2007 18:17:09]]
 
  | {{Yes}}
 
  | {{Yes}}
Line 115: Line 124:  
  | {{Yes}}
 
  | {{Yes}}
 
  | {{No}}
 
  | {{No}}
 +
| {{Not tested}}
 +
| {{Not tested}}
 
  |-
 
  |-
βˆ’
  | [[#Jul 11 2008 14:34:27|Jul 11 2008 14:34:27]]
+
|rowspan="3" | [[#Group C|C]]
 +
  | [[#Jul 14 2008 19:25:32|Jul 14 2008 19:25:32]]
 +
|rowspan="3" {{Yes}}
 
  |rowspan="3" {{Yes}}
 
  |rowspan="3" {{Yes}}
 
  |rowspan="3" {{No}}
 
  |rowspan="3" {{No}}
βˆ’
|rowspan="3" {{Yes}}
   
  |rowspan="3" {{Partial}}
 
  |rowspan="3" {{Partial}}
 
  |rowspan="3" {{Partial}}
 
  |rowspan="3" {{Partial}}
Line 126: Line 138:  
  |rowspan="3" {{Yes}}
 
  |rowspan="3" {{Yes}}
 
  |rowspan="3" {{Yes}}
 
  |rowspan="3" {{Yes}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="3" {{No}}
 +
|rowspan="3" {{Not tested}}
 +
|rowspan="3" {{Not tested}}
 
  |-
 
  |-
βˆ’
  | [[#Jul 24 2008 00:30:13|Jul 24 2008 00:30:13]] <!-- Matches Jul 11 -->
+
  | [[#Jul 14 2008 19:32:38|Jul 14 2008 19:32:38]] <!-- Matches Jul 14 -->
 
  |-
 
  |-
βˆ’
  | [[#Dec 24 2008 13:51:06|Dec 24 2008 13:51:06]] <!-- Matches Jul 11 -->
+
  | [[#Jul 24 2008 20:08:45|Jul 24 2008 20:08:45]] <!-- Matches Jul 14 -->
 
  |-
 
  |-
βˆ’
  | [[#Jul 14 2008 19:25:32|Jul 14 2008 19:25:32]]
+
|rowspan="3" | [[#Group D|D]]
 +
  | [[#Jul 11 2008 14:34:27|Jul 11 2008 14:34:27]]
 
  |rowspan="3" {{Yes}}
 
  |rowspan="3" {{Yes}}
 +
|rowspan="3" {{No}}
 
  |rowspan="3" {{Yes}}
 
  |rowspan="3" {{Yes}}
βˆ’
|rowspan="3" {{No}}
   
  |rowspan="3" {{Partial}}
 
  |rowspan="3" {{Partial}}
 
  |rowspan="3" {{Partial}}
 
  |rowspan="3" {{Partial}}
Line 142: Line 157:  
  |rowspan="3" {{Yes}}
 
  |rowspan="3" {{Yes}}
 
  |rowspan="3" {{Yes}}
 
  |rowspan="3" {{Yes}}
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="3" {{Yes}}
 +
|rowspan="3" {{Not tested}}
 +
|rowspan="3" {{Not tested}}
 
  |-
 
  |-
βˆ’
  | [[#Jul 14 2008 19:32:38|Jul 14 2008 19:32:38]] <!-- Matches Jul 14 -->
+
  | [[#Jul 24 2008 00:30:13|Jul 24 2008 00:30:13]] <!-- Matches Jul 11 -->
 
  |-
 
  |-
βˆ’
  | [[#Jul 24 2008 20:08:45|Jul 24 2008 20:08:45]] <!-- Matches Jul 14 -->
+
  | [[#Dec 24 2008 13:51:06|Dec 24 2008 13:51:06]] <!-- Matches Jul 11 -->
 
  |-
 
  |-
 +
|rowspan="2" | [[#Group E|E]]
 
  | [[#Nov 24 2008 15:39:09|Nov 24 2008 15:39:09]]
 
  | [[#Nov 24 2008 15:39:09|Nov 24 2008 15:39:09]]
βˆ’
  | {{Yes}}
+
  |rowspan="2" {{Yes}}
βˆ’
  | {{No}}
+
  |rowspan="2" {{No}}
βˆ’
  | {{Yes}}
+
  |rowspan="2" {{Yes}}
βˆ’
  | {{Partial}}
+
  |rowspan="2" {{Partial}}
βˆ’
  | {{Partial}}
+
  |rowspan="2" {{Partial}}
βˆ’
  | {{Partial}}
+
  |rowspan="2" {{Partial}}
βˆ’
  | {{Yes}}
+
  |rowspan="2" {{Yes}}
βˆ’
  | {{Yes}}
+
  |rowspan="2" {{Yes}}
βˆ’
  | {{Yes}}
+
  |rowspan="2" {{Yes}}
βˆ’
  | {{Yes}}
+
  |rowspan="2" {{Yes}}
 +
| 0x79
 +
| 0x42
 
  |-
 
  |-
 
  | [[#Jun  3 2009 07:49:09|Jun  3 2009 07:49:09]]
 
  | [[#Jun  3 2009 07:49:09|Jun  3 2009 07:49:09]]
βˆ’
  | {{Yes}}
+
  | 0x79
βˆ’
  | {{No}}
+
  | 0x45
βˆ’
| {{Yes}}
  βˆ’
| {{Partial}}
  βˆ’
| {{Partial}}
  βˆ’
| {{Partial}}
  βˆ’
| {{Yes}}
  βˆ’
| {{Yes}}
  βˆ’
| {{Yes}}
  βˆ’
| {{Yes}}
   
  |}
 
  |}
   βˆ’
=== Oct  5 2006 17:41:21 ===
+
=== Group A ===
 +
 
 +
==== Oct  5 2006 17:41:21 ====
    
Used in monolithic IOS versions (those prior to IOS28, obviously excluding stubbed IOS versions).  As these versions have only a single ELF file for all modules, there is no single hash for the DI driver.
 
Used in monolithic IOS versions (those prior to IOS28, obviously excluding stubbed IOS versions).  As these versions have only a single ELF file for all modules, there is no single hash for the DI driver.
Line 221: Line 235:  
  |}
 
  |}
   βˆ’
=== Jun  8 2007 18:17:09 ===
+
=== Group B ===
 +
 
 +
==== Jun  8 2007 18:17:09 ====
    
Used by early builds of certain IOS versions.  No current version of IOS uses this build.
 
Used by early builds of certain IOS versions.  No current version of IOS uses this build.
Line 277: Line 293:  
  |}
 
  |}
   βˆ’
=== Jul 11 2008 14:34:27 ===
+
=== Group C ===
   βˆ’
Used by several IOS builds:
+
==== Jul 14 2008 19:25:32 ====
 +
 
 +
Replaces the Jun 8 build for IOS versions other than IOS37:
   βˆ’
* [[IOS37]] starting with v2816
+
* [[IOS31]] starting with v3088
βˆ’
* [[IOS50]] v4889 (v5120 is a stub)
+
* [[IOS33]] starting with v2832
βˆ’
* [[IOS51]] v4633 (v4864 is a stub)
+
* [[IOS34]] starting with v3087
βˆ’
* [[IOS52]] v5661 (v5888 is a stub)
+
* [[IOS35]] starting with v3088
βˆ’
* [[IOS53]] (all versions)
+
* [[IOS36]] starting with v3090
βˆ’
* [[IOS55]] (all versions)
     βˆ’
Adds [[#0x96 DVDLowGetControlRegister|0x96 DVDLowGetControlRegister]].  Removes IOCtlVs [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90 DVDLowGetNoDiscOpenPartitionParams]], [[#0x91 DVDLowNoDiscOpenPartition|0x91 DVDLowNoDiscOpenPartition]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92 DVDLowGetNoDiscBufferSizes]].
+
Does not have [[#0x96 DVDLowGetControlRegister|0x96 DVDLowGetControlRegister]].  Also removes IOCtlVs [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]], [[#0x91 DVDLowNoDiscOpenPartition|0x91]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]].
    
{| class="wikitable"
 
{| class="wikitable"
 
  ! MD5
 
  ! MD5
βˆ’
  | colspan="3"| 382d4a5cafdb1e28ba039d25db7c4c1f
+
  | colspan="3"| 366021c440e6377044f8ca8c94e2e6bc
 
  |-
 
  |-
 
  ! Thing
 
  ! Thing
Line 302: Line 319:  
  | 20200000
 
  | 20200000
 
  | 139B0000
 
  | 139B0000
βˆ’
  | 0x8088
+
  | 0x7D74
 
  |-
 
  |-
 
  | Data (ES vars)
 
  | Data (ES vars)
βˆ’
  | 20209000
+
  | 20208000
βˆ’
  | 139B9000
+
  | 139B8000
 
  | 0x140
 
  | 0x140
 
  |-
 
  |-
 
  | BSS (zero'd)
 
  | BSS (zero'd)
βˆ’
  | 2020A000
+
  | 20209000
βˆ’
  | 139BA000
+
  | 139B9000
 
  | 0x2BDC4
 
  | 0x2BDC4
 
  |-
 
  |-
 
  | Stack
 
  | Stack
βˆ’
  | 2022ddc4
+
  | 2022cdc4
 
  | ?
 
  | ?
 
  | 0x8000
 
  | 0x8000
 
  |-
 
  |-
 
  | Protected heap
 
  | Protected heap
βˆ’
  | 2020a020
+
  | 20209020
 
  | ?
 
  | ?
 
  | 0x4000
 
  | 0x4000
Line 330: Line 347:  
  |}
 
  |}
   βˆ’
=== Jul 14 2008 19:25:32 ===
+
==== Jul 14 2008 19:32:38 ====
   βˆ’
Replaces the Jun 8 build for IOS versions other than IOS37:
+
Only found in [[IOS28]] (which is the first build that split things into modules).  The only difference between the build from 7 minutes earlier is that the open heap is at address 0x13800000 (0x9c << 0x15) instead of address 0x13600000 (0x9b << 0x15).  This is a 1-byte difference at offset 920 in the file or at address 202007fc(There are technically 2 other differences between the versions, for the build date strings.)
βˆ’
 
  βˆ’
* [[IOS31]] starting with v3088
  βˆ’
* [[IOS33]] starting with v2832
  βˆ’
* [[IOS34]] starting with v3087
  βˆ’
* [[IOS35]] starting with v3088
  βˆ’
* [[IOS36]] starting with v3090
  βˆ’
 
  βˆ’
Does not have [[#0x96 DVDLowGetControlRegister|0x96 DVDLowGetControlRegister]].  Also removes IOCtlVs [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]], [[#0x91 DVDLowNoDiscOpenPartition|0x91]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]].
      
{| class="wikitable"
 
{| class="wikitable"
 
  ! MD5
 
  ! MD5
βˆ’
  | colspan="3"| 366021c440e6377044f8ca8c94e2e6bc
+
  | colspan="3"| 49f714dd1a0985fbd4c44ee9fe4f945a
 
  |-
 
  |-
 
  ! Thing
 
  ! Thing
Line 377: Line 386:  
  |-
 
  |-
 
  | Open heap
 
  | Open heap
βˆ’
  | 13600000
+
  | 13800000
 
  | ?
 
  | ?
 
  | 0x18000
 
  | 0x18000
 
  |}
 
  |}
   βˆ’
=== Jul 14 2008 19:32:38 ===
+
==== Jul 24 2008 20:08:45 ====
   βˆ’
Only found in [[IOS28]] (which is the first build that split things into modules)The only difference between the build from 7 minutes earlier is that the open heap is at address 0x13800000 (0x9c << 0x15) instead of address 0x13600000 (0x9b << 0x15).  This is a 1-byte difference at offset 920 in the file or at address 202007fc.  (There are technically 2 other differences between the versions, for the build date strings.)
+
Only found in [[IOS38]].  Has [[#0x95 DVDLowGetStatusRegister|0x95]] but not [[#0x96 DVDLowGetControlRegister|0x96]]; also does not have [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]], [[#0x91 DVDLowNoDiscOpenPartition|0x91]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]].
 +
 
 +
Identical to the Jul 14 2008 19:25:32 build apart from the priority of the main thread being set to 0x1b instead of 0x54 (all versions other than this and Jul 24 2008 00:30:13 use 0x54).  This results in byte differences at address 20207c2c (file offset 7d54), as well as in some ELF header area (file offset 114), and the timestamps.
    
{| class="wikitable"
 
{| class="wikitable"
 
  ! MD5
 
  ! MD5
βˆ’
  | colspan="3"| 49f714dd1a0985fbd4c44ee9fe4f945a
+
  | colspan="3"| ef1a8c1270f82e0993f504f1e17a5152
 
  |-
 
  |-
 
  ! Thing
 
  ! Thing
Line 421: Line 432:  
  |-
 
  |-
 
  | Open heap
 
  | Open heap
βˆ’
  | 13800000
+
  | 13600000
 
  | ?
 
  | ?
 
  | 0x18000
 
  | 0x18000
 
  |}
 
  |}
   βˆ’
=== Jul 24 2008 00:30:13 ===
+
=== Group D ===
 +
 
 +
==== Jul 11 2008 14:34:27 ====
   βˆ’
Only found in [[IOS48]].  Has both [[#0x95 DVDLowGetStatusRegister|0x95]] and [[#0x96 DVDLowGetControlRegister|0x96]]; does not have [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]], [[#0x91 DVDLowNoDiscOpenPartition|0x91]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]].
+
Used by several IOS builds:
 +
 
 +
* [[IOS37]] starting with v2816
 +
* [[IOS50]] v4889 (v5120 is a stub)
 +
* [[IOS51]] v4633 (v4864 is a stub)
 +
* [[IOS52]] v5661 (v5888 is a stub)
 +
* [[IOS53]] (all versions)
 +
* [[IOS55]] (all versions)
   βˆ’
Identical to the Jul 11 2008 14:34:27 build apart from the priority of the main thread being set to 0x1b instead of 0x54 (all versions other than this and Jul 24 2008 20:08:45 use 0x54)This results in byte differences at address 20207f40 (file offset 8068), as well as in some ELF header area (file offset 114), and the timestamps.
+
Adds [[#0x96 DVDLowGetControlRegister|0x96 DVDLowGetControlRegister]]Removes IOCtlVs [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90 DVDLowGetNoDiscOpenPartitionParams]], [[#0x91 DVDLowNoDiscOpenPartition|0x91 DVDLowNoDiscOpenPartition]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92 DVDLowGetNoDiscBufferSizes]].
    
{| class="wikitable"
 
{| class="wikitable"
 
  ! MD5
 
  ! MD5
βˆ’
  | colspan="3"| 108011e89e557d4e8adf1a02f87cb8ea
+
  | colspan="3"| 382d4a5cafdb1e28ba039d25db7c4c1f
 
  |-
 
  |-
 
  ! Thing
 
  ! Thing
Line 472: Line 492:  
  |}
 
  |}
   βˆ’
=== Jul 24 2008 20:08:45 ===
+
==== Jul 24 2008 00:30:13 ====
   βˆ’
Only found in [[IOS38]].  Has [[#0x95 DVDLowGetStatusRegister|0x95]] but not [[#0x96 DVDLowGetControlRegister|0x96]]; also does not have [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]], [[#0x91 DVDLowNoDiscOpenPartition|0x91]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]].
+
Only found in [[IOS48]].  Has both [[#0x95 DVDLowGetStatusRegister|0x95]] and [[#0x96 DVDLowGetControlRegister|0x96]]; does not have [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]], [[#0x91 DVDLowNoDiscOpenPartition|0x91]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]].
   βˆ’
Identical to the Jul 14 2008 19:25:32 build apart from the priority of the main thread being set to 0x1b instead of 0x54 (all versions other than this and Jul 24 2008 00:30:13 use 0x54).  This results in byte differences at address 20207c2c (file offset 7d54), as well as in some ELF header area (file offset 114), and the timestamps.
+
Identical to the Jul 11 2008 14:34:27 build apart from the priority of the main thread being set to 0x1b instead of 0x54 (all versions other than this and Jul 24 2008 20:08:45 use 0x54).  This results in byte differences at address 20207f40 (file offset 8068), as well as in some ELF header area (file offset 114), and the timestamps.
    
{| class="wikitable"
 
{| class="wikitable"
 
  ! MD5
 
  ! MD5
βˆ’
  | colspan="3"| ef1a8c1270f82e0993f504f1e17a5152
+
  | colspan="3"| 108011e89e557d4e8adf1a02f87cb8ea
 
  |-
 
  |-
 
  ! Thing
 
  ! Thing
Line 490: Line 510:  
  | 20200000
 
  | 20200000
 
  | 139B0000
 
  | 139B0000
βˆ’
  | 0x7D74
+
  | 0x8088
 
  |-
 
  |-
 
  | Data (ES vars)
 
  | Data (ES vars)
βˆ’
  | 20208000
+
  | 20209000
βˆ’
  | 139B8000
+
  | 139B9000
 
  | 0x140
 
  | 0x140
 
  |-
 
  |-
 
  | BSS (zero'd)
 
  | BSS (zero'd)
βˆ’
  | 20209000
+
  | 2020A000
βˆ’
  | 139B9000
+
  | 139BA000
 
  | 0x2BDC4
 
  | 0x2BDC4
 
  |-
 
  |-
 
  | Stack
 
  | Stack
βˆ’
  | 2022cdc4
+
  | 2022ddc4
 
  | ?
 
  | ?
 
  | 0x8000
 
  | 0x8000
 
  |-
 
  |-
 
  | Protected heap
 
  | Protected heap
βˆ’
  | 20209020
+
  | 2020a020
 
  | ?
 
  | ?
 
  | 0x4000
 
  | 0x4000
Line 518: Line 538:  
  |}
 
  |}
   βˆ’
=== Nov 24 2008 15:39:09 ===
+
==== Dec 24 2008 13:51:06 ====
   βˆ’
Used in the first builds of a few IOS versions:
+
Used in all versions of [[IOS41]], [[IOS43]], [[IOS45]], and [[IOS46]].  Has both [[#0x95 DVDLowGetStatusRegister|0x95]] and [[#0x96 DVDLowGetControlRegister|0x96]]; does not have [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]], [[#0x91 DVDLowNoDiscOpenPartition|0x91]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]].
   βˆ’
* [[IOS56]] v4890 only
+
Rebuild with no changes (other than the timestamps) of Jul 11 2008 14:34:27.
βˆ’
* [[IOS57]] v5404 only
  βˆ’
* [[IOS60]] v6174 only (other version is a stub)
  βˆ’
* [[IOS61]] v4890 only
  βˆ’
 
  βˆ’
Has both [[#0x95 DVDLowGetStatusRegister|0x95]] and [[#0x96 DVDLowGetControlRegister|0x96]]; does not have [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]], [[#0x91 DVDLowNoDiscOpenPartition|0x91]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]].
      
{| class="wikitable"
 
{| class="wikitable"
 
  ! MD5
 
  ! MD5
βˆ’
  | colspan="3"| 48e1be8f767feb59cbc51aa4329d735a
+
  | colspan="3"| 72122c88cdcd4279cc09e197d3079624
 
  |-
 
  |-
 
  ! Thing
 
  ! Thing
Line 541: Line 556:  
  | 20200000
 
  | 20200000
 
  | 139B0000
 
  | 139B0000
βˆ’
  | 0x7F00
+
  | 0x8088
 
  |-
 
  |-
 
  | Data (ES vars)
 
  | Data (ES vars)
βˆ’
  | 20208000
+
  | 20209000
βˆ’
  | 139B8000
+
  | 139B9000
 
  | 0x140
 
  | 0x140
 
  |-
 
  |-
 
  | BSS (zero'd)
 
  | BSS (zero'd)
βˆ’
  | 20209000
+
  | 2020A000
βˆ’
  | 139B9000
+
  | 139BA000
 
  | 0x2BDC4
 
  | 0x2BDC4
 
  |-
 
  |-
 
  | Stack
 
  | Stack
βˆ’
  | 2022cdc4
+
  | 2022ddc4
 
  | ?
 
  | ?
 
  | 0x8000
 
  | 0x8000
 
  |-
 
  |-
 
  | Protected heap
 
  | Protected heap
βˆ’
  | 20209020
+
  | 2020a020
 
  | ?
 
  | ?
 
  | 0x4000
 
  | 0x4000
Line 569: Line 584:  
  |}
 
  |}
   βˆ’
=== Dec 24 2008 13:51:06 ===
+
=== Group E ===
   βˆ’
Used in all versions of [[IOS41]], [[IOS43]], [[IOS45]], and [[IOS46]].  Has both [[#0x95 DVDLowGetStatusRegister|0x95]] and [[#0x96 DVDLowGetControlRegister|0x96]]; does not have [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]], [[#0x91 DVDLowNoDiscOpenPartition|0x91]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]].
+
==== Nov 24 2008 15:39:09 ====
 +
 
 +
Used in the first builds of a few IOS versions:
 +
 
 +
* [[IOS56]] v4890 only
 +
* [[IOS57]] v5404 only
 +
* [[IOS60]] v6174 only (other version is a stub)
 +
* [[IOS61]] v4890 only
   βˆ’
Rebuild with no changes (other than the timestamps) of Jul 11 2008 14:34:27.
+
Has both [[#0x95 DVDLowGetStatusRegister|0x95]] and [[#0x96 DVDLowGetControlRegister|0x96]]; does not have [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]], [[#0x91 DVDLowNoDiscOpenPartition|0x91]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]].
    
{| class="wikitable"
 
{| class="wikitable"
 
  ! MD5
 
  ! MD5
βˆ’
  | colspan="3"| 72122c88cdcd4279cc09e197d3079624
+
  | colspan="3"| 48e1be8f767feb59cbc51aa4329d735a
 
  |-
 
  |-
 
  ! Thing
 
  ! Thing
Line 587: Line 609:  
  | 20200000
 
  | 20200000
 
  | 139B0000
 
  | 139B0000
βˆ’
  | 0x8088
+
  | 0x7F00
 
  |-
 
  |-
 
  | Data (ES vars)
 
  | Data (ES vars)
βˆ’
  | 20209000
+
  | 20208000
βˆ’
  | 139B9000
+
  | 139B8000
 
  | 0x140
 
  | 0x140
 
  |-
 
  |-
 
  | BSS (zero'd)
 
  | BSS (zero'd)
βˆ’
  | 2020A000
+
  | 20209000
βˆ’
  | 139BA000
+
  | 139B9000
 
  | 0x2BDC4
 
  | 0x2BDC4
 
  |-
 
  |-
 
  | Stack
 
  | Stack
βˆ’
  | 2022ddc4
+
  | 2022cdc4
 
  | ?
 
  | ?
 
  | 0x8000
 
  | 0x8000
 
  |-
 
  |-
 
  | Protected heap
 
  | Protected heap
βˆ’
  | 2020a020
+
  | 20209020
 
  | ?
 
  | ?
 
  | 0x4000
 
  | 0x4000
Line 615: Line 637:  
  |}
 
  |}
   βˆ’
=== Jun  3 2009 07:49:09 ===
+
==== Jun  3 2009 07:49:09 ====
    
Used in several IOS versions, and also updated versions of builds that used the Nov 24 2008 version.
 
Used in several IOS versions, and also updated versions of builds that used the Nov 24 2008 version.
303

edits