Changes

1,818 bytes added ,  06:21, 4 January 2020
β†’β€ŽVersion history: Add vWii to the table (I will add sections for each version later)
Line 76: Line 76:  
== Version history ==
 
== Version history ==
   βˆ’
There are '''12''' 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.
+
There are '''12''' known normal versions (along with '''9''' [[#vWii note|matching vWii 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.
 
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.
Line 99: Line 99:  
  ! <abbr title="Present in the latest version of at least one IOS version">Live</abbr>
 
  ! <abbr title="Present in the latest version of at least one IOS version">Live</abbr>
 
  |-
 
  |-
βˆ’
  |rowspan="3"| [[#Group A|A]]
+
  |rowspan="4"| [[#Group A|A]]
 
  |data-sort-value="1155209090"| [[#Aug 10 2006 11:24:50|Aug 10 2006 11:24:50]]
 
  |data-sort-value="1155209090"| [[#Aug 10 2006 11:24:50|Aug 10 2006 11:24:50]]
 
  |rowspan="2" {{Yes2}} Yes
 
  |rowspan="2" {{Yes2}} Yes
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="4" {{No}}
 
  | {{No}}
 
  | {{No}}
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="4" {{No}}
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="4" {{No}}
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="4" {{No}}
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="4" {{No}}
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="4" {{No}}
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="4" {{No}}
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="4" {{No}}
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="4" {{No}}
 
  | 0x73
 
  | 0x73
 
  | 0x2f
 
  | 0x2f
Line 117: Line 117:  
  |-
 
  |-
 
  |data-sort-value="1155490424"| [[#Aug 13 2006 17:33:44|Aug 13 2006 17:33:44]]
 
  |data-sort-value="1155490424"| [[#Aug 13 2006 17:33:44|Aug 13 2006 17:33:44]]
βˆ’
  |rowspan="2" {{No2}} No
+
  |rowspan="3" {{No2}} No
βˆ’
  |rowspan="2"| 0x74
+
  |rowspan="3"| 0x74
βˆ’
  |rowspan="2"| 0x31
+
  |rowspan="3"| 0x31
 
  | {{No}}
 
  | {{No}}
 
  |-
 
  |-
 
  |data-sort-value="1160070081"| [[#Oct  5 2006 17:41:21|Oct  5 2006 17:41:21]]
 
  |data-sort-value="1160070081"| [[#Oct  5 2006 17:41:21|Oct  5 2006 17:41:21]]
 +
|rowspan="2" {{Yes}}
 
  | {{Yes}}
 
  | {{Yes}}
βˆ’
  | {{Yes}}
+
  |-
 +
|data-sort-value="1333453975"| [[#Apr  3 2012 11:52:55|Apr  3 2012 11:52:55]]
 +
|data-sort-value="z" {{Partial|vWii}}
 
  |-
 
  |-
 
  | [[#Group B|B]]
 
  | [[#Group B|B]]
Line 143: Line 146:  
  | {{No}}
 
  | {{No}}
 
  |-
 
  |-
βˆ’
  |rowspan="3" | [[#Group C|C]]
+
  |rowspan="6" | [[#Group C|C]]
 
  |data-sort-value="1216063532"| [[#Jul 14 2008 19:25:32|Jul 14 2008 19:25:32]]
 
  |data-sort-value="1216063532"| [[#Jul 14 2008 19:25:32|Jul 14 2008 19:25:32]]
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="6" {{Yes}}
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="6" {{No}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="6" {{Yes}}
βˆ’
  |rowspan="3" {{Partial}}
+
  |rowspan="6" {{Partial}}
βˆ’
  |rowspan="3" {{Partial}}
+
  |rowspan="6" {{Partial}}
βˆ’
  |rowspan="3" {{Partial}}
+
  |rowspan="6" {{Partial}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="6" {{Yes}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="6" {{Yes}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="6" {{Yes}}
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="6" {{No}}
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="6" {{No}}
βˆ’
  |rowspan="3" | 0x76
+
  |rowspan="6" | 0x76
βˆ’
  |rowspan="3" | 0x3d
+
  |rowspan="6" | 0x3d
 
  | {{Yes}}
 
  | {{Yes}}
 
  |-
 
  |-
βˆ’
  |data-sort-value="1216063958"| [[#Jul 14 2008 19:32:38|Jul 14 2008 19:32:38]] <!-- Matches Jul 14 -->
+
  |data-sort-value="1216063958"| [[#Jul 14 2008 19:32:38|Jul 14 2008 19:32:38]]
 
  | {{Yes}}
 
  | {{Yes}}
 
  |-
 
  |-
βˆ’
  |data-sort-value="1216930125"| [[#Jul 24 2008 20:08:45|Jul 24 2008 20:08:45]] <!-- Matches Jul 14 -->
+
  |data-sort-value="1216930125"| [[#Jul 24 2008 20:08:45|Jul 24 2008 20:08:45]]
 
  | {{Yes}}
 
  | {{Yes}}
 
  |-
 
  |-
βˆ’
  |rowspan="3" | [[#Group D|D]]
+
|data-sort-value="1333454416.1"| [[#Apr  3 2012 12:00:16 1|Apr  3 2012 12:00:16<sub>1</sub>]]
 +
|data-sort-value="z" {{Partial|vWii}}
 +
|-
 +
|data-sort-value="1333454416.2"| [[#Apr  3 2012 12:00:16 2|Apr  3 2012 12:00:16<sub>2</sub>]]
 +
|data-sort-value="z" {{Partial|vWii}}
 +
|-
 +
|data-sort-value="1333458700"| [[#Apr  3 2012 13:11:40|Apr  3 2012 13:11:40]]
 +
|data-sort-value="z" {{Partial|vWii}}
 +
|-
 +
  |rowspan="5" | [[#Group D|D]]
 
  |data-sort-value="1215786867"| [[#Jul 11 2008 14:34:27|Jul 11 2008 14:34:27]]
 
  |data-sort-value="1215786867"| [[#Jul 11 2008 14:34:27|Jul 11 2008 14:34:27]]
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="5" {{No}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="5" {{Yes}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="5" {{Yes}}
βˆ’
  |rowspan="3" {{Partial}}
+
  |rowspan="5" {{Partial}}
βˆ’
  |rowspan="3" {{Partial}}
+
  |rowspan="5" {{Partial}}
βˆ’
  |rowspan="3" {{Partial}}
+
  |rowspan="5" {{Partial}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="5" {{Yes}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="5" {{Yes}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="5" {{Yes}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="5" {{Yes}}
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="5" {{No}}
βˆ’
  |rowspan="3" | 0x76
+
  |rowspan="5" | 0x76
βˆ’
  |rowspan="3" | 0x40
+
  |rowspan="5" | 0x40
 
  | {{Yes}}
 
  | {{Yes}}
 
  |-
 
  |-
βˆ’
  |data-sort-value="1216859413"| [[#Jul 24 2008 00:30:13|Jul 24 2008 00:30:13]] <!-- Matches Jul 11 -->
+
  |data-sort-value="1216859413"| [[#Jul 24 2008 00:30:13|Jul 24 2008 00:30:13]]
 
  | {{Yes}}
 
  | {{Yes}}
 
  |-
 
  |-
βˆ’
  |data-sort-value="1230126666"| [[#Dec 24 2008 13:51:06|Dec 24 2008 13:51:06]] <!-- Matches Jul 11 -->
+
  |data-sort-value="1230126666"| [[#Dec 24 2008 13:51:06|Dec 24 2008 13:51:06]]
 
  | {{Yes}}
 
  | {{Yes}}
 
  |-
 
  |-
βˆ’
  |rowspan="3" | [[#Group E|E]]
+
|data-sort-value="1333455694"| [[#Apr  3 2012 12:21:34|Apr  3 2012 12:21:34]]
 +
|data-sort-value="z" {{Partial|vWii}}
 +
|-
 +
|data-sort-value="1333456261"| [[#Apr  3 2012 12:31:01|Apr  3 2012 12:31:01]]
 +
|data-sort-value="z" {{Partial|vWii}}
 +
|-
 +
  |rowspan="6" | [[#Group E|E]]
 
  |data-sort-value="1227541149"| [[#Nov 24 2008 15:39:09|Nov 24 2008 15:39:09]]
 
  |data-sort-value="1227541149"| [[#Nov 24 2008 15:39:09|Nov 24 2008 15:39:09]]
βˆ’
  |rowspan="3" {{No}}
+
  |rowspan="6" {{No}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="6" {{Yes}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="6" {{Yes}}
βˆ’
  |rowspan="3" {{Partial}}
+
  |rowspan="6" {{Partial}}
βˆ’
  |rowspan="3" {{Partial}}
+
  |rowspan="6" {{Partial}}
βˆ’
  |rowspan="3" {{Partial}}
+
  |rowspan="6" {{Partial}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="6" {{Yes}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="6" {{Yes}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="6" {{Yes}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="6" {{Yes}}
βˆ’
  |rowspan="3" {{Yes}}
+
  |rowspan="6" {{Yes}}
 
  | 0x79
 
  | 0x79
 
  | 0x42
 
  | 0x42
Line 207: Line 225:  
  |-
 
  |-
 
  |data-sort-value="1244015349"| [[#Jun  3 2009 07:49:09|Jun  3 2009 07:49:09]]
 
  |data-sort-value="1244015349"| [[#Jun  3 2009 07:49:09|Jun  3 2009 07:49:09]]
βˆ’
  |rowspan="2"| 0x79
+
  |rowspan="5"| 0x79
βˆ’
  |rowspan="2"| 0x45
+
  |rowspan="5"| 0x45
 
  | {{Yes}}
 
  | {{Yes}}
 
  |-
 
  |-
 
  |data-sort-value="1330353596"| [[#Feb 27 2012 14:39:56|Feb 27 2012 14:39:56]]
 
  |data-sort-value="1330353596"| [[#Feb 27 2012 14:39:56|Feb 27 2012 14:39:56]]
 
  | {{Yes}}
 
  | {{Yes}}
 +
|-
 +
|data-sort-value="1333375434"| [[#Apr  2 2012 14:03:54|Apr  2 2012 14:03:54]]
 +
|data-sort-value="z" {{Partial|vWii}}
 +
|-
 +
|data-sort-value="1333457403"| [[#Apr  3 2012 12:50:03|Apr  3 2012 12:50:03]]
 +
|data-sort-value="z" {{Partial|vWii}}
 +
|-
 +
|data-sort-value="1333458048"| [[#Apr  3 2012 13:00:48|Apr  3 2012 13:00:48]]
 +
|data-sort-value="z" {{Partial|vWii}}
 
  |}
 
  |}
 +
 +
=== vWii note ===
 +
 +
vWii IOS versions are also listed here.  See [https://wiiubrew.org/wiki/Title_database#00000007_and_000700xx:_Virtual_Wii_titles WiiUBrew's title database] for a list of vWii IOS versions.  There is one vWii version of the DI module for each live regular version.  Every vWii version has 2 differences from the corresponding regular version: they time out after 35000000Β΅s instead of 15000000Β΅s (perhaps due to Starlet/Starbuck clock rate differences?{{check}}), and they check for a disc ID of <code>401A</code> in the post-DVDLowReadDiskID read code (treating such a disc as an unencrypted "GAMECUBE or other" disc, instead of a disc that needs to have encryption information read).
    
=== Group A ===
 
=== Group A ===
303

edits