Changes

4,736 bytes added ,  23:38, 5 November 2019
→‎Version history: Document addresses
Line 83: Line 83:     
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.
 +
 +
{| class="wikitable"
 +
! MD5
 +
| colspan="3" {{Not tested|Varies}}
 +
|-
 +
! Thing
 +
! Virtual address
 +
! Physical address
 +
! Size
 +
|-
 +
| Code (and entry point)
 +
| 20200000
 +
| 13580000
 +
| 0x6704
 +
|-
 +
| Data (ES vars)
 +
| 20207000
 +
| 13587000
 +
| 0x140
 +
|-
 +
| BSS (zero'd)
 +
| 20208000
 +
| 13588000
 +
| 0x2BE08
 +
|-
 +
| Stack
 +
| 2022bd40
 +
| ?
 +
| 0x8000
 +
|-
 +
| Protected heap
 +
| 20208020
 +
| ?
 +
| 0x4000
 +
|-
 +
| Open heap
 +
| 13400000
 +
| ?
 +
| 0x18000
 +
|}
    
=== Jun  8 2007 18:17:09 ===
 
=== Jun  8 2007 18:17:09 ===
Line 97: Line 137:     
This version adds [[#0x95 DVDLowGetStatusRegister|0x95 DVDLowGetStatusRegister]], but [[#0x96 DVDLowGetControlRegister|0x96 DVDLowGetControlRegister]] is still missing.  It also allows all 3 ranges in [[#0x8D DVDLowUnencryptedRead|0x8D DVDLowUnencryptedRead]].  Finally, it adds <em>all</em> of the IOCtlVs (which are also exposed as IOCtls): [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90 DVDLowGetNoDiscOpenPartitionParams]], [[#0x91 DVDLowNoDiscOpenPartition|0x91 DVDLowNoDiscOpenPartition]], [[#0x92 DVDLowGetNoDiscBufferSizes|0x92 DVDLowGetNoDiscBufferSizes]], [[#0x93 DVDLowOpenPartitionWithTmdAndTicket|0x93 DVDLowOpenPartitionWithTmdAndTicket]], and [[#0x94 DVDLowOpenPartitionWithTmdAndTicketView|0x94 DVDLowOpenPartitionWithTmdAndTicketView]].
 
This version adds [[#0x95 DVDLowGetStatusRegister|0x95 DVDLowGetStatusRegister]], but [[#0x96 DVDLowGetControlRegister|0x96 DVDLowGetControlRegister]] is still missing.  It also allows all 3 ranges in [[#0x8D DVDLowUnencryptedRead|0x8D DVDLowUnencryptedRead]].  Finally, it adds <em>all</em> of the IOCtlVs (which are also exposed as IOCtls): [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90 DVDLowGetNoDiscOpenPartitionParams]], [[#0x91 DVDLowNoDiscOpenPartition|0x91 DVDLowNoDiscOpenPartition]], [[#0x92 DVDLowGetNoDiscBufferSizes|0x92 DVDLowGetNoDiscBufferSizes]], [[#0x93 DVDLowOpenPartitionWithTmdAndTicket|0x93 DVDLowOpenPartitionWithTmdAndTicket]], and [[#0x94 DVDLowOpenPartitionWithTmdAndTicketView|0x94 DVDLowOpenPartitionWithTmdAndTicketView]].
 +
 +
{| class="wikitable"
 +
! MD5
 +
| colspan="3"| c808d8b90a74a4ee808b199a1b1e8d53
 +
|-
 +
! Thing
 +
! Virtual address
 +
! Physical address
 +
! Size
 +
|-
 +
| Code (and entry point)
 +
| 20200000
 +
| 139B0000
 +
| 0x80E0
 +
|-
 +
| Data (ES vars)
 +
| 20209000
 +
| 139B9000
 +
| 0x140
 +
|-
 +
| BSS (zero'd)
 +
| 2020A000
 +
| 139BA000
 +
| 0x2BDC4
 +
|-
 +
| Stack
 +
| 2022ddc4
 +
| ?
 +
| 0x8000
 +
|-
 +
| Protected heap
 +
| 2020a020
 +
| ?
 +
| 0x4000
 +
|-
 +
| Open heap
 +
| 13600000
 +
| ?
 +
| 0x18000
 +
|}
    
=== Jul 11 2008 14:34:27 ===
 
=== Jul 11 2008 14:34:27 ===
Line 110: Line 190:     
Adds [[#0x96 DVDLowGetControlRegister|0x96 DVDLowGetControlRegister]].  Removes IOCtlVs [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90 DVDLowGetNoDiscOpenPartitionParams]], [[#0x91 DVDLowNoDiscOpenPartition|0x91 DVDLowNoDiscOpenPartition]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92 DVDLowGetNoDiscBufferSizes]].
 
Adds [[#0x96 DVDLowGetControlRegister|0x96 DVDLowGetControlRegister]].  Removes IOCtlVs [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90 DVDLowGetNoDiscOpenPartitionParams]], [[#0x91 DVDLowNoDiscOpenPartition|0x91 DVDLowNoDiscOpenPartition]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92 DVDLowGetNoDiscBufferSizes]].
 +
 +
{| class="wikitable"
 +
! MD5
 +
| colspan="3"| 382d4a5cafdb1e28ba039d25db7c4c1f
 +
|-
 +
! Thing
 +
! Virtual address
 +
! Physical address
 +
! Size
 +
|-
 +
| Code (and entry point)
 +
| 20200000
 +
| 139B0000
 +
| 0x7D74
 +
|-
 +
| Data (ES vars)
 +
| 20208000
 +
| 139B8000
 +
| 0x140
 +
|-
 +
| BSS (zero'd)
 +
| 20209000
 +
| 139B9000
 +
| 0x2BDC4
 +
|-
 +
| Stack
 +
| 2022cdc4
 +
| ?
 +
| 0x8000
 +
|-
 +
| Protected heap
 +
| 20209020
 +
| ?
 +
| 0x4000
 +
|-
 +
| Open heap
 +
| 13600000
 +
| ?
 +
| 0x18000
 +
|}
    
=== Jul 14 2008 19:25:32 ===
 
=== Jul 14 2008 19:25:32 ===
Line 122: Line 242:     
Does not have [[#0x96 DVDLowGetControlRegister|0x96 DVDLowGetControlRegister]].  Also removes IOCtlVs [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]], [[#0x91 DVDLowNoDiscOpenPartition|0x91]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]].
 
Does not have [[#0x96 DVDLowGetControlRegister|0x96 DVDLowGetControlRegister]].  Also removes IOCtlVs [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]], [[#0x91 DVDLowNoDiscOpenPartition|0x91]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]].
 +
 +
{| class="wikitable"
 +
! MD5
 +
| colspan="3"| 366021c440e6377044f8ca8c94e2e6bc
 +
|-
 +
! Thing
 +
! Virtual address
 +
! Physical address
 +
! Size
 +
|-
 +
| Code (and entry point)
 +
| 20200000
 +
| 139B0000
 +
| 0x7D74
 +
|-
 +
| Data (ES vars)
 +
| 20208000
 +
| 139B8000
 +
| 0x140
 +
|-
 +
| BSS (zero'd)
 +
| 20209000
 +
| 139B9000
 +
| 0x2BDC4
 +
|-
 +
| Stack
 +
| 2022cdc4
 +
| ?
 +
| 0x8000
 +
|-
 +
| Protected heap
 +
| 20209020
 +
| ?
 +
| 0x4000
 +
|-
 +
| Open heap
 +
| 13600000
 +
| ?
 +
| 0x18000
 +
|}
    
=== Jul 14 2008 19:32:38 ===
 
=== Jul 14 2008 19:32:38 ===
   −
Only found in [[IOS28]] (which is the first build that split things into modules).  There are negligbable differences from the build that's 7 minutes earlier; all commands match.
+
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.)
 +
 
 +
{| class="wikitable"
 +
! MD5
 +
| colspan="3"| 49f714dd1a0985fbd4c44ee9fe4f945a
 +
|-
 +
! Thing
 +
! Virtual address
 +
! Physical address
 +
! Size
 +
|-
 +
| Code (and entry point)
 +
| 20200000
 +
| 139B0000
 +
| 0x7D74
 +
|-
 +
| Data (ES vars)
 +
| 20208000
 +
| 139B8000
 +
| 0x140
 +
|-
 +
| BSS (zero'd)
 +
| 20209000
 +
| 139B9000
 +
| 0x2BDC4
 +
|-
 +
| Stack
 +
| 2022cdc4
 +
| ?
 +
| 0x8000
 +
|-
 +
| Protected heap
 +
| 20209020
 +
| ?
 +
| 0x4000
 +
|-
 +
| Open heap
 +
| 13800000
 +
| ?
 +
| 0x18000
 +
|}
    
=== Jul 24 2008 00:30:13 ===
 
=== Jul 24 2008 00:30:13 ===
    
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]].
 
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]].
 +
 +
{| class="wikitable"
 +
! MD5
 +
| colspan="3"| 108011e89e557d4e8adf1a02f87cb8ea
 +
|-
 +
! Thing
 +
! Virtual address
 +
! Physical address
 +
! Size
 +
|-
 +
| Code (and entry point)
 +
| 20200000
 +
| 139B0000
 +
| 0x8088
 +
|-
 +
| Data (ES vars)
 +
| 20209000
 +
| 139B9000
 +
| 0x140
 +
|-
 +
| BSS (zero'd)
 +
| 2020A000
 +
| 139BA000
 +
| 0x2BDC4
 +
|-
 +
| Stack
 +
| 2022ddc4
 +
| ?
 +
| 0x8000
 +
|-
 +
| Protected heap
 +
| 2020a020
 +
| ?
 +
| 0x4000
 +
|-
 +
| Open heap
 +
| 13600000
 +
| ?
 +
| 0x18000
 +
|}
    
=== Jul 24 2008 20:08:45 ===
 
=== Jul 24 2008 20:08:45 ===
    
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 [[IOS38]].  Has [[#0x95 DVDLowGetStatusRegister|0x95]] but not [[#0x96 DVDLowGetControlRegister|0x96]]; also does not have [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]], [[#0x91 DVDLowNoDiscOpenPartition|0x91]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]].
 +
 +
{| class="wikitable"
 +
! MD5
 +
| colspan="3"| ef1a8c1270f82e0993f504f1e17a5152
 +
|-
 +
! Thing
 +
! Virtual address
 +
! Physical address
 +
! Size
 +
|-
 +
| Code (and entry point)
 +
| 20200000
 +
| 139B0000
 +
| 0x7D74
 +
|-
 +
| Data (ES vars)
 +
| 20208000
 +
| 139B8000
 +
| 0x140
 +
|-
 +
| BSS (zero'd)
 +
| 20209000
 +
| 139B9000
 +
| 0x2BDC4
 +
|-
 +
| Stack
 +
| 2022cdc4
 +
| ?
 +
| 0x8000
 +
|-
 +
| Protected heap
 +
| 20209020
 +
| ?
 +
| 0x4000
 +
|-
 +
| Open heap
 +
| 13600000
 +
| ?
 +
| 0x18000
 +
|}
    
=== Nov 24 2008 15:39:09 ===
 
=== Nov 24 2008 15:39:09 ===
Line 145: Line 425:     
Has both [[#0x95 DVDLowGetStatusRegister|0x95]] and [[#0x96 DVDLowGetControlRegister|0x96]]; does not have [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]], [[#0x91 DVDLowNoDiscOpenPartition|0x91]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]].
 
Has both [[#0x95 DVDLowGetStatusRegister|0x95]] and [[#0x96 DVDLowGetControlRegister|0x96]]; does not have [[#0x90 DVDLowGetNoDiscOpenPartitionParams|0x90]], [[#0x91 DVDLowNoDiscOpenPartition|0x91]], and [[#0x92 DVDLowGetNoDiscBufferSizes|0x92]].
 +
 +
{| class="wikitable"
 +
! MD5
 +
| colspan="3"| 48e1be8f767feb59cbc51aa4329d735a
 +
|-
 +
! Thing
 +
! Virtual address
 +
! Physical address
 +
! Size
 +
|-
 +
| Code (and entry point)
 +
| 20200000
 +
| 139B0000
 +
| 0x7F00
 +
|-
 +
| Data (ES vars)
 +
| 20208000
 +
| 139B8000
 +
| 0x140
 +
|-
 +
| BSS (zero'd)
 +
| 20209000
 +
| 139B9000
 +
| 0x2BDC4
 +
|-
 +
| Stack
 +
| 2022cdc4
 +
| ?
 +
| 0x8000
 +
|-
 +
| Protected heap
 +
| 20209020
 +
| ?
 +
| 0x4000
 +
|-
 +
| Open heap
 +
| 13600000
 +
| ?
 +
| 0x18000
 +
|}
    
=== Dec 24 2008 13:51:06 ===
 
=== Dec 24 2008 13:51:06 ===
    
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]].
 
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]].
 +
 +
{| class="wikitable"
 +
! MD5
 +
| colspan="3"| 72122c88cdcd4279cc09e197d3079624
 +
|-
 +
! Thing
 +
! Virtual address
 +
! Physical address
 +
! Size
 +
|-
 +
| Code (and entry point)
 +
| 20200000
 +
| 139B0000
 +
| 0x8088
 +
|-
 +
| Data (ES vars)
 +
| 20209000
 +
| 139B9000
 +
| 0x140
 +
|-
 +
| BSS (zero'd)
 +
| 2020A000
 +
| 139BA000
 +
| 0x2BDC4
 +
|-
 +
| Stack
 +
| 2022ddc4
 +
| ?
 +
| 0x8000
 +
|-
 +
| Protected heap
 +
| 2020a020
 +
| ?
 +
| 0x4000
 +
|-
 +
| Open heap
 +
| 13600000
 +
| ?
 +
| 0x18000
 +
|}
    
=== Jun  3 2009 07:49:09 ===
 
=== Jun  3 2009 07:49:09 ===
Line 159: Line 519:  
* [[IOS70]] v6687 (v6912 is a stub)
 
* [[IOS70]] v6687 (v6912 is a stub)
 
* [[IOS80]] in all versions
 
* [[IOS80]] in all versions
 +
 +
{| class="wikitable"
 +
! MD5
 +
| colspan="3"| 89f7dc21f07e2cae97c3a571b23d8abd
 +
|-
 +
! Thing
 +
! Virtual address
 +
! Physical address
 +
! Size
 +
|-
 +
| Code (and entry point)
 +
| 20200000
 +
| 139B0000
 +
| 0x7FF0
 +
|-
 +
| Data (ES vars)
 +
| 20208000
 +
| 139B8000
 +
| 0x140
 +
|-
 +
| BSS (zero'd)
 +
| 20209000
 +
| 139B9000
 +
| 0x2BDC4
 +
|-
 +
| Stack
 +
| 2022cdc4
 +
| ?
 +
| 0x8000
 +
|-
 +
| Protected heap
 +
| 20209020
 +
| ?
 +
| 0x4000
 +
|-
 +
| Open heap
 +
| 13600000
 +
| ?
 +
| 0x18000
 +
|}
    
== IoctlVs ==
 
== IoctlVs ==
303

edits