summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorLéo Lam <leo@innovatetechnologi.es>2017-02-27 23:49:54 +0100
committerLéo Lam <leo@innovatetechnologi.es>2017-03-01 17:36:07 +0100
commit90aaefaef79540cca951c73fd1023b4f820f44bb (patch)
tree91bb7b384afbf7894d8c54e75d61ea233aaed896 /Source
parente5d9bcaf431f610b388c8c6f6bf5a7da8ec22553 (diff)
IOS/ES: Drop 'fake IOS titles' hack
It prevents system updates from working properly, because we always returned that the latest version of every single IOS was installed.
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Core/IOS/ES/ES.cpp22
1 files changed, 2 insertions, 20 deletions
diff --git a/Source/Core/Core/IOS/ES/ES.cpp b/Source/Core/Core/IOS/ES/ES.cpp
index 2ad2a319b4..d203c5b049 100644
--- a/Source/Core/Core/IOS/ES/ES.cpp
+++ b/Source/Core/Core/IOS/ES/ES.cpp
@@ -831,12 +831,7 @@ IPCCommandResult ES::GetViewCount(const IOCtlVRequest& request)
const DiscIO::CNANDContentLoader& Loader = AccessContentDevice(TitleID);
size_t view_count = 0;
- if (TitleID >> 32 == 0x00000001 && TitleID != TITLEID_SYSMENU)
- {
- // Fake a ticket view to make IOS reload work.
- view_count = 1;
- }
- else if (Loader.IsValid() && Loader.GetTicket().IsValid())
+ if (Loader.IsValid() && Loader.GetTicket().IsValid())
{
view_count = Loader.GetTicket().GetNumberOfTickets();
}
@@ -858,20 +853,7 @@ IPCCommandResult ES::GetViews(const IOCtlVRequest& request)
const DiscIO::CNANDContentLoader& Loader = AccessContentDevice(TitleID);
- if (TitleID >> 32 == 0x00000001 && TitleID != TITLEID_SYSMENU)
- {
- // For IOS titles, the ticket view isn't normally parsed by either the
- // SDK or libogc, just passed to LaunchTitle, so this
- // shouldn't matter at all. Just fill out some fields just
- // to be on the safe side.
- u32 Address = request.io_vectors[0].address;
- Memory::Memset(Address, 0, 0xD8);
- Memory::Write_U64(TitleID, Address + 4 + (0x1dc - 0x1d0)); // title ID
- Memory::Write_U16(0xffff, Address + 4 + (0x1e4 - 0x1d0)); // unnnown
- Memory::Write_U32(0xff00, Address + 4 + (0x1ec - 0x1d0)); // access mask
- Memory::Memset(Address + 4 + (0x222 - 0x1d0), 0xff, 0x20); // content permissions
- }
- else if (Loader.IsValid() && Loader.GetTicket().IsValid())
+ if (Loader.IsValid() && Loader.GetTicket().IsValid())
{
u32 number_of_views = std::min(maxViews, Loader.GetTicket().GetNumberOfTickets());
for (u32 view = 0; view < number_of_views; ++view)