From 29d7193a21d0ab4676dca8b56d83bb688538e5c2 Mon Sep 17 00:00:00 2001 From: "giantpune@gmail.com" Date: Mon, 17 Jan 2011 19:31:00 +0000 Subject: [PATCH] * NUSdownloader: fix incorrect system menu version in one of the jap updates add some 2.X updates --- WiiQt/nusdownloader.cpp | 258 ++++++++++++++++++++++------------------ WiiQt/nusdownloader.h | 10 +- 2 files changed, 152 insertions(+), 116 deletions(-) diff --git a/WiiQt/nusdownloader.cpp b/WiiQt/nusdownloader.cpp index 9916445..c87089b 100644 --- a/WiiQt/nusdownloader.cpp +++ b/WiiQt/nusdownloader.cpp @@ -531,7 +531,9 @@ bool NusDownloader::GetUpdate( const QString & upd, bool decrypt ) QString s = upd.toLower(); QMap< quint64, quint16 > titles; - if( s == "2.1e" ) titles = List21e(); + if( s == "2.0e" ) titles = List20e(); + else if( s == "2.1e" ) titles = List21e(); + else if( s == "2.2e" ) titles = List22e(); else if( s == "3.0e" ) titles = List30e(); else if( s == "3.1e" ) titles = List31e(); else if( s == "3.2e" ) titles = List32e(); @@ -542,7 +544,8 @@ bool NusDownloader::GetUpdate( const QString & upd, bool decrypt ) else if( s == "4.2e" ) titles = List42e(); else if( s == "4.3e" ) titles = List43e(); - else if( s == "2.0u" ) titles = List20u(); + else if( s == "2.0u" ) titles = List20u(); + else if( s == "2.2u" ) titles = List22u(); else if( s == "3.0u" ) titles = List30u(); else if( s == "3.1u" ) titles = List31u(); else if( s == "3.2u" ) titles = List32u(); @@ -559,6 +562,7 @@ bool NusDownloader::GetUpdate( const QString & upd, bool decrypt ) else if( s == "4.3k" ) titles = List43k(); else if( s == "2.0j" ) titles = List20j(); + else if( s == "2.2j" ) titles = List22j(); else if( s == "3.0j" ) titles = List30j(); else if( s == "3.1j" ) titles = List31j(); else if( s == "3.2j" ) titles = List33j(); @@ -589,30 +593,35 @@ bool NusDownloader::GetUpdate( const QString & upd, bool decrypt ) } return true; } + QMap< quint64, quint16 > NusDownloader::List20j() { QMap< quint64, quint16 > titles; - //titles.insert( 0x100000001ull, 2 );//boot2 - titles.insert( 0x100000002ull, 128 );//sys menu - titles.insert( 0x10000000bull, 10 );//11v10 - titles.insert( 0x10000000cull, 6 );//12v6 - titles.insert( 0x10000000dull, 10 );//13v10 - titles.insert( 0x10000000full, 257 );//15v257 - titles.insert( 0x100000011ull, 512 );//17v512 - titles.insert( 0x100000100ull, 0x2 );//bcv2 - titles.insert( 0x100000101ull, 0x4 );//miosv4 - titles.insert( 0x1000848414B4aull, 0 );//EULA - HAKJ - titles.insert( 0x1000848414C4aull, 0x2 );//regsel //region select isnt in the paper mario update, but putting it here just to be safe - titles.insert( 0x1000248414341ull, 0x2 );//nigaoeNRv2 - MII - titles.insert( 0x1000248414141ull, 0x1 );//photov1 - titles.insert( 0x1000248414241ull, 0x4 );//shoppingv4 + //titles.insert( 0x100000001ull, 2 ); //boot2 + titles.insert( 0x100000002ull, 128 ); //sys menu + titles.insert( 0x10000000bull, 10 ); //11v10 + titles.insert( 0x10000000cull, 6 ); //12v6 + titles.insert( 0x10000000dull, 10 ); //13v10 + titles.insert( 0x10000000full, 257 ); //15v257 + titles.insert( 0x100000011ull, 512 ); //17v512 + titles.insert( 0x100000100ull, 0x2 ); //bcv2 + titles.insert( 0x100000101ull, 0x4 ); //miosv4 + titles.insert( 0x1000848414B4aull, 0 ); //EULA - HAKJ + titles.insert( 0x1000848414C4aull, 0x2 ); //regsel //region select isnt in the paper mario update, but putting it here just to be safe + titles.insert( 0x1000248414341ull, 0x2 ); //nigaoeNRv2 - MII + titles.insert( 0x1000248414141ull, 0x1 ); //photov1 + titles.insert( 0x1000248414241ull, 0x4 ); //shoppingv4 return titles; } -QMap< quint64, quint16 > NusDownloader::List30j() +QMap< quint64, quint16 > NusDownloader::List22j() { QMap< quint64, quint16 > titles = List20j(); - titles.insert( 0x100000002ull, 128 ); //sys menu + titles.insert( 0x100000002ull, 192 ); //sys menu + titles.insert( 0x100000014ull, 12 ); //20v12 + titles.insert( 0x100000015ull, 514 ); //21v514 + titles.insert( 0x100000016ull, 777 ); //22v772 //should be getting v772 but it isnt available on NUS, get 777 instead + titles.insert( 0x10000001cull, 1292 ); //28v1228 //should be getting v1288 but it isnt on NUS titles.insert( 0x100000101ull, 5 ); //miosv5 titles.insert( 0x1000848414B4aull, 2 ); //EULA v2- HAKJ titles.insert( 0x1000848414C4aull, 0x2 ); //regsel @@ -624,22 +633,27 @@ QMap< quint64, quint16 > NusDownloader::List30j() return titles; } +QMap< quint64, quint16 > NusDownloader::List30j() +{ + QMap< quint64, quint16 > titles = List22j(); + titles.insert( 0x100000002ull, 224 ); //sys menu + titles.insert( 0x10000001eull, 1039 ); //30v1039 + titles.insert( 0x10000001full, 1039 ); //31v1039 + titles.insert( 0x100000021ull, 1040 ); //33v1040 + titles.insert( 0x100000023ull, 1040 ); //35v1040 + return titles; +} + QMap< quint64, quint16 > NusDownloader::List31j() { QMap< quint64, quint16 > titles = List30j(); - titles.insert( 0x100000002ull, 256 );//sys menu - titles.insert( 0x100000014ull, 12 );//20v12 - titles.insert( 0x100000015ull, 514 );//21v514 - titles.insert( 0x100000016ull, 777 );//22v777 - should be v772 - titles.insert( 0x10000001cull, 1292 );//28v1292 - should be 1228 - titles.insert( 0x10000001eull, 1040 );//30v1040 - titles.insert( 0x10000001full, 1040 );//31v1040 - titles.insert( 0x100000021ull, 1040 );//33v1040 - titles.insert( 0x100000022ull, 1039 );//34v1039 - titles.insert( 0x100000023ull, 1040 );//35v1040 - titles.insert( 0x100000024ull, 1042 );//36v1042 - //titles.insert( 0x100000025ull, 2070 );//37v2070 //3.1u has this one but not 3.1j?? - titles.insert( 0x1000248415941ull, 0x1 );//photo2v1 + titles.insert( 0x100000002ull, 256 ); //sys menu + titles.insert( 0x10000000eull, 257 ); // IOS14v257 + titles.insert( 0x10000001eull, 1040 ); //30v1040 + titles.insert( 0x10000001full, 1040 ); //31v1040 + titles.insert( 0x100000022ull, 1039 ); //34v1039 + titles.insert( 0x100000024ull, 1042 ); //36v1042 + titles.insert( 0x1000248415941ull, 1 ); //photo2v1 return titles; } @@ -648,28 +662,23 @@ QMap< quint64, quint16 > NusDownloader::List31j() QMap< quint64, quint16 > NusDownloader::List32j() { QMap< quint64, quint16 > titles = List31j(); - titles.insert( 0x100000002ull, 288 );//sys menu + titles.insert( 0x100000002ull, 288 ); //sys menu return titles; } QMap< quint64, quint16 > NusDownloader::List33j() { QMap< quint64, quint16 > titles = List32j(); - titles.insert( 0x100000002ull, 352 );//sys menu - titles.insert( 0x10000000bull, 10 );//11v10 - titles.insert( 0x10000000cull, 6 );//12v6 - titles.insert( 0x10000000dull, 10 );//13v10 - titles.insert( 0x10000000full, 257 );//15v257 - titles.insert( 0x100000011ull, 512 );//17v512 - titles.insert( 0x10000001eull, 2576 );//30v2576 - titles.insert( 0x10000001full, 2576 );//31v2576 - titles.insert( 0x100000025ull, 2070 );//37v2070 - titles.insert( 0x100000100ull, 0x4 );//bcv4 - titles.insert( 0x1000248415941ull, 0x1 );//photo2v1 - titles.insert( 0x1000848414B4aull, 2 );//EULA - HAKJ - titles.insert( 0x100000101ull, 8 );//miosv8 - titles.insert( 0x1000248414341ull, 5 );//nigaoeNRv5 - MII - titles.insert( 0x1000248414241ull, 10 );//shoppingv10 + titles.insert( 0x100000002ull, 352 ); //sys menu + titles.insert( 0x10000001eull, 2576 ); //30v2576 + titles.insert( 0x10000001full, 2576 ); //31v2576 + titles.insert( 0x100000025ull, 2070 ); //37v2070 + titles.insert( 0x100000100ull, 0x4 ); //bcv4 + titles.insert( 0x1000248415941ull, 0x1 ); //photo2v1 + titles.insert( 0x1000848414B4aull, 2 ); //EULA - HAKJ + titles.insert( 0x100000101ull, 8 ); //miosv8 + titles.insert( 0x1000248414341ull, 5 ); //nigaoeNRv5 - MII + titles.insert( 0x1000248414241ull, 10 ); //shoppingv10 return titles; } @@ -837,49 +846,60 @@ QMap< quint64, quint16 > NusDownloader::List43j() return titles; } +QMap< quint64, quint16 > NusDownloader::List20e() +{ + QMap< quint64, quint16 > titles; + //titles.insert( 0x100000001ull, 2 ); //boot2 + titles.insert( 0x100000002ull, 130 ); //sys menu + titles.insert( 0x10000000bull, 10 ); //11v10 + titles.insert( 0x10000000cull, 6 ); //12v6 + titles.insert( 0x10000000dull, 10 ); //13v10 + titles.insert( 0x10000000full, 257 ); //15v257 + titles.insert( 0x100000011ull, 512 ); //17v512 + titles.insert( 0x100000100ull, 0x2 ); //bcv2 + titles.insert( 0x100000101ull, 0x4 ); //miosv4 + titles.insert( 0x1000848414B50ull, 0 ); //EULA - HAKP + titles.insert( 0x1000848414C50ull, 0x2 ); //regsel //region select isnt in the paper mario update, but putting it here just to be safe + titles.insert( 0x1000248414341ull, 0x2 ); //nigaoeNRv2 - MII + titles.insert( 0x1000248414141ull, 0x1 ); //photov1 + titles.insert( 0x1000248414241ull, 0x4 ); //shoppingv4 + return titles; +} + QMap< quint64, quint16 > NusDownloader::List21e() { - QMap< quint64, quint16 > titles; - //( from metroid 3 ) - //titles.insert( 0x100000001ull, 2 );//boot2 - titles.insert( 0x100000002ull, 162 );//sys menu - titles.insert( 0x10000000bull, 10 );//11v10 - titles.insert( 0x10000000cull, 6 );//12v6 - titles.insert( 0x10000000dull, 10 );//13v10 - titles.insert( 0x10000000full, 257 );//15v257 - titles.insert( 0x100000011ull, 512 );//17v512 - titles.insert( 0x100000014ull, 12 );//20v12 - titles.insert( 0x100000015ull, 514 );//21v514 - titles.insert( 0x100000016ull, 777 );//22v772 //should be getting v772 but it isnt available on NUS, get 777 instead - titles.insert( 0x10000001cull, 1292 );//28v1228 //should be getting v1288 but it isnt on NUS - titles.insert( 0x100000100ull, 0x2 );//bcv2 - titles.insert( 0x100000101ull, 0x4 );//miosv4 - titles.insert( 0x1000848414B50ull, 0 );//EULA - HAKP - titles.insert( 0x1000848414C50ull, 0x2 );//regsel //region select isnt in the paper mario update, but putting it here just to be safe - titles.insert( 0x1000248414341ull, 0x2 );//nigaoeNRv2 - MII - titles.insert( 0x1000248414141ull, 0x1 );//photov1 - titles.insert( 0x1000248414241ull, 0x4 );//shoppingv4 - return titles; + QMap< quint64, quint16 > titles = List20e(); + titles.insert( 0x100000002ull, 162 ); //sys menu + titles.insert( 0x100000014ull, 12 ); //20v12 + titles.insert( 0x100000015ull, 514 ); //21v514 + titles.insert( 0x100000016ull, 777 ); //22v772 //should be getting v772 but it isnt available on NUS, get 777 instead + titles.insert( 0x10000001cull, 1292 ); //28v1228 //should be getting v1288 but it isnt on NUS + return titles; +} + +QMap< quint64, quint16 > NusDownloader::List22e() +{ + QMap< quint64, quint16 > titles = List21e(); + titles.insert( 0x100000002ull, 193 ); //sys menu + titles.insert( 0x1000248414645ull, 6 ); //forecast + titles.insert( 0x1000248414745ull, 6 ); //news_USv6 + titles.insert( 0x1000248414341ull, 3 ); //nigaoeNRv3 - MII + titles.insert( 0x1000248414241ull, 6 ); //shoppingv6 + return titles; } QMap< quint64, quint16 > NusDownloader::List30e() { - QMap< quint64, quint16 > titles = List21e(); - //( from GH 3 ) - titles.insert( 0x100000002ull, 226 );//sys menu - titles.insert( 0x100000100ull, 0x2 );//bcv2 - titles.insert( 0x10000001eull, 1039 );//30v1039 - titles.insert( 0x10000001full, 1039 );//31v1039 - titles.insert( 0x100000101ull, 5 );//miosv5 - titles.insert( 0x1000848414B50ull, 2 );//EULA - HAKP - titles.insert( 0x1000248414650ull, 0x7 ); // forcast v7 HAFP - titles.insert( 0x1000248414750ull, 0x7 ); // news v7 HAGP - titles.insert( 0x1000848414C50ull, 0x2 );//regsel - titles.insert( 0x1000248414341ull, 4 );//nigaoeNRv4 - MII - titles.insert( 0x1000248414141ull, 0x1 );//photov1 - titles.insert( 0x1000248414241ull, 7 );//shoppingv7 -// titles.insert( 0x1000248414741ull, 0x3 );//news channel HAGA -// titles.insert( 0x1000248414641ull, 0x3 );//Weather Channel HAFA + QMap< quint64, quint16 > titles = List22e(); + titles.insert( 0x100000002ull, 226 ); //sys menu + titles.insert( 0x10000001eull, 1039 ); //30v1039 + titles.insert( 0x10000001full, 1039 ); //31v1039 + titles.insert( 0x100000101ull, 5 ); //miosv5 + titles.insert( 0x1000848414B50ull, 2 ); //EULA - HAKP + titles.insert( 0x1000248414650ull, 0x7 ); // forcast v7 HAFP + titles.insert( 0x1000248414750ull, 0x7 ); // news v7 HAGP + titles.insert( 0x1000248414341ull, 4 ); //nigaoeNRv4 - MII + titles.insert( 0x1000248414241ull, 7 ); //shoppingv7 return titles; } @@ -1096,40 +1116,52 @@ QMap< quint64, quint16 > NusDownloader::List20u() { QMap< quint64, quint16 > titles; //( from paper mario ) - //titles.insert( 0x100000001ull, 2 );//boot2 - titles.insert( 0x100000002ull, 97 );//sys menu - titles.insert( 0x10000000bull, 10 );//11v10 - titles.insert( 0x10000000cull, 6 );//12v6 - titles.insert( 0x10000000dull, 10 );//13v10 - titles.insert( 0x10000000full, 257 );//15v257 - titles.insert( 0x100000011ull, 512 );//17v512 - titles.insert( 0x100000100ull, 0x2 );//bcv2 - titles.insert( 0x100000101ull, 0x4 );//miosv4 - titles.insert( 0x1000848414B45ull, 0 );//EULA - HAKE - titles.insert( 0x1000848414C45ull, 0x2 );//regsel //region select isnt in the paper mario update, but putting it here just to be safe - titles.insert( 0x1000248414341ull, 0x2 );//nigaoeNRv2 - MII - titles.insert( 0x1000248414141ull, 0x1 );//photov1 - titles.insert( 0x1000248414241ull, 0x4 );//shoppingv4 + //titles.insert( 0x100000001ull, 2 ); //boot2 + titles.insert( 0x100000002ull, 97 ); //sys menu + titles.insert( 0x10000000bull, 10 ); //11v10 + titles.insert( 0x10000000cull, 6 ); //12v6 + titles.insert( 0x10000000dull, 10 ); //13v10 + titles.insert( 0x10000000full, 257 ); //15v257 + titles.insert( 0x100000011ull, 512 ); //17v512 + titles.insert( 0x100000100ull, 0x2 ); //bcv2 + titles.insert( 0x100000101ull, 0x4 ); //miosv4 + titles.insert( 0x1000848414B45ull, 0 ); //EULA - HAKE + titles.insert( 0x1000848414C45ull, 1 ); //regsel //region select isnt in the paper mario update, but putting it here just to be safe + titles.insert( 0x1000248414341ull, 0x2 ); //nigaoeNRv2 - MII + titles.insert( 0x1000248414141ull, 0x1 ); //photov1 + titles.insert( 0x1000248414241ull, 0x4 ); //shoppingv4 return titles; } +QMap< quint64, quint16 > NusDownloader::List22u() +{ + QMap< quint64, quint16 > titles = List20u(); + titles.insert( 0x100000002ull, 193 ); //sys menu + titles.insert( 0x100000014ull, 12 ); //20v12 + titles.insert( 0x100000015ull, 514 ); //21v514 + titles.insert( 0x100000016ull, 777 ); //22v772 //should be getting v772 but it isnt available on NUS, get 777 instead + titles.insert( 0x10000001cull, 1292 ); //28v1228 //should be getting v1288 but it isnt on NUS + titles.insert( 0x1000248414645ull, 6 ); //forecast + titles.insert( 0x1000248414745ull, 6 ); //news_USv6 + titles.insert( 0x1000248414341ull, 3 ); //nigaoeNRv3 - MII + titles.insert( 0x1000248414241ull, 6 ); //shoppingv6 + return titles; +} + QMap< quint64, quint16 > NusDownloader::List30u() { - QMap< quint64, quint16 > titles = List20u(); - //( from GH3 ) - //titles.insert( 0x100000001ull, 2 );//boot2 - titles.insert( 0x100000002ull, 225 );//sys menu - titles.insert( 0x100000014ull, 12 );//20v12 - titles.insert( 0x100000015ull, 514 );//21v514 - titles.insert( 0x10000001eull, 1039 );//30v1039 - titles.insert( 0x10000001full, 1039 );//31v1039 - titles.insert( 0x100000100ull, 0x2 );//bcv2 - titles.insert( 0x1000848414B45ull, 0x2 );//EULA - HAKE - titles.insert( 0x1000248414645ull, 0x7 );//forecast - titles.insert( 0x1000248414745ull, 0x7 );//news_USv7 - titles.insert( 0x1000248414341ull, 0x4 );//nigaoeNRv4 - MII - titles.insert( 0x1000248414241ull, 0x7 );//shoppingv7 - return titles; + QMap< quint64, quint16 > titles = List22u(); + titles.insert( 0x100000002ull, 225 ); //sys menu + titles.insert( 0x10000001eull, 1039 ); //30v1039 + titles.insert( 0x10000001full, 1039 ); //31v1039 + titles.insert( 0x100000021ull, 1040 ); //33v1040 + titles.insert( 0x100000023ull, 1040 ); //35v1040 + titles.insert( 0x100000101ull, 5 ); //miosv5 + titles.insert( 0x1000848414B45ull, 0x2 ); //EULA - HAKE + titles.insert( 0x1000248414645ull, 0x7 ); //forecast + titles.insert( 0x1000248414745ull, 0x7 ); //news_USv7 + titles.insert( 0x1000248414241ull, 7 ); //shoppingv7 + return titles; } QMap< quint64, quint16 > NusDownloader::List31u() diff --git a/WiiQt/nusdownloader.h b/WiiQt/nusdownloader.h index 769e273..6f4b77c 100644 --- a/WiiQt/nusdownloader.h +++ b/WiiQt/nusdownloader.h @@ -58,7 +58,8 @@ public: //in the list, ask for it specifically. //lists are created from wiimpersonator logs when available. otherwise they come from examining game update partitions - static QMap< quint64, quint16 > List20u(); + static QMap< quint64, quint16 > List20u(); + static QMap< quint64, quint16 > List22u(); static QMap< quint64, quint16 > List30u(); static QMap< quint64, quint16 > List31u(); static QMap< quint64, quint16 > List32u(); @@ -69,7 +70,9 @@ public: static QMap< quint64, quint16 > List42u(); static QMap< quint64, quint16 > List43u(); - static QMap< quint64, quint16 > List21e(); + static QMap< quint64, quint16 > List20e(); + static QMap< quint64, quint16 > List21e(); + static QMap< quint64, quint16 > List22e(); //* there are no games ive seen that contain this update. this is just a guess static QMap< quint64, quint16 > List30e(); static QMap< quint64, quint16 > List31e(); static QMap< quint64, quint16 > List32e(); //* there are no games ive seen that contain this update, i have only copied 3.1e and changed the system menu @@ -85,7 +88,8 @@ public: static QMap< quint64, quint16 > List42k(); static QMap< quint64, quint16 > List43k(); - static QMap< quint64, quint16 > List20j(); + static QMap< quint64, quint16 > List20j(); + static QMap< quint64, quint16 > List22j();//* there are no games ive seen that contain this update, i have only copied 2.1e and changed the system menu static QMap< quint64, quint16 > List30j(); static QMap< quint64, quint16 > List31j(); static QMap< quint64, quint16 > List32j();//* there are no games ive seen that contain this update, i have only copied 3.1j and changed the system menu