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 ==