From 089f45212eb62a1fb39a74f86920925f02da0c5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Mon, 13 Feb 2017 13:30:16 +0100 Subject: [PATCH] IOS: Add constants for some missing IOSes This adds memory values for IOS11, 20, 30, 50, 51, 52, 60 and 70. Unfortunately, IOS40 (in its working version) is not present on NUS, so constants for that one are still missing. --- Source/Core/Core/IOS/IPC.cpp | 59 +++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/Source/Core/Core/IOS/IPC.cpp b/Source/Core/Core/IOS/IPC.cpp index 903d586d96..50c397132b 100644 --- a/Source/Core/Core/IOS/IPC.cpp +++ b/Source/Core/Core/IOS/IPC.cpp @@ -158,7 +158,7 @@ constexpr u32 RAM_VENDOR_MIOS = 0xCAFEBABE; // The writes are usually contained in a single function that // mostly writes raw literals to the relevant locations. // e.g. IOS9, version 1034, content id 0x00000006, function at 0xffff6884 -constexpr std::array ios_memory_values = { +constexpr std::array ios_memory_values = { {{ 9, 0x9040a, 0x030110, MEM1_SIZE, MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END, @@ -166,6 +166,13 @@ constexpr std::array ios_memory_values = { 0x933E0000, 0x933E0000, 0x93400000, HOLLYWOOD_REVISION, RAM_VENDOR, PLACEHOLDER, PLACEHOLDER, 0, }, + { + 11, 0xb000a, 0x102506, MEM1_SIZE, + MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END, + MEM2_SIZE, MEM2_SIZE, 0x93400000, MEM2_ARENA_BEGIN, + 0x933E0000, 0x933E0000, 0x93400000, HOLLYWOOD_REVISION, + RAM_VENDOR, PLACEHOLDER, PLACEHOLDER, 0, + }, { 12, 0xc020e, 0x030110, MEM1_SIZE, MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END, @@ -201,6 +208,13 @@ constexpr std::array ios_memory_values = { 0x933E0000, 0x933E0000, 0x93400000, HOLLYWOOD_REVISION, RAM_VENDOR, PLACEHOLDER, PLACEHOLDER, 0, }, + { + 20, 0x14000c, 0x102506, MEM1_SIZE, + MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END, + MEM2_SIZE, MEM2_SIZE, 0x93400000, MEM2_ARENA_BEGIN, + 0x933E0000, 0x933E0000, 0x93400000, HOLLYWOOD_REVISION, + RAM_VENDOR, PLACEHOLDER, PLACEHOLDER, 0, + }, { 21, 0x15040f, 0x030110, MEM1_SIZE, MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END, @@ -222,6 +236,13 @@ constexpr std::array ios_memory_values = { 0x937E0000, 0x937E0000, 0x93800000, HOLLYWOOD_REVISION, RAM_VENDOR, 0x93800000, 0x93820000, 0, }, + { + 30, 0x1e0a10, 0x40308, MEM1_SIZE, + MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END, + MEM2_SIZE, MEM2_SIZE, 0x93600000, MEM2_ARENA_BEGIN, + 0x935E0000, 0x935E0000, 0x93600000, HOLLYWOOD_REVISION, + RAM_VENDOR, 0x93600000, 0x93620000, 0, + }, { 31, 0x1f0e18, 0x030110, MEM1_SIZE, MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END, @@ -271,6 +292,7 @@ constexpr std::array ios_memory_values = { 0x935E0000, 0x935E0000, 0x93600000, HOLLYWOOD_REVISION, RAM_VENDOR, 0x93600000, 0x93620000, 0, }, + // No functional version of IOS40 is present on NUS. { 41, 0x290e17, 0x030110, MEM1_SIZE, MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END, @@ -306,6 +328,27 @@ constexpr std::array ios_memory_values = { 0x935E0000, 0x935E0000, 0x93600000, HOLLYWOOD_REVISION, RAM_VENDOR, 0x93600000, 0x93620000, 0, }, + { + 50, 0x321319, 0x101008, MEM1_SIZE, + MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END, + MEM2_SIZE, MEM2_SIZE, 0x93600000, MEM2_ARENA_BEGIN, + 0x935E0000, 0x935E0000, 0x93600000, HOLLYWOOD_REVISION, + RAM_VENDOR, 0x93600000, 0x93620000, 0, + }, + { + 51, 0x331219, 0x071108, MEM1_SIZE, + MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END, + MEM2_SIZE, MEM2_SIZE, 0x93600000, MEM2_ARENA_BEGIN, + 0x935E0000, 0x935E0000, 0x93600000, HOLLYWOOD_REVISION, + RAM_VENDOR, 0x93600000, 0x93620000, 0, + }, + { + 52, 0x34161d, 0x101008, MEM1_SIZE, + MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END, + MEM2_SIZE, MEM2_SIZE, 0x93600000, MEM2_ARENA_BEGIN, + 0x935E0000, 0x935E0000, 0x93600000, HOLLYWOOD_REVISION, + RAM_VENDOR, 0x93600000, 0x93620000, 0, + }, { 53, 0x35161f, 0x030110, MEM1_SIZE, MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END, @@ -348,6 +391,13 @@ constexpr std::array ios_memory_values = { 0x935E0000, 0x935E0000, 0x93600000, HOLLYWOOD_REVISION, RAM_VENDOR, 0x93600000, 0x93620000, 0, }, + { + 60, 0x3c181e, 0x112408, MEM1_SIZE, + MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END, + MEM2_SIZE, MEM2_SIZE, 0x93600000, MEM2_ARENA_BEGIN, + 0x935E0000, 0x935E0000, 0x93600000, HOLLYWOOD_REVISION, + RAM_VENDOR, 0x93600000, 0x93620000, 0, + }, { 61, 0x3d161e, 0x030110, MEM1_SIZE, MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END, @@ -362,6 +412,13 @@ constexpr std::array ios_memory_values = { 0x935E0000, 0x935E0000, 0x93600000, HOLLYWOOD_REVISION, RAM_VENDOR, 0x93600000, 0x93620000, 0, }, + { + 70, 0x461a1f, 0x060309, MEM1_SIZE, + MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END, + MEM2_SIZE, MEM2_SIZE, 0x93600000, MEM2_ARENA_BEGIN, + 0x935E0000, 0x935E0000, 0x93600000, HOLLYWOOD_REVISION, + RAM_VENDOR, 0x93600000, 0x93620000, 0, + }, { 80, 0x501b20, 0x030310, MEM1_SIZE, MEM1_SIZE, MEM1_END, MEM1_ARENA_BEGIN, MEM1_ARENA_END,