Changes

290 bytes added ,  03:11, 6 December 2019
β†’β€ŽVersion history: Add column indicating what versions are live
Line 85: Line 85:  
  ! Version
 
  ! Version
 
  ! <abbr title="Issues 0xE0 when the error interrupt is set before running another command, in addition to clearing the interrupt">0xE0 on<br>error</abbr>
 
  ! <abbr title="Issues 0xE0 when the error interrupt is set before running another command, in addition to clearing the interrupt">0xE0 on<br>error</abbr>
βˆ’
  ! <abbr title="Attempts to write 0xDEADBEEF to kernel memory (0xFFFF0000) on diFatalError, in addition to calling CancelThread and entering an infinite loop.  Error message is also '(diFatalError) *** DI FATAL ERROR: %s\nExiting\n' instead of '(diFatalError) Fatal error in DI driver: %s\nExiting\n' to on these versions.">DEADBEEF<br>fatal error</abbr>
+
  !class="unsortable"| <abbr title="Attempts to write 0xDEADBEEF to kernel memory (0xFFFF0000) on diFatalError, in addition to calling CancelThread and entering an infinite loop.  Error message is also '(diFatalError) *** DI FATAL ERROR: %s\nExiting\n' instead of '(diFatalError) Fatal error in DI driver: %s\nExiting\n' to on these versions.">DEADBEEF<br>fatal error</abbr>
 
  ! <abbr title="Out of bounds">OoB</abbr> [[#0x8D DVDLowUnencryptedRead|0x8D]]
 
  ! <abbr title="Out of bounds">OoB</abbr> [[#0x8D DVDLowUnencryptedRead|0x8D]]
 
  ! [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]]
 
  ! [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]]
βˆ’
  ! [[#0x91 DVDLowNoDiscOpenPartition|0x91]]
+
  !class="unsortable"| [[#0x91 DVDLowNoDiscOpenPartition|0x91]]
βˆ’
  ! [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]]
+
  !class="unsortable"| [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]]
 
  ! [[#0x93 DVDLowOpenPartitionWithTmdAndTicket|0x93]]
 
  ! [[#0x93 DVDLowOpenPartitionWithTmdAndTicket|0x93]]
βˆ’
  ! [[#0x94 DVDLowOpenPartitionWithTmdAndTicketView|0x94]]
+
  !class="unsortable"| [[#0x94 DVDLowOpenPartitionWithTmdAndTicketView|0x94]]
βˆ’
  ! [[#0x95 DVDLowGetStatusRegister|0x95]]
+
  !class="unsortable"| [[#0x95 DVDLowGetStatusRegister|0x95]]
 
  ! [[#0x96 DVDLowGetControlRegister|0x96]]
 
  ! [[#0x96 DVDLowGetControlRegister|0x96]]
 
  ! <abbr title="Uses IOSC_CheckDiHashes instead of verifying in DI itself">IOSC</abbr>
 
  ! <abbr title="Uses IOSC_CheckDiHashes instead of verifying in DI itself">IOSC</abbr>
 
  ! <abbr title="Highest IOS Syscall number">Syscall</abbr>
 
  ! <abbr title="Highest IOS Syscall number">Syscall</abbr>
 
  ! <abbr title="Highest /dev/es IoctlV number">ES</abbr>
 
  ! <abbr title="Highest /dev/es IoctlV number">ES</abbr>
 +
! <abbr title="Present in the latest version of at least one IOS version">Live</abbr>
 
  |-
 
  |-
 
  | [[#Group A|A]]
 
  | [[#Group A|A]]
Line 113: Line 114:  
  | 0x74
 
  | 0x74
 
  | 0x3c
 
  | 0x3c
 +
| {{Yes}}
 
  |-
 
  |-
 
  | [[#Group B|B]]
 
  | [[#Group B|B]]
Line 129: Line 131:  
  | 0x76
 
  | 0x76
 
  | 0x3c
 
  | 0x3c
 +
| {{No}}
 
  |-
 
  |-
 
  |rowspan="3" | [[#Group C|C]]
 
  |rowspan="3" | [[#Group C|C]]
Line 145: Line 148:  
  |rowspan="3" | 0x76
 
  |rowspan="3" | 0x76
 
  |rowspan="3" | 0x3e
 
  |rowspan="3" | 0x3e
 +
| {{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]] <!-- Matches Jul 14 -->
 +
| {{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]] <!-- Matches Jul 14 -->
 +
| {{Yes}}
 
  |-
 
  |-
 
  |rowspan="3" | [[#Group D|D]]
 
  |rowspan="3" | [[#Group D|D]]
Line 165: Line 171:  
  |rowspan="3" | 0x76
 
  |rowspan="3" | 0x76
 
  |rowspan="3" | 0x40
 
  |rowspan="3" | 0x40
 +
| {{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]] <!-- Matches Jul 11 -->
 +
| {{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]] <!-- Matches Jul 11 -->
 +
| {{Yes}}
 
  |-
 
  |-
 
  |rowspan="2" | [[#Group E|E]]
 
  |rowspan="2" | [[#Group E|E]]
Line 185: Line 194:  
  | 0x79
 
  | 0x79
 
  | 0x42
 
  | 0x42
 +
| {{No}}
 
  |-
 
  |-
 
  |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]]
 
  | 0x79
 
  | 0x79
 
  | 0x45
 
  | 0x45
 +
| {{Yes}}
 
  |}
 
  |}
    
=== Group A ===
 
=== Group A ===
βˆ’
  βˆ’
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.
      
In this version, [[#0x8D DVDLowUnencryptedRead|0x8D DVDLowUnencryptedRead]] only accepted the start and end being between 0 and 0x14000, and IOCtls [[#0x95 DVDLowGetStatusRegister|0x95 DVDLowGetStatusRegister]] and [[#0x96 DVDLowGetControlRegister|0x96 DVDLowGetControlRegister]] and all IOCtlVs other than [[#0x8B DVDLowOpenPartition|0x8B DVDLowOpenPartition]] did not exist.  [[#0x87|0x87]] and [[#0x7F DVDLowSetSpinupFlag|0x7F DVDLowSetSpinupFlag]] did exist as the current stubs.
 
In this version, [[#0x8D DVDLowUnencryptedRead|0x8D DVDLowUnencryptedRead]] only accepted the start and end being between 0 and 0x14000, and IOCtls [[#0x95 DVDLowGetStatusRegister|0x95 DVDLowGetStatusRegister]] and [[#0x96 DVDLowGetControlRegister|0x96 DVDLowGetControlRegister]] and all IOCtlVs other than [[#0x8B DVDLowOpenPartition|0x8B DVDLowOpenPartition]] did not exist.  [[#0x87|0x87]] and [[#0x7F DVDLowSetSpinupFlag|0x7F DVDLowSetSpinupFlag]] did exist as the current stubs.
Line 202: Line 211:     
==== Oct  5 2006 17:41:21 ====
 
==== 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.
    
{| class="wikitable"
 
{| class="wikitable"
303

edits