From 07bb8ccc1db68ed2e47c52e3c5c621df925aafa5 Mon Sep 17 00:00:00 2001 From: Luke Street Date: Wed, 21 Feb 2024 23:13:35 -0700 Subject: [PATCH] Restore all functionality, split lib/bin & integrate redump validation --- .gitignore | 1 - Cargo.lock | 1016 ++ Cargo.toml | 63 +- build.rs | 9 - deny.toml | 4 +- nod/Cargo.toml | 39 + nod/src/disc/gcn.rs | 202 + {src => nod/src}/disc/hashes.rs | 10 +- {src => nod/src}/disc/mod.rs | 91 +- {src => nod/src}/disc/reader.rs | 107 +- nod/src/disc/wii.rs | 447 + {src => nod/src}/fst.rs | 0 {src => nod/src}/io/block.rs | 34 +- {src => nod/src}/io/ciso.rs | 18 +- {src => nod/src}/io/iso.rs | 14 +- {src => nod/src}/io/mod.rs | 68 + {src => nod/src}/io/nfs.rs | 17 +- {src => nod/src}/io/nkit.rs | 24 +- {src => nod/src}/io/split.rs | 0 {src => nod/src}/io/wbfs.rs | 18 +- {src => nod/src}/io/wia.rs | 83 +- {src => nod/src}/lib.rs | 87 +- {src => nod/src}/streams.rs | 0 {src => nod/src}/util/compress.rs | 0 {src => nod/src}/util/lfg.rs | 0 {src => nod/src}/util/mod.rs | 0 {src => nod/src}/util/read.rs | 0 {src => nod/src}/util/take_seek.rs | 0 nodtool/Cargo.toml | 46 + nodtool/assets/redump-gc.dat | 9958 +++++++++++++ nodtool/assets/redump-wii.dat | 18863 +++++++++++++++++++++++++ nodtool/build.rs | 109 + {src => nodtool/src}/argp_version.rs | 0 nodtool/src/digest.rs | 96 + src/bin.rs => nodtool/src/main.rs | 344 +- nodtool/src/redump.rs | 70 + src/disc/gcn.rs | 242 - src/disc/partition.rs | 177 - src/disc/wii.rs | 638 - 39 files changed, 31322 insertions(+), 1573 deletions(-) create mode 100644 Cargo.lock delete mode 100644 build.rs create mode 100644 nod/Cargo.toml create mode 100644 nod/src/disc/gcn.rs rename {src => nod/src}/disc/hashes.rs (96%) rename {src => nod/src}/disc/mod.rs (78%) rename {src => nod/src}/disc/reader.rs (70%) create mode 100644 nod/src/disc/wii.rs rename {src => nod/src}/fst.rs (100%) rename {src => nod/src}/io/block.rs (90%) rename {src => nod/src}/io/ciso.rs (89%) rename {src => nod/src}/io/iso.rs (78%) rename {src => nod/src}/io/mod.rs (62%) rename {src => nod/src}/io/nfs.rs (93%) rename {src => nod/src}/io/nkit.rs (91%) rename {src => nod/src}/io/split.rs (100%) rename {src => nod/src}/io/wbfs.rs (90%) rename {src => nod/src}/io/wia.rs (92%) rename {src => nod/src}/lib.rs (61%) rename {src => nod/src}/streams.rs (100%) rename {src => nod/src}/util/compress.rs (100%) rename {src => nod/src}/util/lfg.rs (100%) rename {src => nod/src}/util/mod.rs (100%) rename {src => nod/src}/util/read.rs (100%) rename {src => nod/src}/util/take_seek.rs (100%) create mode 100644 nodtool/Cargo.toml create mode 100644 nodtool/assets/redump-gc.dat create mode 100644 nodtool/assets/redump-wii.dat create mode 100644 nodtool/build.rs rename {src => nodtool/src}/argp_version.rs (100%) create mode 100644 nodtool/src/digest.rs rename src/bin.rs => nodtool/src/main.rs (67%) create mode 100644 nodtool/src/redump.rs delete mode 100644 src/disc/gcn.rs delete mode 100644 src/disc/partition.rs delete mode 100644 src/disc/wii.rs diff --git a/.gitignore b/.gitignore index b471067..3a8cabc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ /target -Cargo.lock .idea diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..e851ff4 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,1016 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "aho-corasick" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +dependencies = [ + "memchr", +] + +[[package]] +name = "argp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c16c577a1a3b720a90eb2127bd0ae61530a71064d1a6babaaaa87f6174b9f1" +dependencies = [ + "argp_derive", +] + +[[package]] +name = "argp_derive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe3763c8b5e0ef2f7d0df26daa671808cc75e2d81547f63ccca96bf045e41799" +dependencies = [ + "proc-macro2", + "pulldown-cmark", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "bitflags" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-padding" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" +dependencies = [ + "generic-array", +] + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bzip2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "cbc" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" +dependencies = [ + "cipher", +] + +[[package]] +name = "cc" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f9fa1897e4325be0d68d48df6aa1a71ac2ed4d27723887e7754192705350730" +dependencies = [ + "libc", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "console" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.52.0", +] + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dyn-clone" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d" + +[[package]] +name = "either" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" + +[[package]] +name = "enable-ansi-support" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa4ff3ae2a9aa54bf7ee0983e59303224de742818c1822d89f07da9856d9bc60" +dependencies = [ + "windows-sys 0.42.0", +] + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "encoding_rs" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getopts" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] + +[[package]] +name = "indicatif" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" +dependencies = [ + "console", + "instant", + "number_prefix", + "portable-atomic", + "unicode-width", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "block-padding", + "generic-array", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "is_ci" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.153" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" + +[[package]] +name = "liblzma" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "599133771f99c14ca089a8db3a4565f482ea6eeb66991b262bffc2b72acff69c" +dependencies = [ + "liblzma-sys", +] + +[[package]] +name = "liblzma-sys" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be9aaba5f9c8f8f615d41570909338b6284fbb1813dc057ecc68563d98a65097" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", + "md5-asm", +] + +[[package]] +name = "md5-asm" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61d33bc4cdfe5c60340e282bbbee0a6e2bc57f0b9279bb3489c5004d12492e5c" +dependencies = [ + "cc", +] + +[[package]] +name = "memchr" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" + +[[package]] +name = "nod" +version = "0.2.0" +dependencies = [ + "aes", + "base16ct", + "bzip2", + "cbc", + "digest", + "dyn-clone", + "encoding_rs", + "itertools", + "liblzma", + "log", + "rayon", + "sha1", + "thiserror", + "zerocopy", + "zstd", +] + +[[package]] +name = "nodtool" +version = "0.2.0" +dependencies = [ + "argp", + "base16ct", + "crc32fast", + "digest", + "enable-ansi-support", + "hex", + "indicatif", + "itertools", + "log", + "md-5", + "nod", + "quick-xml", + "serde", + "sha1", + "size", + "supports-color", + "tracing", + "tracing-attributes", + "tracing-subscriber", + "xxhash-rust", + "zerocopy", +] + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "number_prefix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "portable-atomic" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" + +[[package]] +name = "proc-macro2" +version = "1.0.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "pulldown-cmark" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" +dependencies = [ + "bitflags", + "getopts", + "memchr", + "unicase", +] + +[[package]] +name = "quick-xml" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rayon" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "regex" +version = "1.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.5", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + +[[package]] +name = "serde" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", + "sha1-asm", +] + +[[package]] +name = "sha1-asm" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ba6947745e7f86be3b8af00b7355857085dbdf8901393c89514510eb61f4e21" +dependencies = [ + "cc", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "size" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fed904c7fb2856d868b92464fc8fa597fce366edea1a9cbfaa8cb5fe080bd6d" + +[[package]] +name = "smallvec" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" + +[[package]] +name = "supports-color" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9829b314621dfc575df4e409e79f9d6a66a3bd707ab73f23cb4aa3a854ac854f" +dependencies = [ + "is_ci", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "1.0.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-width" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" + +[[package]] +name = "xxhash-rust" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927da81e25be1e1a2901d59b81b37dd2efd1fc9c9345a55007f09bf5a2d3ee03" + +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "zstd" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e" +dependencies = [ + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.9+zstd.1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" +dependencies = [ + "cc", + "pkg-config", +] diff --git a/Cargo.toml b/Cargo.toml index 9be9b00..1c1d8e4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,65 +1,8 @@ -[package] -name = "nod" -version = "0.2.0" -edition = "2021" -rust-version = "1.59.0" -authors = ["Luke Street "] -license = "MIT OR Apache-2.0" -repository = "https://github.com/encounter/nod-rs" -documentation = "https://docs.rs/nod" -readme = "README.md" -description = """ -Rust library and CLI tool for reading GameCube and Wii disc images. -""" -keywords = ["gamecube", "wii", "iso", "nfs", "rvz"] -categories = ["command-line-utilities", "parser-implementations"] -build = "build.rs" - -[[bin]] -name = "nodtool" -path = "src/bin.rs" - -[profile.release] -debug = true +[workspace] +members = ["nod", "nodtool"] +resolver = "2" [profile.release-lto] inherits = "release" lto = "thin" strip = "debuginfo" - -[features] -default = ["compress-bzip2", "compress-lzma", "compress-zstd"] -asm = ["md-5/asm", "sha1/asm"] -compress-bzip2 = ["bzip2"] -compress-lzma = ["liblzma"] -compress-zstd = ["zstd"] -nightly = ["crc32fast/nightly"] - -[dependencies] -aes = "0.8.4" -argh_derive = "0.1.12" -argp = "0.3.0" -base16ct = "0.2.0" -bzip2 = { version = "0.4.4", features = ["static"], optional = true } -cbc = "0.1.2" -crc32fast = "1.4.0" -digest = "0.10.7" -dyn-clone = "1.0.16" -enable-ansi-support = "0.2.1" -encoding_rs = "0.8.33" -file-size = "1.0.3" -indicatif = "0.17.8" -itertools = "0.12.1" -liblzma = { git = "https://github.com/encounter/liblzma-rs.git", rev = "ce29b22", features = ["static"], optional = true } -log = "0.4.20" -md-5 = "0.10.6" -rayon = "1.8.1" -sha1 = "0.10.6" -supports-color = "3.0.0" -thiserror = "1.0.57" -tracing = "0.1.40" -tracing-attributes = "0.1.27" -tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } -xxhash-rust = { version = "0.8.8", features = ["xxh64"] } -zerocopy = { version = "0.7.32", features = ["alloc", "derive"] } -zstd = { version = "0.13.0", optional = true } diff --git a/build.rs b/build.rs deleted file mode 100644 index a488c56..0000000 --- a/build.rs +++ /dev/null @@ -1,9 +0,0 @@ -fn main() { - let output = std::process::Command::new("git") - .args(["rev-parse", "HEAD"]) - .output() - .expect("Failed to execute git"); - let rev = String::from_utf8(output.stdout).expect("Failed to parse git output"); - println!("cargo:rustc-env=GIT_COMMIT_SHA={rev}"); - println!("cargo:rustc-rerun-if-changed=.git/HEAD"); -} diff --git a/deny.toml b/deny.toml index 12d337b..33ec7b6 100644 --- a/deny.toml +++ b/deny.toml @@ -74,6 +74,8 @@ allow = [ "Apache-2.0", "BSD-3-Clause", "Unicode-DFS-2016", + "BSL-1.0", + "ISC", ] # List of explictly disallowed licenses # See https://spdx.org/licenses/ for list of possible licenses @@ -197,7 +199,7 @@ allow-git = [] [sources.allow-org] # 1 or more github.com organizations to allow git sources for -#github = [""] +github = ["encounter"] # 1 or more gitlab.com organizations to allow git sources for #gitlab = [""] # 1 or more bitbucket.org organizations to allow git sources for diff --git a/nod/Cargo.toml b/nod/Cargo.toml new file mode 100644 index 0000000..b04dbab --- /dev/null +++ b/nod/Cargo.toml @@ -0,0 +1,39 @@ +[package] +name = "nod" +version = "0.2.0" +edition = "2021" +rust-version = "1.59.0" +authors = ["Luke Street "] +license = "MIT OR Apache-2.0" +repository = "https://github.com/encounter/nod-rs" +documentation = "https://docs.rs/nod" +readme = "../README.md" +description = """ +Library for reading GameCube and Wii disc images. +""" +keywords = ["gamecube", "wii", "iso", "wbfs", "rvz"] +categories = ["command-line-utilities", "parser-implementations"] + +[features] +default = ["compress-bzip2", "compress-lzma", "compress-zstd"] +asm = ["sha1/asm"] +compress-bzip2 = ["bzip2"] +compress-lzma = ["liblzma"] +compress-zstd = ["zstd"] + +[dependencies] +aes = "0.8.4" +base16ct = "0.2.0" +bzip2 = { version = "0.4.4", features = ["static"], optional = true } +cbc = "0.1.2" +digest = "0.10.7" +dyn-clone = "1.0.16" +encoding_rs = "0.8.33" +itertools = "0.12.1" +liblzma = { version = "0.2.3", features = ["static"], optional = true } +log = "0.4.20" +rayon = "1.8.1" +sha1 = "0.10.6" +thiserror = "1.0.57" +zerocopy = { version = "0.7.32", features = ["alloc", "derive"] } +zstd = { version = "0.13.0", optional = true } diff --git a/nod/src/disc/gcn.rs b/nod/src/disc/gcn.rs new file mode 100644 index 0000000..aa8d83c --- /dev/null +++ b/nod/src/disc/gcn.rs @@ -0,0 +1,202 @@ +use std::{ + cmp::min, + io, + io::{Read, Seek, SeekFrom}, + mem::size_of, +}; + +use zerocopy::{FromBytes, FromZeroes}; + +use crate::{ + disc::{ + AppLoaderHeader, DiscHeader, DolHeader, PartitionBase, PartitionHeader, PartitionMeta, + BI2_SIZE, BOOT_SIZE, SECTOR_SIZE, + }, + fst::{Node, NodeKind}, + io::block::{Block, BlockIO}, + streams::{ReadStream, SharedWindowedReadStream}, + util::read::{read_box, read_box_slice, read_vec}, + Result, ResultContext, +}; + +pub struct PartitionGC { + io: Box, + block: Option, + block_buf: Box<[u8]>, + block_idx: u32, + sector_buf: Box<[u8; SECTOR_SIZE]>, + sector: u32, + pos: u64, + disc_header: Box, +} + +impl Clone for PartitionGC { + fn clone(&self) -> Self { + Self { + io: self.io.clone(), + block: None, + block_buf: ::new_box_slice_zeroed(self.block_buf.len()), + block_idx: u32::MAX, + sector_buf: <[u8; SECTOR_SIZE]>::new_box_zeroed(), + sector: u32::MAX, + pos: 0, + disc_header: self.disc_header.clone(), + } + } +} + +impl PartitionGC { + pub fn new(inner: Box, disc_header: Box) -> Result> { + let block_size = inner.block_size(); + Ok(Box::new(Self { + io: inner, + block: None, + block_buf: ::new_box_slice_zeroed(block_size as usize), + block_idx: u32::MAX, + sector_buf: <[u8; SECTOR_SIZE]>::new_box_zeroed(), + sector: u32::MAX, + pos: 0, + disc_header, + })) + } + + pub fn into_inner(self) -> Box { self.io } +} + +impl Read for PartitionGC { + fn read(&mut self, buf: &mut [u8]) -> io::Result { + let sector = (self.pos / SECTOR_SIZE as u64) as u32; + let block_idx = (sector as u64 * SECTOR_SIZE as u64 / self.block_buf.len() as u64) as u32; + + // Read new block if necessary + if block_idx != self.block_idx { + self.block = self.io.read_block(self.block_buf.as_mut(), block_idx, None)?; + self.block_idx = block_idx; + } + + // Copy sector if necessary + if sector != self.sector { + let Some(block) = &self.block else { + return Ok(0); + }; + block.copy_raw( + self.sector_buf.as_mut(), + self.block_buf.as_ref(), + block_idx, + sector, + &self.disc_header, + )?; + self.sector = sector; + } + + let offset = (self.pos % SECTOR_SIZE as u64) as usize; + let len = min(buf.len(), SECTOR_SIZE - offset); + buf[..len].copy_from_slice(&self.sector_buf[offset..offset + len]); + self.pos += len as u64; + Ok(len) + } +} + +impl Seek for PartitionGC { + fn seek(&mut self, pos: SeekFrom) -> io::Result { + self.pos = match pos { + SeekFrom::Start(v) => v, + SeekFrom::End(_) => { + return Err(io::Error::new( + io::ErrorKind::Unsupported, + "GCPartitionReader: SeekFrom::End is not supported".to_string(), + )); + } + SeekFrom::Current(v) => self.pos.saturating_add_signed(v), + }; + Ok(self.pos) + } +} + +impl PartitionBase for PartitionGC { + fn meta(&mut self) -> Result> { + self.seek(SeekFrom::Start(0)).context("Seeking to partition metadata")?; + read_part_meta(self, false) + } + + fn open_file(&mut self, node: &Node) -> io::Result { + assert_eq!(node.kind(), NodeKind::File); + self.new_window(node.offset(false), node.length(false)) + } + + fn ideal_buffer_size(&self) -> usize { SECTOR_SIZE } +} + +pub(crate) fn read_part_meta( + reader: &mut dyn ReadStream, + is_wii: bool, +) -> Result> { + // boot.bin + let raw_boot: Box<[u8; BOOT_SIZE]> = read_box(reader).context("Reading boot.bin")?; + let partition_header = PartitionHeader::ref_from(&raw_boot[size_of::()..]).unwrap(); + + // bi2.bin + let raw_bi2: Box<[u8; BI2_SIZE]> = read_box(reader).context("Reading bi2.bin")?; + + // apploader.bin + let mut raw_apploader: Vec = + read_vec(reader, size_of::()).context("Reading apploader header")?; + let apploader_header = AppLoaderHeader::ref_from(raw_apploader.as_slice()).unwrap(); + raw_apploader.resize( + size_of::() + + apploader_header.size.get() as usize + + apploader_header.trailer_size.get() as usize, + 0, + ); + reader + .read_exact(&mut raw_apploader[size_of::()..]) + .context("Reading apploader")?; + + // fst.bin + reader + .seek(SeekFrom::Start(partition_header.fst_off(is_wii))) + .context("Seeking to FST offset")?; + let raw_fst: Box<[u8]> = read_box_slice(reader, partition_header.fst_sz(is_wii) as usize) + .with_context(|| { + format!( + "Reading partition FST (offset {}, size {})", + partition_header.fst_off, partition_header.fst_sz + ) + })?; + + // main.dol + reader + .seek(SeekFrom::Start(partition_header.dol_off(is_wii))) + .context("Seeking to DOL offset")?; + let mut raw_dol: Vec = + read_vec(reader, size_of::()).context("Reading DOL header")?; + let dol_header = DolHeader::ref_from(raw_dol.as_slice()).unwrap(); + let dol_size = dol_header + .text_offs + .iter() + .zip(&dol_header.text_sizes) + .map(|(offs, size)| offs.get() + size.get()) + .chain( + dol_header + .data_offs + .iter() + .zip(&dol_header.data_sizes) + .map(|(offs, size)| offs.get() + size.get()), + ) + .max() + .unwrap_or(size_of::() as u32); + raw_dol.resize(dol_size as usize, 0); + reader.read_exact(&mut raw_dol[size_of::()..]).context("Reading DOL")?; + + Ok(Box::new(PartitionMeta { + raw_boot, + raw_bi2, + raw_apploader: raw_apploader.into_boxed_slice(), + raw_fst, + raw_dol: raw_dol.into_boxed_slice(), + raw_ticket: None, + raw_tmd: None, + raw_cert_chain: None, + raw_h3_table: None, + })) +} diff --git a/src/disc/hashes.rs b/nod/src/disc/hashes.rs similarity index 96% rename from src/disc/hashes.rs rename to nod/src/disc/hashes.rs index 2f44d67..c8ba3fb 100644 --- a/src/disc/hashes.rs +++ b/nod/src/disc/hashes.rs @@ -11,13 +11,12 @@ use zerocopy::FromZeroes; use crate::{ array_ref, array_ref_mut, disc::{ - partition::PartitionReader, reader::DiscReader, wii::{HASHES_SIZE, SECTOR_DATA_SIZE}, }, io::HashBytes, util::read::read_box_slice, - Result, ResultContext, SECTOR_SIZE, + OpenOptions, Result, ResultContext, SECTOR_SIZE, }; /// In a sector, following the 0x400 byte block of hashes, each 0x400 bytes of decrypted data is @@ -88,8 +87,9 @@ pub fn rebuild_hashes(reader: &mut DiscReader) -> Result<()> { zero_h1_hash.update(zero_h0_hash); } - let mut hash_tables = Vec::with_capacity(reader.partitions.len()); - for part in &reader.partitions { + let partitions = reader.partitions(); + let mut hash_tables = Vec::with_capacity(partitions.len()); + for part in partitions { let part_sectors = part.data_end_sector - part.data_start_sector; let hash_table = HashTable::new(part_sectors); log::debug!( @@ -102,7 +102,7 @@ pub fn rebuild_hashes(reader: &mut DiscReader) -> Result<()> { let group_count = hash_table.h3_hashes.len(); let mutex = Arc::new(Mutex::new(hash_table)); (0..group_count).into_par_iter().try_for_each_with( - (PartitionReader::new(reader.io.clone(), part)?, mutex.clone()), + (reader.open_partition(part.index, &OpenOptions::default())?, mutex.clone()), |(stream, mutex), h3_index| -> Result<()> { let mut result = HashResult::new_box_zeroed(); let mut data_buf = ::new_box_slice_zeroed(SECTOR_DATA_SIZE); diff --git a/src/disc/mod.rs b/nod/src/disc/mod.rs similarity index 78% rename from src/disc/mod.rs rename to nod/src/disc/mod.rs index de234a2..682cfb8 100644 --- a/src/disc/mod.rs +++ b/nod/src/disc/mod.rs @@ -9,25 +9,20 @@ use std::{ str::from_utf8, }; +use dyn_clone::DynClone; use zerocopy::{big_endian::*, AsBytes, FromBytes, FromZeroes}; use crate::{ - disc::{ - gcn::DiscGCN, - wii::{DiscWii, Ticket, TmdHeader, WiiPartitionHeader}, - }, + disc::wii::{Ticket, TmdHeader}, fst::Node, - io::DiscIO, static_assert, streams::{ReadStream, SharedWindowedReadStream}, - util::read::read_from, - Error, Fst, OpenOptions, Result, ResultContext, + Fst, Result, }; pub(crate) mod gcn; pub(crate) mod hashes; -pub mod partition; -pub mod reader; +pub(crate) mod reader; pub(crate) mod wii; pub const SECTOR_SIZE: usize = 0x8000; @@ -251,82 +246,8 @@ impl From for PartitionKind { } } -/// Information about a GameCube or Wii disc partition. -#[derive(Debug, Clone)] -pub struct PartitionInfo { - /// Partition group index - pub group_index: u32, - /// Partition index within the group - pub part_index: u32, - /// Partition offset within disc - pub part_offset: u64, - /// Partition kind - pub kind: PartitionKind, - /// Data offset within partition - pub data_offset: u64, - /// Data size - pub data_size: u64, - /// Raw Wii partition header - pub header: Option, - /// Lagged Fibonacci generator seed (for junk data) - pub lfg_seed: [u8; 4], - // /// Junk data start offset - // pub junk_start: u64, -} - -/// Contains a disc's header & partition information. -pub trait DiscBase: Send + Sync { - /// Retrieves the disc's header. - fn header(&self) -> &DiscHeader; - - /// A list of partitions on the disc. - fn partitions(&self) -> Vec; - - /// Opens a new, decrypted partition read stream for the specified partition index. - /// - /// `validate_hashes`: Validate Wii disc hashes while reading (slow!) - fn open_partition<'a>( - &self, - disc_io: &'a dyn DiscIO, - index: usize, - options: &OpenOptions, - ) -> Result>; - - /// Opens a new partition read stream for the first partition matching - /// the specified type. - /// - /// `validate_hashes`: Validate Wii disc hashes while reading (slow!) - fn open_partition_kind<'a>( - &self, - disc_io: &'a dyn DiscIO, - part_type: PartitionKind, - options: &OpenOptions, - ) -> Result>; - - /// The disc's size in bytes, or an estimate if not stored by the format. - fn disc_size(&self) -> u64; -} - -/// Creates a new [`DiscBase`] instance. -pub fn new(disc_io: &mut dyn DiscIO) -> Result> { - let disc_size = disc_io.disc_size(); - let mut stream = disc_io.open()?; - let header: DiscHeader = read_from(stream.as_mut()).context("Reading disc header")?; - if header.is_wii() { - Ok(Box::new(DiscWii::new(stream.as_mut(), header, disc_size)?)) - } else if header.is_gamecube() { - Ok(Box::new(DiscGCN::new(stream.as_mut(), header, disc_size)?)) - } else { - Err(Error::DiscFormat(format!( - "Invalid GC/Wii magic: {:#010X}/{:#010X}", - header.gcn_magic.get(), - header.wii_magic.get() - ))) - } -} - /// An open read stream for a disc partition. -pub trait PartitionBase: ReadStream { +pub trait PartitionBase: DynClone + ReadStream + Send + Sync { /// Reads the partition header and file system table. fn meta(&mut self) -> Result>; @@ -366,6 +287,8 @@ pub trait PartitionBase: ReadStream { fn ideal_buffer_size(&self) -> usize; } +dyn_clone::clone_trait_object!(PartitionBase); + /// Size of the disc header and partition header (boot.bin) pub const BOOT_SIZE: usize = size_of::() + size_of::(); /// Size of the debug and region information (bi2.bin) diff --git a/src/disc/reader.rs b/nod/src/disc/reader.rs similarity index 70% rename from src/disc/reader.rs rename to nod/src/disc/reader.rs index 50c8747..fb647ab 100644 --- a/src/disc/reader.rs +++ b/nod/src/disc/reader.rs @@ -8,14 +8,15 @@ use zerocopy::FromZeroes; use crate::{ disc::{ + gcn::PartitionGC, hashes::{rebuild_hashes, HashTable}, - partition::PartitionReader, - wii::{WiiPartEntry, WiiPartGroup, WiiPartitionHeader, WII_PART_GROUP_OFF}, + wii::{PartitionWii, WiiPartEntry, WiiPartGroup, WiiPartitionHeader, WII_PART_GROUP_OFF}, DL_DVD_SIZE, MINI_DVD_SIZE, SL_DVD_SIZE, }, - io::block::{BPartitionInfo, Block, BlockIO}, + io::block::{Block, BlockIO, PartitionInfo}, util::read::{read_box, read_from, read_vec}, - DiscHeader, Error, PartitionHeader, PartitionKind, Result, ResultContext, SECTOR_SIZE, + DiscHeader, DiscMeta, Error, OpenOptions, PartitionBase, PartitionHeader, PartitionKind, + Result, ResultContext, SECTOR_SIZE, }; #[derive(Debug, Eq, PartialEq, Copy, Clone)] @@ -25,7 +26,7 @@ pub enum EncryptionMode { } pub struct DiscReader { - pub(crate) io: Box, + io: Box, block: Option, block_buf: Box<[u8]>, block_idx: u32, @@ -34,7 +35,7 @@ pub struct DiscReader { pos: u64, mode: EncryptionMode, disc_header: Box, - pub(crate) partitions: Vec, + pub(crate) partitions: Vec, hash_tables: Vec, } @@ -57,9 +58,9 @@ impl Clone for DiscReader { } impl DiscReader { - pub fn new(inner: Box, mode: EncryptionMode) -> Result { + pub fn new(inner: Box, options: &OpenOptions) -> Result { let block_size = inner.block_size(); - let meta = inner.meta()?; + let meta = inner.meta(); let mut reader = Self { io: inner, block: None, @@ -68,7 +69,11 @@ impl DiscReader { sector_buf: <[u8; SECTOR_SIZE]>::new_box_zeroed(), sector_idx: u32::MAX, pos: 0, - mode, + mode: if options.rebuild_encryption { + EncryptionMode::Encrypted + } else { + EncryptionMode::Decrypted + }, disc_header: DiscHeader::new_box_zeroed(), partitions: vec![], hash_tables: vec![], @@ -78,7 +83,7 @@ impl DiscReader { if reader.disc_header.is_wii() { reader.partitions = read_partition_info(&mut reader)?; // Rebuild hashes if the format requires it - if mode == EncryptionMode::Encrypted && meta.needs_hash_recovery { + if options.rebuild_encryption && meta.needs_hash_recovery { rebuild_hashes(&mut reader)?; } } @@ -96,16 +101,53 @@ impl DiscReader { } pub fn disc_size(&self) -> u64 { - self.io - .meta() - .ok() - .and_then(|m| m.disc_size) - .unwrap_or_else(|| guess_disc_size(&self.partitions)) + self.io.meta().disc_size.unwrap_or_else(|| guess_disc_size(&self.partitions)) } pub fn header(&self) -> &DiscHeader { &self.disc_header } - pub fn partitions(&self) -> &[BPartitionInfo] { &self.partitions } + pub fn partitions(&self) -> &[PartitionInfo] { &self.partitions } + + pub fn meta(&self) -> DiscMeta { self.io.meta() } + + /// Opens a new, decrypted partition read stream for the specified partition index. + pub fn open_partition( + &self, + index: usize, + options: &OpenOptions, + ) -> Result> { + if self.disc_header.is_gamecube() { + if index == 0 { + Ok(PartitionGC::new(self.io.clone(), self.disc_header.clone())?) + } else { + Err(Error::DiscFormat("GameCube discs only have one partition".to_string())) + } + } else if let Some(part) = self.partitions.get(index) { + Ok(PartitionWii::new(self.io.clone(), self.disc_header.clone(), part, options)?) + } else { + Err(Error::DiscFormat(format!("Partition {index} not found"))) + } + } + + /// Opens a new, decrypted partition read stream for the first partition matching + /// the specified type. + pub fn open_partition_kind( + &self, + part_type: PartitionKind, + options: &OpenOptions, + ) -> Result> { + if self.disc_header.is_gamecube() { + if part_type == PartitionKind::Data { + Ok(PartitionGC::new(self.io.clone(), self.disc_header.clone())?) + } else { + Err(Error::DiscFormat("GameCube discs only have a data partition".to_string())) + } + } else if let Some(part) = self.partitions.iter().find(|v| v.kind == part_type) { + Ok(PartitionWii::new(self.io.clone(), self.disc_header.clone(), part, options)?) + } else { + Err(Error::DiscFormat(format!("Partition type {part_type} not found"))) + } + } } impl Read for DiscReader { @@ -135,14 +177,14 @@ impl Read for DiscReader { if let Some(partition) = partition { match self.mode { EncryptionMode::Decrypted => block.decrypt( - &mut self.sector_buf, + self.sector_buf.as_mut(), self.block_buf.as_ref(), block_idx, abs_sector, partition, )?, EncryptionMode::Encrypted => block.encrypt( - &mut self.sector_buf, + self.sector_buf.as_mut(), self.block_buf.as_ref(), block_idx, abs_sector, @@ -151,7 +193,7 @@ impl Read for DiscReader { } } else { block.copy_raw( - &mut self.sector_buf, + self.sector_buf.as_mut(), self.block_buf.as_ref(), block_idx, abs_sector, @@ -186,26 +228,26 @@ impl Seek for DiscReader { } } -fn read_partition_info(stream: &mut DiscReader) -> crate::Result> { - stream.seek(SeekFrom::Start(WII_PART_GROUP_OFF)).context("Seeking to partition groups")?; - let part_groups: [WiiPartGroup; 4] = read_from(stream).context("Reading partition groups")?; +fn read_partition_info(reader: &mut DiscReader) -> crate::Result> { + reader.seek(SeekFrom::Start(WII_PART_GROUP_OFF)).context("Seeking to partition groups")?; + let part_groups: [WiiPartGroup; 4] = read_from(reader).context("Reading partition groups")?; let mut part_info = Vec::new(); for (group_idx, group) in part_groups.iter().enumerate() { let part_count = group.part_count.get(); if part_count == 0 { continue; } - stream + reader .seek(SeekFrom::Start(group.part_entry_off())) .with_context(|| format!("Seeking to partition group {group_idx}"))?; - let entries: Vec = read_vec(stream, part_count as usize) + let entries: Vec = read_vec(reader, part_count as usize) .with_context(|| format!("Reading partition group {group_idx}"))?; for (part_idx, entry) in entries.iter().enumerate() { let offset = entry.offset(); - stream + reader .seek(SeekFrom::Start(offset)) .with_context(|| format!("Seeking to partition data {group_idx}:{part_idx}"))?; - let header: Box = read_box(stream) + let header: Box = read_box(reader) .with_context(|| format!("Reading partition header {group_idx}:{part_idx}"))?; let key = header.ticket.decrypt_title_key()?; @@ -224,8 +266,8 @@ fn read_partition_info(stream: &mut DiscReader) -> crate::Result crate::Result crate::Result u64 { +fn guess_disc_size(part_info: &[PartitionInfo]) -> u64 { let max_offset = part_info .iter() .flat_map(|v| { diff --git a/nod/src/disc/wii.rs b/nod/src/disc/wii.rs new file mode 100644 index 0000000..fef3107 --- /dev/null +++ b/nod/src/disc/wii.rs @@ -0,0 +1,447 @@ +use std::{ + cmp::min, + ffi::CStr, + io, + io::{Read, Seek, SeekFrom}, + mem::size_of, +}; + +use sha1::{digest, Digest, Sha1}; +use zerocopy::{big_endian::*, AsBytes, FromBytes, FromZeroes}; + +use crate::{ + array_ref, + disc::{ + gcn::{read_part_meta, PartitionGC}, + PartitionBase, PartitionKind, PartitionMeta, SECTOR_SIZE, + }, + fst::{Node, NodeKind}, + io::{ + aes_decrypt, + block::{Block, BlockIO, PartitionInfo}, + KeyBytes, + }, + static_assert, + streams::{ReadStream, SharedWindowedReadStream}, + util::{div_rem, read::read_box_slice}, + DiscHeader, Error, OpenOptions, Result, ResultContext, +}; + +pub(crate) const HASHES_SIZE: usize = 0x400; +pub(crate) const SECTOR_DATA_SIZE: usize = SECTOR_SIZE - HASHES_SIZE; // 0x7C00 + +// ppki (Retail) +const RVL_CERT_ISSUER_PPKI_TICKET: &str = "Root-CA00000001-XS00000003"; +#[rustfmt::skip] +const RETAIL_COMMON_KEYS: [KeyBytes; 3] = [ + /* RVL_KEY_RETAIL */ + [0xeb, 0xe4, 0x2a, 0x22, 0x5e, 0x85, 0x93, 0xe4, 0x48, 0xd9, 0xc5, 0x45, 0x73, 0x81, 0xaa, 0xf7], + /* RVL_KEY_KOREAN */ + [0x63, 0xb8, 0x2b, 0xb4, 0xf4, 0x61, 0x4e, 0x2e, 0x13, 0xf2, 0xfe, 0xfb, 0xba, 0x4c, 0x9b, 0x7e], + /* vWii_KEY_RETAIL */ + [0x30, 0xbf, 0xc7, 0x6e, 0x7c, 0x19, 0xaf, 0xbb, 0x23, 0x16, 0x33, 0x30, 0xce, 0xd7, 0xc2, 0x8d], +]; + +// dpki (Debug) +const RVL_CERT_ISSUER_DPKI_TICKET: &str = "Root-CA00000002-XS00000006"; +#[rustfmt::skip] +const DEBUG_COMMON_KEYS: [KeyBytes; 3] = [ + /* RVL_KEY_DEBUG */ + [0xa1, 0x60, 0x4a, 0x6a, 0x71, 0x23, 0xb5, 0x29, 0xae, 0x8b, 0xec, 0x32, 0xc8, 0x16, 0xfc, 0xaa], + /* RVL_KEY_KOREAN_DEBUG */ + [0x67, 0x45, 0x8b, 0x6b, 0xc6, 0x23, 0x7b, 0x32, 0x69, 0x98, 0x3c, 0x64, 0x73, 0x48, 0x33, 0x66], + /* vWii_KEY_DEBUG */ + [0x2f, 0x5c, 0x1b, 0x29, 0x44, 0xe7, 0xfd, 0x6f, 0xc3, 0x97, 0x96, 0x4b, 0x05, 0x76, 0x91, 0xfa], +]; + +#[derive(Debug, PartialEq, FromBytes, FromZeroes, AsBytes)] +#[repr(C, align(4))] +pub(crate) struct WiiPartEntry { + pub(crate) offset: U32, + pub(crate) kind: U32, +} + +static_assert!(size_of::() == 8); + +impl WiiPartEntry { + pub(crate) fn offset(&self) -> u64 { (self.offset.get() as u64) << 2 } +} + +#[derive(Debug, PartialEq)] +pub(crate) struct WiiPartInfo { + pub(crate) group_idx: u32, + pub(crate) part_idx: u32, + pub(crate) offset: u64, + pub(crate) kind: PartitionKind, + pub(crate) header: WiiPartitionHeader, + pub(crate) junk_id: [u8; 4], + pub(crate) junk_start: u64, + pub(crate) title_key: KeyBytes, +} + +pub(crate) const WII_PART_GROUP_OFF: u64 = 0x40000; + +#[derive(Debug, PartialEq, FromBytes, FromZeroes, AsBytes)] +#[repr(C, align(4))] +pub(crate) struct WiiPartGroup { + pub(crate) part_count: U32, + pub(crate) part_entry_off: U32, +} + +static_assert!(size_of::() == 8); + +impl WiiPartGroup { + pub(crate) fn part_entry_off(&self) -> u64 { (self.part_entry_off.get() as u64) << 2 } +} + +#[derive(Debug, Clone, PartialEq, FromBytes, FromZeroes, AsBytes)] +#[repr(C, align(4))] +pub struct SignedHeader { + /// Signature type, always 0x00010001 (RSA-2048) + pub sig_type: U32, + /// RSA-2048 signature + pub sig: [u8; 256], + _pad: [u8; 60], +} + +static_assert!(size_of::() == 0x140); + +#[derive(Debug, Clone, PartialEq, Default, FromBytes, FromZeroes, AsBytes)] +#[repr(C, align(4))] +pub struct TicketTimeLimit { + pub enable_time_limit: U32, + pub time_limit: U32, +} + +static_assert!(size_of::() == 8); + +#[derive(Debug, Clone, PartialEq, FromBytes, FromZeroes, AsBytes)] +#[repr(C, align(4))] +pub struct Ticket { + pub header: SignedHeader, + pub sig_issuer: [u8; 64], + pub ecdh: [u8; 60], + pub version: u8, + _pad1: U16, + pub title_key: KeyBytes, + _pad2: u8, + pub ticket_id: [u8; 8], + pub console_id: [u8; 4], + pub title_id: [u8; 8], + _pad3: U16, + pub ticket_title_version: U16, + pub permitted_titles_mask: U32, + pub permit_mask: U32, + pub title_export_allowed: u8, + pub common_key_idx: u8, + _pad4: [u8; 48], + pub content_access_permissions: [u8; 64], + _pad5: [u8; 2], + pub time_limits: [TicketTimeLimit; 8], +} + +static_assert!(size_of::() == 0x2A4); + +impl Ticket { + pub fn decrypt_title_key(&self) -> Result { + let mut iv: KeyBytes = [0; 16]; + iv[..8].copy_from_slice(&self.title_id); + let cert_issuer_ticket = + CStr::from_bytes_until_nul(&self.sig_issuer).ok().and_then(|c| c.to_str().ok()); + let common_keys = match cert_issuer_ticket { + Some(RVL_CERT_ISSUER_PPKI_TICKET) => &RETAIL_COMMON_KEYS, + Some(RVL_CERT_ISSUER_DPKI_TICKET) => &DEBUG_COMMON_KEYS, + Some(v) => { + return Err(Error::DiscFormat(format!("unknown certificate issuer {:?}", v))); + } + None => { + return Err(Error::DiscFormat("failed to parse certificate issuer".to_string())); + } + }; + let common_key = common_keys.get(self.common_key_idx as usize).ok_or(Error::DiscFormat( + format!("unknown common key index {}", self.common_key_idx), + ))?; + let mut title_key = self.title_key; + aes_decrypt(common_key, iv, &mut title_key); + Ok(title_key) + } +} + +#[derive(Debug, Clone, PartialEq, FromBytes, FromZeroes, AsBytes)] +#[repr(C, align(4))] +pub struct TmdHeader { + pub header: SignedHeader, + pub sig_issuer: [u8; 64], + pub version: u8, + pub ca_crl_version: u8, + pub signer_crl_version: u8, + pub is_vwii: u8, + pub ios_id: [u8; 8], + pub title_id: [u8; 8], + pub title_type: u32, + pub group_id: U16, + _pad1: [u8; 2], + pub region: U16, + pub ratings: KeyBytes, + _pad2: [u8; 12], + pub ipc_mask: [u8; 12], + _pad3: [u8; 18], + pub access_flags: U32, + pub title_version: U16, + pub num_contents: U16, + pub boot_idx: U16, + pub minor_version: U16, +} + +static_assert!(size_of::() == 0x1E4); + +pub const H3_TABLE_SIZE: usize = 0x18000; + +#[derive(Debug, Clone, PartialEq, FromBytes, FromZeroes, AsBytes)] +#[repr(C, align(4))] +pub struct WiiPartitionHeader { + pub ticket: Ticket, + tmd_size: U32, + tmd_off: U32, + cert_chain_size: U32, + cert_chain_off: U32, + h3_table_off: U32, + data_off: U32, + data_size: U32, +} + +static_assert!(size_of::() == 0x2C0); + +impl WiiPartitionHeader { + pub fn tmd_size(&self) -> u64 { self.tmd_size.get() as u64 } + + pub fn tmd_off(&self) -> u64 { (self.tmd_off.get() as u64) << 2 } + + pub fn cert_chain_size(&self) -> u64 { self.cert_chain_size.get() as u64 } + + pub fn cert_chain_off(&self) -> u64 { (self.cert_chain_off.get() as u64) << 2 } + + pub fn h3_table_off(&self) -> u64 { (self.h3_table_off.get() as u64) << 2 } + + pub fn h3_table_size(&self) -> u64 { H3_TABLE_SIZE as u64 } + + pub fn data_off(&self) -> u64 { (self.data_off.get() as u64) << 2 } + + pub fn data_size(&self) -> u64 { (self.data_size.get() as u64) << 2 } +} + +pub struct PartitionWii { + io: Box, + partition: PartitionInfo, + block: Option, + block_buf: Box<[u8]>, + block_idx: u32, + sector_buf: Box<[u8; SECTOR_SIZE]>, + sector: u32, + pos: u64, + verify: bool, + raw_tmd: Box<[u8]>, + raw_cert_chain: Box<[u8]>, + raw_h3_table: Box<[u8]>, +} + +impl Clone for PartitionWii { + fn clone(&self) -> Self { + Self { + io: self.io.clone(), + partition: self.partition.clone(), + block: None, + block_buf: ::new_box_slice_zeroed(self.block_buf.len()), + block_idx: u32::MAX, + sector_buf: <[u8; SECTOR_SIZE]>::new_box_zeroed(), + sector: u32::MAX, + pos: 0, + verify: self.verify, + raw_tmd: self.raw_tmd.clone(), + raw_cert_chain: self.raw_cert_chain.clone(), + raw_h3_table: self.raw_h3_table.clone(), + } + } +} + +impl PartitionWii { + pub fn new( + inner: Box, + disc_header: Box, + partition: &PartitionInfo, + options: &OpenOptions, + ) -> Result> { + let block_size = inner.block_size(); + let mut reader = PartitionGC::new(inner, disc_header)?; + + // Read TMD, cert chain, and H3 table + let offset = partition.start_sector as u64 * SECTOR_SIZE as u64; + reader + .seek(SeekFrom::Start(offset + partition.header.tmd_off())) + .context("Seeking to TMD offset")?; + let raw_tmd: Box<[u8]> = read_box_slice(&mut reader, partition.header.tmd_size() as usize) + .context("Reading TMD")?; + reader + .seek(SeekFrom::Start(offset + partition.header.cert_chain_off())) + .context("Seeking to cert chain offset")?; + let raw_cert_chain: Box<[u8]> = + read_box_slice(&mut reader, partition.header.cert_chain_size() as usize) + .context("Reading cert chain")?; + reader + .seek(SeekFrom::Start(offset + partition.header.h3_table_off())) + .context("Seeking to H3 table offset")?; + let raw_h3_table: Box<[u8]> = + read_box_slice(&mut reader, H3_TABLE_SIZE).context("Reading H3 table")?; + + Ok(Box::new(Self { + io: reader.into_inner(), + partition: partition.clone(), + block: None, + block_buf: ::new_box_slice_zeroed(block_size as usize), + block_idx: u32::MAX, + sector_buf: <[u8; SECTOR_SIZE]>::new_box_zeroed(), + sector: u32::MAX, + pos: 0, + verify: options.validate_hashes, + raw_tmd, + raw_cert_chain, + raw_h3_table, + })) + } +} + +impl Read for PartitionWii { + fn read(&mut self, buf: &mut [u8]) -> io::Result { + let partition_sector = (self.pos / SECTOR_DATA_SIZE as u64) as u32; + let sector = self.partition.data_start_sector + partition_sector; + if sector >= self.partition.data_end_sector { + return Ok(0); + } + let block_idx = (sector as u64 * SECTOR_SIZE as u64 / self.block_buf.len() as u64) as u32; + + // Read new block if necessary + if block_idx != self.block_idx { + self.block = + self.io.read_block(self.block_buf.as_mut(), block_idx, Some(&self.partition))?; + self.block_idx = block_idx; + } + + // Decrypt sector if necessary + if sector != self.sector { + let Some(block) = &self.block else { + return Ok(0); + }; + block.decrypt( + self.sector_buf.as_mut(), + self.block_buf.as_ref(), + block_idx, + sector, + &self.partition, + )?; + if self.verify { + verify_hashes(&self.sector_buf, sector)?; + } + self.sector = sector; + } + + let offset = (self.pos % SECTOR_DATA_SIZE as u64) as usize; + let len = min(buf.len(), SECTOR_DATA_SIZE - offset); + buf[..len] + .copy_from_slice(&self.sector_buf[HASHES_SIZE + offset..HASHES_SIZE + offset + len]); + self.pos += len as u64; + Ok(len) + } +} + +impl Seek for PartitionWii { + fn seek(&mut self, pos: SeekFrom) -> io::Result { + self.pos = match pos { + SeekFrom::Start(v) => v, + SeekFrom::End(_) => { + return Err(io::Error::new( + io::ErrorKind::Unsupported, + "WiiPartitionReader: SeekFrom::End is not supported".to_string(), + )); + } + SeekFrom::Current(v) => self.pos.saturating_add_signed(v), + }; + Ok(self.pos) + } +} + +#[inline(always)] +pub(crate) fn as_digest(slice: &[u8; 20]) -> digest::Output { (*slice).into() } + +fn verify_hashes(buf: &[u8; SECTOR_SIZE], sector: u32) -> io::Result<()> { + let (mut group, sub_group) = div_rem(sector as usize, 8); + group %= 8; + + // H0 hashes + for i in 0..31 { + let mut hash = Sha1::new(); + hash.update(array_ref![buf, (i + 1) * 0x400, 0x400]); + let expected = as_digest(array_ref![buf, i * 20, 20]); + let output = hash.finalize(); + if output != expected { + return Err(io::Error::new( + io::ErrorKind::InvalidData, + format!("Invalid H0 hash! (block {:?}) {:x}\n\texpected {:x}", i, output, expected), + )); + } + } + + // H1 hash + { + let mut hash = Sha1::new(); + hash.update(array_ref![buf, 0, 0x26C]); + let expected = as_digest(array_ref![buf, 0x280 + sub_group * 20, 20]); + let output = hash.finalize(); + if output != expected { + return Err(io::Error::new( + io::ErrorKind::InvalidData, + format!( + "Invalid H1 hash! (subgroup {:?}) {:x}\n\texpected {:x}", + sub_group, output, expected + ), + )); + } + } + + // H2 hash + { + let mut hash = Sha1::new(); + hash.update(array_ref![buf, 0x280, 0xA0]); + let expected = as_digest(array_ref![buf, 0x340 + group * 20, 20]); + let output = hash.finalize(); + if output != expected { + return Err(io::Error::new( + io::ErrorKind::InvalidData, + format!( + "Invalid H2 hash! (group {:?}) {:x}\n\texpected {:x}", + group, output, expected + ), + )); + } + } + // TODO H3 hash + Ok(()) +} + +impl PartitionBase for PartitionWii { + fn meta(&mut self) -> Result> { + self.seek(SeekFrom::Start(0)).context("Seeking to partition header")?; + let mut meta = read_part_meta(self, true)?; + meta.raw_ticket = Some(Box::from(self.partition.header.ticket.as_bytes())); + meta.raw_tmd = Some(self.raw_tmd.clone()); + meta.raw_cert_chain = Some(self.raw_cert_chain.clone()); + meta.raw_h3_table = Some(self.raw_h3_table.clone()); + Ok(meta) + } + + fn open_file(&mut self, node: &Node) -> io::Result { + assert_eq!(node.kind(), NodeKind::File); + self.new_window(node.offset(true), node.length(true)) + } + + fn ideal_buffer_size(&self) -> usize { SECTOR_DATA_SIZE } +} diff --git a/src/fst.rs b/nod/src/fst.rs similarity index 100% rename from src/fst.rs rename to nod/src/fst.rs diff --git a/src/io/block.rs b/nod/src/io/block.rs similarity index 90% rename from src/io/block.rs rename to nod/src/io/block.rs index c46a92c..eb800f8 100644 --- a/src/io/block.rs +++ b/nod/src/io/block.rs @@ -12,8 +12,7 @@ use crate::{ }, io::{aes_decrypt, aes_encrypt, ciso, iso, nfs, wbfs, wia, KeyBytes, MagicBytes}, util::{lfg::LaggedFibonacci, read::read_from}, - DiscHeader, DiscMeta, Error, OpenOptions, PartitionHeader, PartitionKind, Result, - ResultContext, + DiscHeader, DiscMeta, Error, PartitionHeader, PartitionKind, Result, ResultContext, }; /// Block I/O trait for reading disc images. @@ -23,20 +22,20 @@ pub trait BlockIO: DynClone + Send + Sync { &mut self, out: &mut [u8], block: u32, - partition: Option<&BPartitionInfo>, + partition: Option<&PartitionInfo>, ) -> io::Result>; /// The format's block size in bytes. Must be a multiple of the sector size (0x8000). fn block_size(&self) -> u32; /// Returns extra metadata included in the disc file format, if any. - fn meta(&self) -> Result; + fn meta(&self) -> DiscMeta; } dyn_clone::clone_trait_object!(BlockIO); /// Creates a new [`BlockIO`] instance. -pub fn open(filename: &Path, options: &OpenOptions) -> Result> { +pub fn open(filename: &Path) -> Result> { let path_result = fs::canonicalize(filename); if let Err(err) = path_result { return Err(Error::Io(format!("Failed to open {}", filename.display()), err)); @@ -58,20 +57,18 @@ pub fn open(filename: &Path, options: &OpenOptions) -> Result> match magic { ciso::CISO_MAGIC => Ok(ciso::DiscIOCISO::new(path)?), nfs::NFS_MAGIC => match path.parent() { - Some(parent) if parent.is_dir() => { - Ok(nfs::DiscIONFS::new(path.parent().unwrap(), options)?) - } + Some(parent) if parent.is_dir() => Ok(nfs::DiscIONFS::new(path.parent().unwrap())?), _ => Err(Error::DiscFormat("Failed to locate NFS parent directory".to_string())), }, wbfs::WBFS_MAGIC => Ok(wbfs::DiscIOWBFS::new(path)?), - wia::WIA_MAGIC | wia::RVZ_MAGIC => Ok(wia::DiscIOWIA::new(path, options)?), + wia::WIA_MAGIC | wia::RVZ_MAGIC => Ok(wia::DiscIOWIA::new(path)?), _ => Ok(iso::DiscIOISO::new(path)?), } } #[derive(Debug, Clone)] -pub struct BPartitionInfo { - pub index: u32, +pub struct PartitionInfo { + pub index: usize, pub kind: PartitionKind, pub start_sector: u32, pub data_start_sector: u32, @@ -99,13 +96,14 @@ pub enum Block { } impl Block { + /// Decrypts the block's data (if necessary) and writes it to the output buffer. pub(crate) fn decrypt( self, out: &mut [u8; SECTOR_SIZE], data: &[u8], block_idx: u32, abs_sector: u32, - partition: &BPartitionInfo, + partition: &PartitionInfo, ) -> io::Result<()> { let rel_sector = abs_sector - self.start_sector(block_idx, data.len()); match self { @@ -131,13 +129,14 @@ impl Block { Ok(()) } + /// Encrypts the block's data (if necessary) and writes it to the output buffer. pub(crate) fn encrypt( self, out: &mut [u8; SECTOR_SIZE], data: &[u8], block_idx: u32, abs_sector: u32, - partition: &BPartitionInfo, + partition: &PartitionInfo, ) -> io::Result<()> { let rel_sector = abs_sector - self.start_sector(block_idx, data.len()); match self { @@ -165,6 +164,7 @@ impl Block { Ok(()) } + /// Copies the block's raw data to the output buffer. pub(crate) fn copy_raw( self, out: &mut [u8; SECTOR_SIZE], @@ -225,7 +225,7 @@ fn block_sector(data: &[u8], sector_idx: u32) -> io::Result<&[u8 fn generate_junk( out: &mut [u8; SECTOR_SIZE], sector: u32, - partition: Option<&BPartitionInfo>, + partition: Option<&PartitionInfo>, disc_header: &DiscHeader, ) { let mut pos = if let Some(partition) = partition { @@ -248,7 +248,7 @@ fn generate_junk( } } -fn rebuild_hash_block(out: &mut [u8; SECTOR_SIZE], sector: u32, partition: &BPartitionInfo) { +fn rebuild_hash_block(out: &mut [u8; SECTOR_SIZE], sector: u32, partition: &PartitionInfo) { let Some(hash_table) = partition.hash_table.as_ref() else { return; }; @@ -264,14 +264,14 @@ fn rebuild_hash_block(out: &mut [u8; SECTOR_SIZE], sector: u32, partition: &BPar out[0x340..0x3E0].copy_from_slice(h2_hashes); } -fn encrypt_sector(out: &mut [u8; SECTOR_SIZE], partition: &BPartitionInfo) { +fn encrypt_sector(out: &mut [u8; SECTOR_SIZE], partition: &PartitionInfo) { aes_encrypt(&partition.key, [0u8; 16], &mut out[..HASHES_SIZE]); // Data IV from encrypted hash block let iv = *array_ref![out, 0x3D0, 16]; aes_encrypt(&partition.key, iv, &mut out[HASHES_SIZE..]); } -fn decrypt_sector(out: &mut [u8; SECTOR_SIZE], partition: &BPartitionInfo) { +fn decrypt_sector(out: &mut [u8; SECTOR_SIZE], partition: &PartitionInfo) { // Data IV from encrypted hash block let iv = *array_ref![out, 0x3D0, 16]; aes_decrypt(&partition.key, [0u8; 16], &mut out[..HASHES_SIZE]); diff --git a/src/io/ciso.rs b/nod/src/io/ciso.rs similarity index 89% rename from src/io/ciso.rs rename to nod/src/io/ciso.rs index 07b632c..ed0edd8 100644 --- a/src/io/ciso.rs +++ b/nod/src/io/ciso.rs @@ -10,10 +10,10 @@ use zerocopy::{little_endian::*, AsBytes, FromBytes, FromZeroes}; use crate::{ disc::SECTOR_SIZE, io::{ - block::{BPartitionInfo, Block, BlockIO}, + block::{Block, BlockIO, PartitionInfo}, nkit::NKitHeader, split::SplitFileReader, - MagicBytes, + Format, MagicBytes, }, static_assert, util::read::read_from, @@ -101,7 +101,7 @@ impl BlockIO for DiscIOCISO { &mut self, out: &mut [u8], block: u32, - _partition: Option<&BPartitionInfo>, + _partition: Option<&PartitionInfo>, ) -> io::Result> { if block >= CISO_MAP_SIZE as u32 { // Out of bounds @@ -130,7 +130,15 @@ impl BlockIO for DiscIOCISO { fn block_size(&self) -> u32 { self.header.block_size.get() } - fn meta(&self) -> Result { - Ok(self.nkit_header.as_ref().map(DiscMeta::from).unwrap_or_default()) + fn meta(&self) -> DiscMeta { + let mut result = DiscMeta { + format: Format::Ciso, + block_size: Some(self.header.block_size.get()), + ..Default::default() + }; + if let Some(nkit_header) = &self.nkit_header { + nkit_header.apply(&mut result); + } + result } } diff --git a/src/io/iso.rs b/nod/src/io/iso.rs similarity index 78% rename from src/io/iso.rs rename to nod/src/io/iso.rs index 1bc6362..3215b83 100644 --- a/src/io/iso.rs +++ b/nod/src/io/iso.rs @@ -7,8 +7,9 @@ use std::{ use crate::{ disc::SECTOR_SIZE, io::{ - block::{BPartitionInfo, Block, BlockIO}, + block::{Block, BlockIO, PartitionInfo}, split::SplitFileReader, + Format, }, DiscMeta, Error, Result, }; @@ -35,7 +36,7 @@ impl BlockIO for DiscIOISO { &mut self, out: &mut [u8], block: u32, - _partition: Option<&BPartitionInfo>, + _partition: Option<&PartitionInfo>, ) -> io::Result> { let offset = block as u64 * SECTOR_SIZE as u64; if offset >= self.inner.len() { @@ -50,7 +51,12 @@ impl BlockIO for DiscIOISO { fn block_size(&self) -> u32 { SECTOR_SIZE as u32 } - fn meta(&self) -> Result { - Ok(DiscMeta { lossless: true, disc_size: Some(self.inner.len()), ..Default::default() }) + fn meta(&self) -> DiscMeta { + DiscMeta { + format: Format::Iso, + lossless: true, + disc_size: Some(self.inner.len()), + ..Default::default() + } } } diff --git a/src/io/mod.rs b/nod/src/io/mod.rs similarity index 62% rename from src/io/mod.rs rename to nod/src/io/mod.rs index efe50e1..54ec8fa 100644 --- a/src/io/mod.rs +++ b/nod/src/io/mod.rs @@ -1,5 +1,7 @@ //! Disc file format related logic (CISO, NFS, WBFS, WIA, etc.) +use std::fmt; + use crate::{streams::ReadStream, Result}; pub(crate) mod block; @@ -33,9 +35,75 @@ pub trait DiscIO: Send + Sync { fn disc_size(&self) -> Option; } +#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] +pub enum Format { + /// Raw ISO + #[default] + Iso, + /// CISO + Ciso, + /// NFS (Wii U VC) + Nfs, + /// RVZ + Rvz, + /// WBFS + Wbfs, + /// WIA + Wia, +} + +impl fmt::Display for Format { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Format::Iso => write!(f, "ISO"), + Format::Ciso => write!(f, "CISO"), + Format::Nfs => write!(f, "NFS"), + Format::Rvz => write!(f, "RVZ"), + Format::Wbfs => write!(f, "WBFS"), + Format::Wia => write!(f, "WIA"), + } + } +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] +pub enum Compression { + /// No compression + #[default] + None, + /// Purge (WIA only) + Purge, + /// BZIP2 + Bzip2, + /// LZMA + Lzma, + /// LZMA2 + Lzma2, + /// Zstandard + Zstandard, +} + +impl fmt::Display for Compression { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Compression::None => write!(f, "None"), + Compression::Purge => write!(f, "Purge"), + Compression::Bzip2 => write!(f, "BZIP2"), + Compression::Lzma => write!(f, "LZMA"), + Compression::Lzma2 => write!(f, "LZMA2"), + Compression::Zstandard => write!(f, "Zstandard"), + } + } +} + /// Extra metadata about the underlying disc file format. #[derive(Debug, Clone, Default)] pub struct DiscMeta { + /// The disc file format. + pub format: Format, + /// The format's compression algorithm. + pub compression: Compression, + /// If the format uses blocks, the block size in bytes. + pub block_size: Option, /// Whether Wii partitions are stored decrypted in the format. pub decrypted: bool, /// Whether the format omits Wii partition data hashes. diff --git a/src/io/nfs.rs b/nod/src/io/nfs.rs similarity index 93% rename from src/io/nfs.rs rename to nod/src/io/nfs.rs index 94930b5..32cf0dc 100644 --- a/src/io/nfs.rs +++ b/nod/src/io/nfs.rs @@ -12,13 +12,13 @@ use crate::{ disc::SECTOR_SIZE, io::{ aes_decrypt, - block::{BPartitionInfo, Block, BlockIO}, + block::{Block, BlockIO, PartitionInfo}, split::SplitFileReader, - KeyBytes, MagicBytes, + Format, KeyBytes, MagicBytes, }, static_assert, util::read::read_from, - DiscMeta, Error, OpenOptions, Result, ResultContext, + DiscMeta, Error, Result, ResultContext, }; pub const NFS_MAGIC: MagicBytes = *b"EGGS"; @@ -89,7 +89,6 @@ pub struct DiscIONFS { raw_size: u64, disc_size: u64, key: KeyBytes, - encrypt: bool, } impl Clone for DiscIONFS { @@ -100,20 +99,18 @@ impl Clone for DiscIONFS { raw_size: self.raw_size, disc_size: self.disc_size, key: self.key, - encrypt: self.encrypt, } } } impl DiscIONFS { - pub fn new(directory: &Path, options: &OpenOptions) -> Result> { + pub fn new(directory: &Path) -> Result> { let mut disc_io = Box::new(Self { inner: SplitFileReader::empty(), header: NFSHeader::new_zeroed(), raw_size: 0, disc_size: 0, key: [0; 16], - encrypt: options.rebuild_encryption, }); disc_io.load_files(directory)?; Ok(disc_io) @@ -125,7 +122,7 @@ impl BlockIO for DiscIONFS { &mut self, out: &mut [u8], sector: u32, - partition: Option<&BPartitionInfo>, + partition: Option<&PartitionInfo>, ) -> io::Result> { // Calculate physical sector let phys_sector = self.header.phys_sector(sector); @@ -157,8 +154,8 @@ impl BlockIO for DiscIONFS { fn block_size(&self) -> u32 { SECTOR_SIZE as u32 } - fn meta(&self) -> Result { - Ok(DiscMeta { decrypted: true, lossless: true, ..Default::default() }) + fn meta(&self) -> DiscMeta { + DiscMeta { format: Format::Nfs, decrypted: true, ..Default::default() } } } diff --git a/src/io/nkit.rs b/nod/src/io/nkit.rs similarity index 91% rename from src/io/nkit.rs rename to nod/src/io/nkit.rs index acebb84..557d90a 100644 --- a/src/io/nkit.rs +++ b/nod/src/io/nkit.rs @@ -68,6 +68,7 @@ pub struct NKitHeader { pub xxhash64: Option, /// Bitstream of blocks that are junk data pub junk_bits: Option>, + pub block_size: u32, } const VERSION_PREFIX: [u8; 7] = *b"NKIT v"; @@ -146,7 +147,7 @@ impl NKitHeader { None }; - Ok(Self { version, flags, size, crc32, md5, sha1, xxhash64, junk_bits }) + Ok(Self { version, flags, size, crc32, md5, sha1, xxhash64, junk_bits, block_size }) } pub fn is_junk_block(&self, block: u32) -> Option { @@ -155,19 +156,14 @@ impl NKitHeader { .and_then(|v| v.get((block / 8) as usize)) .map(|&b| b & (1 << (7 - (block & 7))) != 0) } -} -impl From<&NKitHeader> for DiscMeta { - fn from(value: &NKitHeader) -> Self { - Self { - needs_hash_recovery: value.junk_bits.is_some(), - lossless: value.size.is_some() && value.junk_bits.is_some(), - disc_size: value.size, - crc32: value.crc32, - md5: value.md5, - sha1: value.sha1, - xxhash64: value.xxhash64, - ..Default::default() - } + pub fn apply(&self, meta: &mut DiscMeta) { + meta.needs_hash_recovery |= self.junk_bits.is_some(); + meta.lossless |= self.size.is_some() && self.junk_bits.is_some(); + meta.disc_size = meta.disc_size.or(self.size); + meta.crc32 = self.crc32; + meta.md5 = self.md5; + meta.sha1 = self.sha1; + meta.xxhash64 = self.xxhash64; } } diff --git a/src/io/split.rs b/nod/src/io/split.rs similarity index 100% rename from src/io/split.rs rename to nod/src/io/split.rs diff --git a/src/io/wbfs.rs b/nod/src/io/wbfs.rs similarity index 90% rename from src/io/wbfs.rs rename to nod/src/io/wbfs.rs index c7d14cb..ffd9110 100644 --- a/src/io/wbfs.rs +++ b/nod/src/io/wbfs.rs @@ -9,10 +9,10 @@ use zerocopy::{big_endian::*, AsBytes, FromBytes, FromZeroes}; use crate::{ io::{ - block::{BPartitionInfo, Block, BlockIO}, + block::{Block, BlockIO, PartitionInfo}, nkit::NKitHeader, split::SplitFileReader, - DiscMeta, MagicBytes, + DiscMeta, Format, MagicBytes, }, util::read::{read_box_slice, read_from}, Error, Result, ResultContext, @@ -113,7 +113,7 @@ impl BlockIO for DiscIOWBFS { &mut self, out: &mut [u8], block: u32, - _partition: Option<&BPartitionInfo>, + _partition: Option<&PartitionInfo>, ) -> io::Result> { let block_size = self.header.block_size(); if block >= self.header.max_blocks() { @@ -134,7 +134,15 @@ impl BlockIO for DiscIOWBFS { fn block_size(&self) -> u32 { self.header.block_size() } - fn meta(&self) -> Result { - Ok(self.nkit_header.as_ref().map(DiscMeta::from).unwrap_or_default()) + fn meta(&self) -> DiscMeta { + let mut result = DiscMeta { + format: Format::Wbfs, + block_size: Some(self.header.block_size()), + ..Default::default() + }; + if let Some(nkit_header) = &self.nkit_header { + nkit_header.apply(&mut result); + } + result } } diff --git a/src/io/wia.rs b/nod/src/io/wia.rs similarity index 92% rename from src/io/wia.rs rename to nod/src/io/wia.rs index 53ad81a..37251aa 100644 --- a/src/io/wia.rs +++ b/nod/src/io/wia.rs @@ -14,10 +14,10 @@ use crate::{ SECTOR_SIZE, }, io::{ - block::{BPartitionInfo, Block, BlockIO}, + block::{Block, BlockIO, PartitionInfo}, nkit::NKitHeader, split::SplitFileReader, - HashBytes, KeyBytes, MagicBytes, + Compression, Format, HashBytes, KeyBytes, MagicBytes, }, static_assert, util::{ @@ -26,7 +26,7 @@ use crate::{ read::{read_box_slice, read_from, read_u16_be, read_vec}, take_seek::TakeSeekExt, }, - DiscMeta, Error, OpenOptions, Result, ResultContext, + DiscMeta, Error, Result, ResultContext, }; pub const WIA_MAGIC: MagicBytes = *b"WIA\x01"; @@ -114,7 +114,7 @@ impl TryFrom for DiscType { /// Compression type #[derive(Clone, Copy, Debug, PartialEq, Eq)] -pub enum Compression { +pub enum WIACompression { /// No compression. None, /// (WIA only) See [WIASegment] @@ -129,7 +129,7 @@ pub enum Compression { Zstandard, } -impl TryFrom for Compression { +impl TryFrom for WIACompression { type Error = Error; fn try_from(value: u32) -> Result { @@ -161,7 +161,7 @@ pub struct WIADisc { /// /// RVZ only: /// > This is signed (instead of unsigned) to support negative compression levels in - /// [Zstandard](Compression::Zstandard) (RVZ only). + /// [Zstandard](WIACompression::Zstandard) (RVZ only). pub compression_level: I32, /// The size of the chunks that data is divided into. /// @@ -208,14 +208,14 @@ pub struct WIADisc { pub compr_data_len: u8, /// Compressor specific data. /// - /// If the compression method is [None](Compression::None), [Purge](Compression::Purge), - /// [Bzip2](Compression::Bzip2), or [Zstandard](Compression::Zstandard) (RVZ only), + /// If the compression method is [None](WIACompression::None), [Purge](WIACompression::Purge), + /// [Bzip2](WIACompression::Bzip2), or [Zstandard](WIACompression::Zstandard) (RVZ only), /// [compr_data_len](Self::compr_data_len) is 0. If the compression method is - /// [Lzma](Compression::Lzma) or [Lzma2](Compression::Lzma2), the compressor specific data is + /// [Lzma](WIACompression::Lzma) or [Lzma2](WIACompression::Lzma2), the compressor specific data is /// stored in the format used by the 7-Zip SDK. It needs to be converted if you are using e.g. /// liblzma. /// - /// For [Lzma](Compression::Lzma), the data is 5 bytes long. The first byte encodes the `lc`, + /// For [Lzma](WIACompression::Lzma), the data is 5 bytes long. The first byte encodes the `lc`, /// `pb`, and `lp` parameters, and the four other bytes encode the dictionary size in little /// endian. pub compr_data: [u8; 7], @@ -226,7 +226,7 @@ static_assert!(size_of::() == 0xDC); impl WIADisc { pub fn validate(&self) -> Result<()> { DiscType::try_from(self.disc_type.get())?; - Compression::try_from(self.compression.get())?; + WIACompression::try_from(self.compression.get())?; if self.partition_type_size.get() != size_of::() as u32 { return Err(Error::DiscFormat(format!( "WIA partition type size is {}, expected {}", @@ -237,8 +237,8 @@ impl WIADisc { Ok(()) } - pub fn compression(&self) -> Compression { - Compression::try_from(self.compression.get()).unwrap() + pub fn compression(&self) -> WIACompression { + WIACompression::try_from(self.compression.get()).unwrap() } } @@ -428,8 +428,8 @@ pub struct WIAException { /// /// For memory management reasons, programs which read WIA files might place a limit on how many /// exceptions there can be in a [WIAExceptionList]. Dolphin's reading code has a limit of -/// `52 × 64 = 3328` (unless the compression method is [None](Compression::None) or -/// [Purge](Compression::Purge), in which case there is no limit), which is enough to cover all +/// `52 × 64 = 3328` (unless the compression method is [None](WIACompression::None) or +/// [Purge](WIACompression::Purge), in which case there is no limit), which is enough to cover all /// hashes and all padding. wit's reading code seems to be written as if `47 × 64 = 3008` is the /// maximum it needs to be able to handle, which is enough to cover all hashes but not any padding. /// However, because wit allocates more memory than needed, it seems to be possible to exceed 3008 @@ -438,12 +438,12 @@ pub struct WIAException { /// /// Somewhat ironically, there are exceptions to how [WIAExceptionList] structs are handled: /// -/// For the compression method [Purge](Compression::Purge), the [WIAExceptionList] structs are +/// For the compression method [Purge](WIACompression::Purge), the [WIAExceptionList] structs are /// stored uncompressed (in other words, before the first [WIASegment]). For -/// [Bzip2](Compression::Bzip2), [Lzma](Compression::Lzma) and [Lzma2](Compression::Lzma2), they are +/// [Bzip2](WIACompression::Bzip2), [Lzma](WIACompression::Lzma) and [Lzma2](WIACompression::Lzma2), they are /// compressed along with the rest of the data. /// -/// For the compression methods [None](Compression::None) and [Purge](Compression::Purge), if the +/// For the compression methods [None](WIACompression::None) and [Purge](WIACompression::Purge), if the /// end offset of the last [WIAExceptionList] is not evenly divisible by 4, padding is inserted /// after it so that the data afterwards will start at a 4 byte boundary. This padding is not /// inserted for the other compression methods. @@ -466,15 +466,15 @@ impl Decompressor { pub fn new(disc: &WIADisc) -> Result { let data = &disc.compr_data[..disc.compr_data_len as usize]; match disc.compression() { - Compression::None => Ok(Self::None), + WIACompression::None => Ok(Self::None), #[cfg(feature = "compress-bzip2")] - Compression::Bzip2 => Ok(Self::Bzip2), + WIACompression::Bzip2 => Ok(Self::Bzip2), #[cfg(feature = "compress-lzma")] - Compression::Lzma => Ok(Self::Lzma(Box::from(data))), + WIACompression::Lzma => Ok(Self::Lzma(Box::from(data))), #[cfg(feature = "compress-lzma")] - Compression::Lzma2 => Ok(Self::Lzma2(Box::from(data))), + WIACompression::Lzma2 => Ok(Self::Lzma2(Box::from(data))), #[cfg(feature = "compress-zstd")] - Compression::Zstandard => Ok(Self::Zstandard), + WIACompression::Zstandard => Ok(Self::Zstandard), comp => Err(Error::DiscFormat(format!("Unsupported WIA/RVZ compression: {:?}", comp))), } } @@ -556,7 +556,7 @@ fn verify_hash(buf: &[u8], expected: &HashBytes) -> Result<()> { } impl DiscIOWIA { - pub fn new(filename: &Path, _options: &OpenOptions) -> Result> { + pub fn new(filename: &Path) -> Result> { let mut inner = SplitFileReader::new(filename)?; // Load & verify file header @@ -690,7 +690,7 @@ impl BlockIO for DiscIOWIA { &mut self, out: &mut [u8], sector: u32, - partition: Option<&BPartitionInfo>, + partition: Option<&PartitionInfo>, ) -> io::Result> { let mut chunk_size = self.disc.chunk_size.get(); let sectors_per_chunk = chunk_size / SECTOR_SIZE as u32; @@ -705,7 +705,7 @@ impl BlockIO for DiscIOWIA { let (group_index, group_sector) = if let Some(partition) = partition { // Find the partition - let Some(wia_part) = self.partitions.get(partition.index as usize) else { + let Some(wia_part) = self.partitions.get(partition.index) else { return Err(io::Error::new( io::ErrorKind::InvalidInput, format!("Couldn't find WIA/RVZ partition index {}", partition.index), @@ -803,7 +803,7 @@ impl BlockIO for DiscIOWIA { let mut reader = (&mut self.inner).take_seek(group.data_size() as u64); let uncompressed_exception_lists = - matches!(self.disc.compression(), Compression::None | Compression::Purge) + matches!(self.disc.compression(), WIACompression::None | WIACompression::Purge) || !group.is_compressed(); if uncompressed_exception_lists { self.exception_lists = read_exception_lists( @@ -891,12 +891,27 @@ impl BlockIO for DiscIOWIA { SECTOR_SIZE as u32 } - fn meta(&self) -> Result { - let mut meta = self.nkit_header.as_ref().map(DiscMeta::from).unwrap_or_default(); - meta.decrypted = true; - meta.needs_hash_recovery = true; - meta.lossless = true; - meta.disc_size = Some(self.header.iso_file_size.get()); - Ok(meta) + fn meta(&self) -> DiscMeta { + let mut result = DiscMeta { + format: if self.header.is_rvz() { Format::Rvz } else { Format::Wia }, + block_size: Some(self.disc.chunk_size.get()), + compression: match self.disc.compression() { + WIACompression::None => Compression::None, + WIACompression::Purge => Compression::Purge, + WIACompression::Bzip2 => Compression::Bzip2, + WIACompression::Lzma => Compression::Lzma, + WIACompression::Lzma2 => Compression::Lzma2, + WIACompression::Zstandard => Compression::Zstandard, + }, + decrypted: true, + needs_hash_recovery: true, + lossless: true, + disc_size: Some(self.header.iso_file_size.get()), + ..Default::default() + }; + if let Some(nkit_header) = &self.nkit_header { + nkit_header.apply(&mut result); + } + result } } diff --git a/src/lib.rs b/nod/src/lib.rs similarity index 61% rename from src/lib.rs rename to nod/src/lib.rs index 51b7bdd..1a599e1 100644 --- a/src/lib.rs +++ b/nod/src/lib.rs @@ -36,22 +36,22 @@ //! } //! ``` -use std::path::Path; +use std::{ + io::{Read, Seek}, + path::Path, +}; pub use disc::{ - AppLoaderHeader, DiscHeader, DolHeader, PartitionBase, PartitionHeader, PartitionInfo, - PartitionKind, PartitionMeta, BI2_SIZE, BOOT_SIZE, SECTOR_SIZE, + AppLoaderHeader, DiscHeader, DolHeader, PartitionBase, PartitionHeader, PartitionKind, + PartitionMeta, BI2_SIZE, BOOT_SIZE, SECTOR_SIZE, }; pub use fst::{Fst, Node, NodeKind}; -pub use io::DiscMeta; -use io::{block, block::BPartitionInfo}; +pub use io::{block::PartitionInfo, Compression, DiscMeta, Format}; pub use streams::ReadStream; -use crate::disc::reader::{DiscReader, EncryptionMode}; - mod disc; mod fst; -pub mod io; +mod io; mod streams; mod util; @@ -110,24 +110,15 @@ where E: ErrorContext #[derive(Default, Debug, Clone)] pub struct OpenOptions { - /// Wii: Validate partition data hashes while reading the disc image if present. - pub validate_hashes: bool, - /// Wii: Rebuild partition data hashes for the disc image if the underlying format - /// does not store them. (e.g. WIA/RVZ) - pub rebuild_hashes: bool, - /// Wii: Rebuild partition data encryption if the underlying format stores data decrypted. - /// (e.g. WIA/RVZ, NFS) - /// - /// Unnecessary if only opening a disc partition stream, which will already provide a decrypted - /// stream. In this case, this will cause unnecessary processing. - /// - /// Only valid in combination with `rebuild_hashes`, as the data encryption is derived from the - /// partition data hashes. + /// Wii: Rebuild partition data encryption and hashes if the underlying format stores data + /// decrypted or with hashes removed. (e.g. WIA/RVZ, NFS) pub rebuild_encryption: bool, + /// Wii: Validate partition data hashes while reading the disc image. + pub validate_hashes: bool, } pub struct Disc { - pub reader: DiscReader, + reader: disc::reader::DiscReader, options: OpenOptions, } @@ -139,8 +130,8 @@ impl Disc { /// Opens a disc image from a file path with custom options. pub fn new_with_options>(path: P, options: &OpenOptions) -> Result { - let io = block::open(path.as_ref(), options)?; - let reader = DiscReader::new(io, EncryptionMode::Encrypted)?; + let io = io::block::open(path.as_ref())?; + let reader = disc::reader::DiscReader::new(io, options)?; Ok(Disc { reader, options: options.clone() }) } @@ -148,30 +139,36 @@ impl Disc { pub fn header(&self) -> &DiscHeader { self.reader.header() } /// Returns extra metadata included in the disc file format, if any. - pub fn meta(&self) -> Result { self.reader.io.meta() } + pub fn meta(&self) -> DiscMeta { self.reader.meta() } - /// The disc's size in bytes or an estimate if not stored by the format. + /// The disc's size in bytes, or an estimate if not stored by the format. pub fn disc_size(&self) -> u64 { self.reader.disc_size() } - /// A list of partitions on the disc. + /// A list of Wii partitions on the disc. /// - /// For GameCube discs, this will return a single data partition spanning the entire disc. - pub fn partitions(&self) -> &[BPartitionInfo] { self.reader.partitions() } + /// For GameCube discs, this will return an empty slice. + pub fn partitions(&self) -> &[PartitionInfo] { self.reader.partitions() } - // /// Opens a new read stream for the base disc image. - // /// - // /// Generally does _not_ need to be used directly. Opening a partition will provide a - // /// decrypted stream instead. - // pub fn open(&self) -> Result> { self.io.open() } - // - // /// Opens a new, decrypted partition read stream for the specified partition index. - // pub fn open_partition(&self, index: usize) -> Result> { - // self.base.open_partition(self.io.as_ref(), index, &self.options) - // } - // - // /// Opens a new partition read stream for the first partition matching - // /// the specified type. - // pub fn open_partition_kind(&self, kind: PartitionKind) -> Result> { - // self.base.open_partition_kind(self.io.as_ref(), kind, &self.options) - // } + /// Opens a new, decrypted partition read stream for the specified partition index. + /// + /// For GameCube discs, the index must always be 0. + pub fn open_partition(&self, index: usize) -> Result> { + self.reader.open_partition(index, &self.options) + } + + /// Opens a new partition read stream for the first partition matching + /// the specified type. + /// + /// For GameCube discs, the kind must always be `PartitionKind::Data`. + pub fn open_partition_kind(&self, kind: PartitionKind) -> Result> { + self.reader.open_partition_kind(kind, &self.options) + } +} + +impl Read for Disc { + fn read(&mut self, buf: &mut [u8]) -> std::io::Result { self.reader.read(buf) } +} + +impl Seek for Disc { + fn seek(&mut self, pos: std::io::SeekFrom) -> std::io::Result { self.reader.seek(pos) } } diff --git a/src/streams.rs b/nod/src/streams.rs similarity index 100% rename from src/streams.rs rename to nod/src/streams.rs diff --git a/src/util/compress.rs b/nod/src/util/compress.rs similarity index 100% rename from src/util/compress.rs rename to nod/src/util/compress.rs diff --git a/src/util/lfg.rs b/nod/src/util/lfg.rs similarity index 100% rename from src/util/lfg.rs rename to nod/src/util/lfg.rs diff --git a/src/util/mod.rs b/nod/src/util/mod.rs similarity index 100% rename from src/util/mod.rs rename to nod/src/util/mod.rs diff --git a/src/util/read.rs b/nod/src/util/read.rs similarity index 100% rename from src/util/read.rs rename to nod/src/util/read.rs diff --git a/src/util/take_seek.rs b/nod/src/util/take_seek.rs similarity index 100% rename from src/util/take_seek.rs rename to nod/src/util/take_seek.rs diff --git a/nodtool/Cargo.toml b/nodtool/Cargo.toml new file mode 100644 index 0000000..4e357ec --- /dev/null +++ b/nodtool/Cargo.toml @@ -0,0 +1,46 @@ +[package] +name = "nodtool" +version = "0.2.0" +edition = "2021" +rust-version = "1.59.0" +authors = ["Luke Street "] +license = "MIT OR Apache-2.0" +repository = "https://github.com/encounter/nod-rs" +documentation = "https://docs.rs/nod" +readme = "../README.md" +description = """ +CLI tool for verifying and converting GameCube and Wii disc images. +""" +keywords = ["gamecube", "wii", "iso", "wbfs", "rvz"] +categories = ["command-line-utilities", "parser-implementations"] +build = "build.rs" + +[features] +asm = ["md-5/asm", "nod/asm", "sha1/asm"] +nightly = ["crc32fast/nightly"] + +[dependencies] +argp = "0.3.0" +base16ct = "0.2.0" +crc32fast = "1.4.0" +digest = "0.10.7" +enable-ansi-support = "0.2.1" +indicatif = "0.17.8" +itertools = "0.12.1" +log = "0.4.20" +md-5 = "0.10.6" +nod = { path = "../nod" } +sha1 = "0.10.6" +size = "0.4.1" +supports-color = "3.0.0" +tracing = "0.1.40" +tracing-attributes = "0.1.27" +tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } +xxhash-rust = { version = "0.8.10", features = ["xxh64"] } +zerocopy = { version = "0.7.32", features = ["alloc", "derive"] } + +[build-dependencies] +hex = { version = "0.4.3", features = ["serde"] } +quick-xml = { version = "0.31.0", features = ["serialize"] } +serde = { version = "1.0.197", features = ["derive"] } +zerocopy = { version = "0.7.32", features = ["alloc", "derive"] } diff --git a/nodtool/assets/redump-gc.dat b/nodtool/assets/redump-gc.dat new file mode 100644 index 0000000..e60babe --- /dev/null +++ b/nodtool/assets/redump-gc.dat @@ -0,0 +1,9958 @@ + + + +
+ Nintendo - GameCube + Nintendo - GameCube - Discs (1989) (2024-02-13 01-56-25) + 2024-02-13 01-56-25 + 2024-02-13 01-56-25 + redump.org + redump.org + http://redump.org/ +
+ + Games + Resident Evil 4 (USA) (Disc 1) + + + + Games + Resident Evil 4 (USA) (Disc 2) + + + + Games + Luigi's Mansion (USA) + + + + Games + Legend of Zelda, The - Collector's Edition (USA) + + + + Games + Legend of Zelda, The - Ocarina of Time & Master Quest (USA) + + + + Games + Legend of Zelda, The - Twilight Princess (USA) + + + + Games + Mario Kart - Double Dash!! (Europe) (En,Fr,De,Es,It) + + + + Games + Geist (USA) + + + + Games + Wave Race - Blue Storm (Europe, Australia) + + + + Games + Beyond Good & Evil (Europe) (De,It) + + + + Games + Legend of Zelda, The - The Wind Waker (USA) + + + + Games + Super Mario Sunshine (Japan) + + + + Games + Metroid Prime (Europe) (En,Fr,De,Es,It) + + + + Games + Metroid Prime 2 - Echoes (Europe) (En,Fr,De,Es,It) + + + + Games + Luigi's Mansion (Europe) (En,Fr,De,Es,It) + + + + Games + Pikmin (Europe) (En,Fr,De,Es,It) + + + + Games + Pikmin 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Soulcalibur II (USA) + + + + Games + Soulcalibur II (Europe) (En,Fr,De,Es,It) + + + + Games + Eternal Darkness - Sanity's Requiem (USA) + + + + Games + Resident Evil (USA) (Disc 1) + + + + Games + Resident Evil (USA) (Disc 2) + + + + Games + Final Fantasy Crystal Chronicles (USA) + + + + Games + Tales of Symphonia (USA) (Disc 1) + + + + Games + Tales of Symphonia (USA) (Disc 2) + + + + Games + Metroid Prime (USA) (Rev 2) + + + + Bonus Discs + Metroid Prime 2 - Echoes (USA) (Bonus Disc) + + + + Games + Star Fox Adventures (Europe) (En,Fr,De,Es,It) + + + + Games + Pokemon Box - Ruby & Sapphire (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Pokemon Colosseum (Europe) (En,Fr,De,Es,It) + + + + Games + Mario Power Tennis (Europe) (En,Fr,De,Es,It) + + + + Games + Viewtiful Joe 2 - Black Film no Nazo (Japan) + + + + Games + Doshin the Giant (Europe) (En,Fr,De,Es,It) + + + + Games + Phantasy Star Online Episode I & II (Europe) (En,Ja,Fr,De,Es) + + + + Games + Shikigami no Shiro II (Japan) + + + + Games + P.N. 03 (Japan) + + + + Games + Baten Kaitos II - Hajimari no Tsubasa to Kamigami no Shishi (Japan) (Disc 1) (Rev 1) + + + + Games + Baten Kaitos II - Hajimari no Tsubasa to Kamigami no Shishi (Japan) (Disc 2) (Rev 1) + + + + Games + Puyo Puyo Fever (Japan) (En,Ja,Fr,De,Es,It) + + + + Games + F-Zero GX (USA) + + + + Games + Metroid Prime (USA) + + + + Games + Phantasy Star Online Episode III - C.A.R.D. Revolution (Japan) + + + + Games + Chaos Field Expanded (Japan) (Rev 2) + + + + Games + Donkey Konga (Japan) + + + + Games + Naruto - Gekitou Ninja Taisen! 2 (Japan) + + + + Games + Naruto - Gekitou Ninja Taisen! 3 (Japan) + + + + Games + Hudson Selection Vol. 4 - Takahashi-Meijin no Boukenjima (Japan) + + + + Games + Ikaruga (Japan) + + + + Games + Star Wars - Rogue Squadron II - Rogue Leader (France) + + + + Games + Star Wars - Rogue Squadron III - Rebel Strike (France) (En,Fr) + + + + Games + Seigneur des Anneaux, Le - Les Deux Tours (France) + + + + Games + Seigneur des Anneaux, Le - Le Retour du Roi (France) + + + + Games + Seigneur des Anneaux, Le - Le Tiers Age (France) (Disc 1) + + + + Games + Seigneur des Anneaux, Le - Le Tiers Age (France) (Disc 2) + + + + Games + Metroid Prime 2 - Echoes (USA) + + + + Games + Legend of Zelda, The - The Wind Waker (Europe) (En,Fr,De,Es,It) + + + + Games + NHL 2003 (USA) + + + + Games + NHL Hitz 2002 (USA) + + + + Games + NHL Hitz 2003 (USA) + + + + Games + Madden NFL 2003 (USA) + + + + Games + Paper Mario - The Thousand-Year Door (USA) + + + + Games + Pokemon Colosseum (USA) + + + + Games + Phantasy Star Online Episode I & II (USA) (En,Ja,Fr,De,Es) + + + + Games + Sonic Adventure DX - Director's Cut (USA) (En,Ja,Fr,De,Es) + + + + Games + Sonic Adventure 2 - Battle (USA) (En,Ja,Fr,De,Es) + + + + Games + Sonic Mega Collection (USA) + + + + Games + Spawn - Armageddon (USA) + + + + Games + Pokemon XD - Gale of Darkness (USA) + + + + Games + Star Fox Adventures (USA) + + + + Games + Star Fox - Assault (USA) + + + + Games + Star Wars - Rogue Squadron II - Rogue Leader (USA) + + + + Games + Super Mario Sunshine (USA) + + + + Games + Legend of Zelda, The - Ocarina of Time & Master Quest (Europe) (En,Fr,De) + + + + Games + Animal Crossing (Europe) (En,Fr,De,Es,It) + + + + Games + Final Fantasy Crystal Chronicles (Europe) (En,Fr,De,Es,It) + + + + Games + F-Zero GX (Europe) (En,Fr,De,Es,It) + + + + Games + Super Smash Bros. Melee (Europe) (En,Fr,De,Es,It) + + + + Games + Super Mario Sunshine (Europe) (En,Fr,De,Es,It) + + + + Games + Harry Potter and the Chamber of Secrets (Europe) + + + + Games + Donkey Konga 2 - Hit Song Parade (Japan) + + + + Games + Homeland (Japan) + + + + Games + Legend of Zelda, The - Collector's Edition (Europe) (En,Fr,De,Es,It) + + + + Games + Mega Man Network Transmission (Europe) + + + + Games + 1080 Avalanche (Europe) (En,Fr,De,Es,It) + + + + Games + Spyro - Enter the Dragonfly (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Lord of the Rings, The - The Two Towers (USA) + + + + Games + Spyro - Enter the Dragonfly (USA) + + + + Applications + Game Boy Player Start-Up Disc (USA) (Rev 2) + + + + Games + Hobbit, The - The Prelude to the Lord of the Rings (USA) + + + + Games + 007 - Nightfire (Europe) (En,It,Nl,Sv) + + + + Games + Kelly Slater's Pro Surfer (Europe) + + + + Demos + Viewtiful Joe (Europe) (Promo) + + + + Games + Lord of the Rings, The - The Third Age (USA) (Disc 1) + + + + Games + Lord of the Rings, The - The Third Age (USA) (Disc 2) + + + + Games + 007 - Everything or Nothing (USA) + + + + Games + Metal Gear Solid - The Twin Snakes (USA) (Disc 1) + + + + Games + Metal Gear Solid - The Twin Snakes (USA) (Disc 2) + + + + Games + Resident Evil Zero (USA) (Disc 1) + + + + Games + Resident Evil Zero (USA) (Disc 2) + + + + Games + FIFA Football 2003 (Europe) + + + + Games + Star Wars - Rogue Squadron II - Rogue Leader (Europe) + + + + Games + Enter the Matrix (Europe) (En,Fr,De,Es,It) (Disc 1) + + + + Games + Enter the Matrix (Europe) (En,Fr,De,Es,It) (Disc 2) + + + + Games + Eternal Darkness - Sanity's Requiem (Europe) (En,Fr,De,Es,It) + + + + Applications + Game Boy Player Start-Up Disc (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Resident Evil - Code - Veronica X (USA) (Disc 2) + + + + Games + Resident Evil - Code - Veronica X (USA) (Disc 1) + + + + Games + Resident Evil 2 (USA) + + + + Games + Resident Evil 3 - Nemesis (USA) + + + + Games + Super Smash Bros. Melee (USA) (En,Ja) (Rev 1) + + + + Games + Pikmin (USA) (Rev 1) + + + + Games + Billy Hatcher and the Giant Egg (USA) + + + + Games + Donkey Konga (USA) + + + + Games + Medal of Honor - Soleil Levant (France) (Disc 1) + + + + Games + Medal of Honor - Soleil Levant (France) (Disc 2) + + + + Games + Robotech - Battlecry (USA) + + + + Games + Mario Kart - Double Dash!! (USA) + + + + Bonus Discs + Mario Kart - Double Dash!! (USA) (Bonus Disc) + + + + Games + Prince of Persia - Warrior Within (USA) (En,Fr,Es) + + + + Games + FIFA Football 2003 (Germany) + + + + Games + Turok - Evolution (Germany) + + + + Games + Resident Evil Zero (Europe) (En,Fr,De,Es,It) (Disc 1) + + + + Games + Resident Evil Zero (Europe) (En,Fr,De,Es,It) (Disc 2) + + + + Games + Lord of the Rings, The - The Two Towers (Europe) (En,Nl) + + + + Games + FIFA Football 2004 (Europe) + + + + Games + 2 Games in 1 - Nickelodeon SpongeBob Schwammkopf - Der Film + Nickelodeon SpongeBob Schwammkopf - Schlacht um Bikini Bottom (Germany) (Disc 1) + + + + Games + 2 Games in 1 - Nickelodeon SpongeBob Schwammkopf - Der Film + Nickelodeon SpongeBob Schwammkopf - Schlacht um Bikini Bottom (Germany) (Disc 2) + + + + Games + 2 Games in 1 - Nickelodeon SpongeBob Schwammkopf - Der Film + Nickelodeon Tak 2 - Der Stab der Traeume (Germany) (Disc 1) + + + + Games + 2 Games in 1 - Nickelodeon SpongeBob Schwammkopf - Der Film + Nickelodeon Tak 2 - Der Stab der Traeume (Germany) (Disc 2) + + + + Games + 2 Games in 1 - Disney-Pixar Die Unglaublichen + Disney-Pixar Findet Nemo (Germany) (Disc 1) + + + + Games + 2 Games in 1 - Disney-Pixar Die Unglaublichen + Disney-Pixar Findet Nemo (Germany) (Disc 2) + + + + Games + Buffy im Bann der Daemonen - Chaos Bleeds (Germany) + + + + Games + ATV - Quad Power Racing 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Bad Boys II (Europe) (En,Fr,De,Es,It) + + + + Games + Bomberman Generation (Europe) (En,Fr,De) + + + + Games + Bratz - Rock Angelz (Germany) + + + + Games + Batman - Rise of Sin Tzu (Europe) (En,Fr,De,Es,It) + + + + Games + Butt-Ugly Martians - Zoom or Doom! (Europe) (En,Fr,De,Es,It) + + + + Games + Call of Duty - Finest Hour (Germany) + + + + Games + Carmen Sandiego - The Secret of the Stolen Drums (Europe) (De,Es) + + + + Games + Casper - Spirit Dimensions (Europe) (En,Fr,De,Es,It) + + + + Games + Disney Sports - Skateboarding (Europe) (En,Fr,De,Es,It) + + + + Games + Evolution Skateboarding (Europe) (En,Fr,De) + + + + Games + Evolution Snowboarding (Europe) (En,Fr,De) + + + + Games + Largo Winch - Empire Under Threat (Europe) (En,Fr,De,Es,It) + + + + Games + Need for Speed - Underground (Germany) + + + + Games + Speed Challenge - Jacques Villeneuve's Racing Vision (Europe) (En,Fr) + + + + Games + Worms Blast (Europe) (En,Fr,De,Es,It) + + + + Games + Cocoto Platform Jumper (Europe) (En,Fr,De,Es,It) + + + + Games + Tierisch verrueckte Bauernhof, Der (Germany) + + + + Games + Disney's Extreme Skate Adventure (Europe) (Fr,De) + + + + Games + Die Hard - Vendetta (Germany) (En,De) + + + + Games + Disney-Pixar The Incredibles - Rise of the Underminer (Europe) (Fr,De) + + + + Games + Fantastic 4 (Germany) + + + + Games + 2002 FIFA World Cup (Germany) + + + + Games + Disney-Pixar Findet Nemo (Germany) + + + + Games + Gun (Germany) (En,De) + + + + Games + Nickelodeon SpongeBob Schwammkopf - Der Film (Germany) + + + + Games + 007 - Agent im Kreuzfeuer (Germany) + + + + Games + 007 - Alles oder Nichts (Germany) + + + + Games + 007 - Nightfire (Germany) + + + + Games + 18 Wheeler - American Pro Trucker (Europe) (En,Fr,De,Es) + + + + Games + XGRA - Extreme G Racing Association (Europe) (En,Fr,De,Es,It) + + + + Games + TimeSplitters 2 (Europe) (En,Fr,De,Es,It) + + + + Games + TY the Tasmanian Tiger 2 - Bush Rescue (Europe) (En,Fr,De) + + + + Games + Spawn - Armageddon (Europe) (En,Fr,De,Es,It) + + + + Games + Nick SpongeBob Schwammkopf - Die Kreatur aus der Krossen Krabbe (Germany) + + + + Games + Nickelodeon SpongeBob SquarePants - Battle for Bikini Bottom (Europe) + + + + Games + SeaWorld Adventure Parks - Shamu's Deep Sea Adventures (Europe) + + + + Games + Mystic Heroes (Germany) + + + + Games + Men in Black II - Alien Escape (Europe) (En,Fr,De,Es,It) + + + + Games + Doubutsu no Mori e+ (Japan) (Rev 1) + + + + Games + Tak and the Power of Juju (USA) + + + + Games + Tiger Woods PGA Tour 2003 (USA) + + + + Games + Bratz - Rock Angelz (Europe) + + + + Games + Street Hoops (USA) + + + + Games + Tony Hawk's Pro Skater 3 (USA) + + + + Games + Charlie's Angels (Europe) (En,Fr,De) + + + + Games + DreamWorks & Aardman Flushed Away (Europe) (En,Fr,De,Es,It) + + + + Games + Lemony Snicket - Raetselhafte Ereignisse (Germany) + + + + Games + Marvel Nemesis - Rise of the Imperfects (Germany) + + + + Games + NFL 2K3 (Europe) + + + + Games + NHL 2K3 (Europe) + + + + Games + Terminator 3 - The Redemption (Europe) (En,Fr,De,Es,It) + + + + Games + Whirl Tour (Europe) (En,Fr,De,Es,It) + + + + Games + Yu-Gi-Oh! The Falsebound Kingdom (Europe) (En,Fr,De,Es,It) + + + + Games + Zapper (Europe) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + WWE Day of Reckoning (Europe) + + + + Games + WWE Day of Reckoning 2 (Europe) + + + + Games + WWE WrestleMania X8 (Europe) + + + + Games + WWE WrestleMania XIX (Europe, Australia) + + + + Games + WWE Crush Hour (Europe) + + + + Games + Harvest Moon - A Wonderful Life (Germany) + + + + Games + Hulk (Germany) + + + + Games + Hitman 2 - Silent Assassin (Germany) + + + + Games + Kelly Slater's Pro Surfer (Europe) (En,Fr,De) + + + + Games + Hudson Selection Vol. 3 - PC Genjin - Pithecanthropus Computerurus (Japan) + + + + Games + ZooCube (Europe) (En,Fr,De,Es,It) + + + + Games + Phantasy Star Online Episode I & II Plus (Japan) (En,Ja,Fr,De,Es) (Rev 5) + + + + Applications + Game Boy Player Start-Up Disc (Japan) (Rev 3) + + + + Games + Luigi Mansion (Japan) + + + + Games + Wave Race - Blue Storm (Japan) + + + + Games + Star Fox Adventures (Japan) + + + + Games + Ikaruga (USA) + + + + Games + Metal Gear Solid - The Twin Snakes (Europe) (En,Fr,De,Es,It) (Disc 1) + + + + Games + Metal Gear Solid - The Twin Snakes (Europe) (En,Fr,De,Es,It) (Disc 2) + + + + Games + Eternal Darkness - Manekareta 13-nin (Japan) + + + + Games + Dairantou Smash Brothers DX (Japan) (En,Ja) (Rev 2) + + + + Games + Zelda no Densetsu - Kaze no Takuto (Japan) + + + + Games + Viewtiful Joe (USA) + + + + Games + X-Men Legends (USA) + + + + Games + Zelda no Densetsu - Toki no Ocarina GC (Japan) + + + + Games + Metroid Prime (Japan) + + + + Games + Giftpia (Japan) + + + + Games + Fire Emblem - Path of Radiance (Europe) (En,Fr,De,Es,It) + + + + Games + Star Fox Adventures (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Sims, The (Europe) (En,Fr,De,Es,It) + + + + Games + Digimon Rumble Arena 2 (Europe) (En,Fr,De,Es) + + + + Games + Mario Party 4 (Europe) (En,Fr,De,Es,It) (Rev 2) + + + + Games + Smuggler's Run - Warzones (Europe) (En,Fr,De,It) + + + + Games + Samurai Jack - The Shadow of Aku (Europe) (En,Fr,De,Es,It) + + + + Games + Pro Rally 2002 (Europe) (En,Fr,De,Es,It) + + + + Games + F-Zero GX (Japan) + + + + Games + Mario Kart - Double Dash!! (Japan) + + + + Games + Kirby's Airride (Japan) + + + + Games + Wario World (Japan) + + + + Games + Paper Mario RPG (Japan) + + + + Games + Kururin Squash! (Japan) + + + + Games + Donkey Kong Jungle Beat (Japan) + + + + Games + Totsugeki!! Famicom Wars (Japan) + + + + Games + Zelda no Densetsu - 4-tsu no Tsurugi+ (Japan) + + + + Games + Zelda no Densetsu - Twilight Princess (Japan) + + + + Games + Tales of Symphonia (Germany) (Disc 1) + + + + Games + Tales of Symphonia (Germany) (Disc 2) + + + + Games + FIFA Football 2004 (Germany) + + + + Games + FIFA Football 2005 (Germany) + + + + Games + FIFA 06 (Germany) + + + + Games + FIFA 07 (Germany) + + + + Games + Tiger Woods PGA Tour 2003 (Europe) + + + + Games + Tiger Woods PGA Tour 2004 (Europe) (Disc 1) + + + + Games + Tiger Woods PGA Tour 2004 (Europe) (Disc 2) + + + + Games + Tiger Woods PGA Tour 2005 (Europe) (En,Fr,De) (Disc 1) + + + + Games + Tiger Woods PGA Tour 2005 (Europe) (En,Fr,De) (Disc 2) + + + + Games + Tiger Woods PGA Tour 06 (Europe) (En,Fr,De) + + + + Games + Baldur's Gate - Dark Alliance (Germany) + + + + Games + Pitfall - The Lost Expedition (Germany) + + + + Games + Red Faction II (Germany) + + + + Games + Summoner - A Goddess Reborn (Germany) + + + + Games + Star Wars - Rogue Squadron II - Rogue Leader (Germany) + + + + Games + Star Wars - Rogue Squadron III - Rebel Strike (Germany) (En,De) + + + + Games + Star Wars - Bounty Hunter (Germany) + + + + Games + Star Wars - Jedi Knight II - Jedi Outcast (Germany) + + + + Games + Star Wars - The Clone Wars (Germany) + + + + Games + FIFA Fussball-Weltmeisterschaft Deutschland 2006 (Germany) + + + + Games + 007 - Liebesgruesse aus Moskau (Germany) + + + + Games + Animal Crossing (USA) + + + + Games + Catwoman (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Biohazard (Japan) (Disc 1) + + + + Games + Biohazard (Japan) (Disc 2) + + + + Games + Viewtiful Joe 2 (USA) + + + + Games + Die Hard - Vendetta (USA) + + + + Games + Phantasy Star Online Episode I & II Plus (USA) (En,Ja,Fr,De,Es) (Rev 2) + + + + Games + Mario Smash Football (Europe) (En,Fr,De,Es,It) + + + + Games + Resident Evil (Europe) (En,Fr,De,Es,It) (Disc 1) + + + + Games + Resident Evil (Europe) (En,Fr,De,Es,It) (Disc 2) + + + + Games + Resident Evil 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Mario Party 7 (USA) (Rev 1) + + + + Games + Metroid Prime 2 - Dark Echoes (Japan) + + + + Games + Pikmin (Japan) (Rev 2) + + + + Games + R-Racing Evolution - Life in the Fast Lane (Japan) + + + + Games + Pac-Man Vs. (Japan) + + + + Games + Mr. Driller - Drill Land (Japan) + + + + Games + Soulcalibur II (Japan) (Rev 1) + + + + Games + Tales of Symphonia (Japan) (Disc 1) + + + + Games + Tales of Symphonia (Japan) (Disc 2) + + + + Games + Baten Kaitos - Owaranai Tsubasa to Ushinawareta Umi (Japan) (Disc 1) + + + + Games + Baten Kaitos - Owaranai Tsubasa to Ushinawareta Umi (Japan) (Disc 2) + + + + Games + Final Fantasy Crystal Chronicles (Japan) + + + + Games + Second Sight (Europe) (En,Fr,De,Es,It) + + + + Games + Disney-Pixar Cars (Germany) + + + + Games + DreamWorks Grosse Haie - Kleine Fische (Germany) + + + + Games + Disney-Pixar Die Unglaublichen (Germany) + + + + Games + Freedom Fighters (Germany) + + + + Games + DreamWorks Ab durch die Hecke (Germany) + + + + Games + GoldenEye - Rogue Agent (Germany) (Disc 1) + + + + Games + GoldenEye - Rogue Agent (Germany) (Disc 2) + + + + Games + Herr der Ringe, Der - Die zwei Tuerme (Germany) + + + + Games + Herr der Ringe, Der - Die Rueckkehr des Koenigs (Germany) + + + + Games + Herr der Ringe, Der - Das dritte Zeitalter (Germany) (Disc 1) + + + + Games + Herr der Ringe, Der - Das dritte Zeitalter (Germany) (Disc 2) + + + + Games + Battle Houshin (Japan) + + + + Games + Naruto - Gekitou Ninja Taisen! (Japan) + + + + Games + Naruto - Gekitou Ninja Taisen! 2 (Japan) (Rev 1) + + + + Games + Naruto - Gekitou Ninja Taisen! 3 (Japan) (Rev 1) + + + + Games + Dragon Drive - D-Masters Shot (Japan) + + + + Bonus Discs + Dragon Drive - D-Masters Shot (Japan) (Anime Disc) + + + + Games + Konjiki no Gashbell!! Go! Go! Mamono Fight!! (Japan) + + + + Games + Konjiki no Gashbell!! Yuujou Tag Battle 2 (Japan) + + + + Games + One Piece - Grand Battle! 3 (Japan) + + + + Games + Batman - Dark Tomorrow (Japan) + + + + Games + Hudson Selection Vol. 2 - Star Soldier (Japan) + + + + Games + Bomberman Generation (Japan) + + + + Games + Bomberman Jetters (Japan) + + + + Games + Tengai Makyou II - Manji Maru (Japan) + + + + Games + Shinki Sekai Evolutia (Japan) + + + + Games + Future GPX Cyber Formula - Road to the Evolution (Japan) + + + + Games + Mahou no Pumpkin - An to Greg no Daibouken (Japan) + + + + Games + Super Puzzle Bobble All Stars (Japan) + + + + Games + Rune (Japan) + + + + Games + Rune II - Koruten no Kagi no Himitsu (Japan) + + + + Demos + Nintendo GameCube Soft e-Catalog 2003 Haru (Japan) + + + + Games + Rockman X - Command Mission (Japan) + + + + Games + Rockman EXE Transmission (Japan) (Rev 1) + + + + Games + Viewtiful Joe (Japan) + + + + Games + Viewtiful Joe - Battle Carnival (Japan) + + + + Games + Capcom vs. SNK 2 EO (Japan) (Rev 1) + + + + Games + Disney's Mickey to Minnie Trick & Chase (Japan) + + + + Games + Disney's Mickey Mouse no Fushigi na Kagami (Japan) (Rev 1) + + + + Games + Gotcha Force (Japan) + + + + Games + Auto Modellista - U.S.-tuned (Japan) + + + + Games + Biohazard 4 (Japan) (Disc 1) + + + + Games + Biohazard 4 (Japan) (Disc 2) + + + + Games + Sonic Adventure 2 - Battle (Japan) (En,Ja,Fr,De,Es) + + + + Games + Jikkyou World Soccer 2002 (Japan) + + + + Games + Croket! Ban-King no Kiki o Sukue (Japan) (Rev 1) + + + + Games + Disney Sports - Soccer (Japan) + + + + Games + Disney Sports - Skateboarding (Japan) + + + + Games + Crash Bandicoot - Bakusou! Nitro Kart (Japan) + + + + Games + Metal Gear Solid - The Twin Snakes (Japan) (En,Ja) (Disc 1) + + + + Games + Metal Gear Solid - The Twin Snakes (Japan) (En,Ja) (Disc 2) + + + + Games + Phantasy Star Online Episode I & II (Japan) (En,Ja,Fr,De,Es) (Rev 2) + + + + Games + Giant Egg - Billy Hatcher no Daibouken (Japan) (Rev 1) + + + + Games + Super Monkey Ball (Japan) (Rev 2) + + + + Games + Super Monkey Ball 2 (Japan) + + + + Games + Virtua Striker 3 Ver. 2002 (Japan) + + + + Games + Bleach GC - Tasogare ni Mamieru Shinigami (Japan) + + + + Games + Virtua Fighter Cyber Generation - Judgment Six no Yabou (Japan) + + + + Games + Sonic Heroes (Japan) (En,Ja,Fr,De,Es,It) + + + + Games + Sonic Mega Collection (Japan) + + + + Games + Eternal Arcadia Legends (Japan) + + + + Games + Sega Soccer Slam (Japan) + + + + Games + Kaijuu no Shima - Amazing Island (Japan) + + + + Games + Biohazard 2 (Japan) + + + + Games + Biohazard 3 - Last Escape (Japan) + + + + Games + Biohazard Zero (Japan) (Disc 1) + + + + Games + Biohazard Zero (Japan) (Disc 2) + + + + Games + Biohazard - Code - Veronica - Kanzenban (Japan) (Disc 1) + + + + Games + Biohazard - Code - Veronica - Kanzenban (Japan) (Disc 2) + + + + Games + Super Monkey Ball 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Luigi's Mansion (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Prince of Persia - Warrior Within (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Asterix & Obelix XXL (Europe) (En,Fr,De,Es,It) + + + + Games + Tom Clancy's Splinter Cell - Pandora Tomorrow (Europe) (Fr,De,Es,It) + + + + Games + Paper Mario - The Thousand-Year Door (Europe) (En,Fr,De,Es,It) + + + + Games + Mortal Kombat - Deadly Alliance (Europe) (En,Fr,De,Es,It) + + + + Games + Tony Hawk's American Wasteland (Europe) (En,Fr,De,Es,It) + + + + Games + V-Rally 3 (Europe) (En,Fr,De,Es,It) + + + + Games + Tiger Woods PGA Tour 2004 (Europe) (Disc 2) (Rev 1) + + + + Games + Tiger Woods PGA Tour 2004 (Europe) (Disc 1) (Rev 1) + + + + Games + Konjiki no Gashbell!! Yuujou Tag Battle - Full Power (Japan) + + + + Games + Mario Golf - Family Tour (Japan) + + + + Games + Kinnikuman Nisei - Shinsedai Choujin vs. Densetsu Choujin (Japan) + + + + Games + Sims, The - Bustin' Out (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Urbz, The - Sims in the City (Europe) (En,Fr,De,Es,Nl) + + + + Games + SSX 3 (Europe) (En,Fr,De,Es) + + + + Games + Phantasy Star Online Episode III - C.A.R.D. Revolution (Europe) (En,Ja,Fr,De,Es) + + + + Games + Madden NFL 06 (USA) + + + + Games + NBA Courtside 2002 (USA) + + + + Games + NBA Street (USA) + + + + Games + Vexx (USA) + + + + Games + Outlaw Golf (USA) + + + + Games + Madden NFL 2005 (USA) + + + + Games + NCAA Football 2003 (USA) + + + + Games + Shadow the Hedgehog (Europe) (En,Ja,Fr,De,Es,It) + + + + Games + Sonic Adventure 2 - Battle (Europe) (En,Ja,Fr,De,Es) + + + + Games + Home Run King (USA) + + + + Games + Knockout Kings 2003 (USA) + + + + Games + Madden NFL 2002 (USA) + + + + Games + Sphinx and the Cursed Mummy (USA) + + + + Games + NBA 2K3 (USA) + + + + Games + ZooCube (USA) + + + + Games + NBA Courtside 2002 (Europe) + + + + Games + Disney's Donald Duck - Quack Attack (Europe) (En,Fr,De,Es,It) + + + + Games + Driven (Europe) (En,Fr,De,Es,It) + + + + Games + Freekstyle (Europe) (En,Fr,De) + + + + Demos + P.N. 03 (Europe) (En,Fr,De,Es,It) (Demo) + + + + Demos + Star Wars - Rogue Squadron III - Rebel Strike (Europe) (En,Fr,De,Es,It) (Demo) + + + + Games + P.N. 03 (USA) + + + + Games + SSX Tricky (USA) + + + + Games + Super Bubble Pop (USA) + + + + Games + TY the Tasmanian Tiger (USA) + + + + Games + Codename - Kids Next Door - Operation - V.I.D.E.O.S.P.I.E.L. (Germany) + + + + Games + Blood Omen 2 - The Legacy of Kain Series (Germany) + + + + Games + Scooby-Doo! Fluch der Folianten (Germany) + + + + Games + Shrek 2 (Germany) + + + + Games + Nickelodeon SpongeBob Schwammkopf - Film ab! (Germany) + + + + Games + Tony Hawk's Pro Skater 3 (Germany) + + + + Games + UEFA Champions League 2004-2005 (Germany) + + + + Games + Evolution Worlds (USA) + + + + Games + Lemony Snicket's A Series of Unfortunate Events (USA) + + + + Games + Rayman Arena (USA) (En,Fr,Es) + + + + Games + Top Gun - Combat Zones (USA) + + + + Games + Tom Clancy's Splinter Cell (USA) + + + + Games + 007 - Agent Under Fire (USA) (Rev 1) + + + + Games + Prince of Persia - The Two Thrones (USA) (En,Fr,Es) + + + + Games + Mario Golf - Toadstool Tour (USA) + + + + Games + Need for Speed - Hot Pursuit 2 (Europe) (En,Fr,De) + + + + Games + Capcom vs. SNK 2 EO - Millionaire Fighting 2001 (Europe) + + + + Games + Need for Speed - Underground 2 (Germany) + + + + Games + GoldenEye - Rogue Agent (USA) (Disc 1) + + + + Games + GoldenEye - Rogue Agent (USA) (Disc 2) + + + + Games + Driven (USA) (En,Fr,De,Es,It) + + + + Games + Tiger Woods PGA Tour 2005 (USA) (Disc 1) + + + + Games + Tiger Woods PGA Tour 2005 (USA) (Disc 2) + + + + Games + Nickelodeon Tak 2 - The Staff of Dreams (USA) + + + + Demos + Nintendo GameCube Preview Disc - May 2003 (USA) + + + + Demos + Interactive Multi-Game Demo Disc - July 2002 (USA) + + + + Demos + Interactive Multi-Game Demo Disk - March 2002 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - May 2002 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - September 2002 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - November 2002 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - December 2002 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - February 2003 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - April 2003 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - June 2003 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - September 2003 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - November 2003 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - March 2004 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - May 2004 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - July 2004 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - November 2004 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - February 2005 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - April 2005 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - May 2005 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - October 2005 (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - April 2006 (Europe) (En,Fr,De,Es,It) + + + + Games + Disneys Ferkels grosses Abenteuer-Spiel (Germany) + + + + Games + Sims 2, The - Pets (Europe) (En,Fr,De) + + + + Games + True Crime - New York City (Germany) + + + + Games + X-Men Legends (Europe) (En,Fr,De) + + + + Games + Legend of Zelda, The - Twilight Princess (Europe) (En,Fr,De,Es,It) + + + + Games + Madden NFL 2004 (USA) + + + + Games + Madden NFL 2004 (USA) (Rev 1) + + + + Games + Harry Potter and the Chamber of Secrets (USA) + + + + Games + Mega Man Network Transmission (USA) + + + + Games + Bratz - Forever Diamondz (Europe) (En,Fr) + + + + Games + Cel Damage (USA) + + + + Games + TMNT - Mutant Melee (USA) + + + + Games + Universal Studios Theme Park Adventure (USA) + + + + Games + NCAA College Football 2K3 (USA) + + + + Games + SX Superstar (USA) + + + + Games + Medal of Honor - European Assault (Germany) + + + + Games + Resident Evil 3 - Nemesis (Europe) (En,Fr,De,Es,It) + + + + Games + Resident Evil 4 (Europe) (En,Fr,De,Es,It) (Disc 1) + + + + Games + Resident Evil 4 (Europe) (En,Fr,De,Es,It) (Disc 2) + + + + Games + Aggressive Inline (USA) + + + + Games + Beyblade VForce - Super Tournament Battle (USA) + + + + Games + Zapper (USA) + + + + Games + Nicktoons Unite! (USA) + + + + Games + Pokemon Channel (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 35 (USA) + + + + Games + Tom Clancy's Splinter Cell (Europe) (En,Fr,De,Es,It) + + + + Games + WarioWare, Inc. - Mega Party Game$! (Europe) (En,Fr,De,Es,It) + + + + Games + Minority Report - Everybody Runs (Europe) + + + + Games + Virtua Striker 3 Ver. 2002 (Europe) (En,Fr,De,Es,It) + + + + Games + Medal of Honor - Frontline (Europe) + + + + Games + Sonic Gems Collection (Europe) (En,Fr,De,Es,It) + + + + Games + Viewtiful Joe (Europe) (En,Fr,De,Es,It) + + + + Games + Star Wars - Rogue Squadron II - Rogue Leader (Spain) + + + + Games + 007 - Nightfire (USA) + + + + Games + Bomberman Jetters (USA) + + + + Games + Donkey Konga 2 (USA) + + + + Games + Mario Party 4 (USA) (Rev 1) + + + + Games + Mario Party 5 (USA) + + + + Games + Mario Party 6 (USA) + + + + Games + Mortal Kombat - Deadly Alliance (USA) + + + + Games + Need for Speed - Underground (USA) + + + + Games + Nickelodeon SpongeBob SquarePants - The Movie (USA) (Rev 1) + + + + Games + Star Wars - Rogue Squadron III - Rebel Strike (USA) (En,Fr,De,Es,It) + + + + Games + Wave Race - Blue Storm (USA) + + + + Applications + Game Boy Player Start-Up Disc (USA) (Rev 3) + + + + Games + Wario World (Europe) (En,Fr,De,Es,It) + + + + Games + Super Robot Taisen GC (Japan) + + + + Games + P.N. 03 (Europe) (En,Fr,De,Es,It) + + + + Games + Godzilla - Destroy All Monsters Melee (Europe) (En,Fr,De,Es,It) + + + + Games + Baten Kaitos - Eternal Wings and the Lost Ocean (USA) (Disc 1) + + + + Games + Baten Kaitos - Eternal Wings and the Lost Ocean (USA) (Disc 2) + + + + Games + Baten Kaitos Origins (USA) (Disc 1) + + + + Games + Baten Kaitos Origins (USA) (Disc 2) + + + + Games + Phantasy Star Online Episode I & II (USA) (En,Ja,Fr,De,Es) (Rev 1) + + + + Games + 2002 FIFA World Cup (Europe) + + + + Games + RedCard (Europe) (En,Fr,De,Es,It) + + + + Games + NHL Hitz 2002 (Europe) (Rev 1) + + + + Games + Tales of Symphonia (France) (Disc 1) + + + + Games + Tales of Symphonia (France) (Disc 2) + + + + Games + Legend of Zelda, The - Four Swords Adventures (USA) + + + + Games + Prince of Persia - The Sands of Time (USA) (En,Fr,Es) (Rev 1) + + + + Games + Bloody Roar - Primal Fury (USA) + + + + Games + Naruto - Clash of Ninja (USA) + + + + Games + Zatch Bell! Mamodo Battles (USA) + + + + Games + Custom Robo (USA) + + + + Games + Nickelodeon Jimmy Neutron - Boy Genius - Attack of the Twonkies (USA) + + + + Games + DreamWorks Shrek - Smash n' Crash Racing (USA) + + + + Games + Billy Hatcher and the Giant Egg (Europe) (En,Ja,Fr,De,Es,It) + + + + Games + Donkey Kong Jungle Beat (Europe) (En,Fr,De,Es,It) + + + + Games + Geist (Europe) (En,Fr,De,Es,It) + + + + Games + Killer7 (Europe) (En,Fr,De) (Disc 1) + + + + Games + Killer7 (Europe) (En,Fr,De) (Disc 2) + + + + Games + Odama (Europe) (En,Fr,De,Es,It) + + + + Games + Resident Evil - Code - Veronica X (Europe) (En,Fr,De,Es,It) (Disc 1) + + + + Games + Resident Evil - Code - Veronica X (Europe) (En,Fr,De,Es,It) (Disc 2) + + + + Games + Star Fox - Assault (Europe) (En,Fr,De,Es,It) + + + + Games + TimeSplitters - Future Perfect (France) + + + + Games + Viewtiful Joe - Red Hot Rumble (Europe) (En,Fr,De,Es,It) + + + + Games + WarioWare, Inc. - Mega Party Game$! (USA) + + + + Games + Simpsons, The - Road Rage (USA) + + + + Games + Super Smash Bros. Melee (USA) (En,Ja) (Rev 2) + + + + Games + Mega Man Anniversary Collection (USA) (Rev 1) + + + + Games + Aggressive Inline (Europe) (En,Fr,De,Es) + + + + Games + Batman - Dark Tomorrow (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Batman - Vengeance (Europe) (En,Fr,De,Es,It) + + + + Games + Goblin Commander - Unleash the Horde (Europe) (En,Fr,De) + + + + Games + Hot Wheels - Velocity X (Europe) + + + + Games + Nickelodeon Jimmy Neutron - Der mutige Erfinder (Germany) + + + + Games + Nickelodeon SpongeBob SquarePants and Friends Unite! (Europe) (En,Fr,De,Nl) + + + + Games + Disneys Himmel und Huhn (Germany) + + + + Games + Minority Report - Everybody Runs (Germany) + + + + Games + Disney's Hide & Sneak (Europe) (En,Fr,De) + + + + Games + Disney Sports - Football (Europe) (En,Fr,De,Es,It) + + + + Games + Disney's Donald Duck PK (Europe) (En,Fr,De,Es,It) + + + + Games + Harry Potter und der Feuerkelch (Germany) + + + + Games + Harry Potter and the Chamber of Secrets (Europe) (En,Fr,De) + + + + Games + Fantastici 4, I (Italy) + + + + Games + DreamWorks Madagascar (Italy) + + + + Games + DreamWorks Shark Tale (Italy) + + + + Games + Pokemon Channel - Pikachu to Issho! (Japan) + + + + Bonus Discs + Pokemon Channel - Bangumi Kakuchou Pack (Japan) + + + + Games + Ultimate Spider-Man (Italy) + + + + Games + NCAA College Basketball 2K3 (USA) + + + + Games + Catwoman (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 12 (USA) + + + + Games + Dragon Ball Z - Budokai (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 11 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 13 (USA) + + + + Games + All-Star Baseball 2003 featuring Derek Jeter (USA) + + + + Games + Mat Hoffman's Pro BMX 2 (USA) + + + + Games + MVP Baseball 2004 (USA) + + + + Games + Mario Party 4 (USA) + + + + Games + Freestyle Street Soccer (USA) + + + + Games + Sonic Adventure DX - Director's Cut (Europe) (En,Ja,Fr,De,Es) (Rev 1) + + + + Games + GoldenEye - Rogue Agent (France) (Disc 1) + + + + Games + GoldenEye - Rogue Agent (France) (Disc 2) + + + + Games + Lost Kingdoms (Europe) (En,Fr) + + + + Games + Black & Bruised (Europe) (En,Fr,De) + + + + Games + Ikaruga (Europe) + + + + Games + Lord of the Rings, The - The Return of the King (Europe) (En,Nl,Sv) + + + + Games + Mega Man X - Command Mission (Europe) (En,Fr,De) + + + + Games + Harry Potter - Quidditch World Cup (USA) (En,Fr,Es) + + + + Games + Beyond Good & Evil (USA) (En,Es) + + + + Games + Disney's The Haunted Mansion (USA) + + + + Games + Baldur's Gate - Dark Alliance (USA) + + + + Games + Dead to Rights (USA) + + + + Games + Egg Mania - Eggstreme Madness (USA) (Rev 1) + + + + Games + Enter the Matrix (USA) (Disc 1) + + + + Games + Enter the Matrix (USA) (Disc 2) + + + + Games + Go! Go! Hypergrind (USA) + + + + Games + Blood Omen 2 - The Legacy of Kain Series (Europe) + + + + Games + International Superstar Soccer 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Alien Hominid (USA) + + + + Games + Tony Hawk's Pro Skater 4 (USA) + + + + Games + Rocky (USA) + + + + Games + Tiger Woods PGA Tour 2004 (USA) (Disc 1) + + + + Games + Tiger Woods PGA Tour 2004 (USA) (Disc 2) + + + + Games + Mary-Kate and Ashley - Sweet 16 - Licensed to Drive (USA) + + + + Games + Dark Summit (USA) + + + + Games + Marvel Nemesis - Rise of the Imperfects (USA) + + + + Games + 007 - From Russia with Love (USA) + + + + Games + Pac-Man Fever (USA) + + + + Games + Disney's PK - Out of the Shadows (USA) (En,Fr,De,It) + + + + Games + Starsky & Hutch (USA) + + + + Games + Pokemon Box - Ruby & Sapphire (Japan) + + + + Games + Densetsu no Quiz-ou Kettei-sen (Japan) + + + + Games + XGIII - Extreme G Racing (USA) + + + + Games + Batman - Vengeance (USA) (En,Fr,Es) + + + + Games + Big Mutha Truckers (USA) + + + + Games + Harry Potter and the Prisoner of Azkaban (USA) + + + + Games + Medal of Honor - Frontline (USA) + + + + Games + Lord of the Rings, The - The Return of the King (USA) + + + + Games + Casper - Spirit Dimensions (USA) + + + + Games + BloodRayne (USA) + + + + Games + Drome Racers (USA) + + + + Games + Disney-Pixar Finding Nemo (USA) (Rev 1) + + + + Games + FIFA Soccer 2002 (USA) + + + + Games + NCAA Football 2004 (USA) + + + + Games + NFL 2K3 (USA) + + + + Games + Whirl Tour (USA) + + + + Games + R-Racing Evolution (USA) + + + + Games + Super Smash Bros. Melee (USA) (En,Ja) + + + + Games + SSX on Tour (USA) + + + + Games + Harvest Moon - Magical Melody (USA) + + + + Games + Dance Dance Revolution - Mario Mix (USA) (Rev 1) + + + + Games + Super Monkey Ball 2 (USA) + + + + Games + Pac-Man Vs. (USA) + + + + Games + Pac-Man World 2 (USA) + + + + Games + Fire Emblem - Path of Radiance (USA) + + + + Games + Tom Clancy's Ghost Recon (USA) + + + + Games + Sonic Gems Collection (USA) + + + + Games + Killer7 (USA) (Disc 1) (Rev 1) + + + + Games + Killer7 (USA) (Disc 2) (Rev 1) + + + + Games + Donkey Kong Jungle Beat (USA) + + + + Bonus Discs + Pokemon Colosseum (USA) (Bonus Disc) + + + + Games + Red Faction II (USA) + + + + Games + Smuggler's Run - Warzones (USA) + + + + Games + TimeSplitters 2 (USA) + + + + Games + Battalion Wars (USA) + + + + Games + Rayman 3 - Hoodlum Havoc (USA) (En,Fr,De,Es,It) + + + + Games + Chibi-Robo! (USA) + + + + Games + Pikmin 2 (USA) + + + + Games + Super Monkey Ball (USA) + + + + Games + Phantasy Star Online Episode III - C.A.R.D. Revolution (USA) (En,Ja) + + + + Games + Harvest Moon - A Wonderful Life (USA) + + + + Games + Call of Duty - Finest Hour (USA) + + + + Games + Darkened Skye (USA) + + + + Games + Dr. Muto (USA) + + + + Games + Dragon's Lair 3D - Return to the Lair (USA) + + + + Games + Freaky Flyers (USA) (Disc 1) + + + + Games + Freaky Flyers (USA) (Disc 2) + + + + Games + MC Groovz Dance Craze (USA) + + + + Games + Minority Report - Everybody Runs (USA) + + + + Games + Spider-Man (USA) + + + + Games + Wario World (USA) + + + + Games + Scaler (USA) (En,Fr) + + + + Games + 1080 Avalanche (USA) + + + + Games + Amazing Island (USA) + + + + Games + Super Mario Strikers (USA) + + + + Games + Wai Wai Golf (Japan) + + + + Games + Disney's Magical Park (Japan) + + + + Games + WWE Day of Reckoning 2 (USA) + + + + Games + Lost Kingdoms II (USA) + + + + Games + Midway Arcade Treasures 3 (USA) + + + + Games + Odama (USA) (Rev 1) + + + + Games + Gauntlet - Dark Legacy (USA) + + + + Games + Bomberman Generation (USA) + + + + Games + Batman Begins (USA) + + + + Games + Batman - Dark Tomorrow (USA) (Rev 1) + + + + Games + Batman - Rise of Sin Tzu (USA) (En,Fr,Es) + + + + Games + Beach Spikers - Virtua Beach Volleyball (USA) + + + + Games + BMX XXX (USA) + + + + Games + Intellivision Lives! (USA) + + + + Games + Mario Power Tennis (USA) + + + + Games + Mega Man X - Command Mission (USA) + + + + Games + Skies of Arcadia Legends (USA) + + + + Games + Harvest Moon - Another Wonderful Life (USA) + + + + Games + Cubivore - Survival of the Fittest (USA) + + + + Games + Mario Superstar Baseball (USA) + + + + Games + Naruto - Clash of Ninja 2 (USA) + + + + Games + Sonic Riders (USA) (En,Ja,Fr,De,Es,It) + + + + Games + Space Raiders (USA) + + + + Games + Spider-Man 2 (USA) + + + + Games + NBA Street V3 (USA) + + + + Games + Shadow the Hedgehog (USA) (En,Ja,Fr,De,Es,It) + + + + Games + Sonic Heroes (USA) (En,Ja,Fr,De,Es,It) + + + + Games + 007 - Agent Under Fire (USA) + + + + Games + Midway Arcade Treasures (USA) + + + + Games + Midway Arcade Treasures 2 (USA) + + + + Games + Viewtiful Joe - Red Hot Rumble (USA) + + + + Games + I-Ninja (USA) + + + + Games + Ultimate Spider-Man (USA) + + + + Games + Mortal Kombat - Deadly Alliance (Germany) (En,Fr,De,Es,It) + + + + Games + Powerpuff Girls, The - Relish Rampage - Pickled Edition (Europe) (En,Fr,De,Es) + + + + Games + Need for Speed - Underground (Europe) + + + + Games + Hot Wheels - World Race (Europe) + + + + Games + MX SuperFly (Europe) + + + + Games + NHL Hitz Pro (USA) + + + + Games + Yu-Gi-Oh! The Falsebound Kingdom (USA) + + + + Games + Crazy Taxi (USA) + + + + Games + X-Men - Next Dimension (USA) + + + + Games + Mega Man X Collection (USA) + + + + Games + Burnout (USA) + + + + Games + Burnout 2 - Point of Impact (USA) + + + + Games + Need for Speed - Carbon (USA) + + + + Games + Sims 2, The - Pets (USA) + + + + Games + Kirby Air Ride (USA) + + + + Games + Scorpion King, The - Rise of the Akkadian (Europe) (En,Fr,De,Es,It) + + + + Games + Pool Paradise (USA) + + + + Games + Baten Kaitos - Eternal Wings and the Lost Ocean (Europe) (En,Fr,De,Es,It) (Disc 1) + + + + Games + Baten Kaitos - Eternal Wings and the Lost Ocean (Europe) (En,Fr,De,Es,It) (Disc 2) + + + + Games + Call of Duty - Finest Hour (Europe) + + + + Games + Nickelodeon Avatar - The Last Airbender (USA) + + + + Games + Ed, Edd n Eddy - The Mis-Edventures (USA) (En,Fr) + + + + Demos + Interactive Multi-Game Demo Disc Version 10 (USA) + + + + Demos + Interactive Multi-Game Demo Disc - March 2002 (USA) + + + + Games + 18 Wheeler - American Pro Trucker (USA) + + + + Games + Monopoly Party (USA) + + + + Games + Nickelodeon SpongeBob SquarePants - Battle for Bikini Bottom (USA) + + + + Games + Backyard Football (USA) + + + + Games + FireBlade (Europe) (En,Fr,De,Es,It) + + + + Games + Hunter - The Reckoning (Europe) (En,Fr,De) + + + + Games + Hitman 2 - Silent Assassin (USA) + + + + Games + Men in Black II - Alien Escape (USA) + + + + Games + Shonen Jump's One Piece - Grand Battle (USA) + + + + Games + Disney-Pixar Cars (USA) + + + + Games + All-Star Baseball 2002 (USA) + + + + Games + ATV - Quad Power Racing 2 (USA) + + + + Games + Crash Bandicoot - The Wrath of Cortex (USA) + + + + Games + Charlie and the Chocolate Factory (USA) + + + + Games + Cubix Robots for Everyone - Showdown (USA) + + + + Games + Nickelodeon The Adventures of Jimmy Neutron - Boy Genius - Jet Fusion (USA) + + + + Games + Dave Mirra Freestyle BMX 2 (USA) + + + + Games + Defender (USA) + + + + Games + Def Jam - Vendetta (USA) + + + + Games + F1 2002 (USA) (En,Fr,De,It) + + + + Games + FireBlade (USA) + + + + Games + DreamWorks & Aardman Flushed Away (USA) + + + + Games + Harry Potter and the Goblet of Fire (USA) + + + + Games + Hunter - The Reckoning (USA) + + + + Games + Disney-Pixar The Incredibles (USA) + + + + Games + Disney-Pixar The Incredibles - Rise of the Underminer (USA) + + + + Games + Medal of Honor - Rising Sun (USA) (Disc 1) + + + + Games + Medal of Honor - Rising Sun (USA) (Disc 2) + + + + Games + Looney Tunes - Back in Action (USA) + + + + Games + MVP Baseball 2005 (USA) + + + + Games + Disney-Pixar Monsters, Inc. - Scream Arena (USA) + + + + Games + MLB SlugFest 2003 (USA) + + + + Games + NBA Live 06 (USA) + + + + Games + NBA Live 2003 (USA) + + + + Games + NBA Live 2004 (USA) + + + + Games + NBA Street Vol. 2 (USA) + + + + Games + Need for Speed - Hot Pursuit 2 (USA) + + + + Games + Need for Speed - Most Wanted (USA) + + + + Games + Need for Speed - Underground 2 (USA) + + + + Games + NCAA Football 2005 (USA) + + + + Games + NFL Blitz 2003 (USA) + + + + Games + NFL Blitz Pro (USA) + + + + Games + NHL 2005 (USA) (En,Fr) + + + + Games + Nicktoons - Battle for Volcano Island (USA) + + + + Games + NFL QB Club 2002 (USA) + + + + Games + Scorpion King, The - Rise of the Akkadian (USA) + + + + Games + Shrek 2 (USA) + + + + Games + Nickelodeon SpongeBob SquarePants - Revenge of the Flying Dutchman (USA) + + + + Games + Nickelodeon SpongeBob SquarePants - Lights, Camera, Pants! (USA) + + + + Games + Tony Hawk's Underground (USA) + + + + Games + True Crime - New York City (USA) + + + + Games + True Crime - Streets of LA (USA) + + + + Games + Strike Force Bowling (USA) + + + + Games + SSX 3 (USA) + + + + Games + WTA Tour Tennis (USA) + + + + Games + SpyHunter (USA) + + + + Games + Nickelodeon Tak - The Great Juju Challenge (USA) + + + + Games + Ant Bully, The (USA) (En,Fr) + + + + Games + 4x4 Evo 2 (USA) + + + + Games + Nickelodeon Jimmy Neutron - Boy Genius (USA) + + + + Games + NBA Live 2005 (USA) + + + + Games + Legends of Wrestling (USA) + + + + Games + Mystic Heroes (USA) + + + + Games + Monster House (USA) (En,Fr) + + + + Games + Polar Express, The (USA) + + + + Games + Shonen Jump's One Piece - Pirates' Carnival (USA) + + + + Games + Robots (USA) + + + + Games + SeaWorld Adventure Parks - Shamu's Deep Sea Adventures (USA) + + + + Games + Worms Blast (USA) (En,Fr,Es) + + + + Games + X2 - Wolverine's Revenge (USA) + + + + Games + Namco Museum (USA) + + + + Games + Swingerz Golf (USA) + + + + Games + Tonka - Rescue Patrol (USA) + + + + Games + 2002 FIFA World Cup (USA) + + + + Games + Aquaman - Battle for Atlantis (USA) + + + + Games + Bad Boys - Miami Takedown (USA) + + + + Games + Disney's Magical Mirror Starring Mickey Mouse (USA) + + + + Games + FIFA Soccer 06 (USA) + + + + Games + Freestyle Metal X (USA) + + + + Games + Gun (USA) + + + + Games + Medal of Honor - European Assault (USA) + + + + Games + Monster Jam - Maximum Destruction (USA) + + + + Games + MX SuperFly (USA) + + + + Games + NBA 2K2 (USA) + + + + Games + NFL Street (USA) + + + + Games + NHL 06 (USA) (En,Fr) + + + + Games + Power Rangers - Dino Thunder (USA) + + + + Games + Reign of Fire (USA) + + + + Games + Shrek Extra Large (USA) + + + + Games + Speed Kings (USA) + + + + Games + Nickelodeon SpongeBob SquarePants - Creature from the Krusty Krab (USA) + + + + Games + Spyro - A Hero's Tail (USA) + + + + Games + Summoner - A Goddess Reborn (USA) + + + + Games + Teenage Mutant Ninja Turtles (USA) + + + + Games + Tiger Woods PGA Tour 06 (USA) + + + + Games + Virtua Quest (USA) + + + + Games + WWE Day of Reckoning (USA) + + + + Games + Buffy the Vampire Slayer - Chaos Bleeds (USA) + + + + Games + Bionicle (USA) + + + + Games + Bionicle Heroes (USA) (Rev 1) + + + + Games + Bratz - Rock Angelz (USA) + + + + Games + Carmen Sandiego - The Secret of the Stolen Drums (USA) (En,Fr) + + + + Games + Charlie's Angels (USA) (En,Fr) + + + + Games + Fairly OddParents, The - Shadow Showdown (USA) + + + + Games + Freekstyle (USA) + + + + Games + Harry Potter and the Sorcerer's Stone (USA) (En,Es) (Rev 1) + + + + Games + Lara Croft Tomb Raider - Legend (USA) + + + + Games + DreamWorks Madagascar (USA) (Rev 1) + + + + Games + Mark Davis Pro Bass Challenge (USA) + + + + Games + Medabots Infinity (USA) (Rev 1) + + + + Games + NHL 2004 (USA) + + + + Games + Open Season (USA) (En,Fr,Es) + + + + Games + Pinball Hall of Fame - The Gottlieb Collection (USA) + + + + Games + Pitfall - The Lost Expedition (USA) + + + + Games + Nickelodeon Rugrats - Royal Ransom (USA) + + + + Games + Samurai Jack - The Shadow of Aku (USA) + + + + Games + Scooby-Doo! Mystery Mayhem (USA) + + + + Games + Scooby-Doo! Night of 100 Frights (USA) + + + + Games + Scooby-Doo! Unmasked (USA) (En,Fr) + + + + Games + DreamWorks Shark Tale (USA) + + + + Games + SRS - Street Racing Syndicate (USA) + + + + Games + Tom Clancy's Ghost Recon 2 (USA) (En,Fr,Es) + + + + Games + Tom Clancy's Rainbow Six - Lockdown (USA) + + + + Games + Tom Clancy's Splinter Cell - Chaos Theory (USA) (En,Fr,Es) (Disc 1) + + + + Games + Tom Clancy's Splinter Cell - Chaos Theory (USA) (En,Fr,Es) (Disc 2) + + + + Games + Tom Clancy's Splinter Cell - Double Agent (USA) (En,Fr,Es) (Disc 1) + + + + Games + Tom Clancy's Splinter Cell - Double Agent (USA) (En,Fr,Es) (Disc 2) + + + + Games + Tube Slider - The Championship of Future Formula (USA) + + + + Games + Turok - Evolution (USA) + + + + Games + TY the Tasmanian Tiger 2 - Bush Rescue (USA) + + + + Games + X-Men - The Official Game (USA) + + + + Games + X-Men Legends II - Rise of Apocalypse (USA) + + + + Games + Army Men - RTS (USA) + + + + Games + Army Men - Sarge's War (USA) + + + + Games + Backyard Baseball (USA) + + + + Games + Bratz - Forever Diamondz (USA) + + + + Games + Call of Duty 2 - Big Red One (USA) + + + + Games + Chaos Field (USA) + + + + Games + Codename - Kids Next Door - Operation - V.I.D.E.O.G.A.M.E. (USA) + + + + Games + Dakar 2 - The World's Ultimate Rally (USA) (En,Fr,De,Es,It) + + + + Games + Disney's Tarzan - Untamed (USA) (En,Fr) + + + + Games + ESPN International Winter Sports 2002 (USA) + + + + Games + Fairly OddParents, The - Breakin' da Rules (USA) + + + + Games + Fantastic 4 (USA) + + + + Games + Battalion Wars (Europe) (En,Fr,De,Es,It) + + + + Games + Grim Adventures of Billy & Mandy, The (USA) + + + + Games + Happy Feet (USA) (En,Fr) + + + + Games + Hulk (USA) + + + + Games + Ice Age 2 - The Meltdown (USA) + + + + Games + Karaoke Revolution Party (USA) + + + + Games + Legend of Spyro, The - A New Beginning (USA) + + + + Games + LEGO Star Wars - The Video Game (USA) + + + + Games + LEGO Star Wars II - The Original Trilogy (USA) + + + + Games + Metal Arms - Glitch in the System (USA) + + + + Games + MLB SlugFest 2004 (USA) + + + + Games + Mortal Kombat - Deception (USA) + + + + Games + NFL Blitz 2002 (USA) + + + + Games + NHL 2K3 (USA) + + + + Games + Powerpuff Girls, The - Relish Rampage - Pickled Edition (USA) + + + + Games + Super Monkey Ball Adventure (USA) + + + + Games + Teen Titans (USA) (En,Fr) + + + + Games + Teenage Mutant Ninja Turtles 3 - Mutant Nightmare (USA) (Disc 1) + + + + Games + Teenage Mutant Ninja Turtles 3 - Mutant Nightmare (USA) (Disc 2) + + + + Games + Terminator 3 - The Redemption (USA) + + + + Games + Tom Clancy's Rainbow Six 3 (USA) + + + + Games + Tony Hawk's Underground 2 (USA) + + + + Games + Ultimate Muscle - Legends vs. New Generation (USA) + + + + Games + Rampage - Total Destruction (USA) + + + + Games + TY the Tasmanian Tiger - Night of the Quinkan (USA) + + + + Games + Bust-A-Move 3000 (USA) + + + + Games + RoadKill (USA) + + + + Games + Beach Spikers - Virtua Beach Volleyball (Europe) (En,Fr,De,Es,It) + + + + Games + Chibi-Robo! (Europe) (En,Fr,De,Es,It) + + + + Games + Crazy Taxi (Europe) (En,Fr,De,Es) + + + + Games + Donkey Konga 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Harvest Moon - A Wonderful Life (Europe) + + + + Games + R-Racing (Europe) (En,Fr,De,Es,It) + + + + Games + Legend of Zelda, The - Four Swords Adventures (Europe) (En,Fr,De,Es,It) + + + + Games + Pac-Man Vs. (Europe) (En,Fr,De,Es,It) + + + + Games + Pikmin 2 (Japan) + + + + Games + Kidou Senshi Gundam - Senshi-tachi no Kiseki (Japan) + + + + Games + World Soccer Winning Eleven 6 - Final Evolution (Japan) + + + + Games + Skies of Arcadia Legends (Europe) (En,Fr,De,Es) + + + + Games + Serious Sam - Next Encounter (Europe) (En,Fr,De) + + + + Games + TMNT (USA) (En,Fr,Es) + + + + Games + Shonen Jump's One Piece - Grand Adventure (USA) + + + + Games + Tetris Worlds (Japan) + + + + Games + Egg Mania - Tsukande! Mawashite! Dossun Puzzle!! (Japan) (Rev 1) + + + + Games + Super Mario Strikers (Japan) + + + + Games + Mario Tennis GC (Japan) (Rev 1) + + + + Games + One Piece - Grand Battle! Rush (Japan) + + + + Games + Odama (Japan) (Rev 1) + + + + Games + Sonic Riders (Japan) (En,Ja,Fr,De,Es,It) + + + + Games + GT Cube (Japan) + + + + Games + Killer7 (Japan) (Disc 1) (Rev 2) + + + + Games + Killer7 (Japan) (Disc 2) (Rev 2) + + + + Games + Hudson Selection Vol. 1 - Cubic Lode Runner (Japan) + + + + Games + Ultimate Spider-Man (Japan) + + + + Games + Frogger (Japan) + + + + Games + Crash Bandicoot 4 - Sakuretsu! Majin Power (Japan) + + + + Games + Crash Bandicoot - Gatchanko World (Japan) + + + + Games + Mario Party 4 (Japan) + + + + Games + Mario Party 5 (Japan) + + + + Games + Mario Party 6 (Japan) + + + + Games + Mario Party 7 (Japan) + + + + Games + 007 - Everything or Nothing (Europe) (En,It,Nl,Sv) + + + + Games + Puyo Pop Fever (USA) (En,Ja,Fr,De,Es,It) + + + + Games + Black & Bruised (USA) + + + + Games + Big Air Freestyle (USA) + + + + Games + Ace Golf (Europe) (En,Fr) + + + + Games + Italian Job, The (USA) + + + + Games + Spartan - Total Warrior (Europe) (En,Es,It) + + + + Games + Super Monkey Ball (Europe) (En,Fr,De,Es,It) + + + + Games + Tales of Symphonia (Europe) (Disc 1) + + + + Games + Tales of Symphonia (Europe) (Disc 2) + + + + Games + Disney Sports - Soccer (USA) + + + + Games + Army Men - Air Combat - The Elite Missions (USA) + + + + Games + Gladius (USA) + + + + Games + FIFA World Cup Germany 2006 (USA) + + + + Games + All-Star Baseball 2004 featuring Derek Jeter (USA) + + + + Games + Turok - Evolution (Europe) (En,Fr,Es,It) + + + + Games + Viewtiful Joe 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Wreckless - The Yakuza Missions (Europe) (En,Fr,De) + + + + Games + Tom Clancy's Splinter Cell - Pandora Tomorrow (USA) (Rev 1) + + + + Demos + Biohazard Zero - Trial Edition (Japan) + + + + Games + Animaniacs - The Great Edgar Hunt (Europe) (En,Fr,De,Es,It) + + + + Demos + Resident Evil 4 (Australia) (En,Fr,De,Es,It) (Bonus Disc) + + + + Games + Legend of Zelda, The - Ocarina of Time & Master Quest (Australia) (En,Fr,De) + + + + Games + TY the Tasmanian Tiger (Europe) (En,Fr,De,Es,It) + + + + Games + Summoner - A Goddess Reborn (Europe) + + + + Games + Ice Age 2 - The Meltdown (Europe) (En,Fr,De) + + + + Games + Burnout 2 - Point of Impact (Europe) (En,Fr,De,Es,It) + + + + Games + Tony Hawk's Underground (Europe) (En,Fr,De) + + + + Games + Tony Hawk's Underground 2 (Europe) (En,Fr,De) + + + + Games + Need for Speed - Underground 2 (Europe) + + + + Games + Madden NFL 07 (USA) + + + + Games + Peter Jackson's King Kong - The Official Game of the Movie (USA) (En,Fr,Es) + + + + Games + Auto Modellista (USA) + + + + Games + Animaniacs - The Great Edgar Hunt (USA) + + + + Games + American Chopper 2 - Full Throttle (USA) + + + + Games + Evolution Skateboarding (USA) + + + + Games + Kelly Slater's Pro Surfer (USA) + + + + Games + SSX on Tour (Europe) + + + + Demos + Biohazard (Japan) (Tokubetsu-ban) + + + + Games + Spyro - A Hero's Tail (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Judge Dredd - Dredd vs. Death (USA) + + + + Games + Mission - Impossible - Operation Surma (USA) + + + + Games + Wreckless - The Yakuza Missions (USA) + + + + Games + City Racer (USA) + + + + Games + TransWorld Surf - Next Wave (USA) + + + + Games + Evolution Snowboarding (USA) + + + + Games + Dinotopia - The Sunstone Odyssey (USA) + + + + Games + Burnout (Europe) (En,Fr,De,Es,It) + + + + Games + Donkey Konga (Europe) (En,Fr,De,Es,It) + + + + Games + Star Wars - Bounty Hunter (Europe) + + + + Games + Star Wars - The Clone Wars (Europe) + + + + Games + Mario Golf - Toadstool Tour (Europe) (En,Fr,De,Es,It) + + + + Games + Prince of Persia - The Sands of Time (Europe) (En,Fr,De,Es,It) + + + + Games + Rayman 3 - Hoodlum Havoc (Europe) (En,Fr,De,Es,It) + + + + Games + Sonic Heroes (Europe) (En,Ja,Fr,De,Es,It) + + + + Games + Sonic Mega Collection (Europe) (En,Fr,De,Es,It) + + + + Games + Star Wars - Rogue Squadron III - Rebel Strike (Europe) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - September 2002 (Australia) (En,Fr,De,Es,It) + + + + Games + Animal Crossing (Australia) + + + + Games + Judge Dredd - Dredd vs. Death (Europe) (En,Fr) + + + + Games + Peter Jackson's King Kong - The Official Game of the Movie (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi) + + + + Games + Mario Party 5 (Europe) (En,Fr,De,Es,It) + + + + Games + XIII (Europe) + + + + Games + Pokemon Channel (Australia) + + + + Games + Nickelodeon The Adventures of Jimmy Neutron - Boy Genius - Jet Fusion (Europe) + + + + Games + Tony Hawk's Pro Skater 3 (Europe) + + + + Games + Pro Rally 2002 (USA) (En,Fr,Es) + + + + Games + Frogger - Ancient Shadow (USA) (En,Es) + + + + Games + Jeremy McGrath Supercross World (USA) + + + + Games + Incredible Hulk, The - Ultimate Destruction (USA) + + + + Games + Gun (Europe) (En,Fr,Es,It) + + + + Games + FIFA 07 (Europe) + + + + Games + Spider-Man (Europe) + + + + Games + Nickelodeon Jimmy Neutron - Boy Genius - Attack of the Twonkies (Europe) + + + + Games + Eggo Mania (Europe) (En,Fr,De) + + + + Games + DreamWorks Over the Hedge (USA) + + + + Games + Tom Clancy's Ghost Recon (Europe) (En,Fr,Es,It) + + + + Games + Rave Master (USA) + + + + Demos + Resident Evil 4 (Europe) (En,Fr,De,Es,It) (Bonus Disc) + + + + Games + Resident Evil 4 (Germany) (En,Fr,De,Es,It) (Disc 1) + + + + Games + Resident Evil 4 (Germany) (En,Fr,De,Es,It) (Disc 2) + + + + Games + Big Air Freestyle (Europe) (En,Fr,De,Es,It) + + + + Games + Crash Nitro Kart (Europe) + + + + Games + Dragon Ball Z - Sagas (USA) + + + + Games + LEGO Star Wars II - The Original Trilogy (Europe) (En,Fr,De,Da) + + + + Games + Crash Bandicoot - The Wrath of Cortex (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Disney-Pixar Ratatouille (USA) + + + + Games + Kirby Air Ride (Europe) (En,Fr,De,Es,It) + + + + Games + Vexx (Europe) (En,Fr,De,Es,It) + + + + Games + Fight Night Round 2 (USA) + + + + Demos + Biohazard 4 (Japan) (En,Ja) (Taikenban) + + + + Games + Cabela's Dangerous Hunts 2 (USA) + + + + Games + King Arthur (USA) + + + + Games + Zoids - Battle Legends (USA) + + + + Games + Blowout (USA) + + + + Games + Backyard Sports - Baseball 2007 (USA) + + + + Games + Teenage Mutant Ninja Turtles 2 - Battle Nexus (USA) (Disc 2) + + + + Demos + Resident Evil 4 (USA) (Preview Disc) + + + + Games + Nickelodeon Barnyard (USA) + + + + Games + Cabela's Outdoor Adventures (USA) + + + + Games + World Series of Poker (USA) (Rev 1) + + + + Games + XGRA - Extreme G Racing Association (USA) + + + + Games + Zatch Bell! Mamodo Fury (USA) + + + + Games + Trigger Man (USA) + + + + Games + Blood Omen 2 - The Legacy of Kain Series (USA) + + + + Games + Lost Kingdoms (USA) + + + + Games + Disney Sports - Basketball (USA) + + + + Games + Disney Sports - Skateboarding (USA) + + + + Games + Sims, The - Bustin' Out (USA) + + + + Games + Urbz, The - Sims in the City (USA) + + + + Games + Second Sight (USA) + + + + Games + Legends of Wrestling II (USA) + + + + Games + Future Tactics - The Uprising (USA) + + + + Games + Frogger's Adventures - The Rescue (USA) + + + + Games + Rally Championship (USA) + + + + Games + Sega Soccer Slam (USA) + + + + Games + Virtua Striker 2002 (USA) + + + + Games + Crash Tag Team Racing (USA) + + + + Games + Walt Disney Pictures Presents Meet the Robinsons (USA) + + + + Games + Serious Sam - Next Encounter (USA) (Rev 1) + + + + Games + Superman - Shadow of Apokolips (USA) + + + + Games + Capcom vs. SNK 2 EO (USA) + + + + Games + Puyo Pop Fever (Europe) (En,Fr,De,Es,It) + + + + Games + Tetris Worlds (Europe) (En,Fr,De) + + + + Games + UFC - Throwdown (USA) + + + + Games + Smashing Drive (USA) + + + + Games + Taz - Wanted (USA) (En,Fr,De,Es,It) + + + + Games + Hot Wheels - Velocity X (USA) + + + + Games + Def Jam - Fight for NY (Europe) (En,Fr) + + + + Games + NBA Street Vol. 2 (Europe) (En,Fr) + + + + Games + International Superstar Soccer 3 (Europe) (En,Fr,De,Es,It) + + + + Games + Simpsons, The - Hit & Run (Europe) (En,Fr,De) + + + + Games + NFL Street 2 (USA) + + + + Games + Rogue Ops (USA) + + + + Games + Road Trip - The Arcade Edition (USA) + + + + Games + Spartan - Total Warrior (USA) + + + + Games + Surf's Up (USA) (En,Fr,Es) + + + + Games + Shrek Super Party (USA) + + + + Games + DreamWorks Shrek - SuperSlam (USA) + + + + Games + TimeSplitters - Future Perfect (USA) + + + + Games + Sum of All Fears, The (USA) + + + + Games + Disney's Piglet's Big Game (USA) + + + + Games + Major League Baseball 2K6 (USA) + + + + Games + Simpsons, The - Hit & Run (USA) + + + + Games + Tetris Worlds (USA) (Rev 1) + + + + Games + Pac-Man World Rally (USA) + + + + Games + RedCard 20-03 (USA) + + + + Games + Hulk (Europe) + + + + Games + Muppets - Party Cruise (USA) + + + + Games + Kao the Kangaroo - Round 2 (USA) + + + + Games + Grooverider - Slot Car Thunder (USA) + + + + Games + TimeSplitters - Future Perfect (Europe) + + + + Games + FIFA Soccer 07 (USA) (En,Es) + + + + Games + FIFA Soccer 2005 (USA) (En,Es) + + + + Games + FIFA Street (USA) (En,Es) + + + + Games + Gotcha Force (USA) + + + + Games + Freedom Fighters (Europe) + + + + Games + Namco Museum 50th Anniversary (USA) + + + + Games + Digimon World 4 (USA) + + + + Games + Lotus Challenge (USA) + + + + Games + WWE Crush Hour (USA) + + + + Games + Wallace & Gromit in Project Zoo (USA) + + + + Games + Monster 4x4 - Masters of Metal (USA) + + + + Games + Disney's Hide & Sneak (USA) (Rev 1) + + + + Games + FIFA Soccer 2004 (USA) + + + + Games + FIFA Street 2 (USA) (En,Es) + + + + Games + Tony Hawk's American Wasteland (USA) + + + + Games + Disney's Donald Duck - Goin' Quackers (USA) (En,Fr) + + + + Games + Sims 2, The (USA) + + + + Games + Frogger Beyond (USA) + + + + Games + Nickelodeon Rocket Power - Beach Bandits (USA) + + + + Games + ESPN MLS ExtraTime 2002 (USA) + + + + Games + NASCAR - Dirt to Daytona (USA) + + + + Games + NASCAR Thunder 2003 (USA) + + + + Games + Teenage Mutant Ninja Turtles 2 - Battle Nexus (USA) (Disc 1) + + + + Games + Ribbit King (USA) (En,Es) + + + + Games + Ribbit King Plus! (USA) (Bonus Disc) + + + + Games + Cabela's Big Game Hunter 2005 Adventures (USA) + + + + Games + Curious George (USA) + + + + Games + NASCAR 2005 - Chase for the Cup (USA) + + + + Games + Pac-Man World 3 (USA) + + + + Games + Disney's Chicken Little (USA) + + + + Games + Conflict - Desert Storm II - Back to Baghdad (USA) + + + + Games + Hot Wheels - World Race (USA) (Rev 1) + + + + Games + Worms 3D (USA) (En,Fr) + + + + Games + Crash Nitro Kart (USA) + + + + Games + Def Jam - Fight for NY (USA) + + + + Games + BMX XXX (Europe) (En,Fr,De,Es) + + + + Games + Baldur's Gate - Dark Alliance (Europe) (Rev 1) + + + + Games + SRS - Street Racing Syndicate (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Conflict - Desert Storm (USA) (Rev 1) + + + + Games + Dragon Ball Z - Budokai 2 (USA) + + + + Games + Freedom Fighters (USA) + + + + Games + Digimon Rumble Arena 2 (USA) + + + + Games + Nick Jr. Dora the Explorer - Journey to the Purple Planet (USA) + + + + Games + Hello Kitty - Roller Rescue (USA) + + + + Games + Chronicles of Narnia, The - The Lion, the Witch and the Wardrobe (USA) + + + + Games + Star Wars - Bounty Hunter (USA) + + + + Games + Star Wars - The Clone Wars (USA) + + + + Games + Goblin Commander - Unleash the Horde (USA) + + + + Games + Tom and Jerry in War of the Whiskers (USA) + + + + Games + Disney's Extreme Skate Adventure (USA) + + + + Games + Top Angler - Real Bass Fishing (USA) + + + + Games + WWE WrestleMania X8 (USA) + + + + Games + Nickelodeon Party Blast (USA) + + + + Games + Godzilla - Destroy All Monsters Melee (USA) + + + + Games + Sega Soccer Slam (Europe) + + + + Games + Madden NFL 08 (USA) + + + + Games + Cocoto Kart Racer (Europe) (En,Fr,De,Es,It) + + + + Games + Sims, The (USA) + + + + Games + Beyond Good & Evil (Europe) (En,Es) + + + + Games + True Crime - New York City (Europe) + + + + Games + WWE WrestleMania XIX (USA) + + + + Games + XIII (USA) (En,Fr,Es) + + + + Games + Pokemon Box - Ruby & Sapphire (USA) (Rev 1) + + + + Games + Disney-Pixar Finding Nemo (USA) + + + + Games + Disney's Winnie the Pooh's Rumbly Tumbly Adventure (USA) (En,Fr,Es) + + + + Games + Disney Sports - Football (USA) + + + + Games + Disney's Party (USA) + + + + Games + Spirits & Spells (USA) + + + + Games + Need for Speed - Most Wanted (Europe) + + + + Games + Mario Party 4 (Europe) (En,Fr,De,Es,It) + + + + Games + Mario Party 6 (Europe) (En,Fr,De,Es,It) + + + + Games + Pokemon Channel (Europe) (En,Fr,De,Es,It) + + + + Games + Star Wars - Jedi Knight II - Jedi Outcast (USA) + + + + Games + Prince of Persia - The Sands of Time (USA) (En,Fr,Es) + + + + Games + Conflict - Desert Storm (USA) + + + + Games + Tony Hawk's Pro Skater 4 (Europe) + + + + Games + Mario Power Tennis (USA) (Rev 1) + + + + Games + XIII (Europe) (Fr,De,Es,It) + + + + Games + 007 - Agent Under Fire (Europe) + + + + Games + Robots (Europe) (En,Fr,De,Es,It) + + + + Games + Crash Tag Team Racing (Europe, Australia) + + + + Games + Tak and the Power of Juju (Europe) + + + + Games + Lord of the Rings, The - The Third Age (Europe) (Disc 1) + + + + Games + Lord of the Rings, The - The Third Age (Europe) (Disc 2) + + + + Games + Mario Party 7 (Europe) (En,Fr,De,Es,It) + + + + Games + Nintendo Puzzle Collection (Japan) + + + + Games + Medabots Infinity (USA) + + + + Games + Captain Tsubasa - Ougon Sedai no Chousen (Japan) (Rev 1) + + + + Games + BloodRayne (France) + + + + Games + Hikaru no Go 3 (Japan) + + + + Games + Hyper Sports 2002 Winter (Japan) + + + + Games + Pro Tennis WTA Tour (Europe) + + + + Games + Hobbit, The - The Prelude to the Lord of the Rings (Europe) (En,Fr,De,Es,It) + + + + Games + Dragon Ball Z - Budokai (Europe) (En,Fr,De,Es,It) + + + + Games + Tony Hawk's Pro Skater 4 (France) + + + + Games + Super Monkey Ball Adventure (Europe) (En,Fr,De,Es,It) + + + + Games + Monde de Narnia, Le - Chapitre 1 - Le Lion, la Sorciere Blanche et l'Armoire Magique (France) + + + + Games + Spider-Man 2 (France) + + + + Games + Hitman 2 - Silent Assassin (France) + + + + Games + Naruto - Gekitou Ninja Taisen! 4 (Japan) + + + + Games + True Crime - Streets of LA (Europe) (En,Fr,De) + + + + Games + Tom Clancy's Splinter Cell - Double Agent (Europe) (En,Fr,De,Es,It) (Disc 1) + + + + Games + Tom Clancy's Splinter Cell - Double Agent (Europe) (En,Fr,De,Es,It) (Disc 2) + + + + Games + Tom Clancy's Splinter Cell - Chaos Theory (Europe) (En,Fr,De,Es,It) (Disc 2) + + + + Games + Tom Clancy's Splinter Cell - Chaos Theory (Europe) (En,Fr,De,Es,It) (Disc 1) + + + + Games + Metal Arms - Glitch in the System (Europe) + + + + Games + Jeremy McGrath Supercross World (Europe) (En,Fr,De,Es,It) + + + + Games + Gauntlet - Dark Legacy (Europe) (En,Fr,De) + + + + Games + Disney's Party (Europe) (En,Fr,De,Es,It) + + + + Games + Dance Dance Revolution with Mario (Japan) + + + + Games + Pac-Man World 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Medal of Honor - Frontline (Germany) + + + + Games + Cel Damage (Europe) + + + + Games + Evolution Worlds (Europe) + + + + Games + Dragon's Lair 3D - Special Edition (Europe) (En,Fr,De,Es,It) + + + + Games + Future Tactics - The Uprising (Europe) (En,Fr,De,Es,It) + + + + Games + Teenage Mutant Ninja Turtles (Europe) (En,Fr,De,Es,It) + + + + Games + Tak und die Macht des Juju (Germany) + + + + Games + Defender - For All Mankind (Europe) (En,Fr,De,Es,It) + + + + Games + Robotech - Battlecry (Europe) (En,Fr,De,Es,It) + + + + Games + F1 2002 (Europe) (En,Fr,De,It) + + + + Games + Harry Potter - Quidditch World Cup (Europe) (Fr,De,Es,It) + + + + Games + X-Men 2 - Wolverine's Revenge (Europe) (Fr,De,Es) + + + + Games + Dark Summit (Europe) (En,Fr,De) + + + + Demos + Star Wars - Rogue Squadron III - Rebel Strike (USA) (Limited Edition Preview Disc) + + + + Games + FIFA World Cup Germany 2006 (Europe) + + + + Games + Tom Clancy's Splinter Cell - Pandora Tomorrow (Europe) + + + + Games + Madden NFL 2003 (Europe) + + + + Games + Madden NFL 2004 (Europe) + + + + Games + Madden NFL 2005 (Europe) + + + + Games + NHL 06 (Europe) (En,Fr) + + + + Games + Naruto - Clash of Ninja - European Version (Europe) (En,Fr,De,Es,It) + + + + Games + Dakar 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Shrek Super Party (Europe) (En,Fr,De,Es,It) + + + + Games + Mario Superstar Baseball (Europe) + + + + Games + DreamWorks Gang de Requins (France) + + + + Games + Harry Potter e il Prigioniero di Azkaban (Italy) + + + + Games + Fantastic 4 (Netherlands) + + + + Games + FIFA Football 2005 (Italy) + + + + Games + FIFA Football 2003 (Italy) + + + + Games + DreamWorks Madagascar (Netherlands) + + + + Games + Harry Potter en de Vuurbeker (Netherlands) + + + + Games + Disney-Pixar Cars (Netherlands) + + + + Games + Una Serie de Catastroficas Desdichas de Lemony Snicket (Spain) + + + + Games + Medal of Honor - Frontline (Spain) + + + + Games + X-Men Legends II - El Ascenso de Apocalipsis (Spain) + + + + Games + FIFA Football 2004 (Italy) + + + + Games + Harry Potter en de gevangene van Azkaban (Netherlands) + + + + Games + FIFA Football 2005 (Netherlands) + + + + Games + Medabots Infinity (Europe) (En,Fr,De,Nl) + + + + Games + Mary-Kate and Ashley - Sweet 16 - Licensed to Drive (Europe) + + + + Games + Medal of Honor - European Assault (Europe) + + + + Games + True Crime - New York City (Europe) (Fr,Es,It) + + + + Games + Harry Potter and the Prisoner of Azkaban (Europe) + + + + Games + Die Hard - Vendetta (Europe) (Es,It) + + + + Games + Harry Potter - Quidditch World Cup (Europe) (En,Nl,Sv) + + + + Games + True Crime - Streets of LA (UK) + + + + Games + Harry Potter and the Chamber of Secrets (Europe) (Es,It,Pt) + + + + Games + Nickelodeon Avatar - The Legend of Aang (Europe) (En,Fr,Nl) + + + + Games + Die Hard - Vendetta (Europe) (En,Fr) + + + + Games + Disney's Extreme Skate Adventure (Europe) (Es,It) + + + + Games + Disney's Chicken Little (Europe) + + + + Games + Batman Begins (Europe) (En,Fr,De,Es,Nl) + + + + Games + Open Season (Europe) (En,Fr,Es) + + + + Games + X-Men Legends (Europe) + + + + Games + Dairantou Smash Brothers DX (Japan) (En,Ja) + + + + Games + Legend of Golfer (Japan) + + + + Games + Disney-Pixar The Incredibles (Netherlands) + + + + Games + Pikmin (Japan) (Rev 1) + + + + Games + Atsumare!! Made in Wario (Japan) + + + + Applications + Game Boy Player Start-Up Disc (Europe) (En,Fr,De,Es,It,Nl) (Rev 2) + + + + Games + Outlaw Golf (Europe) (En,Fr,De) + + + + Games + Rocky (Europe) (En,Fr,De,Es,It) + + + + Games + Tom Clancy's Rainbow Six 3 (Europe) (En,Fr,De,Es,It) + + + + Games + XGIII - Extreme G Racing (Europe) (En,Fr,De,Es) + + + + Games + X-Men - Next Dimension (Europe) + + + + Games + Call of Duty 2 - Big Red One (Europe) + + + + Games + Red Faction II (Europe) + + + + Games + Prince of Persia - The Two Thrones (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Dave Mirra Freestyle BMX 2 (Europe) + + + + Games + Worms 3D (Europe) (En,Fr,De,Es,It) + + + + Games + 007 - From Russia with Love (Europe) + + + + Games + Dancing Stage Mario Mix (Europe) (En,Fr,De,Es,It) + + + + Games + Gladius (Europe) (En,Es,It) + + + + Games + Kyojin no Doshin (Japan) + + + + Games + Shrek 2 (Europe) + + + + Games + BloodRayne (Europe) + + + + Games + Scooby-Doo! Night of 100 Frights (Europe) + + + + Games + Conflict - Desert Storm II (Europe) (En,Fr,De,Es,It) + + + + Games + NBA Street V3 (Europe) (En,Fr,De) + + + + Games + Conan (Europe) (En,Fr,De,Es,It) (Disc 1) + + + + Games + Conan (Europe) (En,Fr,De,Es,It) (Disc 2) + + + + Games + Def Jam - Vendetta (Europe) + + + + Games + Pokemon XD - Gale of Darkness (Europe) (En,Fr,De,Es,It) + + + + Games + Sonic Riders (Europe) (En,Ja,Fr,De,Es,It) + + + + Games + Sphinx and the Cursed Mummy (Europe) (En,Fr,De,Es,It) + + + + Games + Pool Paradise (Europe) (En,Fr,De,Es,It) + + + + Games + Knights of the Temple - Infernal Crusade (Europe) (En,Fr,De,Es) + + + + Games + Tony Hawk's Pro Skater 4 (Germany) + + + + Games + Lost Kingdoms II (Europe) (En,Fr,De) + + + + Games + NHL 2004 (Europe) (En,Fr,De,Sv,Fi) + + + + Games + Fight Night Round 2 (Europe) (En,Fr,De) + + + + Games + LEGO Star Wars II - The Original Trilogy (Europe) (En,Fr,De,Da) (Rev 1) + + + + Games + Knockout Kings 2003 (Europe) (En,Fr,De) + + + + Games + Need for Speed - Most Wanted (Germany) + + + + Games + LEGO Star Wars - The Video Game (Europe) (Fr,De) + + + + Games + TimeSplitters - Future Perfect (Germany) + + + + Games + Kao the Kangaroo - Round 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Super Bust-A-Move All Stars (Europe) (En,Fr,De,Es,It) + + + + Games + Donkey Konga 3 - Tabehoudai! Haru Mogitate 50-kyoku (Japan) + + + + Games + Beyond Good & Evil (Europe) (Fr,Nl) + + + + Games + Sims 2, The (Europe) (En,Fr,De,Nl) + + + + Games + Spartan - Total Warrior (Germany) + + + + Games + Dead to Rights (Europe) (En,Fr,Es,It) + + + + Games + Mat Hoffman's Pro BMX 2 (Europe) + + + + Games + FIFA Street (Europe) (En,Fr,De) + + + + Games + Nickelodeon Rocket Power - Beach Bandits (Europe) + + + + Games + Disney-Pixar The Incredibles (Europe) + + + + Games + X-Men 2 - Wolverine's Revenge (Europe) + + + + Games + Conflict - Desert Storm (Europe) (En,Fr,De,Es,It) + + + + Games + Legends of Wrestling (Europe) + + + + Games + NHL 2005 (Europe) (En,Fr,De) + + + + Games + Castleween (Europe) (En,Fr,De,Es,It) + + + + Games + Bloody Roar - Primal Fury (Europe) + + + + Games + TMNT (Europe) (En,Fr,De,Es,It) + + + + Games + Drome Racers (Europe) (En,Fr,De,Es,It,Nl,Sv,Da) + + + + Games + Frogger Beyond (Europe) (En,Fr,De,Es,It) + + + + Games + Legend of Spyro, The - A New Beginning (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Nickelodeon Tak - The Great Juju Challenge (Europe) (En,De) + + + + Games + Pac-Man World 3 (Europe) (En,Fr,De,Es,It) + + + + Games + Rally Championship (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Taz - Wanted (Europe) (En,Fr,De,Es,It) + + + + Games + DreamWorks Shrek - SuperSlam (Germany) + + + + Games + FIFA Street 2 (Europe) (En,Fr,De) + + + + Games + Hello Kitty - Roller Rescue (Europe) (En,Fr,De,Es,It) + + + + Games + Call of Duty 2 - Big Red One (Germany) + + + + Games + Simpsons, The - Road Rage (Europe) (En,Fr,De) + + + + Games + Medal of Honor - Rising Sun (Germany) (Disc 1) + + + + Games + Medal of Honor - Rising Sun (Germany) (Disc 2) + + + + Games + Tales of Symphonia (Spain) (Disc 1) + + + + Games + Tales of Symphonia (Spain) (Disc 2) + + + + Games + Gotcha Force (Europe) (En,Fr,De) + + + + Games + Legends of Wrestling II (Europe) + + + + Games + Reign of Fire (Europe) (En,Fr,De,Es,It) + + + + Games + Namco Museum 50th Anniversary (Europe) (En,Fr,De,Es,It) + + + + Games + Rogue Ops (Europe) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + Monopoly Party (Europe) (En,Fr,De,Es,It) + + + + Games + Superman - Shadow of Apokolips (Europe) (En,Fr,De,Es,It) + + + + Games + Spider-Man 2 (Germany) + + + + Games + Ultimate Spider-Man (Germany) + + + + Games + NHL Hitz 2003 (Europe) + + + + Games + NBA 2K3 (Europe) + + + + Games + NFL Street (Europe) + + + + Games + ESPN International Winter Sports (Europe) (En,Fr,De,It) + + + + Games + NBA Live 2003 (Europe) (En,Fr,De,Es,It) + + + + Games + NBA Live 2004 (Europe) (En,Fr,De,Es,It) + + + + Games + UFC - Throwdown (Europe) + + + + Games + NBA Live 2005 (Europe) (En,Fr) + + + + Games + NBA Live 06 (Europe) (En,Fr) + + + + Games + 2002 FIFA World Cup (Europe) (Fr,Nl) + + + + Games + Nickelodeon SpongeBob SquarePants - The Movie (Europe) (Fr,Nl) + + + + Games + FIFA 06 (Netherlands) + + + + Games + Nickelodeon SpongeBob SquarePants - Licht uit, Camera aan! (Netherlands) + + + + Games + Universal Studios Theme Park Adventure (Europe) (En,Fr,De,Es) + + + + Games + Top Gun - Combat Zones (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Disney's Winnie the Pooh's Rumbly Tumbly Adventure (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Open Season (Europe) (En,Fr,De,Es,It) + + + + Games + Chronicles of Narnia, The - The Lion, the Witch and the Wardrobe (Europe) + + + + Games + Hulk (Spain) + + + + Games + Harry Potter and the Philosopher's Stone (Europe) (En,Sv) (Rev 1) + + + + Games + Harry Potter und der Gefangene von Askaban (Germany) + + + + Games + Legend of Zelda, The - The Wind Waker (Korea) + + + + Games + Legend of Zelda, The - Ocarina of Time & Master Quest (Korea) + + + + Games + Zelda Collection (Japan) + + + + Games + Wallace & Gromit in Project Zoo (Europe) (En,Fr,De,Es,It) + + + + Games + Neighbours from Hell (Europe) (En,Fr,De,Es,It) + + + + Games + SSX Tricky (Europe) (En,Fr,De) + + + + Games + Franklin - Un anniversaire surprise (France) + + + + Games + Lupin III - Umi ni Kieta Hihou (Japan) (Disc 1) + + + + Games + Lupin III - Umi ni Kieta Hihou (Japan) (Disc 2) + + + + Games + Battle Stadium D.O.N (Japan) + + + + Games + Radirgy Generic (Japan) + + + + Games + Warrior Blade - Rastan vs. Barbarian (Japan) + + + + Games + Zoids Vs. (Japan) (Rev 1) + + + + Games + Zoids Vs. II (Japan) + + + + Games + Zoids - Full Metal Crash (Japan) + + + + Games + Harry Potter y el Caliz de Fuego (Spain) + + + + Games + FIFA Football 2003 (Spain) + + + + Games + Charlie and the Chocolate Factory (Europe) (En,Fr,Es,Nl) + + + + Games + FIFA Football 2004 (Spain) + + + + Games + FIFA Football 2005 (Spain) + + + + Games + FIFA 06 (Spain) + + + + Games + Crash Tag Team Racing (Germany) + + + + Games + Tom Clancy's Ghost Recon (Germany) + + + + Games + DreamWorks Madagascar (Europe) (Fr,De) + + + + Games + Harry Potter och den flammande baegaren (Sweden) + + + + Games + Harry Potter och fangen fran Azkaban (Sweden) + + + + Games + Shrek 2 (Sweden) + + + + Games + DreamWorks Shrek - SuperSlam (Europe) (En,Fr,Es,It) + + + + Demos + Tom Clancy's Splinter Cell (Europe) (En,Fr,De,Es,It) (Demo) + + + + Demos + SD Gundam - Gashapon Wars (Japan) (Taikenban) + + + + Demos + Club Nintendo Original e-Catalog 2004 (Japan) + + + + Demos + Nintendo GameCube Soft e-Catalog 2003 Enjoy Plus-ban (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2004.7.1 (Japan) + + + + Games + Sum of All Fears, The (Europe) (En,Fr,De,Es,It) + + + + Games + Tom Clancy's Ghost Recon 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Scooby-Doo! Nacht der 100 Schrecken (Germany) + + + + Games + King Arthur (Europe) (En,Fr,De,Es,It) + + + + Games + Tom Clancy's Rainbow Six - Lockdown (Europe) (En,Fr,De,Es,It) + + + + Games + Gladius (Germany) + + + + Games + Nickelodeon SpongeBob SquarePants - Revenge of the Flying Dutchman (Europe) + + + + Games + Bionicle (Europe) (En,Fr,De,Es,It,Da) + + + + Games + X-Men Legends II - Rise of Apocalypse (Germany) + + + + Games + Medal of Honor - Rising Sun (Europe) (En,Es,It,Nl,Sv) (Disc 2) + + + + Games + Medal of Honor - Rising Sun (Europe) (En,Es,It,Nl,Sv) (Disc 1) + + + + Games + GoldenEye - Rogue Agent (Europe) (En,It,Nl,Sv) (Disc 1) + + + + Games + GoldenEye - Rogue Agent (Europe) (En,It,Nl,Sv) (Disc 2) + + + + Games + Taxi 3 - Le Jeu (France) + + + + Games + Star Fox Adventures (Japan) (Rev 1) + + + + Games + Viewtiful Joe Revival (Japan) + + + + Games + Jikkyou Powerful Pro Yakyuu 10 Chou Ketteiban - 2003 Memorial (Japan) + + + + Games + Buffy the Vampire Slayer - Chaos Bleeds (Europe) + + + + Games + Nick Jr. Dora the Explorer - Journey to the Purple Planet (Europe) (En,Fr) + + + + Games + TimeSplitters - Futuro Perfecto (Spain) + + + + Games + Gadget Racers (Europe) (En,Fr,De,Es,It) + + + + Games + F1 Career Challenge (Europe) (En,Fr,De,It) + + + + Games + Speed Kings (Europe) (En,Fr,De,Es,It) + + + + Games + NHL 2003 (Europe) (En,Fr,De,Sv,Fi,Cs) + + + + Games + Nickelodeon Party Blast (Europe) (En,Fr,De,Es,It) + + + + Games + Star Wars - Bounty Hunter (Spain) + + + + Games + LEGO Star Wars - The Video Game (Europe) + + + + Games + Starsky & Hutch (Europe) (En,Fr,De,Es,It) + + + + Games + Ultimate Spider-Man (Spain) + + + + Games + Harry Potter y el prisionero de Azkaban (Spain) + + + + Games + Harry Potter e il Calice di Fuoco (Italy) + + + + Games + Harry Potter and the Philosopher's Stone (Europe) (Es,It) (Rev 1) + + + + Games + Signore degli Anelli, Il - Il ritorno del Re (Italy) + + + + Games + Signore degli Anelli, Il - Le Due Torri (Italy) + + + + Games + Medal of Honor - Frontline (Italy) + + + + Games + X-Men Legends II - Rise of Apocalypse (Europe) (En,Fr,It) + + + + Games + Judge Dredd - Dredd vs. Death (Germany) (En,De) + + + + Games + Spider-Man (Germany) + + + + Games + SX Superstar (Europe) (En,Fr,De,Es) + + + + Games + Micro Machines (Europe) (En,Fr,De,Es,It) + + + + Games + Polar Express, The (Europe) (En,Fr,De,Es,It) + + + + Games + Disney's Tarzan - Freeride (Europe) (En,Fr,De,Es,It) + + + + Games + Need for Speed - Carbon (Germany) + + + + Games + Urban Freestyle Soccer (Europe) (En,Fr,De,Es,It) + + + + Games + Darkened Skye (Europe) (En,Fr,De) + + + + Games + Italian Job, The (Europe) (En,Fr,De,Es,It) + + + + Games + Carmen Sandiego - The Secret of the Stolen Drums (Europe) (En,Fr) + + + + Games + Disney-Pixar Ratatouille (France) + + + + Games + GoldenEye - Agente Corrupto (Spain) (Disc 1) + + + + Games + GoldenEye - Agente Corrupto (Spain) (Disc 2) + + + + Games + Spider-Man 2 (Europe) + + + + Games + Incredible Hulk, The - Ultimate Destruction (Europe) (En,Es,It) + + + + Games + DreamWorks Over the Hedge (Europe) + + + + Games + Top Angler - Real Bass Fishing (Europe) + + + + Games + Wallace & Gromit in Project Zoo (UK) + + + + Games + Star Wars - Las Guerras Clon (Spain) + + + + Games + Nickelodeon Jimmy Neutron - Boy Genius (Europe) + + + + Games + Nickelodeon SpongeBob SquarePants - Lights, Camera, Pants! (Europe) + + + + Games + Nickelodeon SpongeBob SquarePants - Creature from the Krusty Krab (Europe) + + + + Games + Nickelodeon SpongeBob SquarePants - The Movie (Europe) + + + + Games + MC Groovz Dance Craze (Europe) (En,Fr,De,Es,It) + + + + Games + Senor de los Anillos, El - La Tercera Edad (Spain) (Disc 1) + + + + Games + Senor de los Anillos, El - La Tercera Edad (Spain) (Disc 2) + + + + Games + Monster Jam - Maximum Destruction (Europe) + + + + Games + Mystic Heroes (Europe) + + + + Games + Mission - Impossible - Operation Surma (Europe) (En,Fr,De,Es,It) + + + + Games + Looney Tunes - Back in Action (Europe) (En,Fr,De,Es,It) + + + + Games + Marvel Nemesis - Rise of the Imperfects (Europe) + + + + Games + Disney-Pixar Monsters, Inc. - Scream Arena (Europe) (En,Fr,De,Es,It) + + + + Games + DreamWorks Madagascar (Spain) + + + + Games + Call of Duty 2 - Big Red One (Spain) + + + + Games + Fantastic 4 (Spain) + + + + Games + Teenage Mutant Ninja Turtles 2 - Battle Nexus (Europe) (En,Fr,De,Es,It) (Disc 1) + + + + Games + Teenage Mutant Ninja Turtles 2 - Battle Nexus (Europe) (En,Fr,De,Es,It) (Disc 2) + + + + Games + SpyHunter (Europe) (En,Fr,De,Es,It) + + + + Games + Ribbit King (Europe) (En,Fr,De,Es,It) + + + + Games + Nickelodeon Barnyard (Europe) + + + + Games + World Racing (Europe) (En,Fr,De,Es,It) + + + + Games + Senor de los Anillos, El - El Retorno del Rey (Spain) + + + + Games + Senor de los Anillos, El - Las Dos Torres (Spain) + + + + Games + 007 - Todo o Nada (Spain) + + + + Games + 007 - Nightfire (Spain) + + + + Demos + Billy Hatcher and the Giant Egg (Europe) (Demo) + + + + Games + FIFA Football 2005 (Europe) + + + + Games + DreamWorks Shark Tale (Europe) + + + + Demos + Gekkan Nintendo Tentou Demo 2002.7.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2002.7.10 (Japan) + + + + Demos + Rune II - Koruten no Kagi no Himitsu (Japan) (Taikenban) + + + + Games + Disney's Magical Mirror Starring Mickey Mouse (Europe) (En,Fr,De,Es,It) + + + + Games + Big Mutha Truckers (Europe) (En,Fr,De,Es,It) + + + + Games + Shadow the Hedgehog (Japan) (En,Ja,Fr,De,Es,It) + + + + Games + Bokujou Monogatari - Shiawase no Uta for World (Japan) + + + + Games + Jikkyou Powerful Pro Yakyuu 12 - Ketteiban (Japan) + + + + Games + Need for Speed - Most Wanted (Japan) + + + + Games + SD Gundam - Gashapon Wars (Japan) + + + + Games + Generation of Chaos Exceed - Yami no Koujo Roze (Japan) + + + + Games + Doubutsu no Mori + (Japan) + + + + Games + Star Fox Adventures (USA) (Rev 1) + + + + Games + BloodRayne (Spain) + + + + Games + Disney-Pixar Cars (Spain) + + + + Games + Pitfall - The Lost Expedition (Europe) + + + + Games + Shrek Extra Large (Europe) (En,Fr,De,Es,It) + + + + Games + Boboboubo Boubobo - Dasshutsu!! Hajike Royale (Japan) + + + + Games + Doraemon - Minna de Asobou! Miniland (Japan) + + + + Games + Dream Mix TV - World Fighters (Japan) + + + + Games + From TV Animation One Piece - Treasure Battle! (Japan) + + + + Games + Shaman King - Soul Fight (Japan) (Rev 1) + + + + Demos + Gekkan Nintendo Tentou Demo 2002.5.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2002.6.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2004.1.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2004.5.1 (Japan) + + + + Applications + Nintendo GameCube Service Disc Version 1.0-03 (USA) + + + + Demos + Interactive Multi-Game Demo Disc - October 2001 (USA) + + + + Demos + Interactive Multi-Game Demo Disc - January 2002 (USA) + + + + Demos + Interactive Multi-Game Demo Disc - June 2002 (USA) + + + + Demos + Interactive Multi-Game Demo Disc - August 2002 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 7 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 8 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 9 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 14 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 15 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 16 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 17 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 18 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 19 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 20 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 21 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 22 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 23 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 24 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 25 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 26 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 27 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 29 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 28 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 30 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 31 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 32 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 33 (USA) + + + + Demos + Interactive Multi-Game Demo Disc Version 34 (USA) + + + + Demos + Naruto - Clash of Ninja 2 (USA) (Demo) + + + + Games + Scooby-Doo! Night of 100 Frights (USA) (Rev 1) + + + + Games + X-Men - The Official Game (Europe) (En,Fr) + + + + Games + Tower of Druaga, The (Japan) + + + + Games + Nickelodeon Tak 2 - The Staff of Dreams (Europe) + + + + Games + Disney-Pixar Buscando a Nemo (Spain) + + + + Games + Star Wars - Jedi Knight II - Jedi Outcast (Europe) + + + + Games + Dragon Ball Z - Budokai 2 (Europe) (En,Fr,De,Es,It) + + + + Games + UEFA Champions League 2004-2005 (France) + + + + Games + Chroniken von Narnia, Die - Der Koenig von Narnia (Germany) + + + + Games + Nickelodeon Tak 2 - Der Stab der Traeume (Germany) + + + + Games + NFL Street 2 (Europe) + + + + Games + Muscle Champion - Kinniku-jima no Kessen (Japan) + + + + Games + Jikkyou Powerful Pro Yakyuu 10 (Japan) + + + + Games + Cocoto Funfair (Europe) (En,Fr,De,Es,It) + + + + Games + Disney Sports - Basketball (Europe) (En,Fr,De,Es,It) + + + + Games + Hitman 2 - Silent Assassin (Europe) + + + + Games + Madden NFL 06 (Europe) + + + + Games + Monster House (Europe) + + + + Games + Disney's Piglet's Big Game (Europe) + + + + Games + Duel Masters - Nettou! Battle Arena (Japan) + + + + Games + NHK Tensai Bit-kun - Glamon Battle (Japan) + + + + Games + Codename - Kids Next Door - Operation - V.I.D.E.O.G.A.M.E. (Europe) + + + + Games + Bomberman Land 2 (Japan) + + + + Games + Momotarou Dentetsu 11 - Black Bombee Shutsugen! no Maki (Japan) + + + + Games + Momotarou Dentetsu 12 - Nishi Nihon-hen mo Arimasse! (Japan) + + + + Games + Eisei Meijin VI (Japan) + + + + Games + Jikkyou Powerful Pro Yakyuu 9 - Ketteiban (Japan) + + + + Games + Kiwame Mahjong DX II - The 4th MONDO21Cup Competition (Japan) + + + + Games + Special Jinsei Game (Japan) + + + + Games + Rei Fighter Gekitsui Senki (Japan) + + + + Games + Kidou Senshi Gundam - Gundam vs. Z Gundam (Japan) + + + + Games + Zoids Vs. III (Japan) + + + + Games + Monster House (Europe) (En,Fr,De,Es,It) + + + + Games + Need for Speed - Carbon (France) + + + + Games + Need for Speed - Carbon (Europe) + + + + Games + UEFA Champions League 2004-2005 (Europe) + + + + Games + Lara Croft Tomb Raider - Legend (Europe) + + + + Games + DreamWorks Shrek - Smash n' Crash Racing (Europe) (En,Fr,De) + + + + Games + Scooby-Doo! Unmasked (Europe) (En,Fr,Es,It) + + + + Games + Scooby-Doo! Mystery Mayhem (Europe) + + + + Games + Nickelodeon Rugrats - Royal Ransom (Europe) + + + + Games + Power Rangers - Dino Thunder (Europe) + + + + Games + Disney-Pixar The Incredibles - Rise of the Underminer (Europe) (En,Fr) + + + + Games + Call of Duty 2 - Big Red One (Italy) + + + + Games + Bokujou Monogatari - Shiawase no Uta (Japan) (Rev 1) + + + + Games + Charinko Hero (Japan) (Rev 1) + + + + Games + Dabi Tsuku 3 - Derby-ba o Tsukurou! (Japan) + + + + Games + Dokapon DX - Wataru Sekai wa Oni Darake (Japan) + + + + Games + Family Stadium 2003 (Japan) + + + + Games + Gakuen Toshi Vara Noir Roses (Japan) + + + + Games + Gekitou Pro Yakyuu - Mizushima Shinji All Stars vs. Pro Yakyuu (Japan) + + + + Games + Jikkyou Powerful Major League (Japan) + + + + Games + Jikkyou Powerful Pro Yakyuu 9 (Japan) + + + + Games + Jikkyou Powerful Pro Yakyuu 11 (Japan) + + + + Games + Jikkyou Powerful Pro Yakyuu 11 Chou Ketteiban (Japan) + + + + Games + Jikkyou Powerful Pro Yakyuu 12 (Japan) + + + + Demos + Kidou Senshi Gundam - Senshi-tachi no Kiseki (Japan) (Special Disc) + + + + Games + Baseball 2003, The - Battle Ball Park Sengen Perfect Play Pro Yakyuu (Japan) + + + + Games + RoboCop - Aratanaru Kiki (Japan) + + + + Games + Pool Edge (Japan) + + + + Games + Ohenro-San - Hosshin no Dojo (Awa Kuni) Hen (Japan) + + + + Games + Mutsu to Nohohon (Japan) + + + + Games + Bakuten Shoot Beyblade 2002 - Nettou! Magne Tag Battle! (Japan) + + + + Games + Beach Spikers - Virtua Beach Volleyball (Japan) (Rev 1) + + + + Games + Buffy contre les Vampires - Chaos Bleeds (France) + + + + Games + Freedom Fighters (France) + + + + Games + Yu-Gi-Oh! Falsebound Kingdom - Kyokou ni Tozasareta Oukoku (Japan) + + + + Games + Nickelodeon Tak 2 - Le Sceptre des Reves (France) + + + + Games + Spartan - Total Warrior (France) + + + + Games + Red Faction II (France) + + + + Games + Disney Les Aventures de Porcinet (France) + + + + Games + FIFA 06 (France) + + + + Games + Tak & Le Pouvoir de Juju (France) + + + + Games + DreamWorks Nos Voisins, les Hommes (France) + + + + Games + FIFA Football 2004 (France) + + + + Games + Disney-Pixar Le Monde de Nemo (France) + + + + Games + Disney-Pixar Les Indestructibles (France) + + + + Games + Desastreuses Aventures des Orphelins Baudelaire, Les - D'Apres Lemony Snicket (France) + + + + Games + Harry Potter to Himitsu no Heya (Japan) + + + + Games + 007 - Quitte ou Double (France) + + + + Games + 2 Games in 1 - Disney-Pixar Les Indestructibles + Disney-Pixar Le Monde de Nemo (France) (Disc 1) (Les Indestructibles) + + + + Games + 2 Games in 1 - Disney-Pixar Les Indestructibles + Disney-Pixar Le Monde de Nemo (France) (Disc 2) (Le Monde de Nemo) + + + + Games + Harry Potter et le Prisonnier d'Azkaban (France) + + + + Games + Hulk (France) + + + + Games + Medal of Honor - En Premiere Ligne (France) + + + + Games + Spider-Man (France) + + + + Games + Fantastic 4 (Europe) + + + + Games + Harry Potter and the Goblet of Fire (Europe) + + + + Games + Lemony Snicket's A Series of Unfortunate Events (Europe) + + + + Games + Ultimate Spider-Man (Europe) + + + + Games + Lara Croft Tomb Raider - Legend (France) + + + + Games + Medal of Honor - Les Faucons de Guerre (France) + + + + Games + Need for Speed - Most Wanted (France) + + + + Games + 007 - Bons Baisers de Russie (France) + + + + Games + FIFA World Cup Germany 2006 (France) + + + + Games + FIFA Football 2003 (France) + + + + Games + Custom Robo - Battle Revolution (Japan) + + + + Games + Groove Adventure Rave - Fighting Live (Japan) + + + + Games + Harry Potter et la Coupe de Feu (France) + + + + Games + 4 Fantastiques, Les (France) + + + + Games + Minority Report - Le Futur vous Rattrape (France) + + + + Games + Shrek 2 (France) + + + + Games + Tony Hawk's Pro Skater 3 (France) + + + + Games + Ultimate Spider-Man (France) + + + + Games + Disney-Pixar Finding Nemo (Europe) + + + + Games + Harry Potter and the Philosopher's Stone (Europe) (En,Nl) (Rev 1) + + + + Games + Mystic Heroes (France) + + + + Games + Disney's Extreme Skate Adventure (Europe) + + + + Games + DreamWorks Shrek - SuperSlam (Europe) + + + + Games + FIFA 06 (Europe) + + + + Games + 007 - Nightfire (France) + + + + Games + Bratz - Rock Angelz (France) + + + + Games + Call of Duty 2 - Big Red One (France) + + + + Games + Call of Duty - Finest Hour (France) + + + + Games + Crash Tag Team Racing (France) + + + + Games + Disney-Pixar Cars (France) + + + + Games + FIFA Football 2005 (France) + + + + Games + Blood Omen 2 - The Legacy of Kain Series (France) + + + + Games + Nickelodeon Bob L'eponge - Silence on Tourne! (France) + + + + Games + Star Wars - Bounty Hunter (France) + + + + Games + Star Wars - Jedi Knight II - Jedi Outcast (France) + + + + Games + Star Wars - The Clone Wars (France) + + + + Games + Baldur's Gate - Dark Alliance (France) + + + + Games + Nickelodeon Bob L'eponge - La Creature du Crabe Croustillant (France) + + + + Games + Disney Chicken Little (France) + + + + Games + Pitfall - The Lost Expedition (France) + + + + Games + Need for Speed - Underground 2 (France) + + + + Games + Scooby-Doo! Le Livre des Tenebres (France) + + + + Games + FIFA 06 (Italy) + + + + Games + Tales of Symphonia (Italy) (Disc 1) + + + + Games + Tales of Symphonia (Italy) (Disc 2) + + + + Games + 007 - Espion pour Cible (France) + + + + Games + Bokujou Monogatari - Wonderful Life (Japan) + + + + Games + Disney-Pixar Mr. Incredible - Kyouteki Underminer Toujou (Japan) + + + + Games + Disney-Pixar Mr. Incredible (Japan) + + + + Games + DreamWorks Shark Tale (Japan) + + + + Games + Disney-Pixar Finding Nemo (Japan) + + + + Games + WWE WrestleMania X8 (Japan) + + + + Games + 2002 FIFA World Cup (Japan) + + + + Games + FIFA 2002 - Road to FIFA World Cup (Japan) + + + + Games + Choro Q! (Japan) + + + + Games + Harry Potter to Azkaban no Shuujin (Japan) + + + + Games + Harry Potter - Quidditch World Cup (Japan) + + + + Games + Digimon Battle Chronicle (Japan) + + + + Games + Kero Kero King DX (Japan) + + + + Games + Doubutsu Banchou (Japan) + + + + Games + All-Star Baseball 2003 featuring Derek Jeter (Japan) + + + + Games + Disney's Chicken Little (Japan) + + + + Games + FIFA 2003 - European Football (Japan) + + + + Games + Fight Night Round 2 (Japan) + + + + Games + One Piece - Pirates Carnival (Japan) + + + + Games + NBA Courtside 2002 (Japan) + + + + Games + NBA Street (Japan) + + + + Games + Robots (Japan) + + + + Games + SSX on Tour with Mario (Japan) + + + + Games + SSX Tricky (Japan) + + + + Games + UFC - Ultimate Fighting Championship 2 - Tapout - Final Spec (Japan) + + + + Games + Lord of the Rings - Nakatsu Kuni Daisanki (Japan) (Disc 1) + + + + Games + Lord of the Rings - Nakatsu Kuni Daisanki (Japan) (Disc 2) + + + + Games + Medal of Honor - Rising Sun (Japan) (Disc 1) + + + + Games + Medal of Honor - Rising Sun (Japan) (Disc 2) + + + + Games + NBA Street V3 - Mario de Dunk (Japan) + + + + Games + Harry Potter and the Philosopher's Stone (Europe) (Fr,De) (Rev 1) + + + + Games + Nickelodeon Barnyard (Europe) (Fr,Es,It,Nl) + + + + Games + Top Gun - Ace of the Sky (Japan) + + + + Games + Sonic Gems Collection (Japan) + + + + Games + Super Mario Sunshine (Korea) + + + + Games + Tony Hawk's Pro Skater 3 (Japan) + + + + Games + Bokujou Monogatari - Wonderful Life for Girl (Japan) + + + + Games + Chibi-Robo! (Japan) (Rev 1) + + + + Games + Crazy Taxi (Japan) + + + + Games + Dragon Ball Z (Japan) + + + + Games + Godzilla - Kaijuu Dairantou (Japan) + + + + Games + Harry Potter to Kenja no Ishi (Japan) (En,Ja) + + + + Games + Lord of the Rings - Futatsu no Tou (Japan) + + + + Games + Pokemon Colosseum (Japan) + + + + Games + Pokemon XD - Yami no Kaze Dark Lugia (Japan) + + + + Games + Super Mario Stadium - Miracle Baseball (Japan) + + + + Games + Sims, The (Japan) + + + + Games + Urbz, The - Sims in the City (Japan) + + + + Games + WWE WrestleMania XIX (Japan) + + + + Games + Disney-Pixar Cars (Japan) + + + + Games + WWE Day of Reckoning (Europe) (Rev 1) + + + + Demos + Soulcalibur II (USA) (Demo) + + + + Demos + Phantasy Star Online Episode I & II - Trial Edition (Japan) (Taikenban) + + + + Demos + Dairantou Smash Brothers DX (Japan) (Taikenban) + + + + Games + SmaBro DX Event-you Disc (Japan) + + + + Bonus Discs + Pokemon Colosseum - Nintendo Tokusei Disc (Japan) + + + + Games + SSX 3 (Japan) + + + + Games + Medarot Brave (Japan) (Rev 1) + + + + Games + Universal Studios Japan Adventure (Japan) + + + + Games + Rogue Ops (Japan) + + + + Games + Space Raiders (Japan) + + + + Games + Monopoly - Mezase!! Daifugou Jinsei!! (Japan) (Rev 1) + + + + Games + 1080 Silver Storm (Japan) + + + + Games + Disney Sports - American Football (Japan) + + + + Games + Disney Sports - Basketball (Japan) + + + + Games + DreamWorks Madagascar (UK) + + + + Games + Need for Speed - Underground (Japan) + + + + Games + Need for Speed - Underground 2 (Japan) + + + + Games + Evolution Skateboarding (Japan) + + + + Games + WTA Tour Tennis Pro Evolution (Japan) + + + + Games + Bloody Roar - Extreme (Japan) + + + + Games + Medal of Honor - Europa Kyoushuu (Japan) + + + + Games + Lord of the Rings - Ou no Kikan (Japan) + + + + Games + DreamWorks Madagascar (Japan) + + + + Games + Star Fox - Assault (Japan) + + + + Games + Terminator 3 - The Redemption (Japan) + + + + Games + ZooCube (Japan) + + + + Games + Fire Emblem - Souen no Kiseki (Japan) + + + + Games + Star Wars - Rogue Squadron II (Japan) + + + + Games + Star Wars - Rogue Squadron III (Japan) + + + + Games + Star Wars - The Clone Wars (Japan) + + + + Games + Harry Potter to Honoo no Goblet (Japan) + + + + Games + 007 - Everything or Nothing (Japan) + + + + Games + XGIII - Extreme G Racing (Japan) + + + + Games + GoldenEye - Dark Agent (Japan) (Disc 1) + + + + Games + GoldenEye - Dark Agent (Japan) (Disc 2) + + + + Games + Enter the Matrix (Japan) (Disc 1) + + + + Games + Enter the Matrix (Japan) (Disc 2) + + + + Games + Spider-Man (Japan) + + + + Games + 18 Wheeler - American Pro Trucker (Japan) + + + + Games + Metal Gear Solid - The Twin Snakes - Special Disc (Japan) + + + + Demos + Naruto Collection (Japan) + + + + Video + Game Taikai Yuushou Kinen - Tokusei SmaBro DX Movie Disc (Japan) + + + + Demos + Baten Kaitos - Owaranai Tsubasa to Ushinawareta Umi (Japan) (Special Taiken Disc) + + + + Demos + Homeland (Japan) (Test Disc) + + + + Games + Digimon World X (Japan) + + + + Games + Sonic Adventure DX (Japan) (En,Ja,Fr,De,Es) + + + + Games + V-Rally 3 (Japan) (En,Ja,Fr,De,Es,It) + + + + Games + WWE Day of Reckoning (Japan) + + + + Games + Mission - Impossible - Operation Surma (Japan) + + + + Demos + Interactive Multi-Game Demo Disk - November 2003 (Australia) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - April 2003 (Australia) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - February 2005 (Australia) (En,Fr,De,Es,It) + + + + Games + SSX on Tour (Europe) (En,Fr,De) + + + + Games + 2 Games in 1 - Bob L'eponge - Le Film + Tak 2 - Le Sceptre des Reves (France) (Disc 1) (Bob L'eponge - Le Film) + + + + Games + 2 Games in 1 - Bob L'eponge - Le Film + Tak 2 - Le Sceptre des Reves (France) (Disc 2) (Tak 2 - Le Sceptre des Reves) + + + + Games + Need for Speed - Underground (France) + + + + Games + FIFA 07 (France) + + + + Games + Disney-Pixar Cars (Europe) + + + + Games + Pikmin (USA) + + + + Demos + Phantasy Star Online Episode III - C.A.R.D. Revolution - Trial Edition (Japan) (Taikenban) + + + + Games + Mario Tennis GC (Japan) + + + + Demos + Pikmin (Japan) (Jitsuen-you Sample) + + + + Games + Crash Bandicoot - The Wrath of Cortex (Europe) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + Shrek 2 (Europe) (Rev 1) + + + + Games + Crash Tag Team Racing (Netherlands) + + + + Demos + Biohazard (Japan) (Movie Demo Disc) + + + + Games + Pac-Man Vs. (Japan) (Club Nintendo Genteiban) + + + + Games + Phantasy Star Online Episode I & II (Japan) (En,Ja,Fr,De,Es) (Rev 3) + + + + Games + GT Cube (Japan) (Rev 1) + + + + Games + Dairantou Smash Brothers DX (Japan) (En,Ja) (Rev 1) + + + + Games + Homeland (Japan) (Rev 1) + + + + Games + Bokujou Monogatari - Wonderful Life (Japan) (Rev 1) + + + + Games + Bokujou Monogatari - Shiawase no Uta (Japan) + + + + Games + Doubutsu no Mori e+ (Japan) + + + + Games + Doubutsu no Mori + (Japan) (Rev 1) + + + + Games + Beyblade VForce - Super Tournament Battle (Europe) (En,Fr,De,Es,It) + + + + Games + Star Wars - Bounty Hunter (Italy) + + + + Games + Super Mario Sunshine (Japan) (Rev 1) + + + + Games + Baten Kaitos II - Hajimari no Tsubasa to Kamigami no Shishi (Japan) (Disc 1) (Rev 2) + + + + Games + Baten Kaitos II - Hajimari no Tsubasa to Kamigami no Shishi (Japan) (Disc 2) (Rev 2) + + + + Demos + Star Wars - Rogue Squadron II (Japan) (Jitsuen-you Sample) + + + + Applications + Game Boy Player Start-Up Disc (Japan) (Rev 1) + + + + Bonus Discs + Pokemon Colosseum - Kakuchou Disc (Japan) + + + + Demos + Super Monkey Ball 2 (Japan) (Taikenban) + + + + Games + Star Wars - La Guerra dei Cloni (Italy) + + + + Games + Spider-Man 2 (Italy) + + + + Games + Star Wars - Rogue Squadron II - Rogue Leader (Italy) + + + + Games + Marvel Nemesis - L'Avenement des Imparfaits (France) + + + + Games + Incredible Hulk, The - Ultimate Destruction (France) + + + + Games + Power Rangers - Dino Tonnerre (France) + + + + Games + Super Smash Bros. Melee (Korea) (En,Ja) + + + + Games + Spider-Man (USA) (Rev 1) + + + + Games + Metroid Prime (USA) (Rev 1) + + + + Games + Metroid Prime (Korea) + + + + Applications + Game Boy Player Start-Up Disc (Japan) (Rev 2) + + + + Games + Enter the Matrix (Korea) (Disc 1) + + + + Games + Enter the Matrix (Korea) (Disc 2) + + + + Games + Eternal Darkness - Sanity's Requiem (Korea) + + + + Games + Mario Golf - Toadstool Tour (Korea) + + + + Games + Mario Party 4 (Korea) + + + + Games + Super Puzzle Bobble All Stars (Korea) + + + + Games + Swingerz Golf (Korea) + + + + Games + TimeSplitters 2 (Korea) + + + + Games + WWE WrestleMania XIX (Korea) + + + + Applications + Aging Disc DOL-USA (Japan) (Rev 7) + + + + Games + Bomberman Generation (USA) (Rev 1) + + + + Demos + Gekkan Nintendo Tentou Demo 2002.11.1 (Japan) (Disc A) + + + + Demos + Gekkan Nintendo Tentou Demo 2002.11.1 (Japan) (Disc B) + + + + Games + Looney Tunes - Back in Action (USA) (Rev 1) + + + + Games + WWE Day of Reckoning (USA) (Rev 1) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.1.1 (Japan) (Disc A) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.1.1 (Japan) (Disc B) + + + + Applications + Action Replay for GameCube (Europe) (Unl) + + + + Applications + CD avec les Codes Exclusifs et Inedits pour le Jeu Metroid Prime (France) (Unl) + + + + Applications + Action Replay Ultimate Codes for Use with Final Fantasy - Crystal Chronicles (USA) (Unl) + + + + Applications + Ultimate Codes for Use with Metroid Prime (USA) (Unl) + + + + Applications + Action Replay for GameCube (USA) (Unl) (v1.20) + + + + Applications + Action Replay for GameCube (USA) (Unl) (v1.06) + + + + Applications + Action Replay Ultimate Codes for Use with The Legend of Zelda - Twilight Princess (USA) (Unl) + + + + Applications + Action Replay Ultimate Codes for Use with Wario World (USA) (Unl) + + + + Applications + Ultimate Codes for Use with The Legend of Zelda - The Wind Waker (USA) (Unl) + + + + Applications + Ultimate Codes for Use with Animal Crossing (USA) (Unl) + + + + Applications + Action Replay Ultimate Codes Max Pack (USA) (Unl) + + + + Applications + Max Drive Pro (USA, Europe) (Unl) + + + + Applications + Advance Game Port (USA) (Unl) (Rev 1) + + + + Applications + Advance Game Port & Cheat Construction Kit (USA, Europe) (Unl) + + + + Applications + FreeLoader for GameCube (Europe) (Unl) (GameCube + Wii) + + + + Games + MaxPlay (Europe) (Unl) + + + + Applications + Ultimate Cheats fuer The Legend of Zelda - The Wind Waker (Germany) (Unl) + + + + Applications + Action Replay Ultimate Cheats for Use with Enter the Matrix (UK) (Unl) + + + + Applications + Action Replay Ultimative Cheats Greatest Hits 2003 (Germany) (Unl) + + + + Demos + Resident Evil 4 (Germany) (En,Fr,De,Es,It) (Bonus Disc) + + + + Games + Metal Arms - Glitch in the System (Germany) + + + + Applications + Ultimate Cheats fuer Splinter Cell (Germany) (Unl) + + + + Games + Summoner - La Deesse Reincarnee (France) + + + + Applications + CD Exclusif avec les Codes pour les Jeux Resident Evil et Resident Evil Zero (France) (Unl) + + + + Applications + CD avec les Codes Action Replay Exclusivement pour le Jeu The Legend of Zelda - The Wind Waker (France) (Unl) + + + + Applications + Action Replay Ultimative Cheatcodes fuer Final Fantasy - Crystal Chronicles (Germany) (Unl) + + + + Applications + Action Replay Ultimate Cheats for Use with Mario Kart - Double Dash!! (UK) (Unl) + + + + Applications + Action Replay Ultimate Cheats fuer Enter the Matrix (Germany) (Unl) + + + + Applications + Action Replay for GameCube (Europe) (En,Fr,De,Es,It,Pt) (Unl) (v1.14b) + + + + Coverdiscs + Cube CD 01 (20) (Europe) (Unl) + + + + Games + Space Raiders (Korea) + + + + Games + Scooby-Doo! La Nuit des 100 Frissons (France) + + + + Applications + Action Replay Ultimate Cheats fuer Pokemon Colosseum (Germany) (Unl) + + + + Coverdiscs + Cube CD 02 (21) (Europe) (Unl) + + + + Coverdiscs + Cube CD 03 (22) (Europe) (Unl) + + + + Coverdiscs + Cube CD 04 (23) (Europe) (Unl) + + + + Coverdiscs + Cube CD 05 (24) (Europe) (Unl) + + + + Coverdiscs + Cube CD 06 (25) (Europe) (Unl) + + + + Coverdiscs + Cube CD 07 (26) (Europe) (Unl) + + + + Coverdiscs + Cube CD 08 (27) (Europe) (Unl) + + + + Coverdiscs + Cube CD 09 (28) (Europe) (Unl) + + + + Coverdiscs + Cube CD 10 (29) (Europe) (Unl) + + + + Applications + Action Replay for GameCube (Europe) (Unl) (v1.0E) + + + + Games + Nickelodeon SpongeBob SquarePants - Creatuur van de Krokante Krab (Netherlands) + + + + Coverdiscs + Cube CD 11 (30) (Europe) (Unl) + + + + Coverdiscs + Cube CD 12 (31) (Europe) (Unl) + + + + Coverdiscs + Cube CD 13 (32) (Europe) (Unl) + + + + Coverdiscs + Cube CD 15 (34) (Europe) (Unl) + + + + Applications + FreeLoader for GameCube (USA, Europe) (Unl) (v1.06b) + + + + Applications + Action Replay Ultimate Cheats for Use with Pokemon Colosseum (UK) (Unl) + + + + Applications + Ultimate Cheats for Use with The Legend of Zelda - The Wind Waker (UK) (Unl) + + + + Games + Nickelodeon Les Razmoket - La Rancon Royale (France) + + + + Games + Metal Arms - Glitch in the System (France) + + + + Games + 2002 FIFA World Cup (France) + + + + Coverdiscs + Cube CD 16 (35) (Europe) (Unl) + + + + Coverdiscs + Cube CD 17 (36) (Europe) (Unl) + + + + Coverdiscs + Cube CD 18 (37) (Europe) (Unl) + + + + Coverdiscs + Cube CD 19 (38) (Europe) (Unl) + + + + Coverdiscs + Cube CD 20 (40) (Europe) (Unl) + + + + Games + SRS - Street Racing Syndicate (Europe) (En,Fr,De,Es,It) + + + + Games + Teen Titans (France) (En,Fr) + + + + Games + Gladius (France) + + + + Applications + Action Replay for GameCube (USA) (Unl) (v1.12) + + + + Applications + Action Replay Ultimate Codes Greatest Hits - Best Buy Achievers Weekend 2004 (USA) (Unl) + + + + Applications + Max Memory Power Saves - Volume 1 (USA) (Unl) + + + + Games + FIFA Soccer 2003 (USA) + + + + Games + Wario World (Korea) + + + + Demos + Gekkan Nintendo Tentou Demo 2006.4.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2002.10.1 (Japan) + + + + Applications + Game Boy Player (Korea) (Rev 1) + + + + Games + Mario Party 5 (Korea) + + + + Games + Mortal Kombat - Deadly Alliance (USA) (Rev 1) + + + + Games + 1080 Avalanche (Korea) + + + + Games + Disney-Pixar Nemo-reul Chajaseo (Korea) + + + + Applications + Action Replay for GameCube (USA) (En,Fr,De,Es,It,Pt) (Unl) (v1.08) + + + + Games + Mario Kart - Double Dash!! (Korea) + + + + Games + F-Zero GX (Korea) + + + + Games + Lara Croft Tomb Raider - Legend (Germany) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.8.1 (Japan) (Disc B) + + + + Games + Phantasy Star Online Episode I & II Plus (Japan) (En,Ja,Fr,De,Es) (Rev 4) + + + + Games + Tak and the Power of Juju (Korea) + + + + Games + Kirby Air Ride (Korea) + + + + Demos + Gekkan Nintendo Tentou Demo 2006.9.1 (Japan) + + + + Applications + Action Replay Ultimate Codes for Use with Soul Calibur II (USA) (Unl) + + + + Games + Tetris Worlds (USA) + + + + Games + Zoids Vs. II (Japan) (Rev 1) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.12.1 (Japan) (Disc A) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.12.1 (Japan) (Disc B) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.7.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2005.10.1 (Japan) + + + + Games + Pro Rally 2002 (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Tom Clancy's Splinter Cell (USA) (Rev 1) + + + + Demos + Gekkan Nintendo Tentou Demo 2002.9.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.2.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2004.4.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2004.10.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2004.6.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2004.9.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2004.11.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2004.12.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2004-2005 Nenmatsunenshi-gou (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.3.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.8.1 (Japan) (Disc A) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.10.1 (Japan) (Rev 1) + + + + Coverdiscs + Cube CD 14 (33) (Europe) (Unl) + + + + Applications + Action Replay Max (Europe) (En,Fr,De,Es,It,Pt) (Unl) + + + + Demos + Capcom vs. SNK 2 EO (Japan) (Tentou Taikenban) + + + + Applications + Advance Game Port (USA) (Unl) + + + + Games + MaxPlay (USA) (Unl) + + + + Games + Gauntlet - Dark Legacy (USA) (Rev 1) + + + + Applications + Action Replay Ultimate Codes for Use with Enter the Matrix (USA) (Unl) + + + + Demos + Interactive Multi-Game Demo Disk - October 2005 (Australia) (En,Fr,De,Es,It) + + + + Demos + Interactive Multi-Game Demo Disk - March 2004 (Australia) + + + + Demos + Interactive Multi-Game Demo Disk - November 2004 (Australia) (En,Fr,De,Es,It) + + + + Applications + Ultimate Cheats for Use with Metroid Prime (UK) (Unl) + + + + Applications + Max Drive (USA) (Unl) + + + + Demos + Interactive Multi-Game Demo Disk - September 2003 (Australia) + + + + Demos + Gekkan Nintendo Tentou Demo 2006.6.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2004.2.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2006.1.1 (Japan) + + + + Games + Zoids Vs. III (Japan) (Rev 2) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.4.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2006.8.1 (Japan) + + + + Coverdiscs + Cube CD 20 (39) (Europe) (Unl) + + + + Applications + Ultimate Codes for Use with Tom Clancy's Splinter Cell (USA) (Unl) + + + + Demos + Gekkan Nintendo Tentou Demo 2006.7.1 (Japan) + + + + Demos + Yu-Gi-Oh! Falsebound Kingdom - Kyokou ni Tozasareta Oukoku (Japan) (Taikenban) + + + + Demos + Beach Spikers - Virtua Beach Volleyball (Japan) (Taikenban) + + + + Demos + Disney's Magical Park (Japan) (Jitsuen-you Sample) + + + + Demos + Gekkan Nintendo Tentou Demo 2004.8.1 (Japan) + + + + Games + Naruto - Gekitou Ninja Taisen! 4 (Japan) (Taikai Sen'you Disc) (Rev 1) + + + + Demos + P.N. 03 (Japan) (Demo Eizou) + + + + Games + Kidou Senshi Gundam - Senshi-tachi no Kiseki - Kadokawa Shoten Rengou Kikaku Tokubetsu-hen (Japan) + + + + Games + Spider-Man (Europe) (Rev 1) + + + + Demos + Gekkan Nintendo Tentou Demo 2002.12.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2005.5.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2005.11.1 (Japan) + + + + Demos + Interactive Multi-Game Demo Disk - May 2004 (Australia) + + + + Demos + Gekkan Nintendo Tentou Demo 2004.3.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2005.2.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.5.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.6.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2005.1.1 (Japan) + + + + Games + Mat Hoffman's Pro BMX 2 (France) + + + + Demos + Gekkan Nintendo Tentou Demo 2005.9.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.11.1 (Japan) (Disc A) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.11.1 (Japan) (Disc B) + + + + Demos + Gekkan Nintendo Tentou Demo 2005.3.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2005.4.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2005.8.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2005.6.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2003.9.1 (Japan) + + + + Preproduction + Aggressive Inline (Europe) (En,Fr,De,Es) (Beta) (2002-07-29) + + + + Preproduction + Mario Kart - Double Dash!! (USA) (Debug) (2004-07-05) + + + + Applications + Hontai Kensa Disc DOL (Japan) (Rev 3) + + + + Preproduction + Bloody Roar - Primal Fury (USA) (Beta) (2002-01-08) + + + + Preproduction + Burnout (USA) (Beta) (2002-03-06) + + + + Preproduction + Driven (USA) (En,Fr,De,Es,It) (Beta) + + + + Preproduction + ESPN MLS ExtraTime 2002 (USA) (Beta) (2002-01-31) + + + + Preproduction + 007 - Agent Under Fire (USA) (Beta) (2002-01-25) + + + + Preproduction + Rune (USA) (Beta) (2003-03-04) + + + + Preproduction + Namco Museum (USA) (Beta) + + + + Preproduction + Nickelodeon SpongeBob SquarePants - Battle for Bikini Bottom (USA) (Beta) (2003-10-01) + + + + Preproduction + Tales of Symphonia (USA) (Disc 1) (Beta) (2004-03-30) + + + + Preproduction + Tales of Symphonia (USA) (Disc 2) (Beta) (2004-03-30) + + + + Preproduction + Whirl Tour (USA) (Beta) (2002-09-14) + + + + Preproduction + Batman - Dark Tomorrow (USA) (Beta) (2002-08-25) + + + + Preproduction + Phantasy Star Online Episode I & II (Europe) (En,Ja,Fr,De,Es) (Beta) + + + + Demos + Gekkan Nintendo Tentou Demo 2005.7.1 (Japan) + + + + Demos + Gekkan Nintendo Tentou Demo 2005.11.1 (Japan) (Rev 1) + + + + Demos + Gekkan Nintendo Tentou Demo 2006.2.1 (Japan) + + + + Preproduction + Galleon (USA) (Proto) + + + + Applications + Hontai Kensa Disc DOL-USA (Japan) (Rev 5) + + + + Applications + Hontai Kensa Disc DOL (Japan) (Rev 6) + + + + Applications + Aging Disc DOL (Japan) (Rev 7) + + + + Applications + Aging Disc DOL-PAL (Japan) (Rev 7) + + + + Demos + Gekkan Nintendo Tentou Demo 2005.12.1 (Japan) + + + + Preproduction + LEGO Super Soccer Adventure (Europe) (Proto) + + + + Applications + Power Link Game Enhancer Disc (Europe) (Unl) + + + + Games + Mario Party 4 (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Need for Speed - Underground 2 (Latin America) + + + + Games + Xeno Crisis (Europe) (En,Ja,Fr,De,Es,It,Nl,Pt) (Unl) + + + + Games + FIFA Soccer 06 (Latin America) + + + + Games + SSX Tricky (Japan) (Jitsuen-you Sample) + + + + Games + FIFA Soccer 07 (Latin America) + + + + Preproduction + Pickles (USA) (Proto) + + + + Preproduction + 18 Wheeler - American Pro Trucker (USA) (Beta) (2001-11-12) + + + + Preproduction + All-Star Baseball 2003 featuring Derek Jeter (USA) (Beta) (2002-01-16) + + + + Preproduction + Crazy Taxi (USA) (Beta) (2001-09-21) + + + + Preproduction + NFL QB Club 2002 (USA) (Beta) (2001-11-12) + + + + Preproduction + NFL QB Club 2002 (USA) (Beta) (2001-11-14) + + + + Preproduction + NFL QB Club 2002 (USA) (Beta) (2001-11-29) + + + + Preproduction + Midway Arcade Treasures 3 (USA) (Beta) (2005-07-05) + + + + Applications + Karat GC-you Pro Action Replay PAR GC-you (Japan) (Unl) (v1.20A) + + + + Applications + FreeLoader for GameCube (Europe) (Unl) (v1.04) + + + + Applications + FreeLoader for GameCube (Europe) (Unl) (v1.06B) + + + + Demos + 2002 FIFA World Cup (Japan) (Jitsuen-you Sample) + + + + Games + FIFA World Cup Germany 2006 (Latin America) + + + + Games + Star Wars - Rogue Squadron III - Rebel Strike (USA) (En,Fr,De,Es,It) (Rev 1) + + + + Demos + WWE WrestleMania X8 (Japan) (Taikenban) + + +
diff --git a/nodtool/assets/redump-wii.dat b/nodtool/assets/redump-wii.dat new file mode 100644 index 0000000..f31edb0 --- /dev/null +++ b/nodtool/assets/redump-wii.dat @@ -0,0 +1,18863 @@ + + + +
+ Nintendo - Wii + Nintendo - Wii - Discs (3770) (2024-02-13 21-52-18) + 2024-02-13 21-52-18 + 2024-02-13 21-52-18 + redump.org + redump.org + http://redump.org/ +
+ + Games + Metal Slug Anthology (USA) + + + + Games + Mario Strikers Charged Football (Europe) (En,Fr,De,Es,It) (Rev 2) + + + + Games + Wii Play (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Monster 4x4 - World Circuit (Europe) (En,Fr,De,Es,It) + + + + Games + Link's Crossbow Training (USA) (En,Fr,Es) (Rev 1) + + + + Games + Legend of Zelda, The - Twilight Princess (USA) + + + + Games + Wii Sports (USA) + + + + Games + Rayman - Raving Rabbids 2 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Samurai Warriors - Katana (USA) + + + + Games + Mario & Sonic at the Olympic Games (Europe) (En,Fr,De,Es,It) + + + + Games + Mario Party 8 (Europe, Australia) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Resident Evil - The Umbrella Chronicles (Europe) (En,Fr,De,Es,It) + + + + Games + Super Mario Galaxy (Japan) + + + + Games + Sonic Unleashed (USA) (En,Ja,Fr,De,Es,It) + + + + Games + Wii Sports (USA) (Rev 1) + + + + Games + Rayman - Raving Rabbids 2 (USA) (En,Fr,Es) + + + + Games + Super Smash Bros. Brawl (USA) (Rev 2) + + + + Games + Mario Kart Wii (USA) (En,Fr,Es) + + + + Games + Mario Party 8 (USA, Asia) (Rev 2) + + + + Games + Marvel - Ultimate Alliance (USA) + + + + Games + Metroid Prime 3 - Corruption (USA) + + + + Games + Prince of Persia - Rival Swords (USA) (En,Fr,Es) + + + + Games + Rayman - Raving Rabbids (USA) (En,Fr,Es) + + + + Games + Simpsons Game, The (USA) + + + + Games + Super Mario Galaxy (USA) (En,Fr,Es) + + + + Games + Tatsunoko vs. Capcom - Cross Generation of Heroes (Japan) (Rev 1) + + + + Games + Metroid Prime 3 - Corruption (Europe) (En,Fr,De,Es,It) + + + + Games + Super Mario Galaxy (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + WarioWare - Smooth Moves (Europe) (En,Fr,De,Es,It) + + + + Games + Wii Sports (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Mario Party 8 (Europe) (En,Fr,De,Es,It) + + + + Games + Deal or No Deal (USA) + + + + Games + Wii Play (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Ookami (Europe) (En,Fr,De) + + + + Games + Wii Sports (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Crash of the Titans (Scandinavia) (En,Sv,No,Da,Fi) + + + + Games + Mario Kart Wii (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Guitar Hero III - Legends of Rock (Europe) (En,Fr,De,Es,It) + + + + Games + Guitar Hero - Aerosmith (Europe) (En,Fr,De,Es,It) + + + + Games + Disney High School Musical - Sing It! (Europe) (En,Fr,De,Es,It) + + + + Games + Castlevania Judgment (Europe) (En,Fr,De,Es,It) + + + + Games + Super Smash Bros. Brawl (USA) (Rev 1) + + + + Games + Trauma Center - Second Opinion (Europe) (En,Fr,De,Es,It) + + + + Games + Chronicles of Narnia, The - Prince Caspian (Europe) (De,It) + + + + Games + Super Paper Mario (USA) + + + + Games + Resident Evil 4 - Wii Edition (Europe) (En,Fr,De,Es,It) + + + + Games + Let's Tap (Europe) (En,Fr,De,Es,It) + + + + Games + Coraline (USA) (En,Fr,Es) + + + + Games + Call of Duty - World at War (USA) + + + + Games + Alone in the Dark (USA) (En,Fr,Es) (Rev 1) + + + + Games + Top Spin 3 (USA) (En,Fr,Es) + + + + Games + Red Steel (USA) (En,Fr,Es) + + + + Games + Mario Strikers Charged (USA) (En,Fr,Es) (Rev 1) + + + + Games + Conduit, The (USA) (En,Fr,Es) + + + + Games + Monopoly (USA) (En,Fr,Es) + + + + Games + Trivial Pursuit (USA) (En,Fr) + + + + Games + Bigs, The (USA) + + + + Games + Big Brain Academy - Wii Degree (USA) (En,Fr,Es) + + + + Games + Wing Island (USA) (En,Fr,Es) + + + + Games + Castlevania Judgment (USA) + + + + Games + Speed Racer - The Videogame (USA) (En,Fr,Es,Pt) + + + + Games + Ben 10 - Alien Force (USA) (En,Fr,Es) + + + + Games + Resident Evil 4 - Wii Edition (USA) + + + + Games + Tiger Woods PGA Tour 08 (USA) (En,Fr) + + + + Games + Tiger Woods PGA Tour 07 (USA) + + + + Games + Overlord - Dark Legend (USA) (En,Fr,Es) + + + + Games + Punch-Out!! (USA) (En,Fr,Es) + + + + Games + Alien Syndrome (USA) + + + + Games + Animal Crossing - City Folk (USA) (En,Fr,Es) + + + + Games + Bomberman Land (USA) + + + + Games + Call of Duty 3 (USA) + + + + Games + Cooking Mama - World Kitchen (USA) + + + + Games + Resident Evil - The Umbrella Chronicles (USA) + + + + Games + Wii Play (USA) + + + + Games + Are You Smarter than a 5th Grader Make the Grade (USA) + + + + Games + Godfather, The - Blackhand Edition (USA) + + + + Games + We Ski (USA) (En,Fr,Es) + + + + Games + Wii Music (USA) (En,Fr,Es) + + + + Games + Trauma Center - New Blood (USA) + + + + Games + Kororinpa - Marble Mania (USA) + + + + Games + NASCAR Kart Racing (USA) + + + + Games + No More Heroes (USA) (En,Fr,Es) + + + + Games + Boom Blox Bash Party (USA) (En,Fr,Es) + + + + Games + Disney Think Fast (USA) + + + + Games + House of the Dead, The - Overkill (USA) (En,Fr,Es) + + + + Games + Cruis'n (USA) (En,Fr,Es) + + + + Games + Rockstar Games Presents Table Tennis (USA) + + + + Games + de Blob (USA) (En,Fr,Es) + + + + Games + We Ski & Snowboard (USA) (En,Fr,Es) + + + + Games + Tomb Raider - Underworld (USA) (En,Fr,Es) + + + + Games + Sonic and the Secret Rings (USA) (En,Ja,Fr,De,Es,It) + + + + Games + Sonic and the Black Knight (USA) (En,Ja,Fr,De,Es,It) + + + + Games + Far Cry Vengeance (USA) (En,Fr,Es) + + + + Games + LEGO Indiana Jones - The Original Adventures (USA) (En,Fr,Es) + + + + Games + LEGO Star Wars - The Complete Saga (USA) (En,Fr,Es) + + + + Games + MX vs. ATV Untamed (USA) + + + + Games + NHL 2K9 (USA) (En,Fr,Es) + + + + Games + Crash - Mind over Mutant (USA) (En,Fr) + + + + Games + Crash of the Titans (USA) + + + + Games + Carnival Games (USA) + + + + Games + Pirates vs. Ninjas - Dodgeball (USA) (En,Fr,Es) + + + + Games + Resident Evil Archives - Resident Evil (USA) + + + + Games + Hasbro Family Game Night (USA) (En,Fr,Es) + + + + Games + Boom Blox (USA) (En,Fr,Es) + + + + Games + Dead Rising - Chop Till You Drop (USA) (En,Fr,Es) + + + + Games + Donkey Kong - Barrel Blast (USA) + + + + Games + Fire Emblem - Radiant Dawn (USA) + + + + Games + Disney G-Force (USA) (En,Fr,Es) + + + + Games + Mario Power Tennis (USA) (En,Fr,Es) + + + + Games + MLB Power Pros 2008 (USA) + + + + Games + Spider-Man - Web of Shadows (USA) (En,Fr) + + + + Games + Tiger Woods PGA Tour 09 - All-Play (USA) + + + + Games + Trauma Center - Second Opinion (USA) + + + + Games + Samba de Amigo (USA) (En,Fr,Es) + + + + Games + Mad Dog McCree - Gunslinger Pack (USA) (En,Fr,Es) + + + + Games + Mushroom Men - The Spore Wars (USA) (En,Fr,Es) + + + + Games + TMNT (USA) (En,Fr,Es) + + + + Games + Wario Land - Shake It! (USA) (En,Fr,Es) + + + + Games + Nights - Journey of Dreams (USA) (En,Ja,Fr,De,Es,It) + + + + Games + Naruto - Clash of Ninja Revolution 2 (USA) (En,Fr,Es) + + + + Games + Mummy, The - Tomb of the Dragon Emperor (USA) (En,Fr,Es) + + + + Games + SPRay (USA) + + + + Games + WarioWare - Smooth Moves (USA) (En,Fr,Es) + + + + Games + Tenchu - Shadow Assassins (USA) (En,Fr,Es) + + + + Games + Soulcalibur Legends (USA) + + + + Games + Super Monkey Ball - Banana Blitz (USA) + + + + Games + Onechanbara - Bikini Zombie Slayers (USA) (En,Fr) + + + + Games + MySims Racing (USA) (En,Fr,Es) + + + + Games + Mario Party 8 (USA) (Rev 1) + + + + Games + Harry Potter and the Half-Blood Prince (USA) (En,Fr,Es) + + + + Games + Grand Slam Tennis (USA) (En,Fr) + + + + Games + Ghostbusters - The Video Game (USA) (En,Fr,Es) (Rev 1) + + + + Games + MySims (USA) (En,Fr,Es) + + + + Games + Mario & Sonic at the Olympic Games (USA) (En,Fr,Es) + + + + Games + Legend of Spyro, The - Dawn of the Dragon (USA) (En,Fr,Es) + + + + Games + Legend of Spyro, The - The Eternal Night (USA) + + + + Games + Little King's Story (USA) (En,Fr,Es) + + + + Games + CSI - Crime Scene Investigation - Hard Evidence (USA) (En,Fr,Es) + + + + Games + We Love Golf! (USA) (En,Fr,Es) + + + + Games + Tony Hawk's Downhill Jam (USA) + + + + Games + House of the Dead 2 & 3 Return, The (USA) (En,Fr,Es) + + + + Games + Klonoa (USA) (En,Fr,Es) + + + + Games + SSX Blur (USA) (En,Fr) + + + + Games + LEGO Batman - The Videogame (USA) (En,Fr,Es) + + + + Games + Sonic Riders - Zero Gravity (USA) (En,Ja,Fr,De,Es,It) + + + + Games + Monster 4x4 - World Circuit (USA) (En,Fr,Es) + + + + Games + Pikmin (USA) (En,Fr,Es) + + + + Games + Sam & Max - Season One (USA) (En,Fr,Es) + + + + Games + Sega Superstars Tennis (USA) (En,Fr,Es) + + + + Games + SimAnimals (USA) (En,Fr,Es) + + + + Games + Smarty Pants - Trivia Fun for Everyone! (USA) + + + + Games + Legend of Zelda, The - Twilight Princess (USA) (En,Fr,Es) (Rev 2) + + + + Games + Big Beach Sports (USA) (En,Fr,Es) + + + + Games + Big League Sports - Summer (USA) (En,Fr) + + + + Games + Blazing Angels - Squadrons of WWII (USA) (En,Fr,Es) + + + + Games + Cabela's Legendary Adventures (USA) + + + + Games + Cabela's Trophy Bucks (USA) + + + + Games + Cooking Mama - Cook Off (USA) + + + + Games + Destroy All Humans! Big Willy Unleashed (USA) (En,Fr) + + + + Games + Transformers - Revenge of the Fallen (USA) (En,Fr) + + + + Games + Tom Clancy's Splinter Cell - Double Agent (USA) (En,Fr,Es) + + + + Games + Manhunt 2 (USA) (En,Fr,Es) + + + + Games + Need for Speed - ProStreet (USA) + + + + Games + Super Swing Golf (USA) + + + + Games + Wonder World Amusement Park (USA) + + + + Games + Transformers - The Game (USA) + + + + Games + Mario Super Sluggers (USA) (En,Fr,Es) + + + + Games + Indiana Jones and the Staff of Kings (USA) (En,Fr,Es) + + + + Games + Munchables, The (USA) (En,Fr,Es) + + + + Games + Incredible Hulk, The (USA) (En,Fr) + + + + Games + DreamWorks Kung Fu Panda - Legendary Warriors (USA) (En,Fr) + + + + Games + 007 - Quantum of Solace (USA) (En,Fr) + + + + Games + Battalion Wars 2 (USA) + + + + Games + Bully - Scholarship Edition (USA) (En,Fr,Es) + + + + Games + MySims Party (USA) (En,Fr,Es) + + + + Games + Nickelodeon SpongeBob's Atlantis SquarePantis (USA) + + + + Games + Elebits (USA) + + + + Games + Nickelodeon SpongeBob SquarePants featuring Nicktoons - Globs of Doom (USA) (En,Fr) + + + + Games + Bigs 2, The (USA) + + + + Games + Nicktoons - Attack of the Toybots (USA) + + + + Games + Sims 2, The - Castaway (USA) + + + + Games + Nick Jr. Go Diego Go! Safari Rescue (USA) + + + + Games + Nickelodeon Avatar - The Last Airbender - Into the Inferno (USA) + + + + Games + X-Men Origins - Wolverine (USA) (En,Fr) + + + + Games + Tiger Woods PGA Tour 10 (USA) (Rev 1) + + + + Games + Bust-A-Move Bash! (USA) + + + + Games + Medal of Honor - Vanguard (USA) + + + + Games + Nickelodeon Tak and the Guardians of Gross (USA) + + + + Games + Nickelodeon SpongeBob SquarePants - Creature from the Krusty Krab (USA) + + + + Games + MySims Kingdom (USA) (En,Fr,Es) + + + + Games + Resident Evil Archives - Resident Evil (Europe) (En,Fr,De,Es,It) + + + + Games + Legend of Zelda, The - Twilight Princess (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Excite Truck (Europe) (En,Fr,De,Es,It) + + + + Games + Link's Crossbow Training (Europe) (En,Fr,De,Es,It) + + + + Games + Battle of the Bands (Europe) (En,Fr,De,Es,It) + + + + Games + Nights - Journey of Dreams (Europe, Australia) (En,Ja,Fr,De,Es,It) + + + + Games + Red Steel (Europe) (En,Fr,De,Es,It) + + + + Games + Super Smash Bros. Brawl (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Metroid Prime Trilogy (Europe) (En,Fr,De,Es,It) + + + + Games + Sam & Max - Season One (Europe) (En,Fr,De,Es,It) + + + + Games + SSX Blur (Europe) (En,Fr,De,Es,It) + + + + Games + Super Paper Mario (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Tony Hawk's Downhill Jam (Europe) (En,Fr,De,Es,It) + + + + Games + Big League Sports (USA) (En,Fr) + + + + Games + Walt Disney Pictures Bolt (USA) (En,Fr,Es) + + + + Games + Brunswick Pro Bowling (USA) + + + + Games + DiRT 2 (USA) (En,Fr,Es) + + + + Games + Dragon Ball Z - Budokai Tenkaichi 2 (USA) + + + + Games + Dragon Ball Z - Budokai Tenkaichi 3 (USA) + + + + Games + Harvey Birdman - Attorney at Law (USA) + + + + Games + Help Wanted (USA) (En,Fr,Es) + + + + Games + Ice Age - Dawn of the Dinosaurs (USA) (En,Fr) + + + + Games + Spectrobes - Origins (USA) + + + + Games + Puzzle Kingdoms (USA) (En,Fr,Es) + + + + Games + My Word Coach (USA) + + + + Games + Mini Ninjas (USA) (En,Fr,Es) + + + + Games + Disney-Pixar Up (USA) (En,Fr) + + + + Games + G.I. Joe - The Rise of Cobra (USA) (En,Fr) + + + + Games + Rayman - Raving Rabbids - TV Party (USA) (En,Fr,Es) + + + + Games + DreamWorks Bee Movie Game (USA) + + + + Games + Ghost Squad (USA) + + + + Games + Harry Potter and the Order of the Phoenix (USA) + + + + Games + Hell's Kitchen - The Game (USA) (En,Fr,Es) + + + + Games + Hot Wheels - Beat That! (USA) + + + + Games + Major League Baseball 2K9 (USA) + + + + Games + Ninja Reflex (USA) (En,Fr,Es) + + + + Games + Disney-Pixar Toy Story Mania! (USA) (En,Fr,Es) + + + + Games + WWE SmackDown vs. Raw 2008 (USA) + + + + Games + DreamWorks Monsters vs. Aliens (USA) (En,Fr) + + + + Games + Block Party - 20 Games (USA) (En,Fr) + + + + Games + Carnival Games - MiniGolf (USA) (En,Fr,Es) + + + + Games + Dancing with the Stars - We Dance! (USA) + + + + Games + Price Is Right, The (USA) (En,Fr) + + + + Games + DreamWorks Shrek the Third (USA) + + + + Games + DreamWorks Shrek's Carnival Craze - Party Games (USA) (En,Fr) + + + + Games + Tony Hawk's Proving Ground (USA) + + + + Games + Mario Strikers Charged Football (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Iron Man (USA) (En,Fr,Es) + + + + Games + DreamWorks Kung Fu Panda (USA) (En,Fr) + + + + Games + DreamWorks Madagascar - Escape 2 Africa (USA) (En,Fr) + + + + Games + Madden NFL 08 (USA) + + + + Games + Marvel - Ultimate Alliance 2 (USA) + + + + Games + Mortal Kombat - Armageddon (USA) + + + + Games + Pajama Sam - Don't Fear the Dark (USA) + + + + Games + Disney-Pixar Ratatouille (USA) + + + + Games + Spy Fox in Dry Cereal (USA) + + + + Games + Roogoo - Twisted Towers (USA) (En,Fr,Es) + + + + Games + Guinness World Records - The Videogame (USA) (En,Fr,Es) + + + + Games + Naruto - Clash of Ninja Revolution (USA) + + + + Games + Star Wars - The Force Unleashed (USA) (En,Fr) + + + + Games + All Star Cheer Squad (USA) + + + + Games + Dewy's Adventure (USA) + + + + Games + Madden NFL 10 (USA) + + + + Games + Wacky World of Sports (USA) (En,Fr,Es) + + + + Games + Disney-Pixar WALL-E (USA) (En,Fr) + + + + Games + WWE SmackDown vs. Raw 2009 (USA) (En,Fr) + + + + Games + Sports Island (Europe) (En,Fr,De,Es,It) + + + + Games + Wii Sports Resort (USA) (En,Fr,Es) + + + + Games + Rock Band 2 (USA) + + + + Games + Cloudy with a Chance of Meatballs (USA) (En,Fr,Es) + + + + Games + Hannah Montana - The Movie (USA) + + + + Games + NBA Live 08 (USA) + + + + Games + Rapala Tournament Fishing! (USA) + + + + Games + Scooby-Doo! First Frights (USA) (En,Fr,Es) + + + + Games + Shaun White Snowboarding - Road Trip (USA) (En,Fr,Es) + + + + Games + Star Wars - The Clone Wars - Lightsaber Duels (USA) (En,Fr) + + + + Games + Ultimate Band (USA) (En,Fr,Es) + + + + Games + Cabela's Big Game Hunter (USA) + + + + Games + Guitar Hero World Tour (USA) (En,Fr) + + + + Games + Guitar Hero 5 (USA) (En,Fr) + + + + Games + NCAA Football 09 - All-Play (USA) + + + + Games + Neighborhood Games (USA) + + + + Games + Disney Pirates of the Caribbean - At World's End (USA) (Rev 1) + + + + Games + Rampage - Total Destruction (USA) + + + + Games + Ghost Squad (Europe) (En,Fr,De,Es,It) + + + + Games + Tiger Woods PGA Tour 07 (Europe) + + + + Games + Beatles, The - Rock Band (USA) (En,Fr,Es) + + + + Games + AMF Bowling - Pinbusters! (USA) + + + + Games + Deer Drive (USA) + + + + Games + Spider-Man 3 (USA) + + + + Games + Spider-Man - Friend or Foe (USA) + + + + Games + Pokemon Battle Revolution (USA) + + + + Games + Wild Earth - African Safari (USA) + + + + Games + Where's Waldo The Fantastic Journey (USA) (En,Fr) + + + + Games + Nancy Drew - The White Wolf of Icicle Creek (USA) + + + + Games + Kawasaki Quad Bikes (USA) + + + + Games + Kawasaki Jet Ski (USA) + + + + Games + Family Feud - 2010 Edition (USA) + + + + Games + Myth Makers - Orbs of Doom (USA) + + + + Games + Ferrari Challenge - Trofeo Pirelli (USA) (En,Fr) + + + + Games + Final Fantasy Fables - Chocobo's Dungeon (USA) + + + + Games + Disney-Pixar Cars - Mater-National Championship (USA) (En,Es) + + + + Games + Disney-Pixar Cars (USA) (En,Es) + + + + Games + Fishing Master World Tour (USA) (En,Fr,Es) + + + + Games + MotoGP (USA) (En,Fr,Es) + + + + Games + Sims 2, The - Pets (USA) + + + + Games + Alvin and the Chipmunks (USA) (En,Fr) + + + + Games + Major League Baseball 2K8 (USA) + + + + Games + Go Play - Lumberjacks (USA) + + + + Games + Thrillville - Off the Rails (USA) + + + + Games + Star Wars - The Clone Wars - Republic Heroes (USA) (En,Fr,Es) + + + + Games + Battle of the Bands (USA) + + + + Games + Deadly Creatures (USA) (En,Fr,Es) + + + + Games + Guitar Hero - Metallica (USA) (En,Fr) + + + + Games + Excite Truck (USA) + + + + Games + Nickelodeon Barnyard (USA) + + + + Games + Chronicles of Narnia, The - Prince Caspian (USA) + + + + Games + Fantastic Four - Rise of the Silver Surfer (USA) (En,Fr) + + + + Games + Guitar Hero - Aerosmith (USA) (En,Fr) + + + + Games + Need for Speed - Carbon (USA) + + + + Games + Skate It (USA) (En,Fr,Es) + + + + Games + Circus Games (USA) (En,Fr,Es) + + + + Games + Harvest Moon - Tree of Tranquility (USA) + + + + Games + Rygar - The Battle of Argus (USA) + + + + Games + Valhalla Knights - Eldar Saga (USA) + + + + Games + Paws & Claws - Pet Vet (USA) (En,Fr,Es) + + + + Games + Fire Emblem - Radiant Dawn (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Conduit, The (Europe) (En,Fr,De,Es,It) + + + + Games + Disaster - Day of Crisis (Europe) (En,Fr,De,Es,It) + + + + Games + New Super Mario Bros. Wii (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Shaun White Snowboarding - World Stage (USA) (En,Fr,Es) + + + + Games + Cabela's Big Game Hunter 2010 (USA) + + + + Games + Metroid Prime Trilogy (USA) + + + + Games + Bass Pro Shops - The Strike (USA) + + + + Games + Chaotic - Shadow Warriors (USA) (En,Fr) + + + + Games + Tornado Outbreak (USA) (En,Fr,Es) + + + + Games + Backyard Baseball '10 (USA) + + + + Games + Don King Boxing (USA) (En,Fr,Es) + + + + Games + Mario & Sonic at the Olympic Winter Games (USA) (En,Ja,Fr,Es) + + + + Games + Totally Spies! Totally Party (USA) (En,Fr,Es) + + + + Games + Ringling Bros. and Barnum & Bailey (USA) + + + + Games + Band Hero (USA) + + + + Games + Deca Sports (USA) + + + + Games + Guitar Hero - Smash Hits (USA) (En,Fr) + + + + Games + Bakugan - Battle Brawlers (USA) (En,Fr) (Toys R Us) + + + + Games + Arc Rise Fantasia (Japan) + + + + Games + Fragile - Sayonara Tsuki no Haikyo (Japan) + + + + Games + Suzumiya Haruhi no Heiretsu (Japan) + + + + Games + Zelda no Densetsu - Twilight Princess (Japan) + + + + Games + Zero - Tsukihami no Kamen (Japan) + + + + Games + FaceBreaker K.O. Party (USA) (En,Fr) + + + + Games + Price Is Right, The - 2010 Edition (USA) (En,Fr) + + + + Games + Bratz - The Movie (USA) + + + + Games + Soulcalibur Legends (Japan) + + + + Games + Super Paper Mario (Japan) (Rev 1) + + + + Games + Metroid Prime 3 - Corruption (Japan) + + + + Games + Donkey Kong Taru Jet Race (Japan) + + + + Games + Wario Land Shake (Japan) (Rev 1) + + + + Games + Mario Kart Wii (Japan) + + + + Games + Muramasa - The Demon Blade (Europe) (En,Fr,De,Es,It) + + + + Games + NBA 2K10 (USA) + + + + Games + Link no Bowgun Training (Japan) + + + + Games + DJ Hero (USA) (En,Fr) + + + + Games + Cruise Ship Vacation Games (USA) + + + + Games + London Taxi - Rushour (USA) + + + + Games + Ski and Shoot (USA) (En,Fr) + + + + Games + Game Party (USA) (Rev 1) + + + + Games + Guitar Hero III - Legends of Rock (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Deca Sports 2 (USA) (En,Fr,Es) + + + + Games + House of the Dead, The - Overkill (Europe) (En,Fr,Es,It) + + + + Games + Rapala's Fishing Frenzy (USA) + + + + Games + Animal Crossing - Let's Go to the City (Europe) (En,Fr,De,Es,It) + + + + Games + Little King's Story (Europe) (En,Fr,De,Es,It) + + + + Games + Biggest Loser, The (USA) + + + + Games + Ready 2 Rumble - Revolution (USA) (En,Fr,Es) + + + + Games + Bratz - Girlz Really Rock (USA) (En,Fr) + + + + Games + Cabela's Outdoor Adventures 2010 (USA) + + + + Games + Jelly Belly - Ballistic Beans (USA) (En,Fr,Es) + + + + Games + Ultimate Party Challenge (USA) + + + + Games + Smiley World - Island Challenge (USA) (En,Fr,Es) + + + + Games + Brothers in Arms - Road to Hill 30 (Europe) (En,Fr,De,Es,It) + + + + Games + Brothers in Arms - Earned in Blood (Europe) (En,Fr,De,Es,It) + + + + Games + Harvest Moon - Magical Melody (Europe) (En,Fr,De,Es,It) + + + + Games + Metal Slug Anthology (UK) + + + + Games + Zack & Wiki - Quest for Barbaros' Treasure (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Super Monkey Ball - Banana Blitz (Europe) (En,Fr,De,Es,It) + + + + Games + Wario Land - The Shake Dimension (Europe) (En,Fr,De,Es,It) + + + + Games + MLB Power Pros (USA) + + + + Games + Heatseeker (USA) + + + + Games + Mercury Meltdown Revolution (USA) (En,Fr,Es) + + + + Games + Wii Sports Resort (Europe) (En,Fr,De,Es,It) + + + + Games + Broken Sword - Shadow of the Templars - The Director's Cut (Europe) (En,Fr,De,Es,It) + + + + Games + FIFA 10 (Europe) (En,Nl) + + + + Games + House of the Dead 2 & 3 Return, The (Europe) (En,Ja,Fr,De,Es,It) + + + + Games + Trauma Center - New Blood (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Muramasa - The Demon Blade (USA) + + + + Games + Madden NFL 09 - All-Play (USA) + + + + Games + Need for Speed - Nitro (USA) (En,Fr,Es) + + + + Games + Nickelodeon SpongeBob's Truth or Square (USA) + + + + Games + We Cheer (USA) (En,Fr,Es) + + + + Games + Dead Space - Extraction (USA) (En,Fr) + + + + Games + Ben 10 - Protector of Earth (USA) + + + + Games + Opoona (Europe) (En,Fr,De) + + + + Games + Astro Boy - The Video Game (USA) (En,Fr,Es) + + + + Games + Bakugan - Battle Brawlers (USA) (En,Fr) + + + + Games + Call of Duty - Modern Warfare - Reflex (USA) (En,Fr) + + + + Games + Drawn to Life - The Next Chapter (USA) (En,Fr) + + + + Games + Hasbro Family Game Night 2 (USA) (En,Fr,Es) + + + + Games + LEGO Indiana Jones 2 - The Adventure Continues (USA) (En,Fr,Es) + + + + Games + Dead Space - Extraction (Europe) (En,Fr,De,It) + + + + Games + EA Sports Active - More Workouts (USA) (En,Fr) + + + + Games + Big Brain Academy for Wii (Europe) (En,Fr,De,Es,It) + + + + Games + Aqua Panic! (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + LEGO Indiana Jones 2 - The Adventure Continues (Europe) (En,Fr,De,Es,It,Da) + + + + Games + Disney-Pixar Cars - Race-O-Rama (USA) (En,Fr) + + + + Games + Ice Age 2 - The Meltdown (USA) + + + + Games + LEGO Rock Band (USA) (En,Fr,Es) + + + + Games + Rabbids Go Home (USA) (En,Fr,Es) + + + + Games + Sega Bass Fishing (USA) + + + + Games + WWE SmackDown vs. Raw 2010 (USA) (En,Fr,Es) + + + + Games + My Baby First Steps (USA) (En,Fr,Es) + + + + Games + F1 2009 (USA) (En,Fr,Es) + + + + Games + Jurassic - The Hunted (USA) + + + + Games + Playmobil Circus (USA) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Storybook Workshop (USA) (En,Fr,Es) + + + + Games + Walk It Out! (USA) (En,Fr,Es) + + + + Games + Biohazard Zero (Japan) + + + + Games + Biohazard (Japan) + + + + Games + Biohazard 4 - Wii Edition (Japan) + + + + Games + Biohazard - Umbrella Chronicles (Japan) + + + + Games + Resident Evil Archives - Resident Evil Zero (USA) + + + + Games + Resident Evil - The Darkside Chronicles (USA) + + + + Games + Are You Smarter than a 5th Grader Game Time (USA) + + + + Games + Ben 10 - Alien Force - Vilgax Attacks (USA) (En,Fr,Es) + + + + Games + Secret Saturdays, The - Beasts of the 5th Sun (USA) (En,Fr,Es) + + + + Games + World of Zoo (USA) (En,Fr,Es) + + + + Games + Teenage Mutant Ninja Turtles - Smash-Up (USA) (En,Fr,De,Es,It) + + + + Games + Ookami (USA) + + + + Games + Ultimate Duck Hunting - Hunting & Retrieving Ducks (USA) (En,Fr,Es) + + + + Games + Resident Evil Archives - Resident Evil Zero (Europe) (En,Fr,De,Es,It) + + + + Games + Resident Evil - The Darkside Chronicles (Europe) (En,Ja,Fr,De,Es,It) + + + + Games + No More Heroes 2 - Desperate Struggle (USA) (En,Fr,Es) + + + + Games + New Super Mario Bros. Wii (USA) (En,Fr,Es) (Rev 1) + + + + Games + Guitar Hero - Van Halen (USA) (En,Fr) + + + + Games + James Cameron's Avatar - The Game (USA) (En,Fr,Es) + + + + Games + Disney The Princess and the Frog (USA) (En,Fr,Es) + + + + Games + Alvin and the Chipmunks - The Squeakquel (USA) + + + + Games + Biohazard - The Darkside Chronicles (Japan) + + + + Games + Super Monkey Ball - Step & Roll (USA) + + + + Games + Dragon Ball - Revenge of King Piccolo (Europe) (En,Fr,De,Es,It) + + + + Games + James Cameron's Avatar - The Game (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Teenage Mutant Ninja Turtles - Smash-Up (Europe) (En,Fr,De,Es,It) + + + + Games + Super Monkey Ball - Step & Roll (Europe) (En,Fr,De,Es,It) + + + + Games + Bakugan - Battle Brawlers (Europe) (En,Fr,De,Es,It,Nl,Sv) + + + + Games + Marvel Super Hero Squad (USA) (En,Fr,Es) + + + + Games + No More Heroes (Europe) (En,Fr,De,Es,It) + + + + Games + Alone in the Dark (Europe) (En,Fr,De,Es,It) + + + + Games + Data East Arcade Classics (USA) + + + + Games + Boom Blox (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Racquet Sports (USA) + + + + Games + Broken Sword - Shadow of the Templars - The Director's Cut (USA) (En,Fr,Es) + + + + Games + Baroque (USA) + + + + Games + Bleach - Shattered Blade (USA) + + + + Games + Blast Works - Build, Trade, Destroy (USA) + + + + Games + Dragon Quest Swords - The Masked Queen and the Tower of Mirrors (USA) + + + + Games + GT Pro Series (USA) + + + + Games + Guitar Hero III - Legends of Rock (USA) + + + + Games + Shonen Jump One Piece - Unlimited Adventure (USA) + + + + Games + Tatsunoko vs. Capcom - Ultimate All-Stars (USA) + + + + Games + All Star Cheer Squad 2 (USA) + + + + Games + Blast Works - Build, Trade, Destroy (UK) + + + + Games + Klonoa (Europe) (En,Fr,De,Es,It) + + + + Games + FIFA 10 (Canada) (En,Fr) + + + + Games + Super Paper Mario (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Monster Hunter Tri (Europe) (En,Fr,De,Es,It) + + + + Games + Carnival Games - MiniGolf (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + MySims Racing (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Summer Athletics (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Mortal Kombat - Armageddon (Europe) (En,Fr,De,Es,It) + + + + Games + Pikmin (Europe) (En,Fr,De,Es,It) + + + + Games + No More Heroes 2 - Desperate Struggle (Europe) (En,Fr,De,Es,It) + + + + Applications + FreeLoader for Nintendo Wii (Europe) (Unl) + + + + Games + Super Mario Galaxy 2 (USA) (En,Fr,Es) + + + + Games + Mario Power Tennis (Europe) (En,Fr,De,Es,It) + + + + Games + Wii Fit (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Wii Fit Plus (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Band Hero (Europe) (En,Fr,De,Es,It) + + + + Games + Sonic Riders - Zero Gravity (Europe) (En,Fr,De,Es,It) + + + + Games + Rayman - Raving Rabbids - TV Party (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Super Mario Galaxy 2 (Europe) (En,Fr,De,Es,It) + + + + Games + America's Next Top Model (USA) + + + + Games + Prince of Persia - The Forgotten Sands (USA) (En,Fr,Es) (Rev 1) + + + + Games + Family GameShow (USA) + + + + Games + Monster Hunter Tri (USA) (En,Fr,Es) + + + + Games + MadWorld (USA) (En,Fr,Es) + + + + Games + Boy and His Blob, A (USA) + + + + Games + Sin and Punishment - Successor of the Skies (Europe) (En,Fr,De,Es,It) + + + + Games + MadWorld (Europe) (En,Fr,Es,It) + + + + Games + Disney The Princess and the Frog (USA) (En,Fr,Es) (Riverboat Jazz Edition) + + + + Games + Call of Duty 3 (Germany) + + + + Games + Medal of Honor - Vanguard (Europe) (En,Fr,De,Es,It) + + + + Games + Battalion Wars 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Thrillville - Off the Rails (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Endless Ocean - Blue World (USA) + + + + Games + Worms - A Space Oddity (USA) (En,Fr) + + + + Games + Cursed Mountain (UK) + + + + Games + Nitrobike (USA) (En,Fr,Es) + + + + Games + Rig Racer 2 (USA) + + + + Games + Monster Trux Offroad (USA) + + + + Games + Safecracker (USA) + + + + Games + Zack & Wiki - Quest for Barbaros' Treasure (USA) + + + + Games + Endless Ocean (USA) (En,Fr,Es) + + + + Games + Fire Emblem - Radiant Dawn (USA) (Rev 1) + + + + Games + Red Steel 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Silent Hill - Shattered Memories (Europe) (En,Fr,De,Es,It) + + + + Games + Wii Fit Plus (USA) (En,Fr,Es) + + + + Games + Dance Dance Revolution - Hottest Party 3 (USA) + + + + Games + Wii Play (USA) (Rev 1) + + + + Games + Wii Fit (USA) (En,Fr,Es) (Rev 1) + + + + Games + Metroid - Other M (USA) (En,Fr,Es) + + + + Games + Guitar Hero World Tour (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Prince of Persia - Rival Swords (Europe) (En,Fr,De,Es,It) + + + + Games + Metroid - Other M (Europe) (En,Fr,De,Es,It) + + + + Games + Gunblade NY & L.A. Machineguns Arcade Hits Pack (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Tournament of Legends (USA) + + + + Games + Spider-Man - Shattered Dimensions (USA) + + + + Games + Disney Guilty Party - Mystery Fun for Everyone! (USA) + + + + Games + Scene It Bright Lights! Big Screen! (Europe) + + + + Games + Pikmin 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Army Men - Soldiers of Misfortune (Europe) (En,Fr,De,Es,It) + + + + Games + EA Sports Active - Personal Trainer (USA) (En,Fr) + + + + Games + New Super Mario Bros. Wii (USA) (En,Fr,Es) (Rev 2) + + + + Games + Guitar Hero - Warriors of Rock (Europe) (En,Fr,De,Es,It) + + + + Games + Tetris Party Deluxe (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Boy and His Blob, A (UK) + + + + Games + Another Code R - A Journey into Lost Memories (Europe) (En,Fr,De,Es,It) + + + + Games + de Blob (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + LEGO Star Wars - The Complete Saga (USA) (En,Fr,Es) (Rev 1) + + + + Games + Hasbro Family Game Night Vol 2 (Europe) (En,Fr,De,Es,Nl) + + + + Games + King of Fighters Collection, The - The Orochi Saga (Europe) + + + + Games + Fragile Dreams - Farewell Ruins of the Moon (Europe) (En,Ja,Fr,De) + + + + Games + Final Fantasy Fables - Chocobo's Dungeon (Europe) (En,Fr) + + + + Games + Samba de Amigo (Europe) (En,Fr,De,Nl) + + + + Games + Samurai Shodown Anthology (Europe) + + + + Games + Guitar Hero III - Legends of Rock (USA) (Rev 1) + + + + Games + Rock Band (USA) + + + + Games + Rock Band - Track Pack Volume 1 (USA) + + + + Games + Wii Fit (USA) (En,Fr,Es) + + + + Games + Tales of Symphonia - Dawn of the New World (Europe) (En,Fr,De,Es,It) + + + + Games + Family Ski (Europe) (En,Fr,De,Es,It) + + + + Games + Final Fantasy Crystal Chronicles - The Crystal Bearers (Europe) (En,Fr,De,Es) + + + + Games + Final Fantasy Crystal Chronicles - Echoes of Time (Europe) (En,Fr,De,Es) + + + + Games + Wii Chess (Europe) (En,Fr,De,Es,It) + + + + Games + Big Beach Sports 2 (USA) + + + + Games + Garfield Show, The - Threat of the Space Lasagna (USA) + + + + Games + Rabbids Go Home (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Punch-Out!! (Europe) (En,Fr,De,Es,It) + + + + Games + Madden NFL 11 (USA) (Rev 1) + + + + Games + LEGO Harry Potter - Years 1-4 (USA) (En,Fr,Es) + + + + Games + NBA Jam (USA) + + + + Games + Sin & Punishment - Star Successor (USA) + + + + Games + Secret Files - Tunguska (USA) + + + + Games + Gold's Gym - Cardio Workout (USA) + + + + Games + Kirby's Epic Yarn (USA) (En,Fr,Es) + + + + Games + LEGO Indiana Jones - The Original Adventures (Europe) (En,Fr,De,Es,It,Da) + + + + Games + Star Wars - The Force Unleashed II (USA) (En,Fr,Es) + + + + Games + Rayman - Raving Rabbids 2 (USA) (En,Fr,Es) (Rev 1) + + + + Games + GoldenEye 007 (USA) (En,Fr) + + + + Games + Call of Duty 3 (UK) + + + + Games + Beatles, The - Rock Band (Europe) (En,Fr,De,Es,It) + + + + Games + Super Mario All-Stars (Europe, Australia) + + + + Games + Donkey Kong Country Returns (Europe) (En,Fr,De,Es,It) + + + + Games + Carnival Funfair Games (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Family Trainer (Europe) (En,Fr,De,Es,It) + + + + Games + Game Party (Europe) (En,Fr,De,Es,It) + + + + Games + Marbles! Balance Challenge (Europe) (En,Fr,De,Es,It) + + + + Games + RTL Winter Sports 2008 - The Ultimate Challenge (Germany) (En,De) + + + + Games + Sports Island 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Ultimate Board Game Collection (Europe) (En,Fr,De,Es,It) + + + + Games + We Love Golf! (Europe) (En,Fr,De,Es,It) + + + + Games + Wii Party (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Wonder World Amusement Park (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Wii Sports Resort (USA) (En,Fr,Es) (Rev 1) + + + + Games + Wii Sports + Wii Sports Resort (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + DJ Hero 2 (USA) (En,Fr) + + + + Games + Super Paper Mario (USA) (Rev 2) + + + + Games + Sonic Colors (USA) (En,Ja,Fr,De,Es,It) + + + + Games + Taiko no Tatsujin Wii (Japan) + + + + Games + Rock Band (Europe) (En,Fr,De,Es,It) + + + + Games + Rock Band - Song Pack 1 (Europe) (En,Fr,De,Es,It) + + + + Games + LEGO Rock Band (Europe) (En,Fr,De,Es,It,Da) + + + + Games + Green Day - Rock Band (Europe) (En,Fr,De,Es,It) + + + + Games + Kororinpa (Europe) (En,Fr,De,Es,It) + + + + Games + Guitar Hero - Van Halen (Europe) (En,Fr,De,Es,It) + + + + Games + Punch-Out!! (Europe, Australia) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Rayman - Raving Rabbids (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Guitar Hero - Warriors of Rock (USA) (En,Fr) + + + + Games + Rock Band 3 (USA) + + + + Games + Worms - A Space Oddity (Europe) (En,Fr,De,Es,It) + + + + Games + Babysitting Mama (USA) + + + + Games + EA Sports Active - NFL Training Camp (USA) + + + + Games + EA Sports Active 2 - Personal Trainer (USA) (En,Fr,Es) + + + + Games + Karaoke Revolution Glee (USA) (En,Fr,Es) + + + + Games + Top Shot Dinosaur Hunter (USA) + + + + Games + I Spy Spooky Mansion (USA) + + + + Games + Rune Factory - Frontier (Europe) (En,Fr,De) + + + + Games + Crash - Mind over Mutant (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Disney G-Force (Europe) (En,Fr,Es,Nl) + + + + Games + Indiana Jones and the Staff of Kings (Europe) (En,Fr,De,Es,It) + + + + Games + Job Island (Europe) (En,Fr,De,Es,It) + + + + Games + Prince of Persia - The Forgotten Sands (Europe) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + Rock Band - Song Pack 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Shaun White Snowboarding - Road Trip (Europe) (En,Fr,De,Es,It) + + + + Games + Winter Sports 2009 - The Next Challenge (Europe) (En,De) + + + + Games + Star Wars - The Force Unleashed (Europe) (En,Fr,De,Es,It) + + + + Games + Anno - Create a New World (Europe) (En,Fr,De,Es,It) + + + + Games + Mario & Sonic at the Olympic Winter Games (Europe) (En,Ja,Fr,De,Es,It,Nl,Ko) + + + + Games + Sonic Colours (Europe) (En,Ja,Fr,De,Es,It) + + + + Games + PES 2008 - Pro Evolution Soccer (Europe) (En,Fr,De,Es,It,Pt) + + + + Games + King of Clubs (Europe) (En,Fr,De,Es,It) + + + + Games + Winter Sports 2008 - The Ultimate Challenge (Europe) (En,Fr) + + + + Games + Mini Desktop Racing (UK) + + + + Games + Cranium Kabookii (Europe) (En,Fr,De,Es,It) + + + + Games + Disney-Pixar Toy Story Mania! (Europe) (En,Fr,De,It,Nl) + + + + Games + Table Football (Europe) (En,Fr,De,Es,It) + + + + Games + Alan Hansen's Sports Challenge (Europe) (En,Fr,De,Es,It) + + + + Games + AMF Bowling - Pinbusters! (Europe) (En,Fr,De,Es,It) + + + + Games + Telly Addicts (Europe) + + + + Games + Super Fruit Fall (Europe) + + + + Games + Ultimate I Spy (Europe) + + + + Games + Science Papa (Europe) (En,Fr,De,Es,It) + + + + Games + Mercury Meltdown Revolution (Europe) (En,Fr,De,Es,It) + + + + Games + Puzzler Collection (UK) + + + + Games + Big Beach Sports (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + More Game Party (Europe) (En,Fr,De,Es,It) + + + + Games + Petz Sports - Dog Playground (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Hasbro Family Game Night (Europe) (En,Fr,De,Es,Nl) + + + + Games + TV Show King Party (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Big Family Games (Europe) (En,Fr,De,Es,It) + + + + Games + North American Hunting Extravaganza 2 (USA) + + + + Games + ExerBeat (USA) (En,Fr,Es) + + + + Games + Tatsunoko vs. Capcom - Ultimate All-Stars (Europe) + + + + Games + Green Lantern - Rise of the Manhunters (USA) (En,Fr,Es,Pt) + + + + Games + Wii Play - Motion (USA) (En,Fr,Es) + + + + Games + Disney-Pixar Cars 2 (USA) (En,Fr,Es) + + + + Games + Sega Superstars Tennis (Europe) (En,Fr,De,Es,It) + + + + Games + Disney-Pixar Toy Story 3 (Europe) (En,Es) (Rev 2) + + + + Games + Mario Sports Mix (Europe) (En,Fr,De,Es,It) + + + + Games + Medal of Honor - Heroes 2 (Europe) + + + + Games + Need for Speed - Undercover (Europe) (En,Nl) + + + + Games + Eledees (Europe) (En,Fr,De,Es,It) + + + + Games + FIFA 08 (Europe) (En,Nl) + + + + Games + Guinness World Records - The Videogame (Europe) (En,Fr,De,Es,It) + + + + Games + Manhunt 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Monopoly (Europe) (En,Fr,De,Es,Nl,Sv,Fi) + + + + Games + Sonic and the Secret Rings (Europe) (En,Ja,Fr,De,Es,It) + + + + Games + Mystery Case Files - The Malgrave Incident (USA) + + + + Games + Outdoor Action Double Pack (USA) + + + + Games + Maximum Racing - Super Truck Racer (USA) (En,Fr,Es) + + + + Games + Line Rider Freestyle (Europe) (En,Fr,De,Es,It) + + + + Games + Gottlieb Pinball Classics (Europe) (En,Fr,De,Es,It) + + + + Games + New Super Mario Bros. Wii (Europe) (En,Fr,De,Es,It) (Rev 2) + + + + Games + Disney Epic Mickey (Europe) (En,Fr,Nl) + + + + Games + Kirby's Epic Yarn (Europe) (En,Fr,De,Es,It) + + + + Games + Rayman - Raving Rabbids 2 (Europe) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + Smurfs, The - Dance Party (USA) + + + + Games + Just Dance - Summer Party (USA) (En,Fr,Es) + + + + Games + Super Smash Bros. Brawl (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Disney Phineas and Ferb - Across the 2nd Dimension (USA) + + + + Games + Top Trumps Adventures (Europe) (En,Fr,De,Es,It) + + + + Games + Xenoblade Chronicles (Europe) (En,Fr,De,Es,It) + + + + Games + Dead Rising - Chop Till You Drop (Europe) (En,Fr,De,Es,It) + + + + Games + DJ Hero (Europe) (En,Fr,De,Es,It) + + + + Games + DJ Hero 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Naruto - Clash of Ninja Revolution - European Version (Europe) (En,Fr,De,Es,It) + + + + Games + ObsCure II (Europe) (En,Fr,De,Es,It) + + + + Games + Captain Rainbow (Japan) + + + + Games + Black Eyed Peas Experience, The (USA) (En,Fr,Es) (Limited Edition) + + + + Games + Back to the Future - The Game (USA) (En,Fr,De) + + + + Games + Cabela's Adventure Camp (USA) (En,Fr) + + + + Games + Cabela's Survival - Shadows of Katmai (USA) (En,Fr) + + + + Games + Disney Universe (USA) (En,Fr,Es) + + + + Games + Generator Rex - Agent of Providence (USA) (En,Fr) + + + + Games + Family Game Night 4 - The Game Show (USA) + + + + Games + Jerry Rice & Nitus' Dog Football (USA) + + + + Games + Just Dance Kids 2 (USA) (En,Fr,Es) + + + + Games + My Personal Golf Trainer with IMG Academies and David Leadbetter (USA) + + + + Games + NASCAR Unleashed (USA) + + + + Games + Price Is Right, The - Decades (USA) + + + + Games + DreamWorks Puss in Boots (USA) (En,Fr) + + + + Games + Trivial Pursuit - Bet You Know It (USA) (En,Fr) + + + + Games + Sesame Street - Ready, Set, Grover! The Videogame (Australia) + + + + Games + Deepak Chopra's Leela (USA) (En,Fr) + + + + Games + Nickelodeon Dance (USA) + + + + Games + Rayman Origins (USA) (En,Fr,Es) + + + + Games + Mario & Sonic at the London 2012 Olympic Games (USA) (En,Ja,Fr,Es) + + + + Games + Legend of Zelda, The - Skyward Sword (Europe) (En,Fr,De,Es,It) + + + + Demos + Legend of Zelda, The - Twilight Princess (USA) (Demo) + + + + Games + Legend of Zelda, The - Skyward Sword (USA) (En,Fr,Es) + + + + Games + Legend of Zelda, The - Twilight Princess (Korea) + + + + Games + Link's Crossbow Training (USA) (En,Fr,Es) + + + + Games + Linkui Sagyeok Training (Korea) + + + + Games + Legend of Zelda, The - Skyward Sword (Korea) + + + + Games + Aliens in the Attic (Europe) (En,Fr,De,Es,It) + + + + Games + Heavy Fire - Afghanistan (USA) + + + + Games + DreamWorks Super Star Kartz (USA) (En,Fr) + + + + Games + Cartoon Network - Punch Time Explosion XL (USA) + + + + Games + uDraw Studio - Instant Artist (USA) (En,Fr,Es) + + + + Games + Santa Claus Is Comin' to Town! (USA) + + + + Games + Tiger Woods PGA Tour 12 (USA) + + + + Games + Skylanders - Spyro's Adventure (USA) (En,Fr) + + + + Games + Nickelodeon Dora the Explorer - Dora Saves the Snow Princess (USA) (En,Fr) (Rev 1) + + + + Games + Chocobo no Fushigi na Dungeon - Toki-wasure no Meikyuu (Japan) + + + + Games + 428 - Fuusa Sareta Shibuya de (Japan) + + + + Games + Legend of Zelda, The - Skyward Sword (USA) (En,Fr,Es) (Rev 1) + + + + Games + Fushigi no Dungeon - Fuurai no Shiren 3 - Karakuri Yashiki no Nemuri-hime (Japan) + + + + Games + Another Code R - Kioku no Tobira (Japan) + + + + Games + Meitantei Conan - Tsuioku no Mirage (Japan) + + + + Games + Asterix at the Olympic Games (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Barrio Sesamo - Preparados Listos Coco! El Videojuego ~ Sesamstraat - Klaar Voor de Start, Grover! De Game (Europe) (Es,Nl) + + + + Games + Nickelodeon Dora the Explorer - Dora Saves the Snow Princess (USA) + + + + Games + Batman - The Brave and the Bold - The Videogame (USA) (En,Fr,Es) + + + + Games + Imabikisou Kaimei-hen (Japan) + + + + Games + Get Up and Dance (USA) (En,Fr,Es) + + + + Games + Wii Fit (Japan) (Rev 1) + + + + Games + Last Story, The (Europe) (En,Fr,De,Es,It) + + + + Games + Rayman Origins (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Major League Baseball 2K12 (USA) + + + + Games + Mario Party 9 (Europe) (En,Fr,De,Es,It) + + + + Games + Boom Street (Europe) (En,Fr,De,Es,It) + + + + Games + Last Story, The (Japan) + + + + Games + MadWorld (Japan) (En,Ja) + + + + Games + Super Mario Stadium - Family Baseball (Japan) + + + + Games + House of the Dead, The - Overkill (Japan) + + + + Games + Naruto Shippuuden - Gekitou Ninja Taisen! EX2 (Japan) + + + + Games + PokePark 2 - Beyond the World (Japan) + + + + Games + Bit.Trip Complete (Europe) + + + + Games + Super Mario Collection (Japan) + + + + Games + Biohazard - Umbrella Chronicles (Japan) (Rev 1) + + + + Games + Kage no Tou (Japan) + + + + Games + FlingSmash (USA) (En,Fr,Es) (Rev 1) + + + + Games + Biohazard 4 - Wii Edition (Japan) (Rev 1) + + + + Games + Puzzle Kingdoms (Europe) (En,Fr,De,Es,It) + + + + Games + Secret Files 2 - Puritas Cordis (Europe) (En,Fr,De,Es,It) + + + + Games + Williams Pinball Classics (Europe) (En,Fr,De,Es) + + + + Games + Naruto Shippuuden - Ryuu Jin-ki (Japan) + + + + Games + Metroid - Other M (USA) (En,Fr,Es) (Rev 1) + + + + Games + Keito no Kirby (Japan) + + + + Games + Pandora no Tou - Kimi no Moto e Kaeru made (Japan) + + + + Games + Tataite Hazumu - Super Smash Ball Plus (Japan) (Rev 2) + + + + Games + Dragon Quest X - Mezameshi Itsutsu no Shuzoku Online (Japan) (Disc 2) (Rev 3) + + + + Games + Dragon Quest X - Mezameshi Itsutsu no Shuzoku Online (Japan) (Disc 1) (Rev 3) + + + + Games + Namco Museum Remix (Europe) (En,Fr,De,Es,It) + + + + Games + Secret Files - Tunguska (Europe) (En,Fr,De,Es,It) + + + + Games + Rock Band 3 (Europe) (En,Fr,De,Es,It) + + + + Games + Bully - Scholarship Edition (Europe) (En,Fr,De,Es,It) + + + + Games + EA Playground (Europe) (En,Fr,De,Es,It) + + + + Games + Pac-Man Party (Japan) + + + + Games + Boogie (Europe) (En,Fr,De,Es,It,Nl,Pt) + + + + Games + PopStar Guitar (Europe) (En,Fr,De,Es,It) + + + + Games + Just Dance Wii (Japan) (Rev 1) + + + + Games + Wii Music (Europe) (En,Fr,De,Es,It) + + + + Games + Pro Golfer Saru (Japan) + + + + Games + Eyeshield 21 - Field Saikyou no Senshi-tachi (Japan) + + + + Games + Go Vacation (Japan) + + + + Games + GoldenEye 007 (Europe) (En,Fr,De,Es,It) + + + + Games + Tales of Symphonia - Ratatosk no Kishi (Japan) + + + + Games + PokePark Wii - Pikachu's Adventure (Europe) (En,Fr,De,Es,It) + + + + Games + Boom Blox Bash Party (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + SSX Blur (Japan) + + + + Games + Odoru Made in Wario (Japan) + + + + Games + Dragon Quest Swords - Kamen no Joou to Kagami no Tou (Japan) + + + + Games + SD Gundam - GGeneration World (Japan) + + + + Games + Hajimete no Wii (Japan) + + + + Games + Wii Sports (Japan) + + + + Games + Oboro Muramasa (Japan) + + + + Games + Sengoku Musou 3 (Japan) (Rev 1) + + + + Games + Monster Hunter 3 tri- (Japan) + + + + Games + Guitar Hero - Metallica (Europe) (En,Fr,De,Es,It) + + + + Games + FIFA 08 (Europe) (Es,It) + + + + Games + FIFA 09 - All-Play (Europe) (Es,It) + + + + Games + FIFA 10 (Europe) (Es,It) + + + + Games + 2010 FIFA World Cup South Africa (Europe) (En,Nl) + + + + Games + Call of Duty 3 (Europe) (Fr,Es,It) + + + + Games + Call of Duty - World at War (Europe) (Es,It) + + + + Games + Call of Duty - Black Ops (Spain) + + + + Games + Call of Duty - Modern Warfare - Reflex (Europe) (Es,It) + + + + Games + SimAnimals (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) + + + + Games + Padrino, El - El Chantaje (Spain) + + + + Games + Heatseeker (Europe) (Es,It) + + + + Games + Nickelodeon Bob Esponja - Atrapados en el Congelador (Spain) + + + + Games + 2010 FIFA World Cup South Africa (Europe) (Es,It) + + + + Games + New Super Mario Bros. Wii (Japan) (Rev 1) + + + + Games + Mario Party 9 (Japan) + + + + Games + Xenoblade (Japan) + + + + Games + Rabbids Party - TV Party (Japan) + + + + Games + Rabbids Party - Time Travel (Japan) + + + + Games + Naruto Shippuuden - Gekitou Ninja Taisen! EX (Japan) + + + + Games + One Piece - Unlimited Cruise - Episode 1 - Nami ni Yureru Hihou (Japan) (Rev 1) + + + + Games + Arc Rise Fantasia (USA) + + + + Games + Kirby's Return to Dream Land (USA) (En,Fr,Es) + + + + Games + Tales of Symphonia - Dawn of the New World (USA) + + + + Games + Donkey Kong Country Returns (USA) (En,Fr,Es) (Rev 1) + + + + Games + Mario Party 9 (USA, Asia) (En,Fr,Es) + + + + Games + Sonic & Sega All-Stars Racing (USA) (En,Fr,Es) + + + + Games + Xenoblade Chronicles (USA, Asia) (En,Fr,Es) + + + + Games + Rabbids Go Home (Japan) + + + + Games + Pikmin 2 (USA) (En,Fr,Es) + + + + Games + PokePark Wii - Pikachu's Adventure (USA) + + + + Games + PokePark 2 - Wonders Beyond (USA) + + + + Games + Wii Fit (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Call of Duty - World at War (Europe) (En,Fr) + + + + Games + Chronicles of Narnia, The - Prince Caspian (UK) + + + + Games + FIFA 09 - All-Play (Europe) (En,Nl) + + + + Games + Pangya! Golf with Style (Europe) (En,Fr,De,Es,It) + + + + Games + Tiger Woods PGA Tour 08 (Europe) (En,Fr) + + + + Games + Tiger Woods PGA Tour 09 - All-Play (Europe) + + + + Games + Last Story, The (USA) (En,Fr,Es) + + + + Games + Phantom Brave - We Meet Again (USA) + + + + Games + Sakura Wars - So Long, My Love (USA) + + + + Games + Dragon Ball - Revenge of King Piccolo (USA) + + + + Games + Final Fantasy Crystal Chronicles - The Crystal Bearers (USA) (En,Fr,Es) + + + + Games + Fortune Street (USA) + + + + Games + Rune Factory - Tides of Destiny (USA) + + + + Games + Super Robot Taisen Neo (Japan) + + + + Games + Skylanders - Giants (USA) (En,Fr) + + + + Games + Geometry Wars - Galaxies (USA) + + + + Games + LEGO Batman 2 - DC Super Heroes (USA) (En,Fr,Es,Pt) + + + + Games + Amazing Spider-Man, The (USA) (En,Fr,Es) + + + + Games + Just Dance 4 (USA) (En,Fr,Es) + + + + Games + Disney Wreck-It Ralph (USA) (En,Fr) + + + + Games + LEGO Star Wars III - The Clone Wars (USA) (En,Fr,Es) (Rev 1) + + + + Games + Super Mario All-Stars (USA) + + + + Games + Bit.Trip Complete (USA) + + + + Games + LEGO Star Wars - The Complete Saga (Europe) (En,Fr,De,Es,It,Da) + + + + Games + Caduceus - New Blood (Japan) + + + + Games + Kirby's Dream Collection - Special Edition (USA) + + + + Games + Karaoke Joysound Wii Super DX - Hitori de Minna de Utai Houdai! (Japan) + + + + Games + Lara Croft Tomb Raider - Anniversary (Europe) (En,Fr,De,Es,It) + + + + Games + Hajimete no Wii (Asia) + + + + Games + Wii Fit Plus (Asia) + + + + Games + Wii Sports Resort (Asia) + + + + Games + FIFA 13 (Europe) (De,Es,It) + + + + Games + PES 2013 - Pro Evolution Soccer (Europe) (Fr,De,El) + + + + Games + Soulcalibur Legends (Europe) (En,Fr,De,Es,It) + + + + Games + Raving Rabbids - Travel in Time (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Star Wars - The Force Unleashed II (Europe) (En,Fr,De,Es,It) + + + + Games + Dragon Quest Swords - The Masked Queen and the Tower of Mirrors (Europe) (En,Fr,De,Es,It) + + + + Games + Disney Epic Mickey (Europe) (De,Es,It) (Rev 1) + + + + Games + de Blob 2 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + LEGO The Lord of the Rings (Europe) (En,Fr,De,Es,It,Nl,Da) + + + + Games + LEGO Pirates of the Caribbean - The Video Game (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + LEGO Harry Potter - Years 1-4 (Europe) (En,Fr,De,Es,It,Da) + + + + Games + ExciteBots - Trick Racing (USA) + + + + Games + SD Gundam - Gashapon Wars (Japan) + + + + Games + Nickelodeon Go Diego Go! Great Dinosaur Rescue (USA) (En,Fr) (Rev 1) + + + + Games + Earth Seeker (Japan) + + + + Games + Hagane no Renkinjutsushi - Fullmetal Alchemist - Akatsuki no Ouji (Japan) + + + + Games + SD Gundam - GGeneration Wars (Japan) + + + + Games + Zelda no Densetsu - Skyward Sword (Japan) + + + + Games + Hoshi no Kirby - 20 Shuunen Special Collection (Japan) + + + + Games + Victorious Boxers Challenge (Europe) + + + + Games + Metal Slug Complete (Japan) + + + + Games + Mario Strikers Charged (Japan) + + + + Games + Ghostbusters - The Video Game (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + PES 2012 - Pro Evolution Soccer (Europe) (Fr,De,El) + + + + Games + Harry Potter and the Deathly Hallows - Part 1 (Europe) (En,Fr,De,Es,It) + + + + Games + Harry Potter and the Deathly Hallows - Part 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Project Zero 2 - Wii Edition (Europe) (En,Fr,De,Es,It) + + + + Games + Kirby's Adventure Wii (Europe) (En,Fr,De,Es,It) + + + + Games + Kore Gang, The (Europe) (En,Fr,De,Es) + + + + Games + Angry Birds Trilogy (USA) (En,Fr) + + + + Games + Just Dance 2014 (USA) (En,Fr,Es) + + + + Games + Nickelodeon Teenage Mutant Ninja Turtles (USA) (En,Fr) + + + + Games + Angry Birds Star Wars (USA) (En,Fr,Es,Pt) + + + + Games + Movie Studios Party (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Tony Hawk - Shred (Europe) (En,Fr,De,Es,It) + + + + Games + Deadly Creatures (Europe) (En,Fr,De,Es,It) + + + + Games + All Star Cheerleader 2 (Europe, Australia) + + + + Games + Karaoke Revolution Glee - Volume 3 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Naruto Shippuden - Clash of Ninja Revolution III (USA) + + + + Games + Order Up! (Europe) (En,Fr,De,Es,It) + + + + Games + Speed Racer - The Videogame (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + We Dare - Flirty Fun for All (Europe) (En,Fr,De,Es,It) + + + + Games + Spore Hero (Europe) (En,Fr,De,Es,It,Nl,Sv,Da) + + + + Games + Drawn to Life - The Next Chapter (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Just Dance 2 (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Ninjabread Man (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + LEGO Batman - The Videogame (Europe) (En,Fr,De,Es,It,Da) (Rev 1) + + + + Games + Knockout Party (Europe) (En,Fr,De,Es,It) + + + + Games + Michael Jackson - The Experience (Europe) (En,Fr,De,Es,It) (Special Edition) + + + + Games + Rugby League 3 (Europe) (En,Fr) + + + + Games + Bigs 2, The - Baseball (UK) + + + + Games + Cooking Party (Europe) (En,Fr,De,Es,It) + + + + Games + Grease - The Official Video Game (Europe) (En,Fr,De,Es,It) + + + + Games + de Blob 2 (USA) (En,Fr) + + + + Games + Disney Epic Mickey (USA) (En,Fr,Es) + + + + Games + Disney Epic Mickey 2 - The Power of Two (USA) (En,Fr,Es,Pt) + + + + Games + Conduit 2 (USA) (En,Fr,Es) + + + + Games + Fragile Dreams - Farewell Ruins of the Moon (USA) (En,Ja,Fr) + + + + Games + Simpson, Les - Le Jeu (France) + + + + Games + Tenchu - Shadow Assassins (Europe) (En,Fr,De,Es,It) + + + + Games + Ivy the Kiwi (USA) (En,Fr,Es) + + + + Games + Driver - San Francisco (USA) (En,Fr,Es) + + + + Games + Rango (Europe) (En,Fr,De,Es,It) + + + + Games + Sengoku Basara - Samurai Heroes (USA) (En,Fr,Es) + + + + Games + Mario Sports Mix (USA) (En,Fr,Es) + + + + Games + Final Fantasy Crystal Chronicles - Echoes of Time (USA) (En,Fr,Es) + + + + Games + Kore Gang, The - Outvasion from Inner Earth (USA) (En,Fr,Es) + + + + Games + Lord of the Rings, The - Aragorn's Quest (USA) (En,Fr,Es) (Rev 1) + + + + Games + Pandora's Tower (USA) (En,Fr,Es) + + + + Games + Lost in Shadow (USA) (En,Fr,Es) (Rev 1) + + + + Games + FIFA 13 (Europe) (En,Fr,Nl) + + + + Games + Michael Jackson - The Experience (USA) (En,Fr,Es) + + + + Games + Raving Rabbids - Travel in Time (USA) (En,Fr,Es) + + + + Games + Sky Crawlers, The - Innocent Aces (USA) (En,Fr,Es) + + + + Games + Red Steel 2 (USA) (En,Fr,Es) + + + + Games + Rune Factory - Frontier (USA) + + + + Games + Spore Hero (USA) (En,Fr,Es) + + + + Games + Rhythm Heaven Fever (USA) + + + + Games + Tetris Party Deluxe (USA) (En,Fr,Es) + + + + Games + Tom Clancy's Ghost Recon (USA) (En,Fr,Es) + + + + Games + Thor - God of Thunder (USA) (En,Fr,Es) + + + + Games + WWE All Stars (USA) (En,Fr,Es) + + + + Games + Transformers Prime - The Game (USA) (En,Fr) + + + + Games + Family Trainer - Extreme Challenge (Europe) (En,Fr,De,Es,It) + + + + Games + Transformers - Revenge of the Fallen (Europe) (En,Fr,De,Es,It) + + + + Games + Schlag den Raab (Germany) + + + + Games + Smarty Pants - Trivia Fun for Everyone! (Europe) (En,Fr,De,Es,It) + + + + Games + Wii Party (USA) (En,Fr,Es) + + + + Games + You Don't Know Jack (USA) + + + + Games + Trauma Team (USA) + + + + Games + Just Dance 3 (USA) (En,Fr,Es) + + + + Games + Worms - Battle Islands (USA) (En,Fr,Es) + + + + Games + Spyborgs (USA) (En,Fr,Es) + + + + Games + Just Dance - Greatest Hits (USA) (En,Fr,Es) + + + + Games + Raving Rabbids - Party Collection (USA) (En,Fr,Es) + + + + Games + Zero - Shinku no Chou (Japan) + + + + Games + Sonic World Adventure (Japan) + + + + Games + U-Sing (Europe) (En,Nl) (Rev 1) + + + + Games + PES 2009 - Pro Evolution Soccer (Europe) (En,Fr,De) + + + + Games + PES 2011 - Pro Evolution Soccer (Europe) (En,Nl,Sv,Ru,Tr) + + + + Games + PES 2010 - Pro Evolution Soccer (Europe) (En,Nl,Sv,Ru,El) + + + + Games + Guilty Gear XX Accent Core Plus (USA) + + + + Games + Donkey Kong Jungle Beat (USA) (En,Fr,Es) + + + + Games + Pokemon Battle Revolution (Japan) + + + + Games + Harvest Moon - Animal Parade (USA) + + + + Games + Harvest Moon - Tree of Tranquility (USA) (Rev 1) + + + + Games + Dragon Ball - Tenkaichi Daibouken (Japan) + + + + Games + Sonic to Ankoku no Kishi (Japan) (En,Ja,Fr,De,Es,It) + + + + Games + Tatsunoko vs. Capcom - Ultimate All-Stars (Japan) + + + + Games + Rabbids Party Returns (Japan) + + + + Games + Cheoeum Mannaneun Wii (Korea) + + + + Games + Legend of Zelda, The - Skyward Sword (USA) (En,Fr,Es) (Rev 2) + + + + Games + Tenchu 4 (Japan) + + + + Games + Super Paper Mario (Japan) + + + + Games + Donkey Kong Returns (Japan) + + + + Games + Balls of Fury (Europe) (En,Fr,De,Es,It) + + + + Games + Far Cry Vengeance (Europe) (En,Fr,De,Es,It) + + + + Games + Rockstar Games Presents Table Tennis (Europe) (En,Fr,De,Es,It) + + + + Games + Truth or Lies (Europe) (En,De) + + + + Games + Nickelodeon Avatar - The Legend of Aang - The Burning Earth (Europe) (En,Fr,De,Nl) + + + + Games + CID the Dummy (Europe) (En,Fr,De,Es,It) + + + + Games + Don King Boxing (Europe) (En,Fr,De,Es,It) + + + + Games + TNA Impact! Total Nonstop Action Wrestling (Europe) (En,Fr,De,Es,It) + + + + Games + Wii Sports + Wii Sports Resort (USA) (En,Fr,Es) + + + + Games + National Geographic - Challenge! (Europe) (En,Fr,De,Es,It) + + + + Games + Black Eyed Peas Experience, The (Europe) (En,Fr,De,Es,It) + + + + Games + Nickelodeon The Naked Brothers Band - The Video Game (Europe) + + + + Games + Captain Morgane and the Golden Turtle (Europe) (En,Fr,De,Es,It) + + + + Games + Legend of Zelda, The - Skyward Sword (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Harvest Moon - Tree of Tranquility (Europe) (En,Fr,De,Es,It) + + + + Games + Family Ski & Snowboard (Europe) (En,Fr,De,Es,It) + + + + Games + Harvest Moon - Animal Parade (Europe) (En,Fr,De,Es,It) + + + + Games + Just Dance 2015 (USA) (En,Fr,Es) + + + + Games + Beyblade - Metal Fusion - Counter Leone (Europe) (En,Ja,Fr,De,Es,It) + + + + Games + 2010 FIFA World Cup South Africa (Europe) (Fr,De) + + + + Games + Sonic and the Black Knight (Europe) (En,Ja,Fr,De,Es,It) + + + + Games + Dream Pinball 3D (Europe) (En,Fr,De,Es,It) + + + + Games + Nitrobike (Europe) (En,Fr,De,Es,It) + + + + Games + Driver - San Francisco (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Nickelodeon SpongeBob SquarePants - Boating Bash (Europe) (En,De) + + + + Games + Hot Wheels - Battle Force 5 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + WWE SmackDown vs. Raw 2010 (Europe) (En,Fr,De,Es,It) + + + + Games + Nickelodeon Avatar - The Last Airbender - The Burning Earth (USA) + + + + Games + Donkey Kong Country Returns (USA) (En,Fr,Es) + + + + Games + Star Trek - Conquest (USA) + + + + Games + Medal of Honor - Heroes 2 (USA) + + + + Games + Disney Hannah Montana - Spotlight World Tour (USA) + + + + Games + Dragon Ball Z - Budokai Tenkaichi 3 (Europe) (En,Fr,De,Es,It) + + + + Games + Sonic & Sega All-Stars Racing (Europe) (En,Fr,De,Es,It) + + + + Games + Rampage - Total Destruction (Europe) (En,Fr,De,Es,It) + + + + Games + Alien Syndrome (Europe) (En,Fr,De,Es,It) + + + + Games + Disney Sing It - High School Musical 3 - Senior Year (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Soul Eater - Monotone Princess (Japan) + + + + Games + Guilty Gear XX Accent Core (UK) + + + + Games + Castle of Shikigami III (USA) + + + + Games + LEGO Star Wars III - The Clone Wars (Europe, Australia) (En,Fr,De,Es,It,Da) (Rev 1) + + + + Games + Need for Speed - Nitro (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Just Dance - Disney Party (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi,Pl) + + + + Games + Ashes Cricket 2009 (UK) + + + + Games + Disney Hannah Montana - Spotlight World Tour (Europe) (En,De,Es) + + + + Games + Ant Bully, The (Europe) (En,Fr,De,Es,It) + + + + Games + My Word Coach (UK) + + + + Games + PDC World Championship Darts 2009 (Europe) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + Dokapon Kingdom (USA) + + + + Games + No More Heroes (Japan) + + + + Games + Caduceus Z - Futatsu no Chou Shittou (Japan) + + + + Games + Dance on Broadway (Europe) (En,Fr,De,Es,It) + + + + Games + Professor Heinz Wolff's Gravity (Europe) (En,Fr,De,Es,It) + + + + Games + WSC Real 08 - World Snooker Championship (Europe) + + + + Games + Counter Force (USA) + + + + Games + Gunblade NY & L.A. Machineguns Arcade Hits Pack (USA) (En,Fr,Es) + + + + Games + Monkey King, The - The Legend Begins (USA) (Rev 1) + + + + Games + Sports Party (Europe) + + + + Games + Suzumiya Haruhi no Gekidou (Japan) + + + + Bonus Discs + Hirano Aya Premium Movie Disc from Suzumiya Haruhi no Gekidou (Japan) + + + + Applications + Netflix (USA) (Rev 2) + + + + Applications + uDraw Studio (USA) (En,Fr,Es) + + + + Games + Machi e Ikou yo - Doubutsu no Mori (Japan) (Rev 1) + + + + Games + uDraw Studio - Instant Artist (Europe, Australia) (En,Fr,De,Es,It,Nl) + + + + Games + Wii Play - Motion (Europe) (En,Fr,De,Es,It) + + + + Games + Dance Dance Revolution - Winx Club (Europe) (En,Fr,De,Es,It) + + + + Games + Inazuma Eleven Strikers (Europe) (En,Es,It) + + + + Games + Skylanders - Swap Force (Europe) (Es,It) + + + + Games + Skylanders - Giants (Europe) (De,Es,It) + + + + Games + F1 2009 (Europe) (En,Fr,De,Es,It) + + + + Games + Jakers! Kart Racing (Europe) (En,Fr,De,Es,It,Sv,No,Da,Fi) + + + + Games + Rodea the Sky Soldier (USA) (En,Ja,Fr,De) + + + + Games + Disney Princess - Enchanting Storybooks (Europe, Australia) (En,Fr,De,Es,It,Nl) + + + + Games + Chicken Blaster (Europe) (En,Fr,De,Es,It) + + + + Games + My Fitness Coach - Dance Workout (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Baby and Me (Europe) (En,Fr,De,Es,It) + + + + Games + Tiger Woods PGA Tour 11 (Europe, Australia) + + + + Games + Legend of the Dragon (Europe) (En,Fr,De,Es,It) + + + + Games + Pictionary (Australia) + + + + Games + Just Dance 2016 (USA) (En,Fr,Es) + + + + Games + Your Shape (Europe) (En,Fr,De,Es,It) + + + + Games + Mind. Body. Soul. - Nutrition Matters (Europe) (En,Fr,De,Es,It) + + + + Games + Grand Slam Tennis (Europe) (En,Fr,De,Es,It) + + + + Games + My Spanish Coach - Improve Your Spanish (UK) + + + + Games + Safecracker (Europe) (En,Fr,De,Es,It) + + + + Games + WWE SmackDown vs. Raw 2009 (UK) + + + + Games + Donkey Kong Jungle Beat (Japan) + + + + Games + Metroid - Other M (Japan) (En,Ja) + + + + Games + Disney-Pixar WALL-E (Europe) + + + + Games + LEGO Harry Potter - Years 5-7 (Europe) (En,Fr,De,Es,It,Nl,Da) (Rev 1) + + + + Games + Diva Girls - Princess on Ice (Europe) (En,Fr,De,Es,It) + + + + Games + G1 Jockey Wii 2008 (UK) + + + + Games + DreamWorks Monsters vs. Aliens (Europe) (En,Fr,De,Es,It,Nl,Sv) + + + + Games + Endless Ocean (Europe) (En,Fr,De,Es,It) + + + + Games + We Sing Robbie Williams (Europe) (En,Fr,De,Es,It) + + + + Games + Shaun White Snowboarding - World Stage (UK) + + + + Games + Skylanders - Giants (Europe) (En,Fr,Nl) + + + + Games + Skylanders - Spyro's Adventure (Europe) (En,Fr,De,Es,It,Nl) (Rev 2) + + + + Games + Call of Duty - Black Ops (UK) + + + + Games + Action Girlz Racing (UK) + + + + Games + All Star Karate (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Emergency Heroes (Europe) (En,Fr,De,Es,It) + + + + Games + PES 2012 - Pro Evolution Soccer (Europe) (En,Sv,Da,Ru,Tr) + + + + Games + Tiger Woods PGA Tour 10 (Europe) + + + + Games + Tomb Raider - Underworld (Europe) (En,Fr,De,Es,It) + + + + Games + Tom Clancy's Splinter Cell - Double Agent (Europe) (En,Fr,De,Es,It) + + + + Games + Summer Athletics (Europe) (En,Fr,De,Es,It) + + + + Games + Ben 10 - Alien Force (Europe) (En,Fr,De,Es,It) + + + + Games + CSI - Crime Scene Investigation - Hard Evidence (Europe) (En,Fr,De,Es,It) + + + + Games + Hannah Montana - The Movie (UK) + + + + Games + Prince of Persia - The Forgotten Sands + 1989 (Europe) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + Donkey Kong Jungle Beat (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Disney Sing It - Party Hits (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Top Trumps - Doctor Who (UK) + + + + Games + Wild Earth - African Safari (Europe) (En,Fr,De,Es,It) + + + + Games + Inazuma Eleven Strikers 2012 Xtreme (Japan) + + + + Games + Inazuma Eleven Strikers (Japan) + + + + Games + All Star Cheerleader (Europe) (En,Fr,De,Es) + + + + Games + Heatseeker (Europe) (En,Fr) + + + + Games + Legend of the Guardians - The Owls of Ga'Hoole (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Mad Dog McCree - Gunslinger Pack (Europe) (En,Fr,De,Es,It) + + + + Games + SimAnimals - Africa (Japan) + + + + Games + Medal of Honor - Vanguard (UK) + + + + Games + Medieval Games (Europe) (En,Fr,De,Es,It) + + + + Games + WSC Real 09 - World Snooker Championship (UK) + + + + Games + Sega Bass Fishing (Europe) (En,Fr,De,Es,It) + + + + Games + Golden Compass, The (Europe) (En,Fr,De,Es,It) + + + + Games + EA Sports Active - Personal Trainer (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Disney Pirates of the Caribbean - At World's End (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Winter Stars (Europe) (En,Fr,De,Es,It) + + + + Games + Igor - The Game (Europe) (En,Fr,De,Es,It) + + + + Games + Star Wars - The Clone Wars - Lightsaber Duels (Europe) (En,Fr,De,Es,It) + + + + Games + Smiley World - Island Challenge (Europe) (En,Fr,De,Es,It) + + + + Games + PDC World Championship Darts 2008 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Secret Saturdays, The - Beasts of the 5th Sun (Europe) (En,Fr,De,Es,It) + + + + Games + Pandora's Tower (Europe) (En,Fr,De,Es,It) + + + + Games + Virtua Tennis 2009 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Marines - Modern Urban Combat (USA) + + + + Games + Boogie SuperStar (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Bratz - The Movie (Europe) (En,Fr) + + + + Games + Funfair Party (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Jumper - Griffin's Story (Europe) (En,Fr,De,Es,It) + + + + Games + Nerf N-Strike (Europe) (En,De,Es) + + + + Games + Nickelodeon SpongeBob SquarePants - Creature from the Krusty Krab (Europe) (En,Fr,De) + + + + Games + Rig Racer 2 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Rayman - Raving Rabbids - TV Party (Europe) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + Kidz Sports Basketball (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Kidz Sports Basketball (UK) + + + + Games + EA Sports Active 2 - Personal Trainer (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Transformers - Dark of the Moon - Stealth Force Edition (Europe) (En,Fr,De,Es,It) + + + + Games + My Fitness Coach - Cardio Workout (Europe) (En,Fr,De,Es,It) + + + + Games + Skate It (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + X Factor, The (Europe) (En,Fr,De,It,Nl) + + + + Games + Don Bluth Presents Dragon's Lair Trilogy (USA) + + + + Games + LEGO Star Wars III - The Clone Wars (USA) (En,Fr,Es) + + + + Games + Order Up! (UK) + + + + Games + Star Trek - Conquest (Europe) (En,De) + + + + Games + LEGO Harry Potter - Years 5-7 (USA) (En,Fr,Es,Pt) + + + + Games + LEGO Harry Potter - Years 5-7 (USA) (En,Fr,Es,Pt) (Rev 1) + + + + Games + Disney Pirates of the Caribbean - At World's End (USA) + + + + Games + LEGO Harry Potter - Years 1-4 (USA) (En,Fr,Es) (Rev 1) + + + + Games + LEGO Pirates of the Caribbean - The Video Game (USA) (En,Fr,Es) + + + + Games + LEGO The Lord of the Rings (USA) (En,Fr,Es,Pt) + + + + Games + Harry Potter and the Deathly Hallows - Part 1 (USA) (En,Fr,Es) + + + + Games + Harry Potter and the Deathly Hallows - Part 2 (USA) (En,Fr,Es) + + + + Games + Lara Croft Tomb Raider - Anniversary (USA) (En,Fr,Es) + + + + Games + Pitfall - The Big Adventure (USA) (En,Fr) + + + + Games + Skylanders - Trap Team (Europe) (Es,It) + + + + Games + Ben 10 - Alien Force - Vilgax Attacks (Europe) (En,Fr,De,Es,It) + + + + Games + World Sports Party (Australia) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + G1 Jockey Wii (UK) + + + + Games + AFL (Australia) + + + + Games + Just Dance 4 (Europe) (En,Fr,De,Es,It) + + + + Games + Fort Boyard - Le Jeu (France) + + + + Games + Baroque (UK) + + + + Games + Bust-A-Move (Europe) (En,Fr,De,Es,It) + + + + Games + Dokapon Kingdom (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Donkey Kong - Jet Race (Europe) (En,Fr,De,Es,It) + + + + Games + Ivy the Kiwi (Europe) (En,Fr,De,Es,It) + + + + Games + Yu-Gi-Oh! 5D's - Wheelie Breakers (Europe) (En,Fr,De,Es,It) + + + + Games + Zumba Fitness (Europe) (En,Fr,De,Es,It) + + + + Games + Animal Crossing - Let's Go to the City (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Guitar Hero 5 (Europe) (En,Fr,De,Es,It) + + + + Games + Madden NFL 08 (UK) + + + + Games + LEGO Indiana Jones 2 - The Adventure Continues (USA) (En,Fr,Es) (Rev 1) + + + + Games + Transformers - Dark of the Moon - Stealth Force Edition (USA) (En,Fr) + + + + Games + Transformers - Cybertron Adventures (USA) (En,Fr) + + + + Games + Milestone Shooting Collection - Karous Wii (Japan) + + + + Games + Namco Museum Remix (USA) + + + + Games + Pac-Man Party (USA) (En,Fr,Es) + + + + Games + Virtua Tennis 4 (Europe) (En,Fr,De,Es,It) + + + + Games + World Series of Poker - Tournament of Champions - 2007 Edition (USA) + + + + Games + Call of Duty - Modern Warfare - Reflex (Europe) (En,Fr) + + + + Games + Disney Epic Mickey (Scandinavia) (Sv,No,Da) + + + + Games + Rodea the Sky Soldier (Europe) (En,Ja,Fr,De) + + + + Games + Shadow's Tale, A (Europe) (En,Fr,De,Es,It) + + + + Games + SNK Arcade Classics Vol. 1 (Europe) + + + + Games + Wing Island (Europe) (En,Fr,De,Es,It) + + + + Games + Pitfall - The Big Adventure (Europe) (En,Fr,De,Es,It) + + + + Games + Milestone Shooting Collection 2 (Japan) + + + + Games + Iron Man (USA) (En,Fr,Es) (Rev 1) + + + + Games + Iron Man 2 (USA) (En,Fr,Es) + + + + Games + Ultimate Shooting Collection (USA) + + + + Games + Spider-Man - Edge of Time (USA) (En,Fr) + + + + Games + MIB - Alien Crisis (USA) (En,Fr) + + + + Games + Namco Museum Megamix (USA) + + + + Games + Disney Infinity (USA) (En,Fr,Es,Pt) + + + + Games + Squeeballs Party (USA) (En,Fr,Es) + + + + Games + ABC Wipeout - The Game (USA) + + + + Games + Brothers in Arms - Double Time (USA) (En,Fr,Es) (Disc 1) (Brothers in Arms - Road to Hill 30) + + + + Games + Brothers in Arms - Double Time (USA) (En,Fr,Es) (Disc 2) (Brothers in Arms - Earned in Blood) + + + + Games + Cabela's Monster Buck Hunter (USA) + + + + Games + Dance Dance Revolution - Hottest Party (USA) + + + + Games + Disney Club Penguin - Game Day! (USA) (En,Fr,Es) + + + + Games + Dragon Blade - Wrath of Fire (USA) + + + + Games + Dream Pinball 3D (USA) (En,Fr,Es) + + + + Games + Family Feud - Decades (USA) + + + + Games + Gallop & Ride! (USA) + + + + Games + Guilty Gear XX Accent Core (USA) + + + + Games + Just Dance 3 (USA) (En,Fr,Es) (Rev 1) + + + + Games + King of Clubs (USA) (En,Fr,Es) + + + + Games + Nerf N-Strike (USA) + + + + Games + Opoona (USA) + + + + Games + Pinball Hall of Fame - The Williams Collection (USA) + + + + Games + Press Your Luck - 2010 Edition (USA) + + + + Games + Rec Room Games (USA) + + + + Games + Sesame Street - Elmo's A-to-Zoo Adventure - The Videogame (USA) + + + + Games + Shiren the Wanderer (USA) + + + + Games + Ski-Doo Snowmobile Challenge (USA) (En,Fr) + + + + Games + Furu Furu Park (USA) + + + + Games + Lost in Blue - Shipwrecked (USA) (En,Fr,Es) + + + + Games + Samurai Shodown Anthology (USA) + + + + Games + SNK Arcade Classics Vol. 1 (USA) + + + + Games + Jillian Michaels Fitness Ultimatum 2010 (USA) (En,Es) + + + + Games + Hello Kitty Seasons (Europe) (En,Fr,De,Es,It) + + + + Games + Jinsei Game - Happy Family - Gotouchi Neta Zouryou Shiage (Japan) + + + + Games + Isometric & Karate Exercise - Wii de Kotsuban Fitness (Japan) + + + + Games + Disney Epic Mickey - Mickey Mouse to Mahou no Fude (Japan) + + + + Games + Silent Hill - Shattered Memories (Japan) + + + + Games + Boom Blox (Japan) + + + + Games + Disney-Pixar WALL-E (Japan) + + + + Games + F1 2009 (Japan) + + + + Games + Totsugeki!! Famicom Wars VS (Japan) + + + + Games + Disney Think - Haya Oshi Quiz (Japan) (Rev 1) + + + + Games + Sonic to Himitsu no Ring (Japan) + + + + Games + Samba de Amigo (Japan) + + + + Games + Blob - Colorful na Kibou (Japan) + + + + Games + Family Jockey (Japan) + + + + Games + Excite Truck (Japan) + + + + Games + Family Fishing (Japan) + + + + Games + Nickelodeon SpongeBob SquarePants (Japan) + + + + Games + Winning Post World 2010 (Japan) (Rev 1) + + + + Games + Super Monkey Ball Athletic (Japan) + + + + Demos + Dragon Quest X - Mezameshi Itsutsu no Shuzoku Online (Japan) (Beta Test-ban) (Rev 1) + + + + Games + WWE SmackDown vs. Raw 2008 (Japan) + + + + Games + Simple Wii Series Vol. 2 - The Minna de Bass Tsuri Taikai (Japan) + + + + Games + Hataraku Hito (Japan) + + + + Games + Mezase!! Tsuri Master - Sekai ni Challenge-hen (Japan) + + + + Games + Simple 2000 Series Wii Vol. 2 - The Party Game (Japan) + + + + Games + Simple Wii Series Vol. 6 - The Wai Wai Combat (Japan) + + + + Games + Punch-Out!! (Japan) (Rev 1) + + + + Games + Ivy the Kiwi (Japan) + + + + Games + Go! Go! Minon (Japan) + + + + Games + Guitar Hero III - Legends of Rock (Japan) + + + + Games + Minna no Joushiki Ryoku TV (Japan) + + + + Games + Uchi Tsuri! Sega Bass Fishing (Japan) + + + + Games + Puyo Puyo! Puyopuyo 15th Anniversary (Japan) (Rev 1) + + + + Games + Dragon Quest X - Nemureru Yuusha to Michibiki no Meiyuu Online (Japan) (Rev 1) + + + + Games + Dewy's Adventure - Suishou Dewy no Daibouken!! (Japan) + + + + Games + Let's Tap (Japan) + + + + Games + Crazy Climber Wii (Japan) + + + + Games + Deca Sporta 3 - Wii de Sports 10 Shumoku! (Japan) + + + + Games + Deca Sporta - Wii de Sports 10 Shumoku! (Japan) + + + + Games + Forever Blue (Japan) (Rev 1) + + + + Games + Radirgy Noa Wii (Japan) + + + + Games + Family Trainer (Japan) + + + + Games + Walt Disney Pictures Presents Lewis to Mirai Dorobou - Wilbur no Kiken na Jikan Ryokou (Japan) + + + + Games + Wii Party (Japan) + + + + Games + Sharuui Takoron (Japan) + + + + Games + Furu Furu Park (Japan) + + + + Games + Takumi Restaurant wa Daihanjou! (Japan) + + + + Games + Yu-Gi-Oh! 5D's - Duel Transer (Japan) (Rev 1) + + + + Games + GT Pro Series (Japan) + + + + Games + Metal Fight Beyblade - Gachinko Stadium (Japan) + + + + Games + Bleach - Versus Crusade (Japan) + + + + Games + Karaoke Joysound Wii DX (Japan) + + + + Games + Taiko no Tatsujin Wii - Dodoon to 2-daime! (Japan) + + + + Games + Simple Wii Series Vol. 4 - The Shooting Action (Japan) + + + + Games + Puyo Puyo 7 (Japan) + + + + Games + Shin Chuuka Taisen - Michael to Meimei no Bouken (Japan) + + + + Games + Tiger Woods PGA Tour 08 (Japan) + + + + Games + Sengoku Musou - Katana (Japan) + + + + Games + Playground - Kouen de Asobou! (Japan) + + + + Educational + Zaidan Houjin Nihon Kanji Nouryoku Kentei Kyoukai Koushiki Soft - 250 Mannin no Kanken - Wii de Tokoton Kanji Nou (Japan) + + + + Games + Haneru no Tobira Wii - Giri Girissu (Japan) + + + + Games + Wanko to Mahou no Boushi (Japan) + + + + Games + Osouji Sentai Clean Keeper (Japan) + + + + Games + PokePark Wii - Pikachu no Daibouken (Japan) + + + + Games + Wii Music (Japan) + + + + Games + Kaze no Klonoa - Door to Phantomile (Japan) + + + + Games + Crayon Shin-chan - Saikyou Kazoku Kasukabe King Wii (Japan) + + + + Games + Kororinpa (Japan) (Rev 1) + + + + Games + Tamagotchi no Pika Pika Daitouryou! (Japan) + + + + Games + Katekyoo Hitman Reborn! Kindan no Yami no Delta (Japan) + + + + Games + Ennichi no Tatsujin (Japan) + + + + Games + Akko de Pon! Ikasama Hourou-ki (Japan) + + + + Games + Katekyoo Hitman Reborn! Dream Hyper Battle! Wii (Japan) + + + + Games + One Piece - Unlimited Cruise - Episode 2 - Mezameru Yuusha (Japan) (Rev 1) + + + + Games + Monster 4x4 - World Circuit (Japan) + + + + Games + Jikkyou Powerful Major League 2 Wii (Japan) + + + + Games + Rabbids Party (Japan) + + + + Games + Boku to Sim no Machi (Japan) + + + + Games + Bass Fishing Wii - World Tournament (Japan) + + + + Games + Sengoku Basara 3 (Japan) + + + + Games + Kamen Rider - Climax Heroes OOO (Japan) + + + + Games + Michael Jackson - The Experience (Japan) + + + + Games + Disney Epic Mickey 2 - Futatsu no Chikara (Japan) + + + + Games + Taiko no Tatsujin Wii - Minna de Party 3-daime! (Japan) + + + + Games + Wii de Yawaraka Atama Juku (Japan) + + + + Games + Wing Island (Japan) + + + + Games + SD Gundam - Scad Hammers (Japan) + + + + Games + Swing Golf Pangya (Japan) + + + + Games + Necro-Nesia (Japan) + + + + Games + Kekkaishi - Kokubourou no Kage (Japan) + + + + Games + Elebits (Japan) + + + + Games + Red Steel (Japan) + + + + Games + Disaster - Day of Crisis (Japan) + + + + Games + Red Steel 2 (Japan) + + + + Demos + Minna de Bouken! Family Trainer (Japan) (Taikenban) + + + + Games + NiGHTS - Hoshi Furu Yoru no Monogatari (Japan) + + + + Games + Family Trainer 2 (Japan) + + + + Games + Harukanaru Toki no Naka de 4 (Japan) + + + + Games + Jigsaw Puzzle - Kyou no Wanko (Japan) + + + + Games + Toushinden (Japan) (Rev 1) + + + + Games + Boku to Sim no Machi Kingdom (Japan) + + + + Demos + 428 - Fuusa Sareta Shibuya de (Japan) (Taikenban) + + + + Games + Dragon Quest X - All in One Package (Japan) (Disc 1) + + + + Games + Dragon Quest X - All in One Package (Japan) (Disc 2) + + + + Games + FIFA 09 - All-Play (Japan) + + + + Demos + Sonic to Himitsu no Ring (Japan) (Taikenban) + + + + Games + Winning Eleven Play Maker 2012 (Japan) + + + + Games + Monster Hunter G (Japan) + + + + Demos + Monster Hunter 3 tri- (Japan) (Taikenban) + + + + Games + Phantom Brave Wii (Japan) + + + + Games + Bleach Wii - Hakujin Kirameku Rondo (Japan) + + + + Games + And-Kensaku (Japan) + + + + Games + Negima! Neo-Pactio Fight!! (Japan) + + + + Games + Takt of Magic (Japan) + + + + Games + Family Ski (Japan) + + + + Games + Valhalla Knights - Eldar Saga (Japan) (Rev 1) + + + + Games + Winning Eleven Play Maker 2008 (Japan) + + + + Games + Wii Sports Resort (Japan) (Rev 1) + + + + Games + Pop'n Music (Japan) + + + + Games + Nodame Cantabile - Dream Orchestra (Japan) + + + + Games + Takarajima Z - Barbaros no Hihou (Japan) + + + + Games + We Love Golf! (Japan) + + + + Games + Meja-Maji March (Japan) + + + + Games + Tales of Graces (Japan) (Rev 2) + + + + Games + EA Sports Active - Personal Trainer Wii - 30-nichi Seikatsu Kaizen Program (Japan) + + + + Games + Guilty Gear XX Accent Core (Japan) + + + + Games + GI Jockey Wii (Japan) + + + + Games + Gintama - Yorozuya Chuubu - Tsukkomable Douga (Japan) + + + + Games + Family Challenge Wii (Japan) + + + + Games + Super Monkey Ball - Uki Uki Party Daishuugou (Japan) + + + + Games + Miburi & Teburi (Japan) + + + + Games + Simple Wii Series Vol. 1 - The Minna de Kart Race (Japan) + + + + Games + Winning Eleven Play Maker 2009 (Japan) + + + + Games + Doala de Wii (Japan) + + + + Games + Cooking Mama - Minna to Issho ni Oryouri Taikai! (Japan) + + + + Games + Wii Fit Plus (Japan) + + + + Games + Gegege no Kitarou - Youkai Daiundoukai (Japan) (Rev 1) + + + + Games + One Piece - Unlimited Adventure (Japan) + + + + Games + Tamagotchi no Furi Furi Kagekidan! (Japan) + + + + Games + Simple Wii Series Vol. 5 - The Block Kuzushi (Japan) + + + + Games + International Athletics (Europe) (En,Fr,De,Es,It) + + + + Games + Biggest Loser, The (UK) + + + + Games + Hell's Kitchen - The Game (Europe) (En,Fr,De,Es,It) + + + + Games + Just Dance 2017 (USA) (En,Fr,Es) + + + + Games + Cosmic Family (USA) (En,Fr,Es) (Rev 1) + + + + Games + Disney Princess - Enchanted Journey (USA) + + + + Games + Nickelodeon Dora the Explorer - Dora Saves the Crystal Kingdom (USA) (En,Fr) (Rev 1) + + + + Games + Disney Princess - My Fairytale Adventure (USA) (En,Fr,Es) + + + + Games + Nickelodeon Dora's Big Birthday Adventure (USA) + + + + Games + Just Dance - Disney Party (USA) (En,Fr,Es) + + + + Games + Just Dance Kids 2014 (USA) (En,Fr,Es) + + + + Games + Pirates - Hunt for Blackbeard's Booty (USA) (En,Fr,Es) + + + + Games + Pirates PlundArrr (USA) + + + + Games + Tom Clancy's H.A.W.X. 2 (USA) (En,Fr,Es) + + + + Games + Rogue Trooper - Quartz Zone Massacre (USA) (En,Fr,Es) + + + + Games + Sid Meier's Pirates! (USA) (En,Fr,Es) + + + + Games + Disney Alice in Wonderland (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Nickelodeon Ni Hao, Kai-Lan - Super Game Day (USA) + + + + Educational + Reader Rabbit - 1st Grade (USA) (En,Fr,Es) + + + + Games + Sesame Street - Cookie's Counting Carnival - The Videogame (USA) + + + + Games + Sesame Street - Ready, Set, Grover! with Elmo - The Videogame (USA) (En,Es) + + + + Games + Just Dance Kids (USA) (En,Fr,Es) + + + + Games + Neopets - Puzzle Adventure (USA) (Rev 1) + + + + Games + Billy the Wizard - Rocket Broomstick Racing (USA) + + + + Games + Kidz Sports Crazy Golf (USA) + + + + Games + Margot's Word Brain (USA) (En,Fr,Es) + + + + Games + Build-A-Bear Workshop - A Friend Fur All Seasons (USA) (En,Fr,Es) + + + + Games + Dave Mirra BMX Challenge (USA) + + + + Games + Smurfs 2, The (USA) (En,Fr,Es) + + + + Games + ZhuZhu Pets - Featuring the Wild Bunch (USA) (En,Fr,Es) + + + + Games + Attack of the Movies 3-D (USA) + + + + Games + Little League World Series Baseball - Double Play (USA) + + + + Games + Adventures of Tintin, The - The Game (USA) (En,Fr,Es,Pt) + + + + Games + Battleship (USA) (En,Fr) + + + + Games + Call of Duty - Black Ops (USA) + + + + Games + Call of Duty - Modern Warfare 3 (USA) + + + + Games + Captain America - Super Soldier (USA) (En,Fr,Es) + + + + Games + Despicable Me - The Game (USA) (En,Fr,Es) + + + + Games + DreamWorks Megamind - Mega Team Unite (USA) (En,Fr) + + + + Games + Jumper - Griffin's Story (USA) (En,Fr) + + + + Games + Marvel Super Hero Squad - Comic Combat (USA) (En,Fr) + + + + Games + Marvel Super Hero Squad - The Infinity Gauntlet (USA) (En,Fr) + + + + Games + ABBA - You Can Dance (USA) (En,Fr,Es) + + + + Games + Disney Planes (USA) (En,Fr,Es,Pt) + + + + Games + Cabela's African Adventures (USA) + + + + Games + Barbie & Her Sisters - Puppy Rescue (USA) (En,Fr,Es,Pt) + + + + Games + DreamWorks Turbo - Super Stunt Squad (USA) (En,Fr,Es) + + + + Games + DreamWorks Rise of the Guardians (USA) (En,Fr,Es) + + + + Games + JumpStart Escape from Adventure Island (USA) + + + + Games + Harry Potter and the Order of the Phoenix (UK) + + + + Games + Showtime Championship Boxing (Europe) (En,Fr,De,Es,It) + + + + Games + Ultimate Band (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + We Sing Rock! (Europe) (En,Fr,De,Es,It) + + + + Games + Horrible Histories - Ruthless Romans (Europe) (En,Fr,De,Es,It) + + + + Games + Monster High - New Ghoul in School (USA) (En,Fr,Es,Pt) + + + + Games + My Horse & Me (USA) (En,Fr,Es) + + + + Games + Nickelodeon Victorious - Taking the Lead (USA) (En,Fr,Es) + + + + Games + Ben 10 - Omniverse (USA) (En,Fr,Es) + + + + Educational + Reader Rabbit - 2nd Grade (USA) (En,Fr,Es) + + + + Educational + Reader Rabbit - Kindergarten (USA) (En,Fr,Es) + + + + Educational + Reader Rabbit - Preschool (USA) (En,Fr,Es) + + + + Games + Happy Feet Two (USA) (En,Fr,Es) + + + + Games + Nickelodeon Avatar - The Legend of Aang (Europe) (En,Fr,De,Nl) (Rev 1) + + + + Games + Disney Planes - Fire & Rescue (Europe) (En,Fr,De,Es,It) + + + + Games + My Word Coach - Verbeter Je Woordenschat (Netherlands) + + + + Games + Sea Monsters - A Prehistoric Adventure (USA) + + + + Games + ABC Wipeout 3 (USA) + + + + Games + Last Airbender, The (USA) (En,Fr) + + + + Games + Gunslingers (USA) (En,Fr,Es) (Rev 1) + + + + Games + ABC Wipeout 2 (USA) + + + + Games + Bratz Kidz - Party (Europe) (En,Fr,De,Es,It,Sv,No,Da) + + + + Games + Princess Isabella - A Witch's Curse (Europe) (En,Fr,De,Nl) + + + + Games + Ferrari Challenge - Trofeo Pirelli (Europe) (En,Fr,De,Es,It) + + + + Games + Rally Racer (Europe) (En,Fr,De,Es,It) + + + + Games + Dokapon Kingdom for Wii (Japan) + + + + Games + Winning Eleven Play Maker 2010 (Japan) + + + + Games + Babysitter Mama (Japan) + + + + Games + Puzzle Series Vol. 1 - Sudoku (Japan) + + + + Games + Hajime no Ippo Revolution (Japan) + + + + Games + Final Fantasy Crystal Chronicles - Echoes of Time (Japan) + + + + Games + Disney Pirates of the Caribbean - At World's End (Japan) + + + + Games + Speed Racer (Japan) + + + + Games + Argos no Senshi - Muscle Impact (Japan) + + + + Games + Dragon Quest - Monster Battle Road Victory (Japan) + + + + Games + Aquarius Baseball - Genkai no, Sono Saki e. (Japan) + + + + Games + World of Golden Eggs, The - Nori Nori Rhythm-kei - Nissan Note Original Version (Japan) + + + + Games + Final Fantasy Crystal Chronicles - The Crystal Bearers (Japan) + + + + Games + Barbie as the Island Princess (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Cocoto Magic Circus (Europe) (En,Fr,De,Es,It) + + + + Games + FIFA 11 (Europe) (En,Fr,Nl) + + + + Games + North American Hunting Extravaganza (UK) + + + + Games + Rio (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Dancing with the Stars (USA) + + + + Games + Let's Dance (USA) + + + + Games + Fun Park Party (Europe) (En,Fr,De,Es,It) + + + + Games + Playmobil Circus (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Legend of Spyro, The - Dawn of the Dragon (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Disney-Pixar Ratatouille (UK) + + + + Games + Babysitting Party (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Just Dance 3 (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Just Dance 2014 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Luxor - Pharaoh's Challenge (Europe) (En,Fr,De,Es,It) + + + + Games + Marines - Modern Urban Combat (Europe) (En,Fr,De) + + + + Games + Karaoke Joysound Wii (Japan) + + + + Games + Excite Mou Machine (Japan) + + + + Games + Party Game Box 100 (Japan) + + + + Games + Kamen Rider - Climax Heroes Fourze (Japan) + + + + Games + Naruto Shippuuden - Gekitou Ninja Taisen! EX3 (Japan) + + + + Games + Ousama Monogatari (Japan) + + + + Games + No More Heroes 2 - Desperate Struggle (Japan) + + + + Games + Tales of Graces (Japan) + + + + Games + Major Dream - Major Wii - Nagero! Gyroball!! (Japan) + + + + Games + FIFA 08 - World Class Soccer (Japan) + + + + Games + Barbie Horse Adventures - Riding Camp (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + MySims (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + MySims SkyHeroes (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Planet 51 - The Game (Europe) (En,Fr,De,Es,It) + + + + Games + My Pet World (Europe) (En,Es,Nl) + + + + Games + Monster Trux Offroad (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Dogz (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + MySims Kingdom (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,Fi,Pl,Cs,Hu) + + + + Games + Wheelspin (Europe) (En,Fr,De,Es,It) + + + + Games + Need for Speed - ProStreet (Europe) (En,Nl) + + + + Games + Disney-Pixar WALL-E (Europe) (Fr,Nl) (Rev 1) + + + + Games + Mario & Sonic at Vancouver Olympic (Japan) (Rev 1) + + + + Games + Doubutsu Kisoutengai! Nazo no Rakuen de Scoop Shashin o Gekisha Seyo! (Japan) + + + + Games + NHK Kouhaku Quiz Gassen (Japan) + + + + Games + Tokyo Friend Park II - Ketteiban - Minna de Chousen! Taikan Attraction! (Japan) + + + + Games + Yatterman Wii - Bikkuri Dokkiri Machine de Mou Race da Koron (Japan) + + + + Games + Illvelo Wii (Japan) + + + + Games + Ougon no Kizuna (Japan) + + + + Games + Wii Remocon Plus - Variety (Japan) (Rev 1) + + + + Games + Kidou Senshi Gundam - MS Sensen 0079 (Japan) + + + + Games + Blazing Angels - Squadrons of WWII (Europe) (En,Fr,De,Es,It) + + + + Games + Disney's Chicken Little - Ace in Action (Europe) (En,Fr,De,Es,It) + + + + Games + Cruis'n (Europe) (En,Fr,De,Es,It) + + + + Games + Nickelodeon Dora the Explorer - Dora Saves the Crystal Kingdom (Europe) (En,Fr,Nl) + + + + Games + Top Spin 3 (Europe) (En,Fr,De,Es,It) + + + + Games + Birthday Party Bash (USA) (En,Fr,Es) (Rev 1) + + + + Games + Skate City Heroes (USA) + + + + Games + Jenga World Tour (USA) (En,Fr,De,Es,It) + + + + Games + Build'n Race (USA) (En,Fr,Es) + + + + Games + Looney Tunes - Acme Arsenal (USA) + + + + Games + Madden NFL 07 (USA) + + + + Games + Hot Wheels - Battle Force 5 (USA) + + + + Games + Backyard Sports - Sandlot Sluggers (USA) + + + + Games + Just Dance 2 (USA) (En,Fr,Es) + + + + Games + Nickelodeon SpongeBob SquigglePants (USA) (En,Fr,Es) + + + + Games + FIFA 15 - Legacy Edition (Europe) (En,Fr,Nl) + + + + Games + Open Season (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi) + + + + Games + Summer Sports Party (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Skylanders - Swap Force (Europe) (Fr,Nl) + + + + Games + World Championship Sports (Europe) (En,Fr,De,Es,It) + + + + Games + Big Beach Sports 2 (Europe, Australia) (En,Fr,De,Es,It,Nl) + + + + Games + Family Party - 90 Great Games Party Pack (Europe) (En,Fr,De,Es,It) + + + + Games + Marvel Super Hero Squad - The Infinity Gauntlet (Europe) (En,Fr,De,Es,It) + + + + Games + Monster High - Ghoul Spirit (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Chicken Riot (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Oha Suta Produce! Gentei Collabo Game Disc!! (Japan) + + + + Games + We Cheer (Japan) + + + + Games + Swing Golf Pangya 2nd Shot! (Japan) + + + + Games + Akumajou Dracula Judgment (Japan) + + + + Games + Dragon Blade (Japan) (Rev 1) + + + + Games + FaceBreaker K.O. Party (Japan) + + + + Games + Anime Slot Revolution - Pachi-Slot Kidou Senshi Gundam II - Ai Senshi-hen (Japan) + + + + Games + Ghost Squad (Japan) + + + + Games + Need for Speed - Carbon (Japan) + + + + Games + Winter Sports 2009 - The Next Challenge (Japan) + + + + Games + EA Sports Active - Personal Trainer Wii - 6-shuukan Shuuchuu Hikishime Program (Japan) + + + + Games + Boku to Sim no Machi Agent - Gokuaku Shachou kara Sekai o Sukue Daisakusen! (Japan) + + + + Games + Kiki Trick (Japan) (Rev 1) + + + + Games + Kamen Rider - Climax Heroes W (Japan) + + + + Games + Boku to Sim no Machi Party (Japan) + + + + Games + Puzzle Series Vol. 2 - Illust Logic + Colorful Logic (Japan) (Rev 1) + + + + Games + Family Ski - World Ski & Snowboard (Japan) + + + + Games + Winning Eleven Play Maker 2011 (Japan) + + + + Games + Hagane no Renkinjutsushi - Fullmetal Alchemist - Tasogare no Shoujo (Japan) + + + + Games + Super Mario Galaxy 2 (Japan) + + + + Games + Endless Ocean 2 - Adventures of the Deep (Europe) (En,Fr,De,Es,It) + + + + Games + Resident Evil 4 - Wii Edition (Germany) (En,Fr,De,Es,It) + + + + Games + Chrysler Classic Racing (USA) (En,Fr,De,Es,It) + + + + Games + Story Hour - Fairy Tales (USA) (En,Fr,Es) + + + + Games + Petz - Dogz 2 (USA) (En,Fr,Es) + + + + Games + Monkey Mischief! Party Time (USA) (En,Fr) + + + + Games + Petz Sports (USA) (En,Fr,Es) + + + + Games + Jillian Michaels' Fitness Ultimatum 2009 (USA) + + + + Games + Monster Jam - Urban Assault (USA) (En,Fr) + + + + Games + Vertigo (USA) (En,Fr,Es) + + + + Games + Just Dance (USA) (En,Fr,Es) + + + + Games + Balls of Fury (USA) + + + + Games + Daikaijuu Battle - Ultra Coliseum (Japan) + + + + Games + Deca Sporta 2 - Wii de Sports 10 Shumoku! (Japan) + + + + Games + Disney-Pixar Remy no Oishii Restaurant (Japan) + + + + Games + DreamWorks Kung Fu Panda (Japan) + + + + Games + Guitar Hero - Aerosmith (Japan) + + + + Games + Mario & Sonic at Bejing Olympic (Japan) + + + + Games + Mario Sports Mix (Japan) + + + + Games + Rainbow Pop (Japan) + + + + Games + Sengoku Musou 3 - Moushouden (Japan) + + + + Games + Tsumi to Batsu - Sora no Koukeisha (Japan) + + + + Educational + Zaidan Houjin Nihon Kanji Nouryoku Kentei Kyoukai Kounin - Kanken Wii - Kanji-ou Ketteisen (Japan) + + + + Games + Sengoku Basara 2 - Heroes - Double Pack (Japan) (Sengoku Basara 2) + + + + Games + Sengoku Basara 2 - Heroes - Double Pack (Japan) (Sengoku Basara 2 - Heroes) + + + + Games + Kaseki Monster - Spectrobes (Japan) + + + + Games + Winning Post World (Japan) + + + + Games + Nyanko to Mahou no Boushi (Japan) + + + + Games + Jikkyou Powerful Major League 3 (Japan) + + + + Games + Twinkle Queen (Japan) + + + + Games + Sengoku Basara 3 - Utage (Japan) + + + + Games + Oneechanbara Revolution (Japan) + + + + Games + Mini Desktop Racing (USA) + + + + Games + Tiger Woods PGA Tour 11 (USA) + + + + Demos + Takarajima Z - Barbaros no Hihou (Japan) (Taikenban) + + + + Games + Winning Post 7 Maximum 2008 (Japan) + + + + Games + Momjjang Diet Wii - Figurobics by Jung Da-yeon (Japan) + + + + Games + 2010 FIFA World Cup - Minami Africa Taikai (Japan) + + + + Games + SimCity Creator (Japan) + + + + Games + Baroque for Wii (Japan) (Rev 1) + + + + Games + Need for Speed - Nitro (Japan) + + + + Games + Medal of Honor - Heroes 2 (Japan) + + + + Games + Dead Space - Extraction (Japan) + + + + Educational + Reader Rabbit - Preschool (Scandinavia) (Sv,No,Da,Fi) + + + + Games + Smurfs, The - Dance Party (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Rock Band 2 (Europe) (En,Fr,De,Es,It) + + + + Games + We Cheer 2 (USA) + + + + Games + Backyard Baseball '09 (USA) + + + + Games + History Channel, The - Battle for the Pacific (USA) + + + + Games + North American Hunting Extravaganza (USA) + + + + Games + Bass Pro Shops - The Hunt (USA) + + + + Games + Rebel Raiders - Operation Nighthawk (USA) (En,Fr,Es) + + + + Games + Create (USA) (En,Es) + + + + Games + Satisfashion - Rock the Runway (USA) + + + + Games + Ben 10 - Omniverse 2 (USA) (En,Fr,Es) + + + + Games + Metroid - Other M (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + One Piece - Unlimited Cruise 1 - The Treasure Beneath the Waves (Europe) (En,Fr,De,Es,It) + + + + Games + WWE '13 (Europe) (En,Fr,De,Es,It) + + + + Games + Skylanders - SuperChargers Racing (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi) + + + + Games + Skylanders - Spyro's Adventure (Europe) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + Star Wars - The Clone Wars - Republic Heroes (Europe) (En,Fr,De,Es,It) + + + + Games + LEGO Star Wars - The Complete Saga (Europe) (En,Fr,De,Es,It,Da) (Rev 1) + + + + Games + LEGO Star Wars III - The Clone Wars (Europe) (En,Fr,De,Es,It,Da) + + + + Games + Need for Speed - Carbon (Germany) + + + + Games + Escape from Bug Island (Europe) (En,Ja,Fr,De,Es,It) + + + + Games + Voz Vol. 2, La (Spain) (En,Es) + + + + Games + We Sing UK Hits (USA) (En,Fr,Es) + + + + Games + Cooking Mama 2 - Taihen!! Mama wa Ooisogashi! (Japan) + + + + Games + Bokujou Monogatari - Yasuragi no Ki (Japan) + + + + Games + Lara Croft Tomb Raider - Anniversary (Japan) + + + + Games + Ninja Reflex (Japan) + + + + Games + Monopoly (Japan) + + + + Games + Major Dream - Major Wii - Perfect Closer (Japan) + + + + Games + Bass Fishing Wii - Rokumaru Densetsu (Japan) + + + + Games + Zangeki no Reginleiv (Japan) + + + + Games + Dragon Quest X - Inishie no Ryuu no Denshou Online (Japan) + + + + Games + GoldenEye 007 (Japan) + + + + Games + Tom Clancy's Ghost Recon (Europe) (En,Fr,De,Es,It) + + + + Games + Funfair Party (Europe) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + Disney Sing It - Pop Hits (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Casper's Scare School - Spooky Sports Day (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) + + + + Games + Skylanders - Giants (Scandinavia) (Sv,No,Da,Fi) + + + + Games + DreamWorks Shrek the Third (UK) + + + + Games + Pictionary (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Dood's Big Adventure (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + uDraw Studio (Europe) (En,Fr,De,Es,It,Nl,Pt) + + + + Games + Tenkuu no Kishi Rodea (Japan) + + + + Games + Hula Wii - Hula de Hajimeru - Bi to Kenkou! (Japan) + + + + Games + SimAnimals (Japan) + + + + Games + Darts Wii DX (Japan) + + + + Games + Marvel - Ultimate Alliance (Japan) + + + + Games + Spore - Kimi ga Tsukuru Hero (Japan) + + + + Games + Simple Wii Series Vol. 3 - Asonde Oboeru - The Party Casino (Japan) + + + + Games + Taiko no Tatsujin Wii - Chou Goukaban (Japan) + + + + Games + Billy's Boot Camp - Wii de Enjoy Diet! (Japan) + + + + Games + Taiko no Tatsujin Wii - Ketteiban (Japan) + + + + Games + U-Sing 2 (Netherlands) + + + + Games + Nick Jr. Go Diego Go! Safari Rescue (Netherlands) (En,Fr,Nl) + + + + Games + Disney-Pixar Cars - Mater-National Championship (Europe) (Fr,Nl) + + + + Games + NBA Live 09 - All-Play (Spain) + + + + Games + Ice Age 2 - The Meltdown (UK) + + + + Games + Shape Boxing - Wii de Enjoy Diet! (Japan) (Rev 1) + + + + Games + Itadaki Street Wii (Japan) + + + + Games + Super Sentai Battle - Ranger Cross (Japan) + + + + Games + Opoona (Japan) + + + + Games + Need for Speed - ProStreet (Japan) + + + + Games + Tabemon (Japan) + + + + Games + Jawa - Mammoth to Himitsu no Ishi (Japan) + + + + Games + Nitrobike (Japan) + + + + Games + Artlist Collection - The Dog Island - Hitotsu no Hana no Monogatari (Japan) (Rev 1) + + + + Games + Survival Kids Wii (Japan) + + + + Games + Skylanders - Trap Team (Europe) (Fr,Nl) + + + + Games + James Cameron's Avatar - The Game (UK) + + + + Games + Dead Rising - Zombie no Ikenie (Japan) + + + + Games + Dance Dance Revolution - Furu Furu Party (Japan) + + + + Games + Dance Dance Revolution - Hottest Party (Japan) (Rev 1) + + + + Games + Rilakkuma - Minna de Goyururi Seikatsu (Japan) + + + + Games + FIFA 10 - World Class Soccer (Japan) + + + + Games + Forever Blue (Japan) + + + + Games + Minna de Asobou! Namco Carnival (Japan) + + + + Games + Tele Shibai Wii (Japan) + + + + Games + Rune Factory - Frontier (Japan) + + + + Games + Rune Factory - Oceans (Japan) + + + + Games + FlingSmash (Europe) (En,Fr,De,Es,It) (Rev 2) + + + + Games + U-Sing (Spain) (Rev 1) + + + + Games + Disney-Pixar Ratatouille (Europe) (It,El) + + + + Games + Dancing Stage - Hottest Party (Europe) (En,Fr,De,Es,It) + + + + Games + Tele 7 Jeux - Mots Croises ~ Cruciverba per Wii (Europe) (Fr,It) + + + + Games + Lord of the Rings, The - Aragorn's Quest (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Imagine - Fashion Idol (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Grey's Anatomy - The Video Game (Europe) (En,Fr,De,Es,It) + + + + Games + FIFA 12 (Europe) (En,Fr,Nl) + + + + Games + Def Jam - Rapstar (Europe) (En,Fr,De,Es,It,Pt) + + + + Games + Medal of Honor - Heroes 2 (Australia) + + + + Games + Boku to Sim no Machi Racing (Japan) + + + + Games + Issho ni Asobu! Dream Theme Park (Japan) + + + + Games + Rooms - Fushigi na Ugoku Heya (Japan) + + + + Games + Kotoba no Puzzle - Mojipittan Wii Deluxe (Japan) + + + + Games + Sonic Riders - Shooting Star Story (Japan) + + + + Games + Just Dance Wii 2 (Japan) + + + + Games + Simple 2000 Series Wii Vol. 1 - The Table Game - Mahjong, Igo, Shougi, Card, Hanafuda, Reversi, Gomoku Narabe (Japan) + + + + Games + Tetris Party Premium (Japan) + + + + Games + Mezase!! Tsuri Master (Japan) + + + + Games + Kororinpa (Japan) + + + + Games + GI Jockey Wii 2008 (Japan) + + + + Games + Happy Dance Collection (Japan) + + + + Games + Disney High School Musical Dance! (Japan) + + + + Games + Mario & Sonic at London Olympic (Japan) + + + + Games + Minna no Rhythm Tengoku (Japan) + + + + Games + One Piece - Unlimited Cruise - Episode 2 - Mezameru Yuusha (Japan) + + + + Games + Ookami (Japan) + + + + Games + Pokemon Battle Revolution (Japan) (Rev 1) + + + + Games + Skate It (Japan) + + + + Games + Tiger Woods PGA Tour 09 - All-Play (Japan) + + + + Games + Centipede - Infestation (USA) (En,Fr,Es) + + + + Games + Disney-Pixar Toy Story 3 (USA) (En,Fr,Es) + + + + Games + Deadliest Catch - Sea of Chaos (USA) + + + + Games + Nickelodeon The Naked Brothers Band - The Video Game (USA) + + + + Games + Disney Sing It (USA) (En,Fr,Es) + + + + Games + Major Minor's Majestic March (USA) + + + + Games + Disney-Pixar WALL-E (Europe) (It,El) + + + + Games + MySims Agents (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da) + + + + Games + DreamWorks Madagascar - Escape 2 Africa (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Marvel Super Hero Squad (Europe) (En,Fr,De,Nl) + + + + Games + Madden NFL 09 - All-Play (Europe) + + + + Games + DreamWorks Madagascar Kartz (Europe) (En,Fr,De,Es,It,Nl,Sv) + + + + Games + Madden NFL 07 (Europe) + + + + Games + Myth Makers - Trixie in Toyland (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Mini Ninjas (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + DreamWorks Madagascar 3 - Europe's Most Wanted (Europe) (En,Fr,De,Es,It,Nl,Ru) + + + + Games + MySims Party (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Disney TRON - Evolution - Battle Grids (USA) (En,Fr,Es) + + + + Games + Balloon Pop (USA) + + + + Games + Barnyard - Shuyaku wa Ore, Ushi (Japan) + + + + Games + Bomberman (Japan) + + + + Games + Champion Jockey - Gallop Racer & GI Jockey (Japan) + + + + Games + Dairantou Smash Brothers X (Japan) + + + + Games + Forever Blue - Umi no Yobigoe (Japan) (Rev 1) + + + + Games + Jikkyou Powerful Pro Yakyuu Wii (Japan) + + + + Games + Mezase!! Tsuri Master (Japan) (Rev 1) + + + + Games + Narnia Koku Monogatari - Dai-2 Shou - Caspian Ouji no Tsunobue (Japan) + + + + Games + Shape Boxing 2 - Wii de Enjoy Diet! (Japan) (Rev 1) + + + + Games + Yu-Gi-Oh! 5D's - Wheelie Breakers (Japan) + + + + Games + Rapala We Fish (USA) + + + + Games + Pizza Delivery Boy (USA) + + + + Games + Golden Compass, The (USA) + + + + Games + Cooking Mama (Europe) (En,Fr,De,Es,It) + + + + Games + Hotel for Dogs (Europe) (En,Fr,De,Es,It) + + + + Games + Just Dance (Europe) (En,Fr,De,Es,It) + + + + Games + LEGO Harry Potter - Years 5-7 (Europe) (En,Fr,De,Es,It,Nl,Da) + + + + Games + Ninjabread Man (UK) + + + + Games + Rabbids Go Home (UK) + + + + Games + Rayman - Raving Rabbids 2 (Europe) (En,Fr,De,Es,It,Nl) (Rev 2) + + + + Games + Zumba Fitness 2 (UK) (Rev 1) + + + + Games + Rapala Pro Bass Fishing (USA) (Rev 1) + + + + Games + DreamWorks The Penguins of Madagascar - Dr. Blowhole Returns - Again! (USA) (En,Fr) + + + + Games + DreamWorks Kung Fu Panda 2 (USA) (En,Fr) (SKUE) + + + + Games + Top Shot Arcade (USA) + + + + Games + Rock'N'Roll Adventures (USA) + + + + Games + PopStar Guitar (USA) + + + + Games + Petz Rescue - Wildlife Vet (USA) (En,Fr,Es) + + + + Games + Petz - Crazy Monkeyz (USA) (En,Fr,Es) + + + + Games + Order Up! (USA) (Rev 1) + + + + Games + Deca Sports (USA) (En,Fr,Es) (Rev 1) + + + + Games + Cocoto Kart Racer (USA) (En,Fr) + + + + Games + Ben 10 - Galactic Racing (USA) (En,Fr,Es) + + + + Games + Bomberman Land Wii (Japan) + + + + Games + Chibi-Robo! (Japan) + + + + Games + Chin Sports (Japan) + + + + Games + Disney Princess - Mahou no Sekai e (Japan) + + + + Games + Dragon Ball Z - Sparking! Meteor (Japan) (Rev 1) + + + + Games + Jikkyou Powerful Major League 2009 (Japan) + + + + Games + Jissen Pachi-Slot Pachinko Hisshouhou! Sammy's Collection - Hokuto no Ken Wii (Japan) + + + + Games + Kororinpa 2 - Anthony to Kin'iro Himawari no Tane (Japan) + + + + Games + Need for Speed - Undercover (Japan) + + + + Games + World of Golden Eggs, The - Nori Nori Rhythm-kei (Japan) + + + + Games + Enclave - Shadows of Twilight (Europe) (En,Fr,De,Es,It) + + + + Games + Everyone Sing (Europe) (En,Fr,De,Es,It) + + + + Games + Eldar Saga (Europe) (En,Fr,De,Es,It) + + + + Games + Planet Rescue - Wildlife Vet (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Disney-Pixar Carl Jiisan no Soratobu Ie (Japan) + + + + Games + Dragon Ball Z - Sparking! Neo (Japan) + + + + Games + Fit in Six - Karada o Kitaeru 6-tsu no Youso (Japan) + + + + Games + Hoshi no Kirby Wii (Japan) + + + + Games + Mario Party 8 (Japan) (Rev 2) + + + + Games + Mario Tennis GC (Japan) + + + + Games + New Unou Kids Wii (Japan) + + + + Games + Oyako de Asobo - Miffy no Omochabako (Japan) + + + + Games + Puyo Puyo!! Puyopuyo 20th Anniversary (Japan) + + + + Games + Winning Eleven Play Maker 2010 - Aoki Samurai no Chousen (Japan) + + + + Games + Chicken Blaster (USA) (En,Fr,Es) + + + + Games + Nerf N-Strike Elite (USA) + + + + Games + Super Swing Golf Season 2 (USA) + + + + Games + Six Flags Fun Park (USA) (En,Fr) (Rev 1) + + + + Games + Think Logic Trainer (USA) + + + + Games + Game Party 2 (USA) (En,Fr,Es) + + + + Games + Monster High - Ghoul Spirit (USA) (En,Fr,Es) (Rev 1) + + + + Games + Cabela's Dangerous Hunts 2011 (USA) + + + + Games + Cabela's Big Game Hunter 2012 (USA) + + + + Games + Littlest Pet Shop - Friends (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) + + + + Games + Tale of Despereaux, The (Europe) (En,Es) + + + + Games + Chronicles of Narnia, The - Prince Caspian (Europe) (Fr,Nl) + + + + Games + 40 Principales, Los - Karaoke Party (Spain) (En,Es) + + + + Games + Sims 2, The - Pets (Europe) (En,Fr,De,Es,It) + + + + Games + SimAnimals - Africa (Europe, Australia) (En,Fr,De,Nl,Pt) + + + + Games + Sims 2, The - Castaway (Europe) (En,Fr,De,Es,It,Nl,Pt) (Rev 1) + + + + Games + Need for Speed - Carbon (Europe) + + + + Games + Hot Wheels - Beat That! (Europe) (En,Fr,De,It) + + + + Games + Jambo! Safari - Ranger Adventure (Europe) (En,Fr,De,Es,It) + + + + Games + Mummy, The - Tomb of the Dragon Emperor (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Ultimate Battle of the Sexes, The (Europe) (En,De) + + + + Games + Academy of Champions - Football (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + World Championship Poker featuring Howard Lederer - All In (Europe) (En,Fr,De,Es,It) + + + + Games + Expeditie Robinson (Netherlands) + + + + Games + Totally Spies! Totally Party (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Bionicle Heroes (USA) + + + + Games + Chicken Shoot (USA) (En,Fr,Es) + + + + Games + EA Playground (USA) + + + + Games + Escape from Bug Island (USA) + + + + Games + Who Wants to Be a Millionaire (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Anubis II (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Pirates - Hunt for Blackbeard's Booty (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Yamaha Supercross (Europe) (En,Fr,De,Es,It) + + + + Games + NBA 2K13 (Europe) (En,Fr,De,Es,It) + + + + Games + Daisy Fuentes Pilates (USA) (En,Es) + + + + Games + Artlist Collection - The Dog Island (USA) (En,Fr,Es) + + + + Games + Country Dance (USA) + + + + Games + New Super Mario Bros. Wii (Korea) + + + + Games + 007 - Nagusame no Houshuu (Japan) + + + + Games + Choro Q Wii (Japan) + + + + Games + Dance Dance Revolution - Music Fit (Japan) + + + + Games + GTI Club - World City Race (Japan) + + + + Games + Kamen Rider - Super Climax Heroes (Japan) + + + + Games + Nickelodeon SpongeBob SquarePants - SpongeBob to Nakama-tachi - Toybot no Kougeki (Japan) + + + + Games + Shikigami no Shiro III (Japan) + + + + Games + Sonic Colors (Japan) + + + + Games + Sugoro Chronicle - Migite ni Ken o Hidarite ni Saikoro o (Japan) + + + + Games + Tama-Run (Japan) + + + + Games + Nickelodeon Tak and the Guardians of Gross (Europe) (En,De) + + + + Games + Tony Hawk - Shred (USA) (En,Fr,Es) + + + + Games + Bokujou Monogatari - Waku Waku Animal March (Japan) (Rev 1) + + + + Games + Hospital. 6-nin no Ishi (Japan) + + + + Games + House of the Dead 2 & 3 Return, The (Japan) + + + + Games + Hula Wii - Tanoshiku Hula o Odorou!! (Japan) + + + + Games + Jinsei Game - Happy Family (Japan) + + + + Games + Minna de Bouken! Family Trainer (Japan) + + + + Games + Precure All Stars - Zenin Shuugou Let's Dance! (Japan) + + + + Games + Shape Boxing - Wii de Enjoy Diet! (Japan) + + + + Games + We Cheer - Dancing Spirits! (Japan) + + + + Games + Wii Fit (Japan) + + + + Games + Boogie (USA) (En,Fr,Es) + + + + Games + Game Party 3 (USA) (En,Fr,Es) + + + + Games + Grease - The Official Video Game (USA) (En,Fr,Es) (Rev 1) + + + + Games + Hasbro Family Game Night 3 (USA) (En,Fr,Es) + + + + Games + Just Dance 2018 (USA) (En,Fr,Es) + + + + Games + Karaoke Revolution Presents - American Idol Encore (USA) + + + + Games + Jikkyou Powerful Pro Yakyuu Next (Japan) + + + + Games + Jinsei Game Wii EX (Japan) + + + + Games + Karaoke Joysound Wii - Duet Kyoku-hen (Japan) (Rev 1) + + + + Games + Momotarou Dentetsu 16 - Hokkaido Daiidou no Maki! (Japan) + + + + Games + Momotarou Dentetsu 2010 - Sengoku Ishin no Hero Daishuugou! no Maki (Japan) + + + + Games + Need for Speed - Hot Pursuit (Japan) + + + + Games + Need for Speed - The Run (Japan) + + + + Games + Nihon Yakyuu Kikou Shounin - Batting Revolution (Japan) + + + + Games + Pikmin (Japan) + + + + Games + Pikmin 2 (Japan) (Rev 1) + + + + Games + Crash - Mind over Mutant (Scandinavia) (En,Sv,No,Da,Fi) + + + + Games + Top Spin 4 (Europe) (En,Fr,De,Es,It) + + + + Games + Munchables, The (Europe) (En,Fr,De,Es,It) + + + + Games + Sky Crawlers, The - Innocent Aces (Europe) (En,Fr,De,Es,It) + + + + Games + Tony Hawk's Proving Ground (Europe) (En,Fr,De,Es,It) + + + + Games + Transformers - The Game (Europe) (De,It) + + + + Games + Tony Hawk - Ride (Europe) (En,De,Es,It) + + + + Games + Amazing Spider-Man, The (Europe) (En,Fr,De,Es,It) + + + + Games + Conduit 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Transformers - Cybertron Adventures (Europe) (En,Fr,De,Es,It) + + + + Games + Transformers Prime - The Game (Europe) (En,Fr,De,Es,It,Nl,Sv) + + + + Games + Nickelodeon Teenage Mutant Ninja Turtles (Europe) (En,Fr,De,Es,It,Nl,Sv) + + + + Games + Disney Tangled (USA) (En,Fr,Es) + + + + Games + Disney-Pixar Toy Story 3 (USA) (En,Fr,Es) (Toy Box Special Edition) + + + + Games + Jeopardy! (USA) + + + + Games + Rolling Stone - Drum King (USA) (En,Fr,Es) + + + + Games + Hip Hop Dance Experience, The (Europe) (En,Fr,De,Es,It) + + + + Games + Artlist Collection - The Dog Island (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Tamagotchi - Party On! (Europe) (En,Fr,De,Es,It) + + + + Games + Godfather, The - Blackhand Edition (Europe) + + + + Games + History Channel, The - Battle for the Pacific (Europe) + + + + Games + Voice of Germany, The - I Want You (Germany) + + + + Games + Island of Dr. Frankenstein, The (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Voice of Germany, The - Volume 2 (Germany) (En,De) + + + + Games + Voice of Germany, The (Germany) (En,De) + + + + Games + Bigs, The (Europe) + + + + Games + Daikaijuu Battle - Ultra Coliseum DX - Ultra Senshi Daishuuketsu (Japan) + + + + Games + Doraemon Wii - Himitsu Dougu-ou Ketteisen! (Japan) + + + + Games + Fire Emblem - Akatsuki no Megami (Japan) (Rev 1) + + + + Games + Fitness Party (Japan) + + + + Games + Ginsei Table Games Wii (Japan) + + + + Games + Mahjong Fight Club Wii - Wi-Fi Taiou (Japan) (Rev 1) + + + + Games + Naruto Shippuuden - Gekitou Ninja Taisen! Special (Japan) + + + + Games + Petit Copter Wii - Adventure Flight (Japan) + + + + Games + Samurai Spirits - Rokuban Shoubu (Japan) + + + + Games + Winning Eleven Play Maker 2013 (Japan) + + + + Games + Pitfall - The Big Adventure (Australia) (En,Fr,De,Es,It) + + + + Games + All Star Karate (USA) (En,Fr,Es) + + + + Games + Big Buck Hunter Pro (USA) + + + + Games + Disney Alice in Wonderland (USA) (En,Fr,Es) + + + + Games + Karaoke Revolution Glee - Volume 3 (USA) (En,Fr,Es) + + + + Games + Hidden Mysteries - Titanic (USA) + + + + Games + Imagine - Fashion Party (USA) (En,Fr,Es) + + + + Games + Kamen Rider - Dragon Knight (USA) (En,Fr,Es) + + + + Games + Merv Griffin's Crosswords (USA) + + + + Games + Pheasants Forever - Wingshooter (USA) + + + + Games + Puzzle Challenge - Crosswords and More! (USA) + + + + Games + M&M's Kart Racing (USA) + + + + Games + Major League Baseball 2K10 (USA) + + + + Games + Shimano Extreme Fishing (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da) + + + + Games + Farmyard Party (Europe) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + Sea Monsters - A Prehistoric Adventure (Europe) (En,Fr,De,Es,It) + + + + Games + Safar'Wii (Europe) (En,Fr,De,Es,It) + + + + Games + DreamWorks Shrek's Carnival Craze - Party Games (Europe) (En,Fr,De) + + + + Games + DreamWorks Shrek the Third (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Scene It Twilight (Europe) (En,Fr,De,Es,It) + + + + Games + DreamWorks Shrek Forever After (Europe) (En,Fr,De,Es,Nl,Sv) + + + + Games + Spider-Man - Shattered Dimensions (Europe) (En,Fr,De,Es,It) + + + + Games + Spider-Man - Edge of Time (Europe) (En,Fr,De,Es,It) + + + + Games + Sherlock Holmes - The Silver Earring (Europe) (En,Fr,De,Es,It) + + + + Games + We Dance (Europe) (En,Fr,De,Es,It) + + + + Games + Spider-Man - Web of Shadows (Europe) (En,Fr,De,Es,It) + + + + Games + Sam & Max - Beyond Time and Space (Europe) (En,Fr,De,Es,It) + + + + Games + Spider-Man - Friend or Foe (Europe) (Fr,De,Es,It) + + + + Games + Spider-Man 3 (Europe) (Fr,De,Es,It) + + + + Games + Samurai Warriors - Katana (Europe) (En,Fr,De) + + + + Games + Scarface - The World Is Yours (Germany) + + + + Games + Sonic Unleashed (Europe) (En,Ja,Fr,De,Es,It) + + + + Games + Sakura Wars - So Long, My Love (Europe) + + + + Games + Sengoku Basara - Samurai Heroes (Europe) (En,Fr,De,Es,It) + + + + Games + Shaun White Skateboarding (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Supersonic Racer (Europe) (En,Fr,Es) + + + + Games + Madden NFL 12 (USA) + + + + Games + Madden NFL 13 (USA) + + + + Games + Monopoly Streets (USA) (En,Fr,Es) + + + + Games + Bakugan - Defenders of the Core (Europe, Australia) (En,Fr,De,Es,It,Nl,Sv) + + + + Games + Defendin' De Penguin (Europe) (Rev 1) + + + + Games + Petz - Monkey Madness (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Shaun White Snowboarding - World Stage (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Skylanders - Swap Force (Europe, Australia) (En,De) (Rev 1) + + + + Games + Biggest Loser Challenge, The (Europe, Australia) + + + + Games + Tom Clancy's H.A.W.X. 2 (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Rango (USA) (En,Fr,Es) + + + + Games + Scene It Bright Lights! Big Screen! (USA) + + + + Games + Sims 3, The (USA) (En,Fr,Es) + + + + Games + Walt Disney Pictures Presents Meet the Robinsons (USA) + + + + Games + Nickelodeon SpongeBob SquarePants featuring Nicktoons - Globs of Doom (Europe) (En,Fr) + + + + Games + Agent Hugo - Lemoon Twist (Europe) (En,Fr,De,Es,It,Nl,Pt) + + + + Games + Family Party - 30 Great Games - Winter Fun (Europe) (En,Fr,De,Es,It) + + + + Games + Iron Man (Europe) (En,Fr,De,Es,It) + + + + Games + Spectrobes - Origins (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Dragon Ball Z - Sparking! Meteor (Japan) + + + + Games + Dragon Quest 25 Shuunen Kinen - Famicom & Super Famicom Dragon Quest I-II-III (Japan) + + + + Games + Jikkyou Powerful Pro Yakyuu 15 (Japan) (Rev 1) + + + + Games + Jikkyou Powerful Pro Yakyuu Wii - Ketteiban (Japan) + + + + Games + Jinsei Game Wii (Japan) + + + + Games + Nobunaga no Yabou - Kakushin with Power-Up Kit (Japan) (Rev 1) + + + + Games + Pro Yakyuu Family Stadium (Japan) + + + + Educational + Shikakui Atama o Maruku Suru. Wii (Japan) + + + + Games + Skylanders - Spyro no Daibouken (Japan) + + + + Games + Top Spin 3 (Japan) + + + + Games + Disney Club Penguin - Game Day! (Europe) + + + + Games + GT Pro Series (Europe) + + + + Games + Last Airbender, The (Europe) (En,Fr,De,Es,It) + + + + Games + In the Mix featuring Armin van Buuren (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Disney The Princess and the Frog (Scandinavia) (En,Sv,No,Da) + + + + Games + Era Glaciale 4, L' - Continenti alla Deriva - Giochi Polari (Italy) + + + + Games + Agent Hugo - Hula Holiday (Europe) (En,Fr,De,Es,It,Nl,Pt) + + + + Games + Celebrity Sports Showdown (Europe) (En,Fr,De,Es,It) + + + + Games + Cocoto Festival (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da) + + + + Games + Nickelodeon iCarly (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Nickelodeon Avatar - The Legend of Aang (Europe) (En,Fr,De,Nl) + + + + Games + Ready 2 Rumble - Revolution (Europe) (En,Fr,De,Es,It) + + + + Games + Zumba Fitness (USA) + + + + Games + Zumba Fitness 2 (USA) + + + + Games + Beat the Beat - Rhythm Paradise (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Karaoke Revolution Glee - Volume 2 (Europe, Australia) (En,Fr,De,Es,It,Nl) + + + + Games + NBA 2K11 (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + WWE SmackDown vs. Raw 2011 (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Summer Sports - Paradise Island (USA) + + + + Games + Ten Pin Alley 2 (USA) (En,Fr,Es) + + + + Games + TNA Impact! Total Nonstop Action Wrestling (USA) (En,Fr) + + + + Games + Summer Athletics - The Ultimate Challenge (USA) (En,Fr,Es) + + + + Games + DreamWorks Shrek Forever After (USA) (En,Fr) + + + + Games + UFC Personal Trainer - The Ultimate Fitness System (USA) (En,Fr,Es) + + + + Games + SimCity Creator (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Nickelodeon SpongeBob SquarePants - SpongeBob's Truth or Square (Europe) (En,De,It,Nl) + + + + Games + Nickelodeon SpongeBob and Friends - Attack of the Toybots (Europe) (En,Fr,De,Es,Nl) + + + + Games + Nickelodeon SpongeBob SquarePants featuring Nicktoons - Globs of Doom (Europe) (De,Es,It) + + + + Games + Hasbro Family Game Night Vol 3 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Sid Meier's Pirates! (Europe) (En,Fr,De,Es,It) + + + + Games + Nickelodeon SpongeBob SquarePants SquigglePants (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Sing 4 - The Hits Edition (Europe) (En,Fr,De,Es,It) + + + + Games + Nickelodeon SpongeBob SquarePants - Plankton's Robotic Revenge (Europe) (En,Fr,De,Es,It,Nl,Sv) + + + + Games + WWE '13 (USA) (En,Fr,Es) + + + + Games + WWE SmackDown vs. Raw 2011 (USA) (En,Fr,Es) + + + + Games + MySims SkyHeroes (USA) (En,Fr,Es) + + + + Games + Myth Makers - Super Kart GP (USA) + + + + Games + Nickelodeon SpongeBob's Boating Bash (USA) + + + + Games + Power Rangers Samurai (USA) (En,Fr,Es) + + + + Games + ABC Wipeout - Create & Crash (USA) + + + + Games + Nickelodeon SpongeBob SquarePants - Plankton's Robotic Revenge (USA) (En,Fr) + + + + Games + Alvin and the Chipmunks - Chipwrecked (USA) (En,Fr) + + + + Games + AMF Bowling World Lanes (USA) + + + + Games + Greg Hastings Paintball 2 (USA) + + + + Games + Ice Age - Continental Drift - Arctic Games (USA) + + + + Games + AC-DC Live - Rock Band (Europe) (En,Fr,De,Es,It) + + + + Games + Death Jr. - Root of Evil (Europe) (En,Fr,De,Es,It) + + + + Games + Dragon Blade - Wrath of Fire (Europe) (En,Fr,De,Es,It) + + + + Games + Coraline (Europe) (En,Fr,De,Es,It) + + + + Games + Onechanbara - Bikini Zombie Slayers (Europe) (En,Fr) (Rev 1) + + + + Games + Puzzle Quest - Challenge of the Warlords (Europe) (En,Fr,De,Es,It) + + + + Games + Spyborgs (Europe) (En,Fr,De,Es,It) + + + + Games + Beach Fun - Summer Challenge (Europe) (En,Fr,De,Es,It) + + + + Games + Alvin and the Chipmunks (Europe) (En,Fr,De,Es,It) + + + + Games + Wacky Races - Crash & Dash (Europe) (En,Fr,De,Es,It) + + + + Games + Beastly (USA) (En,Fr,Es) + + + + Games + Scene It Twilight (USA) (En,Fr,Es) + + + + Games + Truth or Lies (USA) + + + + Games + AC-DC Live - Rock Band Track Pack (USA) + + + + Games + Active Life - Outdoor Challenge (USA) (En,Fr) + + + + Games + Army Men - Soldiers of Misfortune (USA) (En,Fr,Es) + + + + Games + Bigfoot - Collision Course (USA) + + + + Games + Boogie SuperStar (USA) (En,Fr,Es) + + + + Games + Disney High School Musical - Sing It! (USA) (En,Fr) (Rev 1) + + + + Games + Disney High School Musical 3 - Senior Year Dance! (USA) (En,Fr,Es) + + + + Games + Disney Sing It - Party Hits (USA) (En,Fr,Es) + + + + Games + Dood's Big Adventure (USA) (En,Fr) + + + + Games + Iron Chef America - Supreme Cuisine (USA) + + + + Games + Puzzler Collection (USA) + + + + Games + Skylanders - Swap Force (USA) (En,Fr) (Rev 1) + + + + Games + Skylanders - Trap Team (USA) (En,Fr) + + + + Games + Shaun White Snowboarding - Road Trip (USA) (En,Fr,Es) (Target Limited Edition) + + + + Games + Tony Hawk - Ride (USA) + + + + Games + Voice, The - I Want You (USA) + + + + Games + Your Shape featuring Jenny McCarthy (USA) (En,Fr,Es) + + + + Games + Quiz Party (UK) + + + + Games + Drawsome! Artist & Drawsome! Sketch Quest (USA) (En,Fr,Es) + + + + Games + 2010 FIFA World Cup South Africa (Canada) (En,Fr) + + + + Games + NCIS - Based on the TV Series (USA) (En,Fr,Es) + + + + Games + ATV Quad Kings (Europe) (En,Fr,De,Es,It) + + + + Games + Anpanman Niko Niko Party (Japan) + + + + Games + Fish Eyes Wii (Japan) + + + + Games + Grand Slam Tennis (Japan) + + + + Games + Harry Potter to Fushichou no Kishidan (Japan) + + + + Games + Ikenie no Yoru (Japan) + + + + Games + LEGO Star Wars - The Complete Saga (Japan) + + + + Games + Metroid Prime (Japan) + + + + Games + Sangokushi 11 with Power-Up Kit (Japan) (Rev 1) + + + + Games + Sky Crawlers - Innocent Aces (Japan) + + + + Games + Tomb Raider - Underworld (Japan) + + + + Games + NHL 2K11 (USA) (En,Fr) + + + + Games + Disney Epic Mickey (Scandinavia) (En,Sv,Da) + + + + Games + Disney Epic Mickey 2 - The Power of Two (Scandinavia) (Sv,No,Da) + + + + Games + DreamWorks Madagaskar 2 (Sweden) + + + + Games + Backyard Football '10 (USA) + + + + Games + Battle Rage - Mech Conflict (USA) + + + + Games + Calvin Tucker's Redneck Jamboree (USA) + + + + Games + Charm Girls Club - Pajama Party (USA) (En,Fr,Es) + + + + Games + Disney Sing It - Pop Hits (USA) (En,Fr,Es) + + + + Games + MySims Agents (USA) (En,Fr,Es) + + + + Games + Emergency Mayhem (USA) (En,Fr,Es) + + + + Games + Hollywood Squares (USA) + + + + Games + Nickelodeon iCarly (USA) (En,Fr) + + + + Games + My Fitness Coach (USA) + + + + Games + Pool Party (USA) + + + + Games + Rio (USA) (En,Fr,Es) + + + + Games + Rock Band - Track Pack Volume 2 (USA) + + + + Games + Rubik's World (USA) (En,Fr,Es) + + + + Games + Safari Adventures - Africa (USA) + + + + Games + Smurfs, The - Dance Party (USA) (Toys R Us) + + + + Games + Space Camp (USA) (En,Fr) + + + + Games + Winter Sports - The Ultimate Challenge (USA) (En,Fr) + + + + Games + Ultimate Board Game Collection (USA) + + + + Games + WordJong Party (USA) + + + + Games + World Championship Poker featuring Howard Lederer - All In (USA) + + + + Games + Disney Infinity (Scandinavia) (En,Sv,No,Da,Fi) + + + + Games + Alien Monster Bowling League (USA) + + + + Games + Aliens in the Attic (USA) (En,Es) + + + + Games + Ant Bully, The (USA) (En,Fr) + + + + Games + Anubis II (USA) + + + + Games + Basketball Hall of Fame - Ultimate Hoops Challenge (USA) (En,Fr,Es) + + + + Games + Buck Fever (USA) + + + + Games + Kidz Sports Basketball (USA) + + + + Games + Kidz Sports International Soccer (USA) + + + + Games + Pool Hall Pro (USA) (En,Fr,Es) + + + + Games + Shaun White Skateboarding (USA) (En,Fr,Es) + + + + Games + Academy of Champions - Soccer (USA) (En,Fr,Es) + + + + Games + Brave - A Warrior's Tale (USA) (En,Fr,Es) + + + + Games + Burger Island (USA) + + + + Games + Sims 2, The - Castaway (Europe) (En,Fr,De,Es,It,Nl,Pt) + + + + Games + Rabbids Go Home (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) (Rev 1) + + + + Games + Destroy All Humans! Big Willy Unleashed (Europe) (En,Fr,De,Es,It) + + + + Games + Cursed Mountain (Europe) (En,Fr,De,Es,It) + + + + Games + Calling (Europe) (En,Fr,De,Es,It) + + + + Games + Heatseeker (Europe) (Fr,De) + + + + Games + Agatha Christie - And Then There Were None (Europe) (En,Fr,De,Es,It) + + + + Games + Disney-Pixar Ratatouille (Europe) (Fr,De,Nl) + + + + Games + Rapala We Fish (Europe) (En,Fr,De,Es,It) + + + + Games + Rapala Tournament Fishing! (Europe) + + + + Games + Rig Racer 2 (UK) + + + + Games + Rock'N'Roll Adventures (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Rogue Trooper - Quartz Zone Massacre (Europe) (En,Fr,De,Es,It) + + + + Games + Rubik's Puzzle World (Europe) (En,Fr,De,Es,It) + + + + Games + Rapala's Fishing Frenzy (Europe) + + + + Games + Rygar - The Battle of Argus (Europe) (En,Fr,De,Es,It) + + + + Games + Rapala Pro Bass Fishing (Europe) (En,Fr,De,Es,It) + + + + Games + Rock Revolution (Europe) (En,Fr,De,Es,It,Sv,No,Da,Fi) + + + + Games + Raving Rabbids - Party Collection (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Reel Fishing - Angler's Dream (Europe) (En,Fr,De) + + + + Games + RTL Biathlon 2009 (Europe) (En,De) + + + + Games + Reload (Europe) (En,Fr,De,Es,It) + + + + Games + Remington Dangerous Animals (Europe) (En,Fr,De,Es,It) + + + + Games + Action Girlz Racing (USA) + + + + Games + Agatha Christie - And Then There Were None (USA) + + + + Games + Animal Kingdom - Wildlife Expedition (USA) + + + + Games + Around the World in 50 Games (USA) (En,Fr) + + + + Games + Bachelor, The - The Videogame (USA) (En,Fr,Es) + + + + Games + Beach Fun - Summer Challenge (USA) (En,Fr,Es) + + + + Games + Boot Camp Academy (USA) (En,Fr) + + + + Games + Family Party - 30 Great Games - Outdoor Fun (USA) (En,Fr,Es) + + + + Games + FIFA 10 (USA) (En,Es) + + + + Games + Disney Sing It - High School Musical 3 - Senior Year (USA) (En,Fr,Es) + + + + Games + FIFA 09 - All-Play (USA) (En,Es) + + + + Games + Godzilla - Unleashed (USA) (En,Fr,Es) + + + + Games + Arctic Tale (USA) + + + + Games + Goosebumps HorrorLand (USA) + + + + Games + Cabela's Dangerous Hunts 2009 (USA) + + + + Games + Destiny of Zorro, The (USA) (En,Fr,Es) + + + + Games + Country Dance 2 (USA) + + + + Games + FIFA Soccer 13 (USA) (En,Fr,Es) + + + + Games + 2010 FIFA World Cup South Africa (USA) (En,Es) + + + + Games + Glacier 2 (USA) (En,Fr,Es) + + + + Games + Just Dance 3 (USA) (En,Fr,Es) (Target Exclusive Edition) (Rev 1) + + + + Games + JumpStart Crazy Karts (USA) + + + + Games + Cabela's Dangerous Hunts 2013 (USA) (En,Fr) + + + + Games + Black Eyed Peas Experience, The (USA) (En,Fr,Es) + + + + Games + Big Catch - Bass Fishing 2 (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Deepak Chopra's Leela (Europe, Australia) (En,Fr,De) + + + + Games + Family GameShow (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Girls Life - Sleepover Party (Europe, Australia) (En,Fr,De,Es,It,Nl) + + + + Games + Harry Potter and the Half-Blood Prince (Europe, Australia) (En,Fr,De,Es,It,Nl,Sv) + + + + Games + Hot Wheels - Track Attack (Europe, Australia) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + Kawasaki Jet Ski (UK) + + + + Games + DreamWorks Kung Fu Panda 2 (Europe, Australia) (En,Fr,De,Es,It,Nl) + + + + Games + Mensa Academy (UK) + + + + Games + Story Hour - Fairy Tales (Europe) (En,Fr,De,Es,It) + + + + Games + TMNT (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Scooby-Doo! First Frights (Europe) (En,Fr,De,Es,It) + + + + Games + Combat of Giants - Dinosaurs Strike (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + 101-in-1 Party Megamix (USA) (En,Fr,Es) + + + + Games + Kidz Bop Dance Party! The Video Game (USA) (En,Fr) + + + + Games + Line Rider 2 - Unbound (USA) + + + + Games + Nickelodeon Dance 2 (USA) + + + + Games + Rock Band Track Pack - Classic Rock (USA) + + + + Games + Sniper Elite (USA) (En,Fr,Es) + + + + Games + Petz - Horse Club (USA) + + + + Games + Legend of the Guardians - The Owls of Ga'Hoole (USA) (En,Fr,Es,Pt) + + + + Games + NPPL Championship Paintball 2009 (USA) + + + + Games + Offroad Extreme! Special Edition (USA) + + + + Games + Martian Panic (USA) (En,Fr,Es) + + + + Games + Real Heroes - Firefighter (USA) (En,Fr,Es) + + + + Games + Offshore Tycoon (USA) + + + + Games + Remington Super Slam Hunting - North America (USA) + + + + Games + Remington Super Slam Hunting - Africa (USA) + + + + Games + Monster Jam (USA) + + + + Games + Myth Makers - Trixie in Toyland (USA) + + + + Games + NHL Slapshot (USA) + + + + Games + Monster Jam - Path of Destruction (USA) (En,Fr) + + + + Games + NASCAR 2011 - The Game (USA) + + + + Games + Need for Speed - The Run (USA) (En,Fr,Es) + + + + Games + M&M's Beach Party (USA) + + + + Games + Need for Speed - Undercover (USA) (En,Fr,Es) + + + + Games + All Star Cheerleader 2 (Germany) + + + + Games + Bibi Blocksberg - Das grosse Hexenbesen-Rennen 2 (Germany) + + + + Games + Bibi Blocksberg - Das grosse Hexenbesen-Rennen! (Germany) (Rev 1) + + + + Games + Disney Club Penguin - Game Day! (Germany) + + + + Games + Simpsons, Die - Das Spiel (Germany) + + + + Games + Fit for Fun (Germany) + + + + Games + Galileo Family Quiz (Germany) + + + + Games + Germany's Next Topmodel 2010 (Germany) + + + + Games + Germany's Next Topmodel 2011 (Germany) + + + + Games + Holiday Games (Germany) + + + + Games + Mahjongg Party (Germany) + + + + Games + Mein neues Leben - Abenteuer auf Tropicana (Germany) + + + + Games + Disney-Pixar WALL-E - Der Letzte raeumt die Erde auf (Germany) + + + + Games + Yetisports - Penguin Party Island (Germany) + + + + Games + Cate West - The Vanishing Files (USA) + + + + Games + Fishing Master (USA) + + + + Games + JumpStart Get Moving Family Fitness (USA) + + + + Games + KidFit Island Resort (USA) + + + + Games + Marvel - Ultimate Alliance (Europe) (En,It) + + + + Games + Flip's Twisted World (USA) + + + + Games + Jambo! Safari - Animal Rescue (USA) (En,Fr,Es) + + + + Games + Mortimer Beckett and the Secrets of Spooky Manor (USA) + + + + Games + Yu-Gi-Oh! 5D's - Wheelie Breakers (USA) + + + + Games + Calling - Kuroki Chakushin (Japan) + + + + Games + Densha de Go! Shinkansen EX - San'you Shinkansen Hen (Japan) + + + + Games + Disney-Pixar Cars (Japan) + + + + Games + Fire Emblem - Akatsuki no Megami (Japan) + + + + Games + Inazuma Eleven Go - Strikers 2013 (Japan) + + + + Games + Rockstar Games Presents Table Tennis (Japan) + + + + Games + Sangokushi 11 with Power-Up Kit (Japan) + + + + Games + Shanghai (Japan) + + + + Games + Spider-Man 3 (Japan) + + + + Games + Transformers - The Game (Japan) + + + + Games + Dance Dance Revolution - Disney Grooves (USA) (En,Es) + + + + Games + Remington Super Slam Hunting - Alaska (USA) + + + + Games + Sam & Max - Beyond Time and Space (USA) (En,Fr,Es) + + + + Games + Sing 4 - The Hits Edition (USA) (En,Fr,Es) + + + + Games + Survivor (USA) + + + + Games + Yogi Bear (USA) (En,Fr,Es) + + + + Games + Brunswick Zone Cosmic Bowling (USA) + + + + Games + CSI - Crime Scene Investigation - Fatal Conspiracy (USA) (En,Fr,Es) + + + + Games + Family Party - Fitness Fun (USA) (En,Fr,Es) + + + + Games + ObsCure - The Aftermath (USA) (En,Fr,Es) + + + + Games + Reload (USA) + + + + Games + Sleepover Party (USA) (En,Fr,Es) + + + + Games + Wicked Monsters Blast! (USA) + + + + Games + X-Men - Destiny (USA) + + + + Games + Cages, The - Pro Style Batting Practice (USA) + + + + Games + Cake Mania - In the Mix! (USA) (Rev 1) + + + + Games + Calvin Tucker's Redneck Farm Animals Racing Tournament (USA) (En,Fr,Es) + + + + Games + Canada Hunt (USA) + + + + Games + Candace Kane's Candy Factory (USA) + + + + Games + Casper's Scare School - Spooky Sports Day (USA) + + + + Games + Championship Foosball (USA) (En,Fr,Es) + + + + Games + CID the Dummy (USA) + + + + Games + City Builder (USA) + + + + Games + Classic British Motor Racing (USA) + + + + Games + Cocoto Magic Circus (USA) (En,Fr,Es) + + + + Games + Code Lyoko - Quest for Infinity (USA) (En,Fr,Es) + + + + Games + DreamWorks The Croods - Prehistoric Party! (USA) (En,Fr,Es) + + + + Games + Escape the Museum (USA) + + + + Games + Yamaha Supercross (USA) + + + + Games + Zoo Hospital (USA) + + + + Games + Open Season (USA) (En,Fr,Es) + + + + Games + Wacky Races - Crash & Dash (USA) (En,Fr,Es) + + + + Games + Truck Racer (USA) + + + + Games + Glacier 3 - The Meltdown (USA) (En,Fr,Es) + + + + Games + Vacation Sports (USA) (En,Fr,Es) + + + + Games + Once Upon a Time (USA) (En,Fr,Es) (Rev 1) + + + + Games + $1,000,000 Pyramid, The (USA) + + + + Games + WWII Aces (USA) + + + + Games + Triple Crown Championship Snowboarding (USA) + + + + Games + Vegas Party (USA) (En,Fr,Es) + + + + Games + Silent Hill - Shattered Memories (USA) (En,Fr,Es) + + + + Games + Heavenly Guardian (USA) + + + + Games + Legend of the Dragon (USA) (En,Fr,Es) + + + + Games + Puppy Luv - Your New Best Friend (USA) + + + + Games + Night at the Museum - Battle of the Smithsonian - The Video Game (USA) + + + + Games + Saint (USA) + + + + Games + NBA 2K13 (USA) (En,Fr,Es) + + + + Games + WWE '12 (USA) (En,Fr,Es) + + + + Games + Vacation Isle - Beach Party (USA) (En,Fr,Es) + + + + Games + Spiderwick Chronicles, The (USA) + + + + Games + Victorious Boxers - Revolution (USA) + + + + Games + Winter Stars (USA) (En,Fr,Es) + + + + Games + Call of Duty - Modern Warfare 3 (Germany) + + + + Games + Call of Duty - World at War (Germany) + + + + Games + Hidden Mysteries - Titanic (Germany) + + + + Games + Quiz Party (Germany) + + + + Games + Barbie - Groom and Glam Pups (USA) (En,Fr,Es) (Rev 1) + + + + Games + Biggest Loser Challenge, The (USA) + + + + Games + Death Jr. - Root of Evil (USA) (En,Fr,Es) + + + + Games + Go Play - City Sports (USA) + + + + Games + Igor - The Game (USA) + + + + Games + Pacific Liberator (USA) (En,Fr,Es) + + + + Games + Tale of Despereaux, The (USA) (En,Fr) + + + + Games + Family Party - 30 Great Games (USA) (En,Fr,Es) + + + + Games + Family Party - 30 Great Games - Winter Fun (USA) (En,Fr,Es) + + + + Games + Fantasy Aquarium World (USA) + + + + Games + Fast Food Panic (USA) (En,Fr,Es) + + + + Games + FIFA Soccer 11 (USA) (En,Fr,Es) + + + + Games + Ford Racing - Off Road (USA) (En,Fr,Es) + + + + Games + Freddi Fish - Kelp Seed Mystery (USA) + + + + Games + Gem Smashers (USA) + + + + Games + Geon Cube (USA) (En,Fr,Es) + + + + Games + Go Play - Circus Star (USA) + + + + Games + Gold's Gym - Dance Workout (USA) (En,Fr,Es) + + + + Games + Gormiti - The Lords of Nature! (USA) (En,Fr,Es) + + + + Games + Gummy Bears - Magical Medallion (USA) (En,Fr,Es) + + + + Games + Gummy Bears - MiniGolf (USA) (En,Fr,Es) + + + + Games + Happy Feet (USA) (En,Fr) + + + + Games + Country Dance - 30 Chart-Topping Hits!!! (USA) + + + + Games + Karaoke Revolution Presents - American Idol Encore 2 (USA) (En,Fr,Es) + + + + Games + Major League Baseball 2K11 (USA) + + + + Games + Nerf N-Strike - Double Blast Bundle (USA) + + + + Games + NHL 2K10 (USA) + + + + Games + Penny Racers Party - Turbo-Q Speedway (USA) (En,Fr,Es) + + + + Games + Petz - Horsez 2 (USA) (En,Fr,Es) + + + + Games + Puzzle Quest - Challenge of the Warlords (USA) + + + + Games + SimCity Creator (USA) (En,Fr,Es) + + + + Games + Story Hour - Adventures (USA) (En,Es) + + + + Games + ThinkSMART - Family! (USA) (Rev 1) + + + + Games + Tournament Pool (USA) + + + + Games + Diva Girls - Divas on Ice (USA) (En,Fr,Es) + + + + Games + 10 Minute Solution (USA) (En,Fr) + + + + Games + LEGO Harry Potter - Years 1-4 (Europe) (En,Fr,De,Es,It,Da) (Rev 1) + + + + Games + LEGO Pirates of the Caribbean - The Video Game (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) (Rev 1) + + + + Games + Dance Sensation! (USA) + + + + Games + FlatOut (USA) (En,Fr,Es) + + + + Games + Island of Dr. Frankenstein, The (USA) (En,Fr,Es) + + + + Games + Karaoke Joysound (USA) (En,Fr,Es) + + + + Games + My Ballet Studio (USA) (En,Fr,Es) + + + + Games + Amazing Race, The (USA) (En,Fr) + + + + Games + Family Party - 90 Great Games Party Pack (USA) (En,Fr,Es) + + + + Games + Groovin' Blocks (USA) (En,Fr,Es) + + + + Games + DreamWorks How to Train Your Dragon (USA) (En,Fr) + + + + Games + Kawasaki Snowmobiles (USA) + + + + Games + Littlest Pet Shop - Friends (USA) (En,Fr,Es) + + + + Games + Monster Lab (USA) (En,Fr,Es) + + + + Games + Naruto Shippuden - Dragon Blade Chronicles (USA) + + + + Games + NewU Fitness First Mind Body - Yoga & Pilates Workout (USA) (En,Fr,Es) + + + + Games + Nickelodeon Nicktoons MLB (USA) + + + + Games + Shimano Xtreme Fishing (USA) + + + + Games + Skylanders - Swap Force (USA) (En,Fr) + + + + Games + Top Spin 4 (USA) (En,Fr,Es) + + + + Games + Need for Speed - The Run (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Cabela's Big Game Hunter 2012 (Europe) (En,Fr,De,Es,It) + + + + Games + Summer Challenge - Athletics Tournament (Europe) (En,Fr,De,Es,It) + + + + Games + Skylanders - Trap Team (Scandinavia) (Sv,No,Da,Fi) (Rev 1) + + + + Games + Angry Birds Star Wars (Europe) (En,Fr,De,Es,It) + + + + Games + Back to the Future - The Game (Europe) (En,Fr,De) + + + + Games + Burger Bot (USA) + + + + Games + National Geographic - Challenge! (USA) (En,Fr,Es) + + + + Games + Ram Racing (USA) (En,Fr,Es) + + + + Games + Scarface - The World Is Yours (USA) + + + + Games + Hardy Boys, The - The Hidden Theft (USA) (En,Fr,Es) + + + + Games + TV Show King Party (USA) (En,Fr,Es) + + + + Games + We Wish You a Merry Christmas (USA) + + + + Games + Army Rescue (USA) + + + + Games + Backyard Sports - Rookie Rush (USA) + + + + Games + Barbie Dreamhouse Party (USA) (En,Fr,Es) + + + + Games + Call of Duty - Modern Warfare 3 (Europe, Australia) + + + + Games + Disney-Pixar Cars 2 (Europe, Australia) (En,Fr,Es,It,Nl) + + + + Games + Cricket (Australia) + + + + Games + Monster Trucks (Europe) (En,Fr,De,Es,It) + + + + Games + Need for Speed - Hot Pursuit (Europe, Australia) (En,Fr,De,Es,It,Nl) + + + + Games + Project Runway (UK) + + + + Games + World Series of Poker - Tournament of Champions - 2007 Edition (Europe, Australia) + + + + Games + Hannah Montana - The Movie (Europe) (De,Es) + + + + Games + Happy Feet (Europe) (En,Fr,De,Es,It) + + + + Games + Incredible Hulk, The (Europe) (En,Fr,De,Es,It) + + + + Games + Haunted House (Europe) (En,Fr,De) + + + + Games + Hugo - Magic in the Trollwoods (Europe) (En,De,Es,Pt) + + + + Games + Happy Feet Two (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + 10 Minute Solution (Europe) (En,Fr,De,Es,It) + + + + Games + All Star Cheerleader (Scandinavia) (Sv,No,Da,Fi) + + + + Games + Angry Birds Trilogy (Europe) (En,Fr,De,Es,It) + + + + Games + Adventures of Tintin, The - The Secret of the Unicorn (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi) + + + + Games + NHL Slapshot (Europe) + + + + Games + Skylanders - Spyro's Adventure (Scandinavia) (Sv,No,Da,Fi) (Rev 2) + + + + Games + Andrew Lloyd Webber Musicals - Sing and Dance (Europe) + + + + Games + Disney Phineas and Ferb - Quest for Cool Stuff (Europe) (En,Fr,De,Es,It) + + + + Games + Disney-Pixar Toy Story 3 (Europe) (Fr,De,It,Nl) (Rev 1) + + + + Games + Battleship (Europe) (En,Fr,De,Es,It) + + + + Games + Wii Fit (Taiwan) + + + + Games + Rock Band - Metal Track Pack (USA) + + + + Games + Monkey Mischief! (Europe) (En,Fr,De,Es,It) + + + + Games + Little League World Series Baseball 2008 (Europe) + + + + Games + Monster High - New Ghoul in School (Europe) (En,Fr,De,Es,It) + + + + Games + Alvin and the Chipmunks - Chipwrecked (Europe) + + + + Games + Monster High - 13 Wishes (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi) + + + + Games + U-Sing - Girls Night (Europe) (En,Fr,De,Nl) + + + + Games + Reel Fishing - Angler's Dream (USA) + + + + Games + Arcade Shooting Gallery (USA) (En,Fr,Es) + + + + Games + Arcade Zone (USA) (En,Fr) + + + + Games + ATV Quad Kings (USA) (En,Fr,Es) + + + + Games + Backyard Football (USA) + + + + Games + Backyard Football '09 (USA) + + + + Games + Imagine - Party Babyz (USA) (En,Fr,Es) + + + + Games + Build-A-Bear Workshop - Friendship Valley (USA) (En,Fr,Es) + + + + Games + Skylanders - Spyro's Adventure (Brazil) (En,Es) + + + + Games + Horse Life 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Hysteria Hospital - Emergency Ward (Europe) (En,Fr,De,Es,It) + + + + Games + Heavy Fire - Afghanistan (Europe) (En,Fr,De,Es,It) + + + + Games + Hyper Fighters (Europe) (En,Fr,Es) + + + + Games + DreamWorks Puss in Boots (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Neopets - Puzzle Adventure (Europe) (En,Fr,De,Es,Nl) + + + + Games + Cake Mania - In the Mix! (USA) + + + + Games + EA Sports Active - More Workouts (Europe, Australia) (En,Fr,De,Es,It,Nl) + + + + Games + We Sing Encore (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Western Heroes (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da) + + + + Games + Dance Dance Revolution - Hottest Party 2 (USA) + + + + Games + Disney Channel - All Star Party (USA) (En,Fr,Es) + + + + Games + Dream Dance & Cheer (USA) (En,Fr,Es) + + + + Games + Hysteria Hospital - Emergency Ward (USA) (En,Fr,Es) + + + + Games + Impossible Mission (USA) + + + + Games + Indianapolis 500 Legends (USA) + + + + Games + Monster Mayhem - Build and Battle (USA) + + + + Games + Monster 4x4 - Stunt Racer (USA) (En,Fr,Es) + + + + Games + NBA Live 09 - All-Play (USA) (En,Fr) + + + + Games + Paws & Claws - Pet Resort (USA) + + + + Games + Petz - Catz 2 (USA) (En,Fr,Es) + + + + Games + Barbie and the Three Musketeers (USA) (En,Fr) + + + + Games + Aladdin Magic Racer (USA) + + + + Games + Ride (Scandinavia) (Sv,No,Da,Fi) + + + + Games + Zumba Fitness Core (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi) + + + + Games + We Sing Pop! (USA) (En,Fr,Es) + + + + Games + Hasbro Family Game Night Fun Pack (USA) + + + + Games + Mario Party 9 (Asia) + + + + Games + New Super Mario Bros. Wii (Asia) + + + + Games + Super Mario Galaxy 2 (Asia) + + + + Games + Crazy Quiz! (Europe) (En,Fr,De,Es) + + + + Games + Sudoku Ball - Detective (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + My Animal Centre (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Jillian Michaels' Fitness Ultimatum 2009 (Europe) (En,Fr,De,Es,It) + + + + Games + Purr Pals (Europe) (En,Fr,De,Es,It) + + + + Games + Magic Roundabout, The (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Repetto Paris Ballerina (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Play Gardens (Europe) (En,Fr,De,Es,It) + + + + Games + Barbie & Her Sisters - Puppy Rescue (Europe) (En,Fr,De,Es,It) + + + + Games + Spiderwick Chronicles, The (Europe) (En,Fr,De,Es,It) + + + + Games + Dragon Ball Z - Budokai Tenkaichi 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Driver - Parallel Lines (Europe) (En,Fr,De,Es,It) + + + + Games + Nickelodeon Avatar - The Legend of Aang - Into the Inferno (Europe) (En,De,Nl,Sv,No,Da,Fi) + + + + Games + FIFA 14 - Legacy Edition (Europe) (En,Fr,Nl) + + + + Games + DreamWorks Bee Movie Game (Europe) (En,Nl) + + + + Games + FaceBreaker K.O. Party (Europe) (En,Fr,De) + + + + Games + Go West! A Lucky Luke Adventure (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Bratz - Girlz Really Rock (Europe) (Fr,Nl) + + + + Games + Disney Infinity (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Kidz Sports Crazy Mini Golf (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + It's My Circus (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Mini Desktop Racing (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Kawasaki Jet Ski (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Kawasaki Quad Bikes (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Monster 4x4 - Stunt Racer (Europe) (En,Fr,De,Es,It) + + + + Games + New Carnival Funfair Games (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + GP Classic Racing (Europe) (En,Fr,De,Es,It) + + + + Games + Samurai Warriors 3 (USA) (En,Fr,Es) + + + + Games + Remington Great American Bird Hunt (USA) + + + + Games + DreamWorks How to Train Your Dragon 2 (USA) (En,Fr,Es,Pt) + + + + Games + Scene It Bright Lights! Big Screen! (Canada) + + + + Games + Just Dance 2017 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Zumba Fitness 2 (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi) + + + + Games + Vacation Isle - Beach Party (Europe) (En,Fr,De,Es,It) + + + + Games + Disney Wreck-It Ralph (Europe) (En,Fr,De,Es,It,Nl,Sv) (Rev 1) + + + + Games + Barbie - Groom and Glam Pups (USA) (En,Fr,Es) + + + + Games + Planet 51 - The Game (USA) (En,Fr,Es) + + + + Games + Repetto Paris - Let's Play Ballerina (USA) (En,Fr,Es) + + + + Games + Rock Band - Country Track Pack (USA) + + + + Games + Showtime Championship Boxing (USA) + + + + Games + Spy Games - Elevator Mission (USA) + + + + Games + Tamagotchi - Party On! (USA) + + + + Games + Zumba Kids (Europe) (En,Fr,De,Es,It) + + + + Games + DreamWorks Super Star Kartz (Europe) (En,Fr,De,Es,It,Nl,Sv) + + + + Games + Disney Planes (Scandinavia) (En,Sv,No,Da,Fi) + + + + Games + Emergency Heroes (USA) (En,Fr,Es) + + + + Games + Cabela's Dangerous Hunts 2011 (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Iron Man 2 (Europe) (En,Fr,De,Es,It) + + + + Games + My Fitness Coach - Get in Shape (Europe, Australia) + + + + Games + Vegas Party (Europe) (En,Fr,De,Es,It) + + + + Games + Family Feud - 2012 Edition (USA) + + + + Games + Active Life - Magical Carnival (USA) (En,Fr,Es) + + + + Games + Let's Sing 2016 (USA) (En,Fr,Es) + + + + Games + Chavo, El (Latin America) (En,Es,Pt) + + + + Games + Sled Shred featuring the Jamaican Bobsled Team (USA) (En,Fr,Es) + + + + Games + SimAnimals - Africa (USA) (En,Fr) + + + + Games + Harvest Moon - Magical Melody (USA) + + + + Games + Space Chimps (USA) (En,Fr) + + + + Games + Speed 2 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Karaoke Joysound Wii - Enka Kayoukyoku-hen (Japan) (Rev 1) + + + + Games + Kyoufu Taikan - Juon (Japan) + + + + Games + Mahjong Taikai Wii (Japan) + + + + Games + Metroid Prime 2 - Dark Echoes (Japan) + + + + Games + Puyo Puyo! Puyopuyo 15th Anniversary (Japan) + + + + Games + Shape Boxing 2 - Wii de Enjoy Diet! (Japan) + + + + Games + Star Wars - The Force Unleashed (Japan) + + + + Games + Sukeban Shachou Rena Wii - Neko Shachou, Tsukaeru Shain Daiboshuu. (Japan) + + + + Games + Wi-Fi Taiou - Gensen Table Game Wii (Japan) + + + + Games + Yukinko Daisenpuu - Sayuki to Koyuki no Hie Hie Daisoudou (Japan) + + + + Games + Zenkoku Dekotora Matsuri (Japan) + + + + Games + LEGO Pirates of the Caribbean - The Video Game (USA) (En,Fr,Es) (Rev 1) + + + + Games + Transformers - Ultimate Battle Edition (USA) (En,Fr) + + + + Games + Disney Violetta - Rhythm & Music (Latin America) (En,Fr,Es,Pt) + + + + Games + Bigfoot - King of Crush (USA) (En,Fr,Es) + + + + Games + Nickelodeon iCarly 2 - iJoin the Click! (USA) + + + + Games + Karaoke Revolution Glee - Volume 2 (USA) (En,Fr,Es) (Rev 1) + + + + Games + Let's Paint (USA) (En,Fr) + + + + Games + Little League World Series Baseball 2009 (USA) + + + + Games + Man vs. Wild with Bear Grylls (USA) + + + + Games + Who Wants to Be a Millionaire (USA) + + + + Games + Project Runway (USA) + + + + Games + Miniclip Sushi Go-Round (USA) (En,Fr,Es) + + + + Games + Daring Game for Girls, The (USA) + + + + Games + Ultimate I Spy (USA) + + + + Games + Virtua Tennis 2009 (USA) (En,Fr,Es) + + + + Games + Winter Blast - Snow & Ice Games (USA) + + + + Games + World Championship Athletics (USA) (En,Fr,Es) + + + + Games + World Party Games (USA) (En,Fr,Es) + + + + Games + Yoga (USA) (En,Fr,Es) + + + + Games + Zumba Kids (USA) + + + + Games + Call of Duty - Modern Warfare 3 (Canada) + + + + Games + Driver - Parallel Lines (USA) (En,Fr,Es) + + + + Games + Just Dance - Disney Party 2 (USA) (En,Fr,Es) + + + + Games + Spaghetti Western Shooter (Europe) (En,Fr,De,Es,It) + + + + Games + Nickelodeon Dance (Europe) (En,Fr,Es,Nl) + + + + Games + Kidz Sports Ice Hockey (USA) + + + + Games + Active Life - Extreme Challenge (USA) + + + + Games + Call of Duty - Black Ops (Canada) + + + + Games + Summer Stars 2012 (USA) (En,Fr,Es) + + + + Games + Science Papa (USA) (En,Fr) + + + + Games + Jimmie Johnson's Anything with an Engine (USA) (En,Fr,Es) + + + + Games + King of Fighters Collection, The - The Orochi Saga (USA) + + + + Games + Cosmic Family (Europe, Australia) (En,Fr,De,Es,It,Nl) + + + + Games + Nick Jr. Go Diego Go! Safari Rescue (Europe, Australia) + + + + Games + Sesame Street - Elmo's A-to-Zoo Adventure - The Videogame (Australia) + + + + Games + ZhuZhu Pets - Featuring the Wild Bunch (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Wii Sports (Taiwan) + + + + Games + Hajimete no Wii (Japan) (Rev 1) + + + + Games + Pokemon Battle Revolution (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + Cartoon Network - Punch Time Explosion XL (Europe) (En,Fr,De,Es,It) + + + + Games + Daisy Fuentes Pilates (Europe) (En,Fr,De,Es,It) + + + + Games + Boot Camp Academy (Europe) (En,Fr,De,It) + + + + Games + My Fitness Coach - Club (Europe) (En,Fr,De,Es,It) + + + + Games + Winter Sports 2012 - Feel the Spirit (Europe) (En,Fr,De,It) + + + + Games + Guitar Hero - Greatest Hits (Europe) (En,Fr,De,Es,It) + + + + Games + Atrevete a Sonar (Latin America) (En,Es) + + + + Games + WWE SmackDown vs. Raw 2009 (Europe) (En,Fr,De,Es,It) + + + + Games + Smurfs Party Pack, The (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Barbie - Jet, Set & Style! (Europe) (En,Fr,De,Es,It,Nl) (S3EP) + + + + Games + Active Life - Explorer (USA) (En,Fr,Es) + + + + Games + Nickelodeon Big Time Rush - Dance Party (USA) + + + + Games + Chevrolet Camaro - Wild Ride (USA) (En,Fr,Es) + + + + Games + Cold Stone Creamery - Scoop It Up (USA) (En,Fr,Es) + + + + Games + Cook Wars (USA) (En,Fr,Es) + + + + Games + Cranium Kabookii (USA) (En,Fr,Es) + + + + Games + Hyper Fighters (USA) (En,Fr,Es) + + + + Games + I Spy Game Pack (USA) + + + + Games + My Fitness Coach 2 - Exercise and Nutrition (USA) (En,Fr,Es) + + + + Games + Rudolph the Red-Nosed Reindeer (USA) + + + + Games + Super PickUps (USA) (En,Fr,Es) + + + + Games + Bass Pro Shops - The Strike - Tournament Edition (USA) + + + + Games + Swords (USA) + + + + Games + Summer Sports 2 - Island Sports Party (USA) + + + + Games + Disney Phineas and Ferb - Across the 2nd Dimension (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Skate City Heroes (Europe) (En,Fr,De,Es,It) + + + + Games + Black Eyed Peas Experience, The (Europe, Australia) (En,Fr,De,Es,It) (Special Edition) + + + + Games + Twin Strike - Operation Thunder (Europe) (En,Fr,De,Es,It) + + + + Games + Wacky World of Sports (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + WWE '12 (Europe) (En,Fr,De,Es,It) + + + + Games + PokePark 2 - Wonders Beyond (Europe) (En,Fr,De,Es,It) + + + + Games + Simpsons Game, The (UK) + + + + Games + Game Party 3 (Europe) (En,Fr,De,Es,It) + + + + Games + Let's Sing 2018 - Mit Deutschen Hits (Germany) (En,Fr,De,Es,It) + + + + Games + Monster High - Skultimate Roller Maze (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi) + + + + Games + Fishing Resort (USA) + + + + Games + Harley Davidson - Road Trip (USA) + + + + Games + Jewel Quest Trilogy (USA) + + + + Games + Kevin VanDam Big Bass Challenge (USA) (En,Fr,Es) + + + + Games + Let's Tap (USA) (En,Fr,Es) + + + + Games + MLB Superstars (USA) + + + + Games + Oops! Prank Party (USA) (En,Fr,Es) (Rev 1) + + + + Games + Party Pigs Farmyard Games (USA) + + + + Games + Pet Pals - Animal Doctor (USA) + + + + Games + Rock Blast (USA) + + + + Games + Sesame Street - Elmo's Musical Monsterpiece - The Videogame (USA) (En,Es) + + + + Games + Solitaire & Mahjong (USA) + + + + Games + Speed (USA) (En,Fr,Es) + + + + Games + Team Elimination Games (USA) (En,Fr,Es) + + + + Games + Grim Adventures of Billy & Mandy, The (Europe) + + + + Games + Dancing on Ice (Europe) + + + + Games + 007 - Quantum of Solace (Europe) (En,Fr,De,Es,It) + + + + Games + Deal or No Deal - Special Edition (USA) (En,Fr,Es) + + + + Games + Bibi & Tina - Das grosse Reiterfest (Germany) + + + + Games + Disney-Pixar Cars 2 (Europe) (Fr,De,It) + + + + Games + FIFA 12 (Europe) (De,Es,It) + + + + Games + FIFA 14 - Legacy Edition (Europe) (De,Es,It) + + + + Games + Inazuma Eleven Strikers (Europe) (En,Fr,De) + + + + Games + Mario & Sonic at the London 2012 Olympic Games (Europe) (En,Ja,Fr,De,Es,It,Nl,Ko) + + + + Games + Sports Island 3 (Europe) (En,Fr,De,Es,It) + + + + Games + Wii Sports Resort (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Fit & Fun - Your Virtual Personal Coach (Europe) + + + + Applications + Movie-Ch Install Disc Ver. A (USA) (En,Fr,Es) + + + + Games + Let's Sing 2014 (Europe) (En,Fr,De,Es,It) + + + + Games + Case Closed - The Mirapolis Investigation (Europe) (En,Fr,De,Es,It) + + + + Games + Disney Violetta - Rhythm & Music (Europe) (En,Fr,De,Es,It,Pt) + + + + Games + Meine ersten Mitsing-Lieder (Germany) + + + + Games + Disney The Princess and the Frog (Europe) (En,De,It,Ru) + + + + Demos + Mystery Case Files - The Malgrave Incident (USA) (Demo) + + + + Demos + Legend of Zelda, The - Skyward Sword (USA) (En,Fr,Es) (Demo) + + + + Demos + Boom Blox (USA) (En,Fr,Es) (Demo) + + + + Demos + Monster Hunter Tri (USA) (Demo) + + + + Demos + Oops! Prank Party (USA) (En,Fr,Es) (Demo) + + + + Demos + Activision Demo Action Pack (USA) + + + + Games + Aqua Panic! (USA) (En,Fr,Es) + + + + Games + Order Up! (USA) + + + + Games + Disney Sing It - Family Hits (USA) (En,Fr,Es) + + + + Games + American Mensa Academy (USA) + + + + Demos + Muramasa - The Demon Blade (USA) (Demo) + + + + Games + Smart Series Presents - Jaja's Adventure (USA) + + + + Games + Benjamin Bluemchen - Toeroeoeoe im Zoo (Germany) + + + + Games + Scooby-Doo! and the Spooky Swamp (USA) (En,Fr,Es) + + + + Games + Disney-Pixar Brave (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Disney-Pixar Toy Story 3 (Europe) (Fr,De,It,Nl) + + + + Games + DreamWorks How to Train Your Dragon (Europe) (En,Fr,De,Es,It) + + + + Games + Just Dance Kids (Europe) (En,Fr,De,Es,It) + + + + Games + Princess Lillifee - The Big Fairy Party (Europe) (En,Fr,De) + + + + Games + Space Camp (Europe) (En,Fr,De,Es,It) + + + + Games + Yogi Bear - The Video Game (Europe) (En,Fr,De,Es,It) + + + + Games + LEGO Batman 2 - DC Super Heroes (Europe) (En,Fr,De,Es,It,Nl,Da) + + + + Games + DreamWorks Penguins of Madagascar (Europe) (En,Fr,De,Es,It) + + + + Games + DreamWorks Turbo - Super Stunt Squad (Europe) (En,Fr,De,Es,It) + + + + Games + LEGO Indiana Jones 2 - The Adventure Continues (Europe) (En,Fr,De,Es,It,Da) (Rev 1) + + + + Games + Scooby-Doo! and the Spooky Swamp (Europe) (En,Fr,De,Es,It) + + + + Games + Disney Planes (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Ben 10 - Omniverse 2 (Europe) (En,Fr,De,Es,It) + + + + Demos + Disney Epic Mickey (USA) (Demo) + + + + Games + Rock Band - Country Track Pack 2 (USA) + + + + Games + Fritz Chess (USA) (En,Fr,Es) + + + + Games + Surf's Up (USA) (En,Fr,Es) + + + + Games + Jillian Michaels Fitness Ultimatum 2011 (USA) (En,Es) + + + + Games + Wild West Shootout (USA) (En,Fr,Es) + + + + Games + Dream Salon (USA) (En,Fr) (Rev 1) + + + + Games + Dino Strike (USA) (En,Fr,Es) + + + + Games + Maximum Racing - Rally Racer (USA) (En,Fr,Es) + + + + Games + Hooked! Real Motion Fishing (USA) + + + + Games + TrackMania - Build to Race (USA) (En,Fr,Es) + + + + Games + FIFA 15 (USA) (En,Fr,Es) + + + + Games + Deca Sports 3 (USA) (En,Fr,Es) + + + + Games + FIFA Soccer 12 (USA) (En,Fr,Es) + + + + Games + Barbie as the Island Princess (USA) + + + + Games + Grim Adventures of Billy & Mandy, The (USA) + + + + Games + Zumba Fitness - World Party (Europe) (En,Fr,De,Es,It) + + + + Games + Disney Princess - My Fairytale Adventure (Scandinavia) (En,Sv,No,Da) + + + + Games + Virtua Tennis 4 (USA) (En,Fr,Es) + + + + Games + Jelly Belly - Ballistic Beans! (Europe) (En,Fr,De,Es,It) + + + + Games + 2 in 1 - Pony Friends 2 + My Riding Stables - Life with Horses (Europe) (En,Fr,De,Es,It) + + + + Games + Disney Think - Das Schnelldenker-Quiz (Germany) + + + + Games + DreamWorks How to Train Your Dragon 2 (Europe) (En,Fr,De,Es,It,Pt) + + + + Games + de Blob (Scandinavia) (En,Sv,No,Da,Fi) + + + + Games + Tornado Outbreak (Europe) (En,Fr,De,Es,It) + + + + Games + Legend of Spyro, The - Dawn of the Dragon (Scandinavia) (En,Sv,No,Da,Fi) + + + + Games + Transformers - Ultimate Battle Edition (Europe) (En,Fr,De,Es,It) + + + + Games + North American Hunting Extravaganza 2 (Europe) + + + + Games + Skylanders - Spyro's Adventure (Scandinavia) (Sv,No,Da,Fi) (Rev 1) + + + + Games + Winter Sports 3 - The Great Tournament (USA) (En,Fr,Es) + + + + Games + Disney Epic Mickey 2 - The Power of Two (Europe) (Fr,De,It) + + + + Games + My Vet Practice (Europe) (En,Fr,De,Es,It) + + + + Games + Pet Vet - Marine Patrol (Europe) (En,De) + + + + Educational + Lernerfolg Grundschule Power Mathe - Der Kopfrechentrainer (Germany) (En,Fr,De,Es,It,Tr) + + + + Games + Overlord - Dark Legend (Europe) (En,Fr,De,Es,It) + + + + Games + Disney-Pixar WALL-E (Scandinavia) (En,Sv,No,Da) + + + + Games + Zumba Fitness Core (USA) (En,Fr,Es) + + + + Games + Disney-Pixar WALL-E (Europe) (Fr,Nl) + + + + Games + TrackMania (Europe) (En,Fr,De,Es,It) + + + + Games + Need for Speed - Undercover (Europe) (Fr,De) + + + + Games + Zumba Fitness - World Party (USA) + + + + Games + Barbie - Jet, Set & Style! (USA) (En,Fr,Es) + + + + Games + Top Model Academy (Europe) (En,Fr,Es,It) + + + + Games + My French Coach - Improve Your French (Europe) + + + + Games + Cheggers Party Quiz (Europe) (En,Fr,De,Es,It) + + + + Games + Kylie Sing & Dance (Europe) + + + + Games + Winter Sports 2 - The Next Challenge (USA) (En,Fr) + + + + Games + Cabela's Dangerous Hunts 2011 - Special Edition (USA) + + + + Games + Disney Epic Mickey 2 - The Power of Two (Europe) (En,Fr,Es,Nl,Pt,Tr) + + + + Games + Super Karts (Europe) (En,Fr,De,Es,It) + + + + Games + Disney Princess - My Fairytale Adventure (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Sims 3, The (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + World of Zoo (Europe) (En,Fr,De,Es,It,Nl,Sv,Da) + + + + Educational + Reader Rabbit - Kindergarten (Scandinavia) (Sv,No,Da,Fi) + + + + Games + Bakugan - Defenders of the Core (USA) (En,Fr) + + + + Games + Heathcliff! The Fast and the Furriest (USA) (En,Fr,Es) + + + + Games + Let's Play Garden (USA) (En,Fr,Es) + + + + Games + Medieval Games (USA) + + + + Games + Monster High - 13 Wishes (USA) (En,Fr,Es) + + + + Games + Baseball Blast! (USA) + + + + Demos + Calling (USA) (En,Fr,Es) (Demo) + + + + Games + Chuck E. Cheese's Sports Games (USA) + + + + Games + FIFA 08 (USA) (En,Es) + + + + Games + Gremlins - Gizmo (USA) (En,Fr,Es) + + + + Games + Grey's Anatomy - The Video Game (USA) (En,Fr,Es) + + + + Games + Jewel Master - Cradle of Rome (USA) + + + + Games + Maximum Racing - Super Karts (USA) (En,Fr,Es) + + + + Games + MiniCopter Adventure Flight (USA) + + + + Games + Pinball Hall of Fame - The Gottlieb Collection (USA) + + + + Games + Professor Heinz Wolff's Gravity (USA) (En,Fr,Es) + + + + Games + Water Sports (USA) + + + + Games + Mario Party 9 (Korea) + + + + Games + SSX Blur (Korea) + + + + Games + Fit in Six (USA) (En,Fr,Es) + + + + Games + Mathews Bow Hunting (USA) (En,Fr,Es) + + + + Games + Luxor 3 (USA) + + + + Games + Target - Terror (USA) + + + + Games + Cabela's North American Adventures (USA) + + + + Games + Create (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Ice Age 4 - Continental Drift - Arctic Games (Europe) (En,Fr,De,Es,Nl,Sv) + + + + Games + Imagine - Champion Rider (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Monopoly Streets (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + ABBA - You Can Dance (Europe) (En,Fr,De,Es,It,Sv,No,Da,Ro) + + + + Games + Just Dance 2 - Extra Songs (Europe) (En,Fr,De,Es,It) + + + + Games + Champion Jockey - G1 Jockey & Gallop Racer (USA) + + + + Applications + Wii Back Up Disc Ver. 1.31 (USA) + + + + Games + Just Dance 2015 (Europe, Australia) (En,Fr,De,Es,It,Nl) + + + + Games + Resident Evil - The Umbrella Chronicles (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + FIFA 14 (Latin America) (En,Fr,Es) + + + + Games + Lucha Libre AAA - Heroes del Ring (Latin America) (En,Es) + + + + Games + K-Pop Dance Festival (Korea) + + + + Games + Disney TRON - Evolution - Battle Grids (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Disney-Pixar Cars 2 (Scandinavia) (En,Sv,No,Da,Fi) + + + + Games + Skylanders - Giants (Brazil) (En,Es,Pt) + + + + Games + Dawn of Discovery (USA) + + + + Games + Jeep Thrills (USA) + + + + Games + Def Jam - Rapstar (USA) (En,Fr,De,Es,It,Pt) + + + + Games + New Super Mario Bros. Wii (Japan) (Rev 2) + + + + Games + Charm Girls Club - Pyjama Party (Europe, Australia) (En,Fr,De,Es,It,Nl) + + + + Games + Cabela's Adventure Camp (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Batman - The Brave and the Bold - The Videogame (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Disney's Chicken Little - Ace in Action (USA) + + + + Games + Jenga World Tour (Europe) (En,Fr,De,Es,It) + + + + Games + LEGO Batman - The Videogame (Europe) (En,Fr,De,Es,It,Da) + + + + Games + Disney Think Fast (Europe) + + + + Games + Disney Channel - All Star Party (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + America's Next Top Model (Europe) (En,De) + + + + Games + Where the Wild Things Are - The Videogame (Europe) (En,Fr,De,Es,It) + + + + Games + Ninja Reflex (Europe) (En,Fr,De,Es,It) + + + + Games + Walt Disney Pictures Presents Meet the Robinsons (Europe) (En,De,Es) + + + + Games + Doctor Who - Return to Earth (UK) + + + + Games + Domino Rally (USA) + + + + Games + Movie Games (USA) (En,Fr,Es) + + + + Games + Wii Sports (Korea) + + + + Games + FIFA 10 (Europe) (Fr,De) + + + + Games + Harry Potter and the Order of the Phoenix (Europe) (Fr,De,Es,It,Nl) + + + + Games + Pop'n Rhythm (Europe) (En,Fr,De,Es,It) + + + + Games + Medal of Honor - Heroes 2 (Europe) (Fr,De,Es,It) + + + + Games + Let's Party! (Europe) (En,Fr,De,Es,It) + + + + Games + Barbie - Groom and Glam Pups (Europe, Australia) (En,Fr,De,Es,It,Nl) (SB9P) + + + + Games + Mystery Case Files - The Malgrave Incident (Europe, Australia) (En,Fr,De,Es,It,Nl) + + + + Games + Nickelodeon Dora the Explorer - Dora Saves the Snow Princess (Europe) (En,Fr,Nl) + + + + Games + Food Network - Cook or Be Cooked (USA) + + + + Games + Get Fit with Mel B (USA) (En,Fr,Es) + + + + Games + Max & the Magic Marker (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Dance Juniors (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Just Dance 2016 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Disney-Pixar Cars (Europe) (En,Es) + + + + Games + Disney-Pixar Cars - Mater-National Championship (Europe) (En,Es) + + + + Games + Disney-Pixar Cars - Race-O-Rama (Europe) (En,Fr,Es,It) + + + + Games + Disney-Pixar Cars Toon - Mater's Tall Tales (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + DreamWorks The Croods - Prehistoric Party! (Europe) (En,Fr,De,Es,It) + + + + Games + Garfield Show, The - Threat of the Space Lasagna (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da) + + + + Games + Millennium European Paintball Series, The - Championship Paintball 2009 (Europe) + + + + Games + Monster Jam - Path of Destruction (Europe) (En,Fr,Es,It,Nl) + + + + Games + Margot's Word Brain (Europe) (En,Fr,De,Es,It) + + + + Games + Golden Balls (UK) + + + + Games + Monster Lab (Europe) (En,Fr,De,Es,It) + + + + Games + Space Chimps (Europe) (En,Es) + + + + Games + Space Chimps (Europe) (En,Fr,De,Es,It) + + + + Games + It's My Birthday (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Just Dance - Best Of (Europe) (En,Fr,De,Es,It) + + + + Games + Real Heroes - Firefighter (Europe) (En,Fr,De,Es,It) + + + + Games + Spider-Man 3 (Europe) (Rev 1) + + + + Games + GTI Club Supermini Festa! (USA) (En,Fr) + + + + Games + Cabela's Survival - Shadows of Katmai (Europe) (En,Fr,De,Es,It) + + + + Games + Catz (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Cocoto Magic Circus (Scandinavia) (Sv,No,Da) + + + + Games + Major Minor's Majestic March (Europe) (En,Fr,De) + + + + Games + One Piece - Unlimited Cruise 2 - Awakening of a Hero (Europe) (En,Fr,De,Es,It) + + + + Games + Dance Dance Revolution - Hottest Party 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Emergency Mayhem (Europe) (En,Fr,De,Es,It) + + + + Games + Kidz Sports Crazy Mini Golf 2 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Monster Jam - Urban Assault (Europe) (En,Fr,De,Es,It) + + + + Games + NBA Jam (Europe) + + + + Games + Offroad Extreme! (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Speed (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Sprint Cars (Europe) (En,Fr,De,Es,It) + + + + Games + Ultimate Red Ball Challenge, The (Europe) (En,Fr,Nl) + + + + Games + Wild West Shootout (Europe) (En,Fr,De,Es,It) + + + + Games + WWE SmackDown vs. Raw 2008 (UK) + + + + Games + Need for Speed - Carbon (France) + + + + Games + Need for Speed - ProStreet (Europe) (Fr,De) + + + + Games + Purr Pals (USA) + + + + Games + Dance Dance Revolution - Hottest Party 3 (Europe) (En,Fr,De,Es,It) + + + + Games + Disney-Pixar Cars (Europe) (Fr,Nl) + + + + Games + NBA 2K10 (Europe) (En,Fr,De,Es,It) + + + + Games + Kart Racer (Europe) (En,Fr,De,Es,It) + + + + Games + DreamWorks Kung Fu Panda - Legendary Warriors (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + DreamWorks Kung Fu Panda (Europe) (De,Es) + + + + Games + King of Pool (Europe) (En,Fr,De,Es,It) + + + + Games + NBA Live 08 (Europe) (En,Fr,De,Es,It) + + + + Games + Ninja Captains (Europe) (En,Fr,De,Es,It) + + + + Games + NBA 2K12 (Europe) (En,Fr,De,Es,It) + + + + Games + K11 - Kommissare im Einsatz (Germany) + + + + Games + NCIS - Based on the TV Series (Europe) (En,Fr,De,Es,It) + + + + Games + NBA Jam (Europe) (Rev 1) + + + + Games + Pop'n Music (USA) (En,Fr,Es) + + + + Games + NHL 2K10 (Europe) (En,Fr,De) + + + + Games + Karaoke Revolution (Europe) (En,Fr,De,Es,It,Pt,Sv,No,Da,Fi) + + + + Games + NHL 2K9 (Europe) (En,Fr,De,Es,It) + + + + Games + NewU Fitness First Personal Trainer (Europe) (En,Fr,De,Es,It) + + + + Games + Nat Geo Quiz! Wild Life (Europe) (En,Fr,De,Es,It) + + + + Games + NHL 2K11 (Europe) (En,Fr,De) + + + + Games + Karaoke Revolution Glee (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + NewU Fitness First Mind Body - Yoga & Pilates Workout (Europe) (En,Fr,De,Es,It) + + + + Games + Nat Geo Challenge! Wild Life (USA) (En,Fr,Es) + + + + Games + NBA 2K12 (USA) (En,Fr,Es) + + + + Games + UFC Personal Trainer - The Ultimate Fitness System (Europe) (En,Fr,De,Es,Nl) + + + + Games + Cursed Mountain (USA) (En,Fr,Es) + + + + Games + Defendin' De Penguin (USA) (En,Es) + + + + Games + PBR - Out of the Chute (USA) + + + + Games + Ultimate Duck Hunting - Hunting & Retrieving Ducks (USA) (En,Fr,Es) (Rev 1) + + + + Games + Minon - Everyday Hero (Europe) (En,Fr,De,Es,It) + + + + Games + Agatha Christie - Evil Under the Sun (Europe) (En,Fr,De,Es,It) + + + + Games + Geometry Wars - Galaxies (Europe) (En,Fr,De,Es,It) + + + + Games + Disney Bolt (Europe) (En,Es,It) + + + + Games + Karaoke Revolution (USA) (En,Fr,Es,Pt) + + + + Games + Marble Saga - Kororinpa (USA) (En,Fr,Es) + + + + Games + DreamWorks Madagascar 3 - The Video Game (USA) (En,Fr,Es) + + + + Games + Monster High - Skultimate Roller Maze (USA) (En,Fr,Es) + + + + Games + Monster Trucks Mayhem (USA) (En,Fr,Es) + + + + Games + Monster High - Ghoul Spirit (USA) (En,Fr,Es) + + + + Games + Mr Bean's Wacky World (USA) + + + + Games + NASCAR the Game - Inside Line (USA) + + + + Games + NBA 2K11 (USA) (En,Fr,Es) + + + + Games + Pirate Blast (USA) (En,Fr,Es) + + + + Games + MTV Pimp My Ride (USA) + + + + Games + Golden Compass, The (Scandinavia) (En,Nl,Sv,No,Da) + + + + Games + Fantastic Four - Rise of the Silver Surfer (Europe) (En,Fr,De,Es,It) + + + + Games + G.I. Joe - The Rise of Cobra (Europe) (En,Fr,De,Es,It) + + + + Games + Jewel Master - Cradle of Rome (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Score International Baja 1000 - World Championship Off Road Racing (Europe) + + + + Games + Transformers - The Game (Europe) + + + + Games + Vertigo (Europe) (En,Fr,De,Es,It) + + + + Games + Who Wants to Be a Millionaire - 2nd Edition (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + X-Men Origins - Wolverine (Europe) (En,Fr) + + + + Games + WWE All Stars (Europe) (En,Fr,De,Es,It) + + + + Games + Barbie Horse Adventures - Riding Camp (USA) (En,Fr) + + + + Games + Chuck E. Cheese's Party Games (USA) + + + + Games + Crazy Mini Golf 2 (Canada) (En,Fr,Es) + + + + Games + Dance on Broadway (USA) (En,Fr,Es) + + + + Games + Little League World Series Baseball 2008 (USA) + + + + Games + Littlest Pet Shop (USA) (En,Fr,Es) + + + + Games + Need for Speed - Hot Pursuit (USA) (En,Fr,Es) + + + + Games + MTV Pimp My Ride (Europe) (En,Fr,De,Es,It) + + + + Games + Pool Party (Europe) (En,Fr,De,Es,It) + + + + Games + Diabolik - The Original Sin (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Runaway - The Dream of the Turtle (Europe) (En,Fr,De,Es,It) + + + + Games + MIB - Alien Crisis (Europe) (En,Fr,De,Es,It) + + + + Games + Samurai Warriors 3 (Europe) (En,Fr,De,Es,It) + + + + Games + Ben 10 - Ultimate Alien - Cosmic Destruction (Europe) (En,Fr,De,Es,It) + + + + Games + DreamWorks Megamind - Mega Team Unite (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + DreamWorks The Penguins of Madagascar - Dr. Blowhole Returns - Again! (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Generator Rex - Agent of Providence (Europe) (En,Fr,De,Es,It) + + + + Games + Barbie Dreamhouse Party (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi) + + + + Games + Fit Music (Europe) (En,Fr,De,Es,It) + + + + Games + Crazy Chicken Tales (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Hugo - Magic in the Trollwoods (Scandinavia) (En,Sv,No,Da,Fi) + + + + Games + Michael Jackson - The Experience (Europe) (En,Fr,De,Es,It) + + + + Games + Madden NFL 10 (Europe) + + + + Games + CSI - Crime Scene Investigation - Deadly Intent (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Ice Age 3 - Dawn of the Dinosaurs (Europe) (En,Fr,De,Es,Nl,Sv) + + + + Games + Looney Tunes - Acme Arsenal (Europe) (En,Fr,De,Es,It) + + + + Games + NBA Live 09 - All-Play (Europe) (En,De,It) + + + + Games + Block Party - 20 Games (Europe) (En,Fr,De,Es,It) + + + + Games + Pool Hall Pro (Europe) (En,Fr,De,Es,It) + + + + Games + PDC World Championship Darts - Pro Tour (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Nickelodeon Fit (Europe) (En,Fr,Nl) + + + + Games + Green Lantern - Rise of the Manhunters (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Top Model (Europe) + + + + Games + Nickelodeon Barnyard (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Spy Fox in Dry Cereal (Europe) (En,Fr,De,Nl) + + + + Games + Littlest Pet Shop (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi,Pl,Cs) + + + + Games + Puzzler Collection (Europe) (Fr,De,Es,It,Nl) + + + + Games + World Championship Sports - Summer (Europe) (En,Fr,De,Es,It) + + + + Games + Family Trainer - Treasure Adventure (Europe) (En,Fr,De,Es,It) + + + + Games + Fantastic Football Fan Party (Europe) (En,Fr,De,Es,It) + + + + Games + Cocoto Kart Racer 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Summer Athletics 2009 (Europe) (En,Fr,De,Es,It) + + + + Games + Last Airbender, The (Europe) (En,Fr,De,Es,It) (Special Edition) + + + + Games + Pictionary (USA) (En,Fr,Es) + + + + Games + PES 2008 - Pro Evolution Soccer (USA) (En,Fr,Es) + + + + Games + Go Vacation (USA) (En,Fr,Es) + + + + Games + London Taxi - Rushour (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Calvin Tucker's Farm Animal Racing (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + We Sing UK Hits (Europe) (En,Fr,De,Es,It) + + + + Games + Just Dance - Disney Party 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Just Dance 3 (Europe) (En,Fr,De,Es,It) + + + + Games + Racket Sports Party (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Ultimate Red Ball Challenge, The (Europe) + + + + Educational + Reader Rabbit - 1st Grade (Scandinavia) (Sv,No,Da,Fi) + + + + Games + Disney-Pixar Toy Story 3 (Scandinavia) (Sv,No,Da,Fi) (Rev 1) + + + + Games + Champion Jockey - G1 Jockey & Gallop Racer (Europe) + + + + Games + Disney Universe (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Are You Smarter than a 5th Grader Back to School (USA) + + + + Games + Nickelodeon Avatar - The Last Airbender (USA) + + + + Games + Crazy Chicken Tales (USA) (En,Fr,Es) + + + + Games + George of the Jungle and the Search for the Secret (USA) + + + + Games + Cyberbike - Cycling Sports (Europe) (En,Fr,De,Es,It,Nl,Pt) + + + + Games + Disney The Princess and the Frog (Europe) (En,Fr,Es,Nl) + + + + Games + Gormiti - The Lords of Nature! (Europe) (En,Fr,De,Es,It) + + + + Games + Stunt Flyer - Hero of the Skies (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Super Truck Racer (Europe) (En,Fr,De,Es,It) + + + + Games + Legend of Spyro, The - The Eternal Night (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Let's Sing 2016 (Europe) (En,Fr,De,Es,It) + + + + Educational + Reader Rabbit - 2nd Grade (Scandinavia) (Sv,No,Da,Fi) + + + + Games + Dance Party Pop Hits (Europe) (En,Fr,De,Es,It) + + + + Games + Monster Trux Arenas (UK) + + + + Games + Cruise Ship Resort (Europe) (En,Fr) + + + + Games + Junior Fitness Trainer (UK) + + + + Games + PDC World Championship Darts 2009 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Crash of the Titans (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Scarface - The World Is Yours (Europe) (En,Fr,Es,It) + + + + Games + Dino Strike (Europe) (En,Fr,De,Es,It) + + + + Games + Studio 100 Speeleiland, Het (Netherlands) + + + + Games + Disney-Pixar Up (Europe) (En,Fr) + + + + Games + Daenantu Smash Brothers X (Korea) + + + + Games + Hip Hop Dance Experience, The (USA) (En,Fr,Es) + + + + Games + Cate West - The Vanishing Files (Europe) + + + + Games + PES 2009 - Pro Evolution Soccer (USA) (En,Fr,Es,Pt) + + + + Games + Smurfs 2, The (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Surf's Up (Europe) (En,Fr,Es) + + + + Games + Lost in Blue - Shipwrecked (Europe) (En,Fr,De,Es,It) + + + + Games + Love Is... in Bloom (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Go Play - Lumberjacks (Europe) (En,Fr,De) (Rev 1) + + + + Games + Off Road (Europe) (En,Fr,De,Es,It) + + + + Games + Disney-Pixar Oben (Germany) + + + + Games + Let's Sing 2017 - Mit Deutschen Hits! (Germany) (En,Fr,De,Es,It) + + + + Educational + Lernerfolg Grundschule Deutsch (Germany) (De,Tr) + + + + Educational + Lernerfolg Grundschule Englisch (Germany) (Fr,De,Es,It,Tr) + + + + Educational + Lernerfolg Grundschule Mathematik (Germany) (En,Fr,De,Es,It,Tr) + + + + Games + Let's Dance with Mel B (Europe) (En,Fr,De,Es,It) + + + + Games + Let's Sing (Europe) (En,Fr,De,Es,It) + + + + Games + Let's Sing 2015 (Europe) (En,Fr,De,Es,It) + + + + Games + Ben 10 - Protector of Earth (UK) + + + + Games + Disney Sing It (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Family Party - 30 Great Games - Outdoor Fun (Europe) (En,Fr,De,Es,It) + + + + Games + Jillian Michaels Fitness Ultimatum 2010 (Europe) (En,Fr,De,Es,It) + + + + Games + PES 2011 - Pro Evolution Soccer (USA) (En,Fr,Es,Pt) + + + + Games + Just Dance 2018 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + PES 2010 - Pro Evolution Soccer (USA) (En,Fr,Es,Pt) + + + + Games + PES 2013 - Pro Evolution Soccer (USA) (En,Fr,Es,Pt) + + + + Games + Skylanders - Swap Force (Europe, Australia) (En,De) + + + + Games + PES 2012 - Pro Evolution Soccer (USA) (En,Fr,Es,Pt) + + + + Games + Animal Crossing - City Folk (USA, Asia) (En,Fr,Es) (Rev 1) + + + + Games + Wheel of Fortune (Europe) + + + + Games + Disney-Pixar Brave (USA) (En,Fr,Es) + + + + Games + Deer Drive Legends (USA) (En,Fr,Es) + + + + Games + Monster Trux Arenas - Special Edition (USA) + + + + Games + New Carnival Games (USA) (En,Fr,Es) + + + + Games + Nickelodeon Fit (USA) (En,Fr) (Rev 1) + + + + Games + Our House - Party! (USA) + + + + Games + PDC World Championship Darts (USA) + + + + Games + Disney Phineas and Ferb - Quest for Cool Stuff (USA) + + + + Games + Bass Pro Shops - The Hunt - Trophy Showdown (USA) + + + + Games + DreamWorks Penguins of Madagascar (USA) (En,Fr,Es,Pt) + + + + Games + Ninjabread Man (USA) + + + + Games + Celebrity Sports Showdown (USA) (En,Fr,Es) + + + + Games + Disney High School Musical - Sing It! (USA) (En,Fr) + + + + Games + Green Day - Rock Band (USA) (En,Fr,Es) + + + + Games + Nickelodeon Fit (USA) + + + + Games + Nickelodeon Go Diego Go! Great Dinosaur Rescue (USA) + + + + Games + Hot Wheels - Track Attack (USA) (En,Fr,Es) + + + + Games + Disney Princess - Enchanting Storybooks (USA) (En,Fr) + + + + Demos + Marble Saga - Kororinpa (USA) (En,Es) (Demo) + + + + Games + DreamWorks Madagascar Kartz (USA) (En,Fr) + + + + Games + Crazy Machines (USA) + + + + Games + Bratz - The Movie (Germany) + + + + Games + Bomberman Land Wii (Europe) (En,Fr,De,Es,It) + + + + Games + DreamWorks Bee Movie Game (Europe) (Fr,De,Es,It) + + + + Games + Ben 10 - Protector of Earth (Europe) (En,Fr,De,Es,It) + + + + Games + Billy the Wizard - Rocket Broomstick Racing (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Disney Bolt (Europe) (Fr,De,Nl) + + + + Games + Bigfoot - Collision Course (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Ben 10 - Omniverse (Europe) (En,Fr,De,Es,It) + + + + Games + Bermuda Triangle (Europe) (En,Fr,De,Es,It) + + + + Games + Beastly (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Battle vs. Chess (Europe) (En,Fr,De,Es,It) + + + + Games + CSI - Crime Scene Investigation - Deadly Intent (USA) (En,Fr,Es) + + + + Games + Six Flags Fun Park (USA) (En,Fr) + + + + Games + Mountain Sports (USA) (En,Fr) + + + + Games + Family Fun Football (USA) + + + + Games + Luxor - Pharaoh's Challenge (USA) + + + + Games + Hotel for Dogs (USA) + + + + Games + Ocean Commander (USA) + + + + Games + Haunted House (USA) (En,Fr) + + + + Games + Jaws - Ultimate Predator (USA) (En,Es) + + + + Games + Junior League Sports (USA) (En,Fr,Es) + + + + Games + JumpStart Pet Rescue (USA) + + + + Games + Minute to Win It (USA) (En,Fr,Es) + + + + Games + Cabela's Hunting Expeditions (USA) + + + + Games + Hamster Heroes (Europe) (En,Fr,De,Es,It,Nl) + + + + Demos + Winning Eleven Play Maker 2008 (Japan) (Taikenban) + + + + Games + 101-in-1 Party Megamix Wii (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Disney-Pixar Cars 2 (Russia) + + + + Games + Bionicle Heroes (Europe) (En,Fr,De,Es,It,Da) + + + + Games + Disney - Pixar Arabalar 2 (Turkey) + + + + Games + Bleach - Shattered Blade (Europe) (En,Fr,De,Es,It) + + + + Games + Fix It - Home Improvement Challenge (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Bob the Builder - Festival of Fun (Europe) (En,Fr,De,Es,Nl) (Rev 1) + + + + Games + Doctor Fizzwizzle's Animal Rescue (USA) + + + + Games + 101-in-1 Sports Party Megamix (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Bakugan - Battle Brawlers (Europe) (En,Fr,De,Es,It,Nl,Sv) (Toys R Us) + + + + Games + Blast Works - Build, Trade, Destroy (Europe) (En,Fr,De) + + + + Games + Brave - A Warrior's Tale (Europe) (En,Fr,De,Es,It) + + + + Games + Disney Think Fast (Russia) + + + + Demos + Just Dance 2 (Europe) (En,Fr,De,Es,It) (Demo) + + + + Games + Zoo Hospital (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Disney-Pixar Toy Story Mania! (Russia) + + + + Games + Super Paper Mario (USA) (Rev 1) + + + + Games + Disney-Pixar Cars Toon - Mater's Tall Tales (Scandinavia) (En,Sv,No,Da) (Rev 1) + + + + Games + Myth Makers - Super Kart GP (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + U-Sing 2 (Europe) + + + + Games + Alvin and the Chipmunks - Chipwrecked (Europe) (Fr,De,Es,It) + + + + Games + Animal Planet - Vet Life (USA) + + + + Games + Harley Pasternak's Hollywood Workout (USA) + + + + Games + Bermuda Triangle - Saving the Coral (USA) + + + + Games + Dance Dance Revolution II (USA) (En,Fr,Es) + + + + Games + Disney TRON - Evolution - Battle Grids (USA) (En,Fr,Es) (Championship Edition) + + + + Games + Mama's 2-Pack (USA) + + + + Games + Skylanders - SuperChargers Racing (USA) (En,Fr,Es,Pt) + + + + Games + Disney-Pixar Cars Toon - Mater's Tall Tales (USA) (En,Fr,Es) + + + + Games + Busy Scissors (USA) (En,Fr,Es) + + + + Demos + Deca Sports 2 (USA) (En,Fr,Es) (Demo) + + + + Demos + Rooms - The Main Building (USA) (En,Fr,Es) (Demo) + + + + Games + Deer Drive (Europe) (En,Fr,De,Es,It) + + + + Games + Escape the Museum (Europe) + + + + Games + George of the Jungle (Europe) (En,Fr,De,Es,It) + + + + Games + Jeep Thrills (Europe) (En,Fr,De,Es,It) + + + + Games + Kidz Sports International Football (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Think - Train Je Brein (Netherlands) + + + + Games + DreamWorks Kung Fu Panda (Europe) (En,Fr,Nl) + + + + Games + NBA Live 08 (UK) + + + + Games + Monster Trux Arenas (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Urban Extreme - Street Rage (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Pheasants Forever (Europe) + + + + Games + Pirate Blast (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Anubis II (UK) + + + + Games + Cheongongui Gisa Rodea (Korea) + + + + Games + Dance Dance Revolution (USA) (En,Fr,Es) + + + + Games + Story Hour - Adventures (Europe) (En,Fr,De,Es,It) + + + + Games + Margot's Bepuzzled! (Europe) (En,Fr,De,Es,It) + + + + Games + Mountain Sports (Europe) (En,Fr,De,Es,It) + + + + Games + Mr Bean's Wacky World of Wii (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) + + + + Games + Mushroom Men - The Spore Wars (Europe) (En,Fr,De,Es,It) + + + + Games + Monster Jam (Europe) (En,Fr,De,Es,It) + + + + Games + Marvel - Ultimate Alliance 2 (Europe) + + + + Games + Crazy Chicken - Carnival (Europe) (En,Fr,De,Es,It) + + + + Games + Marvel Super Heroes 3D - Grandmaster's Challenge (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da) + + + + Games + Marvel Super Hero Squad - Comic Combat (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Musiic Party - Rock the House (Europe) (En,Fr,De,Es,It) + + + + Games + My Body Coach (Europe) (En,Fr,De,Es,It,Nl,Pt) + + + + Games + My Horse Club - On the Trail of the Mysterious Appaloosa (Europe) (De,It) + + + + Games + My Fitness Coach - Get in Shape (Europe) (En,Fr,De,Es,It) + + + + Games + My Horse & Me (Europe) (En,Fr,De,Es,It,Nl,Sv,Da) + + + + Games + Horse & Pony - My Riding Stables (Europe) (En,Fr,De,Es,It) + + + + Games + Meine Tierpension (Germany) + + + + Games + MX vs. ATV Untamed (Europe) + + + + Games + Mein Wortschatz-Coach (Germany) (Rev 1) + + + + Games + My Horse & Me 2 (Europe) (En,Fr,De,Es,It,Nl,Sv) + + + + Games + My Body Coach 2 - Fitness & Dance (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da,Fi) + + + + Games + Just Dance 2 (USA) (En,Fr,Es) (Best Buy Edition) + + + + Games + Just Dance 3 (USA) (En,Fr,Es) (Best Buy) (Rev 1) + + + + Demos + Help Wanted (USA) (En,Fr,Es) (Demo) + + + + Games + Just Dance Kids 2014 (Europe) (En,Fr,Es) + + + + Games + Puppy Luv - Your New Best Friend (Europe) (En,Fr,Es,It) + + + + Games + Now! That's What I Call Music - Dance & Sing (Europe) + + + + Games + Get Up and Dance (Europe) (En,Fr,De,Es,It) + + + + Games + Dance! It's Your Stage (Europe) (En,De) + + + + Applications + Wii Menu Install Disc (Ver. 2) (World) + + + + Games + Call of Duty - Modern Warfare 3 (Italy) + + + + Games + Honda ATV Fever (USA) (En,Fr,Es) + + + + Games + M&M's Adventure (USA) + + + + Games + Code Lyoko - Quest for Infinity (Europe) (En,Fr,Es,It) + + + + Games + Pekin Express (France) + + + + Games + Game Party (USA) + + + + Games + Michael Jackson - The Experience (USA) (En,Fr,Es) (Walmart) + + + + Games + Cyberbike - Cycling Sports (USA) (En,Fr,Es) + + + + Games + Isola dei Famosi, L' (Italy) + + + + Games + U-Sing (Italy) (Rev 1) + + + + Games + Jungle Kartz (Europe) (En,Fr,De,Es,It) + + + + Games + Cloudy with a Chance of Meatballs (UK) + + + + Games + Drag & Stock Racer (Europe) (En,Fr,De,Es,It) + + + + Games + Disney-Pixar Toy Story Mania! (Europe) (En,Es,Sv,No,Da) + + + + Games + Disney Hannah Montana - Spotlight World Tour (Scandinavia) (En,Sv,No,Da) + + + + Games + Disney G-Force (Scandinavia) (En,Sv,No,Da) + + + + Games + Super Fruit Fall (USA) + + + + Games + Hasbro Family Game Night Value Pack (USA) + + + + Games + Last Airbender, The (USA) (En,Fr) (Toys R Us) + + + + Games + Wheel of Fortune (USA) + + + + Games + Beyblade - Metal Fusion - Battle Fortress (USA) (En,Fr,Es) + + + + Games + Chicken Riot (USA) (En,Fr,Es) (Rev 1) + + + + Games + Crayola Colorful Journey (USA) + + + + Games + Hello Kitty Seasons (USA) (En,Fr,Es) + + + + Games + Horse Life Adventures (USA) (En,Fr,Es) + + + + Games + Kart Racer (USA) + + + + Games + Yu-Gi-Oh! 5D's - Duel Transer (USA) (En,Fr,Es) + + + + Games + Bienvenue chez les Ch'tis (France) + + + + Games + Twin Strike - Operation Thunder (USA) (En,Fr,Es) + + + + Games + Marvel Super Hero Squad (USA) (En,Fr,Es) (Walmart) + + + + Games + Calling (USA) (En,Fr,Es) + + + + Games + Countdown - The Game (Europe) + + + + Games + Pippa Funnell - Ranch Rescue (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Nickelodeon SpongeBob's Atlantis SquarePantis (Europe) (En,Fr,De) + + + + Games + Free Running (Europe) (En,Fr,De,Es,It) + + + + Games + Dance Dance Revolution - Hottest Party 4 (Europe) (En,Fr,De,Es,It) + + + + Games + Nickelodeon Dora the Explorer - Dora Saves the Crystal Kingdom (USA) + + + + Games + Bratz - The Movie (Scandinavia) (Sv,Da) + + + + Games + Disney-Pixar Brave (Scandinavia) (En,Sv,No,Da) + + + + Games + Thomas & Friends - Hero of the Rails (Scandinavia) (Sv,No,Da) + + + + Games + Wonder World Amusement Park (UK) + + + + Games + U-Sing 2 - Australian Edition (Australia) + + + + Games + Call of Duty - Modern Warfare 3 (Spain) + + + + Games + Disney Think Fast (Europe) (Es,It) + + + + Games + FIFA 11 (Europe) (De,Es,It) + + + + Games + Voz, La (Spain) + + + + Games + Voz Vol. 3, La (Spain) (En,Es) + + + + Games + Let's Sing 2017 (Europe) (En,Fr,De,Es,It) + + + + Games + Let's Sing 5 - Version Espanola (Spain) (En,Fr,De,Es,It) + + + + Games + Let's Sing 6 - Version Espanola (Spain) (En,Fr,De,Es,It) + + + + Games + Let's Sing 7 - Version Espanola (Spain) (En,Fr,De,Es,It) + + + + Games + Let's Sing 9 - Version Espanola (Spain) (En,Fr,De,Es,It) + + + + Games + 40 Principales, Los - Karaoke Party Vol. 2 (Spain) (En,Es) + + + + Games + Mi Experto en Vocabulario (Spain) + + + + Games + PES 2009 - Pro Evolution Soccer (Europe) (Es,It,Pt) + + + + Games + PES 2011 - Pro Evolution Soccer (Europe) (Es,It,Pt) (Rev 1) + + + + Games + PES 2012 - Pro Evolution Soccer (Europe) (Es,It,Pt) + + + + Games + PES 2013 - Pro Evolution Soccer (Europe) (Es,It,Pt) + + + + Games + Supervivientes (Spain) + + + + Games + U-Sing 2 (Spain) + + + + Games + Gold's Gym - Cardio Workout (Australia) (En,Fr,Es) + + + + Games + Remington Super Slam Hunting - Africa (Australia) + + + + Games + Scarface - The World Is Yours (Australia) + + + + Games + Sesame Street - Cookie's Counting Carnival - The Videogame (Australia) + + + + Games + We Sing Down Under (Australia) + + + + Games + Legend of Zelda, The - Skyward Sword (Europe) (En,Fr,De,Es,It) (Rev 2) + + + + Games + SimCity Creator (Australia) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + MySims Kingdom (Australia) (En,Fr,De,Es,It,Nl,Pt,Sv,Fi,Pl,Cs,Hu) (Rev 1) + + + + Games + Offroad Extreme! (UK) + + + + Games + Disney-Pixar Toy Story 3 (Europe) (En,Es) (Rev 1) + + + + Games + Scene It Estrellas en la Pantalla Gigante (Spain) + + + + Games + Call of Duty - Black Ops (Italy) + + + + Games + PES 2010 - Pro Evolution Soccer (Europe) (Es,It,Pt) + + + + Games + Hooked! Again - Real Motion Fishing (USA) + + + + Games + Counter Force (Europe) + + + + Games + Need for Speed - ProStreet (Europe) (Es,It) + + + + Games + Just Dance 2019 (USA) (En,Fr,Es) + + + + Games + Mijn Dierenpension - Verzorg en Speel met de Leukste Dieren! (Netherlands) + + + + Games + Hannah Montana - The Movie (Europe) (Fr,Nl) + + + + Games + Arcade Zone (Europe) (En,Fr,De,Es,It) + + + + Games + Astro Boy - The Video Game (Europe) (En,Fr,De,Es,It) + + + + Games + Chicken Shoot (Europe) (En,Fr,De,Es,It) + + + + Games + Challenge Me - Word Puzzles (Europe) (En,Fr,De,Es,It) + + + + Games + DreamWorks Rise of the Guardians (Europe) (En,Fr,De,Es,It) + + + + Games + Kawasaki Quad Bikes (UK) + + + + Games + Hasbro Family Game Night (Scandinavia) + + + + Games + Padrino, Il - Blackhand Edition (Italy) + + + + Games + Bratz - Girlz Really Rock (Europe) (De,Es,It) + + + + Games + Bratz - The Movie (Europe) (Es,It) + + + + Games + Let's Sing 8 - Version Espanola (Spain) (En,Fr,De,Es,It) + + + + Games + Shin Chan - Las Nuevas Aventuras para Wii! (Spain) + + + + Games + Disney-Pixar WALL-E (Europe) (En,Es,Pt) + + + + Games + X-Men Origins - Wolverine (Europe) (De,Es,It) + + + + Games + Monopoly Collection (USA) (En,Fr) + + + + Games + GTI Club Supermini Festa! (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Naruto Shippuden - Clash of Ninja Revolution III - European Version (Europe) (En,Fr,De,Es,It) + + + + Games + Nickelodeon Bob Esponja - Botes de Choque (Spain) (En,Es) + + + + Games + Simpsons Game, The (Europe) (Es,It) + + + + Games + X-Men - Destiny (Europe) + + + + Games + Nickelodeon Dora's Big Birthday Adventure (Europe) (En,Fr,Nl) + + + + Games + Pony Friends 2 (USA) (En,Fr,Es) + + + + Games + Score International Baja 1000 - The Official Game (USA) + + + + Games + Octomania (USA) + + + + Games + Shawn Johnson Gymnastics (USA) (En,Fr,Es) + + + + Games + Rooms - The Main Building (USA) (En,Fr,Es) + + + + Games + Kid Adventures - Sky Captain (USA) (En,Fr,Es) + + + + Games + Ju-on - The Grudge (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Pocoyo Racing (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Ben 10 - Galactic Racing (Europe) (En,Fr,De,Es,It) + + + + Games + Crazy Mini Golf 2 (USA) + + + + Games + Mini Golf Resort (USA) + + + + Games + FlatOut (Europe) (En,Fr,Es) + + + + Games + Paard & Pony - Mijn Paardenstal - Al Jouw Ruiterdromen Komen Uit! (Netherlands) + + + + Games + Disney-Pixar Up (Italy) + + + + Games + Planet Basket 2009-2010 (Italy) + + + + Games + ACB Total 2010-2011 (Spain) + + + + Games + Disney-Pixar Up (Spain) + + + + Games + Guilty Gear XX Accent Core Plus (Europe) + + + + Games + Marvel Super Hero Squad (Europe) (Es,It) + + + + Games + Disney-Pixar Up (Europe) (Fr,Nl) + + + + Games + PES 2013 - Pro Evolution Soccer (Europe) (En,Nl,Sv,Ru,Tr) + + + + Games + DreamWorks Shrek e Vissero Felici e Contenti (Italy) + + + + Games + Godzilla - Unleashed (Europe) (En,Fr,De,Es,It) + + + + Games + Hasbro Family Party (Italy) + + + + Games + Naruto Shippuden - Dragon Blade Chronicles - European Version (Europe) (Fr,It) + + + + Games + PES 2011 - Pro Evolution Soccer (Europe) (Es,It,Pt) + + + + Games + Nickelodeon Go Diego Go! Great Dinosaur Rescue (Europe) (En,Fr,Nl) + + + + Games + Hunting Challenge (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + FIFA 08 (Europe) (Fr,De) + + + + Games + FIFA 09 - All-Play (Europe) (Fr,De) + + + + Games + PES 2010 - Pro Evolution Soccer (Europe) (Fr,De) + + + + Games + Disney Hannah Montana - Spotlight World Tour (Europe) (Fr,It) + + + + Games + Call of Duty - Modern Warfare 3 (France) + + + + Games + Tele 7 Jeux - Mots Fleches (France) + + + + Games + Sniper Elite (Europe) (En,Fr,De,Es,It) + + + + Games + Hardy Boys, The - The Hidden Theft (Europe) (En,Fr,De,Es) + + + + Games + Popstars (Germany) + + + + Games + Gesundheitscoach, Der (Germany) + + + + Games + Germany's Next Topmodel (Germany) + + + + Games + Disney-Pixar Ratatouille (Europe) (Es,Pt) + + + + Games + Real Madrid - The Game (Europe) (En,Fr,De,Es,It) + + + + Games + Era Glaciale 3, L' - L'Alba dei Dinosauri (Italy) + + + + Games + Rebel Raiders - Operation Nighthawk (France) (En,Fr,De,Es,It) + + + + Games + Barbie and the Three Musketeers (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Naruto - Clash of Ninja Revolution 2 - European Version (Europe) (En,Fr,De,Es,It) + + + + Games + Just Dance 4 (Europe) (En,Fr,De,Es,It) (Special Edition) + + + + Games + Disney Think Fast - The Quiz Game (Europe) (Fr,Nl) + + + + Games + Punch-Out!! (USA) (En,Fr,Es) (Rev 1) + + + + Games + Where the Wild Things Are (USA) (En,Fr,Es) + + + + Games + Call of Duty - Black Ops (Germany) + + + + Games + Call of Duty - Modern Warfare - Reflex (Germany) + + + + Games + Dead Space - Extraction (Germany) + + + + Games + Def Jam - Rapstar (Germany) (En,Fr,De,Es,It,Pt) + + + + Games + Galileo Mystery - Die Krone des Midas (Germany) + + + + Games + Tierbabys - Mein kleiner Welpe (Germany) + + + + Games + TV Total Events (Germany) + + + + Games + U-Sing (Germany) (Rev 1) + + + + Games + Water Sports (Germany) + + + + Games + We Sing Vol. 2 (Germany) (En,De) + + + + Games + Truck Racer (Europe) (En,Fr,De,Es,It) + + + + Games + Think - Logik Trainer (Germany) (En,De) + + + + Games + Disney Sing It - High School Musical 3 - Senior Year (Scandinavia) (En,Sv,No,Da) + + + + Games + Disney Sing It (Scandinavia) (En,Sv,No,Da) + + + + Games + Disney Bolt (Scandinavia) (En,Sv,No,Da) + + + + Games + DreamWorks Kung Fu Panda (Sweden) + + + + Games + Ben 10 - Ultimate Alien - Cosmic Destruction (USA) (En,Fr,Es) + + + + Games + Battle of Giants - Dinosaurs Strike (USA) (En,Fr,Es) + + + + Games + We Rock - Drum King (Europe) (En,Fr,De,Es,It) + + + + Games + Ontdekker en het Mysterie van de Diamanten Scarabee, De (Netherlands) (En,Nl) + + + + Games + Dave Mirra BMX Challenge (Europe) (En,Fr,De,Es,It) + + + + Games + Skyscraper (Europe) + + + + Games + Super Swing Golf (Europe) + + + + Games + Tournament of Legends (Europe) (En,Fr,De,Es,It) + + + + Games + Yu-Gi-Oh! 5D's - Master of the Cards (Europe) (En,Fr,De,Es,It) + + + + Games + Agatha Christie - Evil Under the Sun (USA) (En,Fr,Es) + + + + Games + We Sing 80s (USA) (En,Fr,Es) + + + + Games + Speed Zone (USA) + + + + Games + Step to the Beat (Europe) (En,Fr,De,Es,It) + + + + Games + Ice Age 2 - The Meltdown (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Transformers - The Game (Europe) (Fr,Es) + + + + Games + Myth Makers - Super Kart GP (UK) + + + + Games + Bratz - Girlz Really Rock (Europe) (En,Sv) + + + + Games + We Cheer (Europe) (En,Fr,De,Es,It) + + + + Games + Bratz Kidz (USA) (En,Fr,Es) + + + + Games + Destiny of Zorro, The (Europe) (En,Fr,De,Es,It) + + + + Games + DreamWorks Kung Fu Panda (Europe) (En,It) + + + + Games + Chuck E. Cheese's Super Collection (USA) + + + + Games + Disney Planes - Fire & Rescue (USA) (En,Fr,Es,Pt) + + + + Games + Dodge Racing - Charger vs Challenger (USA) (En,Fr,Es) + + + + Games + I Love Horses - Rider's Paradise (USA) + + + + Games + Ju-on - The Grudge - Haunted House Simulator (USA) (En,Fr,Es) + + + + Games + Maximum Racing - GP Classic Racing (USA) (En,Fr,Es) + + + + Games + Maximum Racing - Sprint Cars (USA) (En,Fr,Es) + + + + Games + My Horse & Me - Riding for Gold (USA) (En,Fr,Es) + + + + Games + Power Punch (USA) (En,Fr,Es) + + + + Games + Princess Isabella - A Witch's Curse (USA) + + + + Games + Super Sonic Racer (USA) (En,Fr,Es) + + + + Games + Free Running (USA) (En,Fr,Es) + + + + Games + Maximum Racing - Crash Car Racer (USA) (En,Fr,Es) + + + + Games + Rock'N'Roll Adventures (UK) + + + + Games + Chronicles of Narnia, The - Prince Caspian (Europe) (En,Es,Sv,No,Da) + + + + Games + Disney-Pixar Ratatouille (Scandinavia) (Sv,No,Da,Fi) + + + + Games + Skylanders - Trap Team (Scandinavia) (Sv,No,Da,Fi) + + + + Games + Skylanders - Swap Force (Scandinavia) (Sv,No,Da,Fi) + + + + Games + Cooking Mama 2 - World Kitchen (Europe) (En,Fr,De,Es,It) + + + + Games + Oregon Trail, The (USA) + + + + Games + Thor - God of Thunder (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Captain America - Super Soldier (Europe) (En,Fr,De,Es,It) + + + + Games + Disney-Pixar Cars - Mater-National Championship (Europe) (De,It) + + + + Demos + Lost in Shadow (USA) (En,Fr,Es) (Demo) (DDWE) + + + + Demos + Lost in Shadow (USA) (En,Fr,Es) (Demo) (DDWX) + + + + Demos + MySims Racing (Europe) (En,Fr,De,Es,It,Nl) (Demo) + + + + Games + Dream Salon (USA) (En,Fr) + + + + Games + Veggy World (USA) + + + + Games + Captain Morgane and the Golden Turtle (Europe) (Fr,It) + + + + Games + Billy the Wizard - Rocket Broomstick Racing (UK) + + + + Games + Red Steel 2 (UK) + + + + Demos + Deca Sports (USA) (Demo) + + + + Demos + Deca Sports 3 (USA) (En,Fr,Es) (Demo) + + + + Demos + We Cheer (USA) (Demo) + + + + Games + 101-in-1 Sports Party Megamix (USA) (En,Fr,Es) + + + + Games + Maximum Racing - Drag & Stock Racer (USA) (En,Fr,Es) + + + + Games + MySims Collection (USA) (En,Fr,Es) + + + + Games + Monster High - Scuola da Paura (Italy) (En,Fr,De,Es,It,Nl) + + + + Games + Disney Wreck-It Ralph (Europe) (En,Fr,De,Es,It,Nl,Sv) + + + + Games + Scene It Ciak! Si Gira! (Italy) + + + + Applications + DiscUpdate Disc (WiiMenu 3.0U) (USA) + + + + Games + Prova del Cuoco, La (Italy) + + + + Games + Let's Sing 2016 - Hits Francais (France) (En,Fr,De,Es,It) + + + + Games + Call of Duty - Black Ops (France) + + + + Games + Questions pour un Champion - Le Jeu Officiel (France) + + + + Games + Koh-Lanta (France) + + + + Games + My Horse Club - On the Trail of the Mysterious Appaloosa (Europe) (En,Nl) + + + + Games + Family Fortunes (UK) + + + + Games + Trivial Pursuit (Europe) (En,Fr,De,Es,It) + + + + Games + Yoga (Europe) (En,Fr,De,Es,It) + + + + Games + Wii Sports Resort (Japan) (Rev 2) + + + + Games + Wii Sports Resort (Japan) (Rev 3) + + + + Demos + Beyblade - Metal Fusion - Battle Fortress (USA) (En,Fr,Es) (Demo) + + + + Games + Just Dance 2 (Korea) + + + + Games + Tauneuro Nolleogayo - Dongmurui Sup (Korea) (Rev 1) + + + + Games + Mario Party 8 (Korea) + + + + Games + Chumchwora Made in Wario (Korea) + + + + Games + Mariowa Sonic Beijing Olympic (Korea) + + + + Games + CSI - Crime Scene Investigation - Fatal Conspiracy (Europe, Australia) (En,Fr,De,Es,It) + + + + Games + SPRay (Europe) (En,Fr,De,Es,It) + + + + Games + Despicable Me - The Game (Europe, Australia) (En,Fr,De,Es,It,Sv,No,Da,Fi) + + + + Games + Martian Panic (Europe) (En,Fr,De,Es,It) + + + + Games + Titanic Mystery (USA) + + + + Games + Truck Racer (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Pac-Man Party (Europe) (En,Fr,De,Es,It) + + + + Games + Skylanders - Trap Team (Latin America) (En,Fr,Es,Pt) + + + + Games + Skylanders - Swap Force (Latin America) (En,Fr,Es,Pt) + + + + Games + We Sing Encore (Sweden) + + + + Games + Call of Duty - World at War (Canada) + + + + Games + Springdale (Scandinavia) (En,Sv,No,Da,Fi) + + + + Games + Ready Steady Cook - The Game (UK) + + + + Games + U-Sing 2 (Germany) + + + + Games + Just Dance 3 (Europe) (En,Fr,De,Es,It) (Special Edition) (Rev 1) + + + + Games + Family Party - 30 Great Games (Europe) (En,Fr,De,Es,It) + + + + Games + So Blonde - Back to the Island (Europe) (En,Fr,De,Es,It) + + + + Games + Schlag den Raab - Das 2. Spiel (Germany) + + + + Games + Scene It Ganz grosses Kino! (Germany) + + + + Games + Summer Stars 2012 (Europe) (En,Fr,De,Es,It) + + + + Games + Schlag den Raab - Das 3. Spiel (Germany) + + + + Games + Cooking Mama World - Babysitting Mama (Europe) (En,Fr,De,Es,It) + + + + Games + Dewy's Adventure (Europe) (En,Fr,De,Es,It) + + + + Games + Nickelodeon iCarly 2 - iJoin the Click! (Europe) (En,De,Es,It) + + + + Games + Nickelodeon Victorious - Taking the Lead (Europe) (En,Fr,De,Es,It) + + + + Games + Wii Sports (Japan) (Rev 1) + + + + Games + Ferrari - The Race Experience (Europe) (En,Fr,De,Es,It) + + + + Games + All Round Hunter (Europe) (En,Fr,De,Es,It) + + + + Games + Cloudy with a Chance of Meatballs (Europe) (En,Fr,De,Es,It) + + + + Games + Cocoto Surprise (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da) + + + + Games + Disney G-Force (Europe) (De,It) + + + + Games + Disney-Pixar Cars (Europe) (De,It) + + + + Games + DreamWorks Shrek's Carnival Craze - Party Games (Europe) (Es,It,Nl) + + + + Games + Family Trainer - Magical Carnival (Europe) (En,Fr,De,Es,It) + + + + Games + FIFA 15 - Legacy Edition (Europe) (De,Es,It) + + + + Games + Great Party Games (Europe) (En,Fr,De,Es,It) + + + + Games + Hannah Montana - The Movie (Europe) (En,It) + + + + Games + Heathcliff! The Fast and the Furriest (Europe) (En,Fr,De,Es,It) + + + + Games + Let's Sing @ Radio Italia (Italy) (En,Fr,De,Es,It) + + + + Games + Need for Speed - Undercover (Europe) (Es,It) + + + + Games + Remington Great American Bird Hunt (Europe) (En,Fr,De,Es,It) + + + + Games + Surf's Up (Europe) (En,Fr,De,Es,It) + + + + Games + Legend of Sayuki (Europe) (En,Fr,Es,It) + + + + Games + Squeeballs Party (Europe) (En,Fr,De,Es,It) + + + + Games + Brunswick Pro Bowling (Europe) + + + + Games + Kidz Sports Ice Hockey (Europe) + + + + Games + Myth Makers - Trixie in Toyland (UK) + + + + Games + Nicktoons - Attack of the Toybots (UK) + + + + Games + Arctic Tale (Europe) (En,Fr,De,Es,It) + + + + Games + Scrabble Interactive (Europe) (En,Fr,Es) + + + + Games + Big Catch - Bass Fishing (Europe) (En,Fr,De,Es,It) + + + + Games + Cabela's Dangerous Hunts 2013 (Europe) (En,Fr,De,It) + + + + Games + Peppa Pig - Fun and Games (UK) + + + + Games + Walt Disney Pictures Presents Meet the Robinsons (Europe) (Fr,It) + + + + Games + Chrysler Classic Racing (Europe) (En,Fr,De,Es,It) + + + + Games + Goosebumps HorrorLand (Europe) + + + + Games + Clever Kids - Creepy Crawlies (Europe) (En,Fr,De,Es,It) + + + + Games + Cabela's Dangerous Adventures (Europe) + + + + Games + Ultimate Battle of the Sexes, The - Quiz & Play! (Europe) (En,Fr,De,Nl) + + + + Games + Fast Food Panic (Europe) (En,Fr,De,Es,It) + + + + Games + Country Dance 2 (Europe) + + + + Games + My Baby 2 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Family Party - Fitness Fun (Europe) (En,Fr,De,Es,It) + + + + Games + Get Fit with Mel B (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Nickelodeon Big Time Rush - Dance Party (Europe) + + + + Games + Mad Tracks (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da) + + + + Games + Pirates vs. Ninjas - Dodgeball (Europe) (En,Fr,De,Es,It) + + + + Games + Glacier 3 (Europe) (En,Fr,Es) + + + + Games + Cabela's Big Game Hunter 2010 (Europe) + + + + Games + Rayman - Raving Rabbids (USA) (En,Fr,Es) (Rev 1) + + + + Games + Fishing Master (Europe) (En,Fr,De,Es,It) + + + + Games + Radio Helicopter (Europe) (En,Fr,De,Es,It) + + + + Games + Disney Tangled (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Hot Wheels - Track Attack (Brazil) (En,Es,Pt) + + + + Games + Barbie - Groom and Glam Pups (Brazil) (En,Es,Pt) + + + + Games + Go Vacation (Europe) (En,Fr,De,Es,It) + + + + Games + Carnival Games (USA) (Rev 1) + + + + Games + Voz, La - Quiero tu Voz (Spain) (En,Es) + + + + Games + Drei Fragezeichen, Die - Das Verfluchte Schloss (Germany) (Rev 1) + + + + Games + Pop! (Europe) (En,Fr,De,Es,It) + + + + Games + Disney High School Musical 3 - Senior Year Dance! (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + X Factor (France) (En,Fr,De,It,Nl) + + + + Games + Street Football (Europe) (En,Fr,It) + + + + Games + Night at the Museum 2 - The Video Game (Europe) (En,Fr,De) + + + + Games + Fluch der Osterinsel, Der (Germany) + + + + Games + Worms - Battle Islands (Europe) (En,Fr,De,Es,It) + + + + Games + Scene It Lumieres ! Action ! (France) + + + + Games + Freddi Fish - The Case of the Missing Kelp Seeds (Europe) (En,Fr,De,Nl,Sv,No) + + + + Games + Pony Friends 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Colin McRae - DiRT 2 (Europe) (En,Fr,De,Es,It) + + + + Games + AMF Bowling World Lanes (Europe) (En,Fr,De,Es,It) + + + + Games + Classic British Motor Racing (Europe) + + + + Games + Pajama Sam - No Need to Hide When It's Dark Outside (Europe) (En,Fr,De,Nl) + + + + Games + Deal or No Deal - Der Banker schlaegt zurueck (Germany) + + + + Games + Paint Works (Europe) (En,Fr,De,Es,It) + + + + Games + Calvin Tucker's Redneck Jamboree (Europe) (En,Fr,De,Es,It) + + + + Games + Tierliebe - Gross Geschrieben ~ Veterinario - Cuccioli in Pericolo (Europe) (De,It) + + + + Games + WWE SmackDown vs. Raw 2008 (Europe) (En,De,Es,It) + + + + Games + Play the World (Europe) (En,Fr,De,Es,It) + + + + Games + Winter Sports 2010 - The Great Tournament (Europe) (En,Fr,De,Es,It) + + + + Games + Trivial Pursuit - Bet You Know It (Europe) (En,Fr,De) + + + + Games + Aladin Magic Racer (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da) + + + + Games + Busy Scissors (Europe) (En,Fr,De,Es,It) + + + + Games + Crazy Machines (Europe) (En,Fr,De,Es,It) + + + + Games + ATV Fever (Europe) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + Bauernhof, Der (Germany) + + + + Games + Hot Wheels - Track Attack (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Junior Fitness Trainer (Europe) (En,Fr,De,Es,It) + + + + Games + Crash Car Racer (Europe) (En,Fr,De,Es,It) + + + + Games + Pucca's Race for Kisses (Europe) (En,Fr,De,Es,It,Nl,Pt,Sv,No,Da) + + + + Games + Games Island (Europe) (En,Fr,De,Es,It) + + + + Games + Winter Sports 2011 - Go for Gold (Europe) (En,Fr,De,Es,It) + + + + Games + PES 2011 - Pro Evolution Soccer (Europe) (Fr,De,El) + + + + Games + Country Dance (Europe) + + + + Games + We Sing Pop! (Europe) (En,Fr,De,Es,It) + + + + Games + We Sing (Europe) (En,Fr,De,Es,It) + + + + Games + Dance Dance Revolution - Hottest Party 5 (Europe) (En,Fr,De,Es,It) + + + + Games + Wicked Monsters Blast! (Europe) (En,Fr,De,Es,It) + + + + Games + Disney-Pixar WALL-E (USA) (En,Fr,Es) (Rev 1) + + + + Games + Tales of Symphonia - Ratatosk no Kishi (Japan) (Rev 1) + + + + Games + U-Sing (Spain) (Rev 2) + + + + Games + Think - Logic Trainer (Europe) (En,De,Es) + + + + Games + Skylanders - Trap Team (Europe, Australia) (En,De) + + + + Games + Skylanders - Spyro's Adventure (Europe, Australia) (En,Fr,De,Es,It,Nl) (Rev 3) + + + + Games + Boom Blox (Korea) + + + + Games + de Blob - Color Revolution (Korea) + + + + Games + Elebits (Korea) + + + + Games + Mario Kart Wii (Korea) + + + + Games + Milestone Shooting Collection - Karous Wii (Korea) + + + + Games + Modu Hamkke Takoron (Korea) + + + + Games + Ninja Reflex (Korea) + + + + Games + Super Mario Wii - Galaxy Adventure (Korea) + + + + Games + Super Paper Mario (Korea) + + + + Games + Wii Party (Korea) + + + + Games + Wii Sports Resort (Korea) (Rev 1) + + + + Games + Zack & Wiki - Barbarosui Bomul (Korea) + + + + Games + Baramui Klonoa - Door to Phantomile (Korea) + + + + Games + Biohazard - The Umbrella Chronicles (Korea) + + + + Games + Disney-Pixar WALL-E (Korea) + + + + Games + Namco Museum Remix (Korea) + + + + Games + Nickelodeon SpongeBob SquarePants featuring Nicktoons - Globs of Doom (Korea) + + + + Games + Pikmin (Korea) + + + + Games + Rayman - Raving Rabbids 2 (Korea) + + + + Games + SimCity Namanui Dosi (Korea) + + + + Games + Sin Junghwa-daeseon - Michaelgwa Meimeiui Moheom (Korea) + + + + Games + Super Mario Collection (Korea) + + + + Games + Swing Golf Pangya 2nd Shot! (Korea) + + + + Games + Wario Land Shaking (Korea) + + + + Games + Wii Fit Plus (Korea) + + + + Games + Wii Music (Korea) + + + + Games + Disney-Pixar Brave (Australia) (En,Fr,Es) + + + + Games + Dogz (Scandinavia) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Let's Sing 10 (Spain) (En,Fr,De,Es,It) + + + + Demos + Kororinpa 2 - Anthony to Kin'iro Himawari no Tane (Japan) (Otameshiban) + + + + Games + Pokemon Battle Revolution (Japan) (Rev 2) + + + + Games + Cabela's Big Game Hunter (Europe) + + + + Games + WWE SmackDown vs. Raw 2009 (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Arthur and the Revenge of Maltazard (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Pet Pals - Animal Doctor (Europe) (En,Fr,De,Es) + + + + Games + Mon Coach Personnel - J'enrichis Mon Vocabulaire (France) + + + + Games + Nickelodeon Dora the Explorer - Dora Saves the Snow Princess (UK) + + + + Games + Rayman - Raving Rabbids (USA) (En,Fr,Es) (Rev 2) + + + + Games + Def Jam - Rapstar (UK) (En,Fr,De,Es,It,Pt) + + + + Games + Myth Makers - Orbs of Doom (UK) + + + + Games + Spider-Man - Friend or Foe (Europe) + + + + Games + Monster Trux Offroad (UK) + + + + Games + Alvin and the Chipmunks - The Squeakquel (Europe) (En,Fr,De) + + + + Games + Build-A-Bear Workshop - A Friend Fur All Seasons (Europe) (En,Fr,Da) + + + + Games + Cake Mania - In the Mix! (Europe) (En,Fr,De) + + + + Games + DreamWorks The Croods - Prehistoric Party! & Rise of the Guardians - Combo Pack (Europe) (En,Fr,De,Es,It) + + + + Games + Adibou et les Saisons Magiques ~ Addy Junior und die Verzauberte Natur (Europe) (Fr,De) + + + + Games + Chaos a la Maison (France) + + + + Games + Chiffres & Des Lettres, Des - Le Jeu Officiel (France) + + + + Games + Code de la Route (France) + + + + Games + Cuisine Party (France) + + + + Games + Dance Sensation! (Europe) (En,Fr,De,Es,It) + + + + Games + Def Jam - Rapstar (France) (En,Fr,De,Es,It,Pt) + + + + Games + Disney-Pixar Cars - Race-O-Rama (Europe) (Fr,De) + + + + Games + Entraineur Cerebral et Sportif, L' (France) + + + + Games + Happy Neuron Academy (Europe) (En,Fr,De) + + + + Games + Hidden Mysteries - Titanic (Europe) (En,Fr,It) + + + + Games + Intervilles - Le Jeu Officiel (France) + + + + Games + Kid Paddle - Lost in the Game (France) + + + + Games + Mon Premier Karaoke (France) + + + + Games + MX vs. ATV Extreme Limite (France) + + + + Games + NBA Live 09 - All-Play (France) + + + + Games + Nick Jr. Go Diego Go! Safari Rescue (France) (En,Fr) + + + + Games + Parrain, Le - Pouvoir et Manipulation (France) + + + + Games + Petanque Master (France) (En,Fr) + + + + Games + Petanque Pro (France) + + + + Games + Quiz Party (France) + + + + Games + Real Stories - Mission Equitation (France) + + + + Games + Real Stories - Veterinaire (France) + + + + Games + RTL Biathlon 2009 (France) (En,Fr) + + + + Games + Spirit of the Wolf, The (France) (En,Fr) + + + + Games + Tiger Woods PGA Tour 07 (France) + + + + Games + Titeuf - Le Film (France) + + + + Games + Tournoi des Celebrites, Le (France) + + + + Games + U-Sing (France) (Rev 1) + + + + Games + U-Sing 2 (France) + + + + Games + U-Sing - Johnny Hallyday (France) + + + + Games + Voice, The - La Plus Belle Voix (France) + + + + Games + Warning - Code de la Route (France) (Rev 1) + + + + Games + Water Sports (France) (En,Fr) + + + + Games + Winter Sports 2009 - The Next Challenge (France) (En,Fr) + + + + Games + Zumba Fitness Core (France) (En,Fr,De,Es,It,Nl) + + + + Games + Biohazard - The Darkside Chronicles (Korea) + + + + Games + Dance Party Club Hits (Europe) (En,Fr,De,Es,It) + + + + Games + Horrid Henry - Missions of Mischief (Europe) (En,Fr,De,Es,It) + + + + Games + I'm a Celebrity...Get Me Out of Here! (Europe) + + + + Games + Musiic Party - Rock the House (UK) (En,Fr,De,Es,It) + + + + Games + Crown of Midas, The (Europe) (En,Fr,Es,It) + + + + Applications + Wii Menu Install Disc (Ver. 1) (World) + + + + Games + Circus (Europe) (En,Fr,De,Es,It) + + + + Games + We Wish You a Merry Christmas (Europe) + + + + Games + Turbo Trainz (Europe) (En,Fr,De,Es,It) + + + + Games + Mahjong Fight Club Wii - Wi-Fi Taiou (Japan) (Rev 2) + + + + Games + ExerBeat - Gym Class Workout (Europe) (En,Fr,De,Es,It) + + + + Games + NewU Fitness First Personal Trainer (Australia) (En,Fr,De,Es,It) + + + + Games + Gummy Bears - MiniGolf (Europe, Australia) (En,Fr,De,Es,It,Nl) + + + + Games + Attack of the Movies 3-D (Europe) (En,Fr,De,Es,It) + + + + Games + Titanic Mystery (Europe) (En,Fr,De,Nl) (Rev 1) + + + + Games + Hidden Mysteries - Titanic (UK) + + + + Games + Dodge Racing - Charger vs Challenger (Europe) (En,Fr,De,Es,It) + + + + Games + PSA World Tour Squash 2015 (Europe) (En,Fr,De,Es,It) + + + + Games + My Personal Golf Trainer with IMG Academies and David Leadbetter (Europe) + + + + Games + Skylanders - Swap Force (Europe) (Es,It) (Rev 1) + + + + Games + Just Dance 3 (Europe) (En,Fr,De,Es,It) (Special Edition) + + + + Games + Peppa Pig - The Game (Europe) (En,Fr,De) + + + + Games + Build-A-Bear Workshop - Friendship Valley (Denmark) (En,Fr,Es,Da) + + + + Games + Challenge Me - Brain Puzzles 2 (Europe) (En,Fr,De,Es,It) (Rev 2) + + + + Games + Family Game Night 4 - The Game Show (Europe) + + + + Games + My First Songs (Europe) + + + + Games + Family Quiz (Europe) + + + + Games + Fritz Chess (Europe) (En,Fr,De,Es,It) + + + + Games + Kawasaki Snow Mobiles (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Catz (Scandinavia) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + Mahjong Party Pack (Europe) (En,Fr,Es,It) + + + + Games + Cube, The (Europe) (En,Es,It) + + + + Games + Nickelodeon Dance 2 (Europe) (En,Fr,Es,Nl) + + + + Games + Deal or No Deal - The Banker Is Back (UK) + + + + Games + Power Rangers Samurai (Europe) (En,Fr,De,Es,It) + + + + Games + Voice, The (Europe) + + + + Games + Kidz Sports Ice Hockey (Australia) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + Kidz Sports Crazy Mini Golf 2 (UK) + + + + Games + Mary King's Riding School 2 (Europe) (En,Fr,De,Es,It) + + + + Games + Nickelodeon Ni Hao, Kai-Lan - Super Game Day (Europe) + + + + Games + Athletic Piggy Party (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + World Sports Party (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) + + + + Games + U-Sing (France) + + + + Games + Safari Adventures - Africa (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Cocoto Kart Racer (Europe) (En,Fr,De,Es,It) + + + + Games + Disney Princess - Enchanted Journey (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + MotoGP (Europe) (En,Fr,De,Es,It) + + + + Games + Diva Ballerina (Europe) (En,Fr,De,Es,It) + + + + Games + Ram Racing (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Chevrolet Camaro - Wild Ride (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Junior League Sports (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Monopoly Collection (Europe) (En,Fr) + + + + Games + Saddle Club, The (Europe) (En,Fr,De,Es,It) + + + + Games + Jewel Quest Trilogy (Europe) + + + + Games + Nickelodeon Fit (Australia) + + + + Games + Disney Bolt (Russia) + + + + Games + Disney G-Force (Russia) + + + + Games + Ultimate Band (Russia) + + + + Games + Disney-Pixar WALL-E (Russia) + + + + Games + X-Men Origins - Wolverine (USA) (En,Fr) (Rev 1) + + + + Games + Alien Monster Bowling League (Europe) (En,Fr,De,Es,It) + + + + Games + Family Fishing (Japan) (Rev 1) + + + + Games + Impossible Mission (Europe) (En,Fr,De,Es,It) + + + + Games + Tiger Woods PGA Tour 12 (Europe) + + + + Games + Disney Sing It - Family Hits (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Mario Power Soccer (Korea) + + + + Games + Teolsil Kirby Iyagi (Korea) + + + + Games + LEGO Batman 2 - DC Super Heroes (Korea) + + + + Games + Mariowa Sonic Vancouver Donggye-olympic (Korea) + + + + Games + No More Heroes (Korea) + + + + Games + Spellbound Party (Europe) (En,Fr,De,Es,It) + + + + Games + Just Dance 2019 (Europe, Australia) (En,Fr,De,Es,It,Nl) + + + + Games + My Pet Hotel (Europe) (En,Fr,De,Es,It) + + + + Games + Animal Planet - Vet Life (Europe) (En,De,Es,It) + + + + Games + Thomas & Friends - Hero of the Rails (UK) + + + + Games + We Sing 80s (Europe) (En,Fr,De,Es,It) + + + + Games + We Sing 80s (Germany) (En,De) + + + + Games + We Sing Deutsche Hits (Germany) (En,De) + + + + Games + We Sing Deutsche Hits 2 (Germany) (En,De) + + + + Games + 2 in 1 - Meine Tierpension + Meine Tiersprechstunde (Germany) + + + + Games + Mini Golf Resort (Europe) (En,Fr,De,Nl) + + + + Games + Bob the Builder - Festival of Fun (Europe) (En,Fr,De,Es,Nl) + + + + Games + Sam & Max - Season One (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Greg Hastings Paintball 2 (Europe) + + + + Games + Mini Golf Resort (Germany) + + + + Games + Agent Hugo - Hula Holiday (Scandinavia) (En,Sv,No,Da,Fi) + + + + Games + Movie Studios Party (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da) (Rev 1) + + + + Games + Bratz - Girlz Really Rock (Scandinavia) (No,Da) + + + + Games + Trivial Pursuit (Scandinavia) (Sv,No,Da,Fi) + + + + Games + Remington Super Slam Hunting - North America (Australia) + + + + Games + AFL - Game of the Year Edition (Australia) + + + + Games + Tom Clancy's Splinter Cell - Double Agent (Europe) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Barbie - Groom and Glam Pups (UK, Australia) (En,Fr,De,Es,It,Nl) (SB9Y) + + + + Games + Nickelodeon Dance 2 (Australia) + + + + Games + FIFA 09 - All-Play (Russia) + + + + Games + Rayman - Raving Rabbids 2 (Russia) + + + + Games + Disney-Pixar Toy Story 3 (Russia) + + + + Games + Harry Potter and the Order of the Phoenix (Europe) (Fr,De,Es,It,Nl) (Rev 1) + + + + Games + Let's Sing 2018 - Hits Francais et Internationaux (France) (En,Fr,De,Es,It) + + + + Games + Let's Sing 2019 - Hits Francais et Internationaux (France) (En,Fr,De,Es,It) + + + + Games + Barbie - Jet, Set & Style! (USA) (En,Fr,Es) (Rev 1) + + + + Games + Let's Sing 2017 - Hits Francais et Internationaux (France) (En,Fr,De,Es,It) + + + + Games + Let's Sing 2018 (Europe) (En,Fr,De,Es,It) + + + + Games + Nickelodeon SpongeBob SquarePants featuring Nicktoons - Globs of Doom (Scandinavia) (En,Sv,No,Da,Fi) + + + + Games + FIFA 10 (Russia) + + + + Games + Carnival Games (USA) (Rev 2) + + + + Games + Cooking Mama - World Kitchen (USA) (Rev 1) + + + + Games + 2010 FIFA World Cup South Africa (Korea) + + + + Games + Call of Duty - World at War (Korea) + + + + Games + Cooking Mama (Korea) + + + + Games + DreamWorks Kung Fu Panda (Korea) + + + + Games + Family Ski & Snowboard (Korea) + + + + Games + Just Dance 3 (Korea) + + + + Games + Need for Speed - ProStreet (Korea) + + + + Games + Red Steel 2 (Korea) + + + + Games + Soulcalibur Legends (Korea) + + + + Games + Tiger Woods PGA Tour 08 (Korea) + + + + Games + Valhalla Knights - Eldar Saga (Korea) + + + + Games + Wii Fit (Korea) + + + + Games + Survivor (Europe, Australia) (En,Sv,No,Da) + + + + Games + Let's Sing 2019 - Mit Deutschen Hits (Germany) (En,Fr,De,Es,It) + + + + Games + Agent Hugo - Lemoon Twist (Scandinavia) (En,Sv,No,Da,Fi) + + + + Games + Byeorui Kirby Wii (Korea) + + + + Games + FaceBreaker K.O. Party (Korea) + + + + Games + FIFA 08 (Korea) + + + + Games + FIFA 09 - All-Play (Korea) + + + + Games + Metal Slug Complete (Korea) + + + + Games + Need for Speed - Undercover (Korea) + + + + Games + King of Fighters Collection, The - The Orochi Saga (Korea) + + + + Games + Tiger Woods PGA Tour 09 - All-Play (Korea) + + + + Games + Transformers - The Game (Korea) + + + + Applications + FreeLoader for Nintendo Wii (USA) (Unl) + + + + Applications + FreeLoader for Nintendo Wii (Japan) (Unl) + + + + Games + Deca Sporta - Wiiro Jeulgineun Sports 10 Jongmok! (Korea) (Rev 1) + + + + Games + Disney Epic Mickey 2 - The Power of Two (Korea) + + + + Games + Mariowa Sonic London Olympic (Korea) + + + + Games + Rhythm Sesang Wii (Korea) + + + + Games + Tiger Woods PGA Tour 10 (Korea) + + + + Applications + FreeLoader for Nintendo Wii (Europe) (Unl) (Rev 1) + + + + Games + Just Dance 2020 (Europe) (En,Fr,De,Es,It,Nl) + + + + Games + Just Dance 2020 (USA) (En,Fr,Es) + + + + Games + Guitar Hero III - Legends of Rock (Korea) + + + + Games + Myeongtamjeong Conan - Chueogui Hwansang (Korea) (Rev 1) + + + + Games + MySims Simdeurui Wangguk (Korea) + + + + Games + Rayman - Raving Rabbids - TV Party (Korea) + + + + Games + Samurai Spirits - 6beonui Seungbu (Korea) + + + + Games + Super Mario Wii 2 - Galaxy Adventure Together (Korea) + + + + Games + Wii Remocon Plusro Jeulgineun - Variety Game Box (Korea) + + + + Games + Wiiro Dahamkke! Mallangmallang Dunoegyosil (Korea) + + + + Games + Bomberman Land Wii (Japan) (Rev 1) + + + + Games + Dairantou Smash Brothers X (Japan) (Rev 1) + + + + Games + 101-in-1 Party Megamix Wii (Europe) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Demos + Legend of Zelda, The - Skyward Sword (Europe) (En,Fr,De,Es,It) (Demo) + + + + Games + Reload (Australia) + + + + Games + Family Fishing (Korea) + + + + Games + FIFA 10 (Korea) + + + + Games + Harry Potterwa Honhyeor-wangja (Korea) + + + + Games + Wii Sports Resort (Korea) + + + + Games + Iron Man 2 (USA) (En,Fr,Es) (Walmart) + + + + Games + Ben 10 - Galactic Racing (USA) (En,Fr,Es) (Rev 1) + + + + Games + Rayman - Raving Rabbids - TV Party (USA) (En,Fr,Es) (Rev 1) + + + + Games + Disney Pirates of the Caribbean - At World's End (Europe) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + Retro City Rampage DX (Europe) (En,Fr,De,Es,It) + + + + Games + Shakedown - Hawaii (Europe) + + + + Games + Nickelodeon Dance (USA) (En,Fr,Es) (Rev 1) + + + + Games + Need for Speed - ProStreet (USA) (Rev 1) + + + + Games + Barbie as the Island Princess (USA) (Rev 1) + + + + Games + Just Dance 2019 (Europe) (En,Fr,De,Es,It,Nl) (Rev 1) + + + + Games + FIFA 09 - All-Play (Canada) (En,Fr) + + + + Games + Just Dance 3 (USA) (En,Fr,Es) (Best Buy) + + + + Games + Just Dance 3 (USA) (En,Fr,Es) (Target Exclusive Edition) + + + + Games + Just Dance 2019 (USA) (En,Fr,Es) (Rev 1) + + + + Applications + Netflix (USA) (Rev 3) + + + + Games + U-Sing (Europe) (En,Nl) (Rev 2) + + + + Games + Barbie - Jet, Set & Style! (Australia) (En,Fr,Es) (S3EX) + + + + Games + Nickelodeon Dora's Big Birthday Adventure (USA) (En,Fr) (Rev 1) + + + + Games + Skylanders - Swap Force (Europe) (Fr,Nl) (Rev 1) + + + + Games + Dragon Ball Z - Budokai Tenkaichi 3 (USA) (Rev 1) + + + + Games + Skylanders - Spyro's Adventure (USA) (En,Fr) (Rev 1) + + + + Games + Disney-Pixar WALL-E (USA) (En,Fr,Es) (Rev 2) + + + + Games + Hot Wheels - Track Attack (USA) (En,Fr,Es) (Rev 1) + + + + Games + Skylanders - Trap Team (Europe) (En,De) (Rev 1) + + + + Games + Disney-Pixar WALL-E - Der Letzte raeumt die Erde auf (Germany) (Rev 1) + + + + Games + Skylanders - Trap Team (Europe) (Fr,Nl) (Rev 1) + + + + Games + Night at the Museum - Battle of the Smithsonian - The Video Game (USA) (Rev 1) + + + + Games + Skylanders - Trap Team (USA) (En,Fr) (Rev 1) + + + + Games + Wii Party (Japan) (Rev 1) + + + + Games + DreamWorks Kung Fu Panda 2 (USA) (En,Fr) (SKUZ) + + + + Games + Disney-Pixar WALL-E (Australia) (Rev 1) + + + + Games + Super Karts (Australia) (En,Fr,De,Es,It) (Rev 1) + + + + Games + Madden NFL 09 - All-Play (USA) (Rev 1) + + + + Applications + Wii Auto Erase Disc (USA) + + + + Games + Dance! It's Your Stage (Spain) + + + + Games + DreamWorks Shrek the Third (USA) (Rev 1) + + + + Games + Skylanders - Trap Team (Europe) (Es,It) (Rev 1) + + + + Games + Skylanders - Spyro's Adventure (Scandinavia) (Sv,No,Da,Fi) (Rev 3) + + + + Games + Luxor 3 (USA) (Rev 2) + + + + Demos + PES 2008 - Pro Evolution Soccer (Europe) (En,Fr,De,Es,It,Pt) (Demo) + + + + Demos + Just Dance (USA) (En,Fr,Es) (Demo) + + + + Demos + Boom Blox (Europe) (En,Fr,De,Es,It) (Demo) + + + + Preproduction + Space Station Tycoon (USA) (Proto) (2007-07-07) + + + + Preproduction + Active Life - Magical Carnival (USA) (Beta) (2011-11-07) + + + + Preproduction + Alien Syndrome (USA) (Beta) (2007-05-21) + + + + Preproduction + Astro Boy - The Video Game (USA) (Beta) (2009-07-27) + + + + Preproduction + Bomberman Land (USA) (Beta) (2007-11-06) + + + + Preproduction + Boogie (USA) (Beta) (2007-06-26) + + + + Preproduction + Boogie (USA) (Beta) (2007-07-02) + + + + Preproduction + Brave - A Warrior's Tale (USA) (Beta) (2009-04-03) + + + + Preproduction + Castle of Shikigami III (USA) (Beta) (2008-02-12) + + + + Preproduction + Castlevania Judgment (USA) (Beta) + + + + Preproduction + Cate West - The Vanishing Files (USA) (Beta) + + + + Preproduction + Chuck E. Cheese's Party Games (USA) (Beta) (2010-05-10) + + + + Preproduction + City Builder (USA) (Beta) (2009-11-24) + + + + Preproduction + Code Lyoko - Quest for Infinity (USA) (Beta) (2007-09-21) + + + + Preproduction + Crash - Mind over Mutant (USA) (Beta) (2008-07-16) + + + + Preproduction + Crash - Mind over Mutant (USA) (Beta) (2008-09-22) + + + + Preproduction + Ookami (USA) (Beta) (2008-02-06) + + + + Preproduction + Zack & Wiki - Quest for Barbaros' Treasure (USA) (Beta) (2007-09-07) + + + + Preproduction + Zack & Wiki - Quest for Barbaros' Treasure (USA) (Beta) (2007-08-16) + + + + Preproduction + Disney-Pixar Cars - Mater-National Championship (USA) (Beta) + + + + Preproduction + Dance Dance Revolution (USA) (Beta) (2010-09-03) + + + + Preproduction + Deca Sports (USA) (Beta) (2008-01-29) + + + + Preproduction + Destroy All Humans! Big Willy Unleashed (USA) (Beta) + + + + Preproduction + Dragon Ball Z - Budokai Tenkaichi 3 (USA) (Beta) (2007-07-01) + + + + Preproduction + Dragon Ball Z - Budokai Tenkaichi 3 (USA) (Beta) (2007-09-19) + + + + Preproduction + Escape from Bug Island (USA) (Beta) (2007-03-28) + + + + Preproduction + FIFA 08 (USA) (Beta) (2007-07-13) + + + + Preproduction + FIFA 09 - All-Play (USA) (Beta) (2008-07-04) + + + + Preproduction + FIFA 10 (USA) (Beta) (2009-06-30) + + + + Preproduction + Final Fantasy Crystal Chronicles - My Life as a King (USA) (Beta) + + + + Preproduction + Final Fantasy Crystal Chronicles - The Crystal Bearers (USA) (Beta) (2009-10-05) + + + + Preproduction + Fishing Master World Tour (USA) (Beta) (2008-11-14) + + + + Preproduction + Food Network - Cook or Be Cooked (USA) (Beta) (2009-07-20) + + + + Preproduction + Fragile Dreams - Farewell Ruins of the Moon (USA) (Beta) (2009-12-10) + + + + Preproduction + Godzilla - Unleashed (USA) (Beta) (2007-09-19) + + + + Preproduction + Guilty Gear XX Accent Core (USA) (Beta) (2007-07-06) + + + + Preproduction + Harry Potter and the Order of the Phoenix (USA) (Beta) (2007-05-19) + + + + Preproduction + Harvey Birdman - Attorney at Law (USA) (Beta) (2007-06-10) + + + + Preproduction + Hasbro Family Game Night 3 (USA) (Beta) (2010-07-12) + + + + Preproduction + Iron Man (USA) (Beta) (2008-03-12) + + + + Preproduction + Karaoke Revolution (USA) (Beta) (2009-08-21) + + + + Preproduction + Karaoke Revolution Glee (USA) (Beta) (2010-07-21) + + + + Preproduction + Karaoke Revolution Glee (USA) (Beta) (2010-08-02) + + + + Preproduction + Karaoke Revolution Presents - American Idol Encore 2 (USA) (Beta) (2008-08-25) + + + + Preproduction + LEGO Indiana Jones 2 - The Adventure Continues (USA) (Beta) (2009-08-10) + + + + Preproduction + LEGO Indiana Jones 2 - The Adventure Continues (USA) (Beta) (2009-08-17) + + + + Preproduction + LEGO Star Wars - The Complete Saga (Europe) (Beta) + + + + Preproduction + Let's Tap (USA) (Beta) (2009-03-03) + + + + Preproduction + Line Rider 2 - Unbound (USA) (Beta) (2008-08-05) + + + + Preproduction + Little King's Story (USA) (Beta) + + + + Preproduction + Little King's Story (Europe) (Beta) (2009-02-03) + + + + Preproduction + Little King's Story (USA) (Beta) (2009-03-17) + + + + Preproduction + Ousama Monogatari (Japan) (Beta) (2009-08-08) + + + + Preproduction + Medal of Honor - Heroes 2 (USA) (Beta) (2007-10-17) + + + + Preproduction + Mercury Meltdown Revolution (USA) (Beta) (2007-05-02) + + + + Preproduction + MotoGP (USA) (Beta) (2009-01-06) + + + + Preproduction + Mushroom Men - The Spore Wars (USA) (Beta) (2008-08-26) + + + + Preproduction + Mushroom Men - The Spore Wars (USA) (Beta) (2008-09-23) + + + + Preproduction + MySims (USA) (Beta) (2007-07-24) + + + + Preproduction + MySims (USA) (Beta) (2007-07-29) + + + + Preproduction + Naruto - Clash of Ninja Revolution 2 (USA) (Beta) (2008-09-04) + + + + Preproduction + NBA Live 08 (USA) (Beta) (2007-07-09) + + + + Preproduction + NBA Live 08 (USA) (Beta) (2007-08-07) + + + + Preproduction + Need for Speed - ProStreet (USA) (Beta) (2007-10-03) + + + + Preproduction + Neopets - Puzzle Adventure (USA) (Beta) (2008-10-13) + + + + Preproduction + Nights - Journey of Dreams (USA) (Beta) (2007-09-13) + + + + Preproduction + Nights - Journey of Dreams (USA) (Beta) (2007-11-07) + + + + Preproduction + Nitrobike (USA) (Beta) (2007-09-17) + + + + Preproduction + No More Heroes (USA) (Beta) (2007-11-14) + + + + Preproduction + ObsCure - The Aftermath (USA) (Beta) (2008-01-22) + + + + Preproduction + Shonen Jump One Piece - Unlimited Adventure (USA) (Beta) + + + + Preproduction + Onslaught (USA) (Beta) (2009-02-14) + + + + Preproduction + Order Up! (USA) (Beta) (2008-05-02) + + + + Preproduction + PES 2008 - Pro Evolution Soccer (USA) (Beta) + + + + Preproduction + Pet Pals - Animal Doctor (USA) (Beta) (2008-09-17) + + + + Preproduction + Pirates - The Key of Dreams (USA) (Beta) (2008-05-08) + + + + Preproduction + Pit Crew Panic! (USA) (Beta) (2008-12-02) + + + + Preproduction + Prince of Persia - Rival Swords (USA) (Beta) (2007-03-02) + + + + Preproduction + Rayman - Raving Rabbids 2 (USA) (Beta) (2007-09-01) + + + + Preproduction + Ready 2 Rumble - Revolution (USA) (Beta) (2008-12-29) + + + + Preproduction + Resident Evil - The Darkside Chronicles (USA) (Beta) (2009-09-02) + + + + Preproduction + Resident Evil - The Umbrella Chronicles (USA) (Beta) (2007-08-16) + + + + Preproduction + Rubik's World (USA) (Beta) + + + + Preproduction + Rygar - The Battle of Argus (USA) (Beta) + + + + Preproduction + SimCity Creator (Europe) (Beta) (2008-06-21) + + + + Preproduction + Star Wars - The Force Unleashed II (Europe) (Beta) (2010-07-14) + + + + Preproduction + Sims 2, The - Castaway (Europe) (Beta) (2007-08-20) + + + + Preproduction + Sam & Max - Season One (USA) (Beta) + + + + Preproduction + Samurai Warriors - Katana (USA) (Beta) (2007-10-26) + + + + Preproduction + Shaun White Snowboarding - Road Trip (USA) (Beta) + + + + Preproduction + Shiren the Wanderer (USA) (Beta) + + + + Preproduction + Skate It (USA) (Beta) (2008-09-02) + + + + Preproduction + Ski-Doo Snowmobile Challenge (USA) (Beta) + + + + Preproduction + SPRay (USA) (Beta) + + + + Preproduction + Spyborgs (USA) (Beta) (2009-06-30) + + + + Preproduction + SSX Blur (USA) (Beta) (2007-01-22) + + + + Preproduction + Conduit, The (USA) (Beta) (2009-05-29) + + + + Preproduction + Godfather, The - Blackhand Edition (USA) (Beta) (2007-01-24) + + + + Preproduction + Legend of Spyro, The - The Eternal Night (USA) (Beta) (2007-08-22) + + + + Preproduction + Munchables, The (USA) (Beta) + + + + Preproduction + Sims 3, The (USA) (Beta) (2010-07-13) + + + + Preproduction + Tiger Woods PGA Tour 07 (USA) (Beta) (2007-01-17) + + + + Preproduction + Tiger Woods PGA Tour 08 (USA) (Beta) (2007-07-11) + + + + Preproduction + Lara Croft Tomb Raider - Anniversary (USA) (Beta) (2007-09-20) + + + + Preproduction + Trauma Center - New Blood (USA) (Beta) (2007-10-02) + + + + Preproduction + Wacky World of Sports (USA) (Beta) (2009-03-25) + + + + Preproduction + Disney-Pixar WALL-E (USA) (Beta) + + + + Preproduction + We Love Golf! (USA) (Beta) (2008-04-17) + + + + Preproduction + We Love Golf! (USA) (Beta) (2008-03-05) + + + + Preproduction + We Ski (USA) (Beta) + + + + Preproduction + We Ski & Snowboard (USA) (Beta) + + + + Preproduction + WWE SmackDown vs. Raw 2009 (USA) (Beta) + + + + Preproduction + Yu-Gi-Oh! 5D's - Duel Transer (USA) (Beta) (2010-06-30) + + + + Preproduction + Yu-Gi-Oh! 5D's - Duel Transer (USA) (Beta) (2010-07-15) + + +
diff --git a/nodtool/build.rs b/nodtool/build.rs new file mode 100644 index 0000000..94f0caf --- /dev/null +++ b/nodtool/build.rs @@ -0,0 +1,109 @@ +use std::{ + env, + fs::File, + io::{BufReader, BufWriter, Write}, + mem::size_of, + path::Path, +}; + +use hex::deserialize as deserialize_hex; +use serde::Deserialize; +use zerocopy::AsBytes; + +// Keep in sync with build.rs +#[derive(Clone, Debug, AsBytes)] +#[repr(C, align(4))] +struct Header { + entry_count: u32, + entry_size: u32, +} + +// Keep in sync with redump.rs +#[derive(Clone, Debug, AsBytes)] +#[repr(C, align(4))] +struct GameEntry { + crc32: u32, + string_table_offset: u32, + sectors: u32, + md5: [u8; 16], + sha1: [u8; 20], +} + +fn main() { + let output = std::process::Command::new("git") + .args(["rev-parse", "HEAD"]) + .output() + .expect("Failed to execute git"); + let rev = String::from_utf8(output.stdout).expect("Failed to parse git output"); + println!("cargo:rustc-env=GIT_COMMIT_SHA={rev}"); + println!("cargo:rustc-rerun-if-changed=.git/HEAD"); + + let out_dir = env::var("OUT_DIR").unwrap(); + let dest_path = Path::new(&out_dir).join("parsed-dats.bin"); + let mut f = BufWriter::new(File::create(&dest_path).unwrap()); + + // Parse dat files + let mut entries = Vec::<(GameEntry, String)>::new(); + for path in ["assets/redump-gc.dat", "assets/redump-wii.dat"] { + let file = BufReader::new(File::open(path).expect("Failed to open dat file")); + let dat: DatFile = quick_xml::de::from_reader(file).expect("Failed to parse dat file"); + entries.extend(dat.games.into_iter().map(|game| { + ( + GameEntry { + string_table_offset: 0, + crc32: u32::from_be_bytes(game.rom.crc32), + md5: game.rom.md5, + sha1: game.rom.sha1, + sectors: game.rom.size.div_ceil(0x8000) as u32, + }, + game.name, + ) + })); + } + + // Sort by CRC32 + entries.sort_by_key(|(entry, _)| entry.crc32); + + // Write game entries + let header = + Header { entry_count: entries.len() as u32, entry_size: size_of::() as u32 }; + f.write_all(header.as_bytes()).unwrap(); + let mut string_table_offset = 0u32; + for (entry, name) in &mut entries { + entry.string_table_offset = string_table_offset; + f.write_all(entry.as_bytes()).unwrap(); + string_table_offset += name.as_bytes().len() as u32 + 4; + } + + // Write string table + for (_, name) in &entries { + f.write_all(&(name.len() as u32).to_le_bytes()).unwrap(); + f.write_all(name.as_bytes()).unwrap(); + } + f.flush().unwrap(); +} + +#[derive(Clone, Debug, Deserialize)] +struct DatFile { + #[serde(rename = "game")] + games: Vec, +} + +#[derive(Clone, Debug, Deserialize)] +struct DatGame { + #[serde(rename = "@name")] + name: String, + rom: DatGameRom, +} + +#[derive(Clone, Debug, Deserialize)] +struct DatGameRom { + #[serde(rename = "@size")] + size: u64, + #[serde(rename = "@crc", deserialize_with = "deserialize_hex")] + crc32: [u8; 4], + #[serde(rename = "@md5", deserialize_with = "deserialize_hex")] + md5: [u8; 16], + #[serde(rename = "@sha1", deserialize_with = "deserialize_hex")] + sha1: [u8; 20], +} diff --git a/src/argp_version.rs b/nodtool/src/argp_version.rs similarity index 100% rename from src/argp_version.rs rename to nodtool/src/argp_version.rs diff --git a/nodtool/src/digest.rs b/nodtool/src/digest.rs new file mode 100644 index 0000000..6fba156 --- /dev/null +++ b/nodtool/src/digest.rs @@ -0,0 +1,96 @@ +use std::{ + fmt, + sync::{ + mpsc::{sync_channel, SyncSender}, + Arc, + }, + thread, + thread::JoinHandle, +}; + +use digest::{Digest, Output}; + +pub type DigestThread = (SyncSender>, JoinHandle); + +pub fn digest_thread() -> DigestThread +where H: Hasher + Send + 'static { + let (tx, rx) = sync_channel::>(1); + let handle = thread::spawn(move || { + let mut hasher = H::new(); + while let Ok(data) = rx.recv() { + hasher.update(data.as_ref()); + } + hasher.finalize() + }); + (tx, handle) +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum DigestResult { + Crc32(u32), + Md5([u8; 16]), + Sha1([u8; 20]), + Xxh64(u64), +} + +impl DigestResult { + pub fn name(&self) -> &'static str { + match self { + DigestResult::Crc32(_) => "CRC32", + DigestResult::Md5(_) => "MD5", + DigestResult::Sha1(_) => "SHA-1", + DigestResult::Xxh64(_) => "XXH64", + } + } +} + +impl fmt::Display for DigestResult { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + DigestResult::Crc32(crc) => write!(f, "{:08x}", crc), + DigestResult::Md5(md5) => write!(f, "{:032x}", >::from(*md5)), + DigestResult::Sha1(sha1) => write!(f, "{:040x}", >::from(*sha1)), + DigestResult::Xxh64(xxh64) => write!(f, "{:016x}", xxh64), + } + } +} + +pub trait Hasher { + fn new() -> Self; + fn finalize(self) -> DigestResult; + fn update(&mut self, data: &[u8]); +} + +impl Hasher for md5::Md5 { + fn new() -> Self { Digest::new() } + + fn finalize(self) -> DigestResult { DigestResult::Md5(Digest::finalize(self).into()) } + + fn update(&mut self, data: &[u8]) { Digest::update(self, data) } +} + +impl Hasher for sha1::Sha1 { + fn new() -> Self { Digest::new() } + + fn finalize(self) -> DigestResult { DigestResult::Sha1(Digest::finalize(self).into()) } + + fn update(&mut self, data: &[u8]) { Digest::update(self, data) } +} + +impl Hasher for crc32fast::Hasher { + fn new() -> Self { crc32fast::Hasher::new() } + + fn finalize(self) -> DigestResult { DigestResult::Crc32(crc32fast::Hasher::finalize(self)) } + + fn update(&mut self, data: &[u8]) { crc32fast::Hasher::update(self, data) } +} + +impl Hasher for xxhash_rust::xxh64::Xxh64 { + fn new() -> Self { xxhash_rust::xxh64::Xxh64::new(0) } + + fn finalize(self) -> DigestResult { + DigestResult::Xxh64(xxhash_rust::xxh64::Xxh64::digest(&self)) + } + + fn update(&mut self, data: &[u8]) { xxhash_rust::xxh64::Xxh64::update(self, data) } +} diff --git a/src/bin.rs b/nodtool/src/main.rs similarity index 67% rename from src/bin.rs rename to nodtool/src/main.rs index 516fd40..2313935 100644 --- a/src/bin.rs +++ b/nodtool/src/main.rs @@ -1,4 +1,6 @@ mod argp_version; +mod digest; +mod redump; use std::{ borrow::Cow, @@ -12,23 +14,20 @@ use std::{ io::{BufWriter, Read, Write}, path::{Path, PathBuf}, str::FromStr, - sync::{ - mpsc::{sync_channel, SyncSender}, - Arc, - }, + sync::{mpsc::sync_channel, Arc}, thread, - thread::JoinHandle, }; use argp::{FromArgValue, FromArgs}; -use digest::{Digest, Output}; +use digest::{digest_thread, DigestResult}; use enable_ansi_support::enable_ansi_support; use indicatif::{ProgressBar, ProgressState, ProgressStyle}; use itertools::Itertools; use nod::{ - Disc, DiscHeader, Fst, Node, OpenOptions, PartitionBase, PartitionKind, PartitionMeta, Result, - ResultContext, SECTOR_SIZE, + Compression, Disc, DiscHeader, DiscMeta, Fst, Node, OpenOptions, PartitionBase, PartitionKind, + PartitionMeta, Result, ResultContext, SECTOR_SIZE, }; +use size::Size; use supports_color::Stream; use tracing::level_filters::LevelFilter; use tracing_subscriber::EnvFilter; @@ -107,12 +106,12 @@ struct ConvertArgs { } #[derive(FromArgs, Debug)] -/// Verifies a disc image. +/// Verifies disc images. #[argp(subcommand, name = "verify")] struct VerifyArgs { #[argp(positional)] - /// path to disc image - file: PathBuf, + /// path to disc image(s) + file: Vec, #[argp(switch)] /// enable MD5 hashing (slower) md5: bool, @@ -226,8 +225,24 @@ fn main() { } } -fn print_header(header: &DiscHeader) { - println!("Name: {}", header.game_title_str()); +fn print_header(header: &DiscHeader, meta: &DiscMeta) { + println!("Format: {}", meta.format); + if meta.compression != Compression::None { + println!("Compression: {}", meta.compression); + } + if let Some(block_size) = meta.block_size { + println!("Block size: {}", Size::from_bytes(block_size)); + } + println!("Lossless: {}", meta.lossless); + println!( + "Verification data: {}", + meta.crc32.is_some() + || meta.md5.is_some() + || meta.sha1.is_some() + || meta.xxhash64.is_some() + ); + println!(); + println!("Title: {}", header.game_title_str()); println!("Game ID: {}", header.game_id_str()); println!("Disc {}, Revision {}", header.disc_num + 1, header.disc_version); if header.no_partition_hashes != 0 { @@ -240,12 +255,12 @@ fn print_header(header: &DiscHeader) { fn info(args: InfoArgs) -> Result<()> { let disc = Disc::new_with_options(args.file, &OpenOptions { - rebuild_hashes: false, - validate_hashes: false, rebuild_encryption: false, + validate_hashes: false, })?; let header = disc.header(); - print_header(header); + let meta = disc.meta(); + print_header(header, &meta); if header.is_wii() { for (idx, info) in disc.partitions().iter().enumerate() { @@ -260,7 +275,7 @@ fn info(args: InfoArgs) -> Result<()> { "\tData offset / size: {:#X} / {:#X} ({})", info.data_start_sector as u64 * SECTOR_SIZE as u64, data_size, - file_size::fit_4(data_size) + Size::from_bytes(data_size) ); println!( "\tTMD offset / size: {:#X} / {:#X}", @@ -278,26 +293,25 @@ fn info(args: InfoArgs) -> Result<()> { info.header.h3_table_size() ); - // let mut partition = disc.open_partition(idx)?; - // let meta = partition.meta()?; - // let header = meta.header(); - // let tmd = meta.tmd_header(); - // let title_id_str = if let Some(tmd) = tmd { - // format!( - // "{:02x}{:02x}{:02x}{:02x}{:02x}{:02x}{:02x}{:02x}", - // tmd.title_id[0], - // tmd.title_id[1], - // tmd.title_id[2], - // tmd.title_id[3], - // tmd.title_id[4], - // tmd.title_id[5], - // tmd.title_id[6], - // tmd.title_id[7] - // ) - // } else { - let title_id_str = "N/A".to_string(); - // }; - println!("\tName: {}", info.disc_header.game_title_str()); + let mut partition = disc.open_partition(idx)?; + let meta = partition.meta()?; + let tmd = meta.tmd_header(); + let title_id_str = if let Some(tmd) = tmd { + format!( + "{:02x}{:02x}{:02x}{:02x}{:02x}{:02x}{:02x}{:02x}", + tmd.title_id[0], + tmd.title_id[1], + tmd.title_id[2], + tmd.title_id[3], + tmd.title_id[4], + tmd.title_id[5], + tmd.title_id[6], + tmd.title_id[7] + ) + } else { + "N/A".to_string() + }; + println!("\tTitle: {}", info.disc_header.game_title_str()); println!("\tGame ID: {} ({})", info.disc_header.game_id_str(), title_id_str); println!( "\tDisc {}, Revision {}", @@ -321,19 +335,24 @@ fn convert(args: ConvertArgs) -> Result<()> { convert_and_verify(&args.file, Some(&args.out), args.md5) } -fn verify(args: VerifyArgs) -> Result<()> { convert_and_verify(&args.file, None, args.md5) } +fn verify(args: VerifyArgs) -> Result<()> { + for file in &args.file { + convert_and_verify(file, None, args.md5)?; + println!(); + } + Ok(()) +} fn convert_and_verify(in_file: &Path, out_file: Option<&Path>, md5: bool) -> Result<()> { println!("Loading {}", in_file.display()); let mut disc = Disc::new_with_options(in_file, &OpenOptions { - rebuild_hashes: true, - validate_hashes: false, rebuild_encryption: true, + validate_hashes: false, })?; let header = disc.header(); - print_header(header); + let meta = disc.meta(); + print_header(header, &meta); - let meta = disc.meta()?; let disc_size = disc.disc_size(); let mut file = if let Some(out_file) = out_file { @@ -345,7 +364,11 @@ fn convert_and_verify(in_file: &Path, out_file: Option<&Path>, md5: bool) -> Res None }; - println!("\nHashing..."); + if out_file.is_some() { + println!("\nConverting..."); + } else { + println!("\nVerifying..."); + } let pb = ProgressBar::new(disc_size); pb.set_style(ProgressStyle::with_template("{spinner:.green} [{elapsed_precise}] [{wide_bar:.cyan/blue}] {bytes}/{total_bytes} ({bytes_per_sec}, {eta})") .unwrap() @@ -394,7 +417,7 @@ fn convert_and_verify(in_file: &Path, out_file: Option<&Path>, md5: bool) -> Res let mut buf = ::new_box_slice_zeroed(BUFFER_SIZE); while total_read < disc_size { let read = min(BUFFER_SIZE as u64, disc_size - total_read) as usize; - disc.reader.read_exact(&mut buf[..read]).with_context(|| { + disc.read_exact(&mut buf[..read]).with_context(|| { format!("Reading {} bytes at disc offset {}", BUFFER_SIZE, total_read) })?; @@ -410,61 +433,65 @@ fn convert_and_verify(in_file: &Path, out_file: Option<&Path>, md5: bool) -> Res println!(); if let Some(path) = out_file { - println!("Wrote {} to {}", file_size::fit_4(total_read), path.display()); + println!("Wrote {} to {}", Size::from_bytes(total_read), path.display()); } println!(); + let mut crc32 = None; + let mut md5 = None; + let mut sha1 = None; + let mut xxh64 = None; for (tx, handle) in digest_threads { drop(tx); // Close channel match handle.join().unwrap() { - DigestResult::Crc32(crc) => { - print!("CRC32: {:08x}", crc); - if let Some(expected_crc) = meta.crc32 { - if expected_crc != crc { - print!(" ❌ (expected: {:08x})", expected_crc); - } else { - print!(" ✅"); - } - } - println!(); - } - DigestResult::Md5(md5) => { - print!("MD5: {:032x}", md5); - if let Some(expected_md5) = meta.md5 { - let expected_md5 = >::from(expected_md5); - if expected_md5 != md5 { - print!(" ❌ (expected: {:032x})", expected_md5); - } else { - print!(" ✅"); - } - } - println!(); - } - DigestResult::Sha1(sha1) => { - print!("SHA-1: {:040x}", sha1); - if let Some(expected_sha1) = meta.sha1 { - let expected_sha1 = >::from(expected_sha1); - if expected_sha1 != sha1 { - print!(" ❌ (expected: {:040x})", expected_sha1); - } else { - print!(" ✅"); - } - } - println!(); - } - DigestResult::Xxh64(xxh64) => { - print!("XXH64: {:016x}", xxh64); - if let Some(expected_xxh64) = meta.xxhash64 { - if expected_xxh64 != xxh64 { - print!(" ❌ (expected: {:016x})", expected_xxh64); - } else { - print!(" ✅"); - } - } - println!(); - } + DigestResult::Crc32(v) => crc32 = Some(v), + DigestResult::Md5(v) => md5 = Some(v), + DigestResult::Sha1(v) => sha1 = Some(v), + DigestResult::Xxh64(v) => xxh64 = Some(v), } } + + let redump_entry = if let (Some(crc32), Some(sha1)) = (crc32, sha1) { + redump::find_by_hashes(crc32, sha1.into()) + } else { + None + }; + let expected_crc32 = meta.crc32.or(redump_entry.as_ref().map(|e| e.crc32)); + let expected_md5 = meta.md5.or(redump_entry.as_ref().map(|e| e.md5)); + let expected_sha1 = meta.sha1.or(redump_entry.as_ref().map(|e| e.sha1)); + let expected_xxh64 = meta.xxhash64; + + fn print_digest(value: DigestResult, expected: Option) { + print!("{:<6}: ", value.name()); + if let Some(expected) = expected { + if expected != value { + print!("{} ❌ (expected: {})", value, expected); + } else { + print!("{} ✅", value); + } + } else { + print!("{}", value); + } + println!(); + } + + if let Some(entry) = &redump_entry { + println!("Redump: {} ✅", entry.name); + } else { + println!("Redump: Not found ❌"); + } + if let Some(crc32) = crc32 { + print_digest(DigestResult::Crc32(crc32), expected_crc32.map(DigestResult::Crc32)); + } + if let Some(md5) = md5 { + print_digest(DigestResult::Md5(md5), expected_md5.map(DigestResult::Md5)); + } + if let Some(sha1) = sha1 { + print_digest(DigestResult::Sha1(sha1), expected_sha1.map(DigestResult::Sha1)); + } + if let Some(xxh64) = xxh64 { + print_digest(DigestResult::Xxh64(xxh64), expected_xxh64.map(DigestResult::Xxh64)); + } Ok(()) } @@ -490,42 +517,41 @@ fn extract(args: ExtractArgs) -> Result<()> { output_dir = args.file.with_extension(""); } let disc = Disc::new_with_options(&args.file, &OpenOptions { - rebuild_hashes: args.validate, - validate_hashes: args.validate, rebuild_encryption: false, + validate_hashes: args.validate, })?; let is_wii = disc.header().is_wii(); - // let mut partition = disc.open_partition_kind(PartitionKind::Data)?; - // let meta = partition.meta()?; - // extract_sys_files(meta.as_ref(), &output_dir.join("sys"), args.quiet)?; - // - // // Extract FST - // let files_dir = output_dir.join("files"); - // let fst = Fst::new(&meta.raw_fst)?; - // let mut path_segments = Vec::<(Cow, usize)>::new(); - // for (idx, node, name) in fst.iter() { - // // Remove ended path segments - // let mut new_size = 0; - // for (_, end) in path_segments.iter() { - // if *end == idx { - // break; - // } - // new_size += 1; - // } - // path_segments.truncate(new_size); - // - // // Add the new path segment - // let end = if node.is_dir() { node.length(false) as usize } else { idx + 1 }; - // path_segments.push((name?, end)); - // - // let path = path_segments.iter().map(|(name, _)| name.as_ref()).join("/"); - // if node.is_dir() { - // fs::create_dir_all(files_dir.join(&path)) - // .with_context(|| format!("Creating directory {}", path))?; - // } else { - // extract_node(node, partition.as_mut(), &files_dir, &path, is_wii, args.quiet)?; - // } - // } + let mut partition = disc.open_partition_kind(PartitionKind::Data)?; + let meta = partition.meta()?; + extract_sys_files(meta.as_ref(), &output_dir.join("sys"), args.quiet)?; + + // Extract FST + let files_dir = output_dir.join("files"); + let fst = Fst::new(&meta.raw_fst)?; + let mut path_segments = Vec::<(Cow, usize)>::new(); + for (idx, node, name) in fst.iter() { + // Remove ended path segments + let mut new_size = 0; + for (_, end) in path_segments.iter() { + if *end == idx { + break; + } + new_size += 1; + } + path_segments.truncate(new_size); + + // Add the new path segment + let end = if node.is_dir() { node.length(false) as usize } else { idx + 1 }; + path_segments.push((name?, end)); + + let path = path_segments.iter().map(|(name, _)| name.as_ref()).join("/"); + if node.is_dir() { + fs::create_dir_all(files_dir.join(&path)) + .with_context(|| format!("Creating directory {}", path))?; + } else { + extract_node(node, partition.as_mut(), &files_dir, &path, is_wii, args.quiet)?; + } + } Ok(()) } @@ -542,11 +568,7 @@ fn extract_sys_files(data: &PartitionMeta, out_dir: &Path, quiet: bool) -> Resul fn extract_file(bytes: &[u8], out_path: &Path, quiet: bool) -> Result<()> { if !quiet { - println!( - "Extracting {} (size: {})", - out_path.display(), - file_size::fit_4(bytes.len() as u64) - ); + println!("Extracting {} (size: {})", out_path.display(), Size::from_bytes(bytes.len())); } fs::write(out_path, bytes).with_context(|| format!("Writing file {}", out_path.display()))?; Ok(()) @@ -565,7 +587,7 @@ fn extract_node( println!( "Extracting {} (size: {})", file_path.display(), - file_size::fit_4(node.length(is_wii)) + Size::from_bytes(node.length(is_wii)) ); } let file = File::create(&file_path) @@ -583,65 +605,3 @@ fn extract_node( w.flush().with_context(|| format!("Flushing file {}", file_path.display()))?; Ok(()) } - -type DigestThread = (SyncSender>, JoinHandle); - -fn digest_thread() -> DigestThread -where H: Hasher + Send + 'static { - let (tx, rx) = sync_channel::>(1); - let handle = thread::spawn(move || { - let mut hasher = H::new(); - while let Ok(data) = rx.recv() { - hasher.update(data.as_ref()); - } - hasher.finalize() - }); - (tx, handle) -} - -enum DigestResult { - Crc32(u32), - Md5(Output), - Sha1(Output), - Xxh64(u64), -} - -trait Hasher { - fn new() -> Self; - fn finalize(self) -> DigestResult; - fn update(&mut self, data: &[u8]); -} - -impl Hasher for md5::Md5 { - fn new() -> Self { Digest::new() } - - fn finalize(self) -> DigestResult { DigestResult::Md5(Digest::finalize(self)) } - - fn update(&mut self, data: &[u8]) { Digest::update(self, data) } -} - -impl Hasher for sha1::Sha1 { - fn new() -> Self { Digest::new() } - - fn finalize(self) -> DigestResult { DigestResult::Sha1(Digest::finalize(self)) } - - fn update(&mut self, data: &[u8]) { Digest::update(self, data) } -} - -impl Hasher for crc32fast::Hasher { - fn new() -> Self { crc32fast::Hasher::new() } - - fn finalize(self) -> DigestResult { DigestResult::Crc32(crc32fast::Hasher::finalize(self)) } - - fn update(&mut self, data: &[u8]) { crc32fast::Hasher::update(self, data) } -} - -impl Hasher for xxhash_rust::xxh64::Xxh64 { - fn new() -> Self { xxhash_rust::xxh64::Xxh64::new(0) } - - fn finalize(self) -> DigestResult { - DigestResult::Xxh64(xxhash_rust::xxh64::Xxh64::digest(&self)) - } - - fn update(&mut self, data: &[u8]) { xxhash_rust::xxh64::Xxh64::update(self, data) } -} diff --git a/nodtool/src/redump.rs b/nodtool/src/redump.rs new file mode 100644 index 0000000..10d35e9 --- /dev/null +++ b/nodtool/src/redump.rs @@ -0,0 +1,70 @@ +use std::{mem::size_of, str}; + +use nod::{array_ref, SECTOR_SIZE}; +use zerocopy::{FromBytes, FromZeroes}; + +#[derive(Clone, Debug)] +pub struct GameResult { + pub name: &'static str, + pub crc32: u32, + pub md5: [u8; 16], + pub sha1: [u8; 20], + pub size: u64, +} + +pub fn find_by_hashes(crc32: u32, sha1: [u8; 20]) -> Option { + let header: &Header = Header::ref_from_prefix(&DATA.0).unwrap(); + assert_eq!(header.entry_size as usize, size_of::()); + + let entries_size = header.entry_count as usize * size_of::(); + let entries: &[GameEntry] = + GameEntry::slice_from(&DATA.0[size_of::
()..size_of::
() + entries_size]) + .unwrap(); + let string_table: &[u8] = &DATA.0[size_of::
() + entries_size..]; + + // Binary search by CRC32 + let index = entries.binary_search_by_key(&crc32, |entry| entry.crc32).ok()?; + + // Verify SHA-1 + let entry = &entries[index]; + if entry.sha1 != sha1 { + return None; + } + + // Parse the entry + let offset = entry.string_table_offset as usize; + let name_size = u32::from_ne_bytes(*array_ref![string_table, offset, 4]) as usize; + let name = str::from_utf8(&string_table[offset + 4..offset + 4 + name_size]).unwrap(); + Some(GameResult { + name, + crc32: entry.crc32, + md5: entry.md5, + sha1: entry.sha1, + size: entry.sectors as u64 * SECTOR_SIZE as u64, + }) +} + +#[repr(C, align(4))] +struct Aligned(T); + +const DATA: &'static Aligned<[u8]> = + &Aligned(*include_bytes!(concat!(env!("OUT_DIR"), "/parsed-dats.bin"))); + +// Keep in sync with build.rs +#[derive(Clone, Debug, FromBytes, FromZeroes)] +#[repr(C, align(4))] +struct Header { + entry_count: u32, + entry_size: u32, +} + +// Keep in sync with build.rs +#[derive(Clone, Debug, FromBytes, FromZeroes)] +#[repr(C, align(4))] +struct GameEntry { + crc32: u32, + string_table_offset: u32, + sectors: u32, + md5: [u8; 16], + sha1: [u8; 20], +} diff --git a/src/disc/gcn.rs b/src/disc/gcn.rs deleted file mode 100644 index e5401d7..0000000 --- a/src/disc/gcn.rs +++ /dev/null @@ -1,242 +0,0 @@ -use std::{ - io, - io::{Read, Seek, SeekFrom}, - mem::size_of, -}; - -use zerocopy::FromBytes; - -use crate::{ - array_ref, - disc::{ - AppLoaderHeader, DiscBase, DiscHeader, DiscIO, DolHeader, PartitionBase, PartitionHeader, - PartitionInfo, PartitionKind, PartitionMeta, BI2_SIZE, BOOT_SIZE, MINI_DVD_SIZE, - SECTOR_SIZE, - }, - fst::{Node, NodeKind}, - streams::{ReadStream, SharedWindowedReadStream}, - util::{ - div_rem, - read::{read_box, read_box_slice, read_vec}, - }, - Error, OpenOptions, Result, ResultContext, -}; - -pub(crate) struct DiscGCN { - pub(crate) header: DiscHeader, - pub(crate) disc_size: u64, -} - -impl DiscGCN { - pub(crate) fn new( - _stream: &mut dyn ReadStream, - header: DiscHeader, - disc_size: Option, - ) -> Result { - Ok(DiscGCN { header, disc_size: disc_size.unwrap_or(MINI_DVD_SIZE) }) - } -} - -fn open_partition<'a>(disc_io: &'a dyn DiscIO) -> Result> { - let stream = disc_io.open()?; - Ok(Box::new(PartitionGC { stream, offset: 0, cur_block: u32::MAX, buf: [0; SECTOR_SIZE] })) -} - -impl DiscBase for DiscGCN { - fn header(&self) -> &DiscHeader { &self.header } - - fn partitions(&self) -> Vec { - vec![PartitionInfo { - group_index: 0, - part_index: 0, - part_offset: 0, - kind: PartitionKind::Data, - data_offset: 0, - data_size: self.disc_size, - header: None, - lfg_seed: *array_ref!(self.header.game_id, 0, 4), - // junk_start: self.junk_start, - }] - } - - fn open_partition<'a>( - &self, - disc_io: &'a dyn DiscIO, - index: usize, - _options: &OpenOptions, - ) -> Result> { - if index != 0 { - return Err(Error::DiscFormat(format!( - "Invalid partition index {} for GameCube disc", - index - ))); - } - open_partition(disc_io) - } - - fn open_partition_kind<'a>( - &self, - disc_io: &'a dyn DiscIO, - part_type: PartitionKind, - _options: &OpenOptions, - ) -> Result> { - if part_type != PartitionKind::Data { - return Err(Error::DiscFormat(format!( - "Invalid partition type {:?} for GameCube disc", - part_type - ))); - } - open_partition(disc_io) - } - - fn disc_size(&self) -> u64 { self.disc_size } -} - -struct PartitionGC<'a> { - stream: Box, - offset: u64, - cur_block: u32, - buf: [u8; SECTOR_SIZE], -} - -impl<'a> Read for PartitionGC<'a> { - fn read(&mut self, buf: &mut [u8]) -> io::Result { - let (block, block_offset) = div_rem(self.offset, SECTOR_SIZE as u64); - let mut block = block as u32; - let mut block_offset = block_offset as usize; - - let mut rem = buf.len(); - let mut read: usize = 0; - - while rem > 0 { - if block != self.cur_block { - self.stream.read_exact(&mut self.buf)?; - self.cur_block = block; - } - - let mut cache_size = rem; - if cache_size + block_offset > SECTOR_SIZE { - cache_size = SECTOR_SIZE - block_offset; - } - - buf[read..read + cache_size] - .copy_from_slice(&self.buf[block_offset..block_offset + cache_size]); - read += cache_size; - rem -= cache_size; - block_offset = 0; - block += 1; - } - - self.offset += buf.len() as u64; - Ok(buf.len()) - } -} - -impl<'a> Seek for PartitionGC<'a> { - fn seek(&mut self, pos: SeekFrom) -> io::Result { - self.offset = match pos { - SeekFrom::Start(v) => v, - SeekFrom::End(_) => { - return Err(io::Error::new( - io::ErrorKind::Unsupported, - "PartitionGC: SeekFrom::End is not supported", - )); - } - SeekFrom::Current(v) => self.offset.saturating_add_signed(v), - }; - let block = self.offset / SECTOR_SIZE as u64; - if block as u32 != self.cur_block { - self.stream.seek(SeekFrom::Start(block * SECTOR_SIZE as u64))?; - self.cur_block = u32::MAX; - } - Ok(self.offset) - } - - fn stream_position(&mut self) -> io::Result { Ok(self.offset) } -} - -impl<'a> PartitionBase for PartitionGC<'a> { - fn meta(&mut self) -> Result> { - self.seek(SeekFrom::Start(0)).context("Seeking to partition header")?; - read_part_header(self, false) - } - - fn open_file(&mut self, node: &Node) -> io::Result { - assert_eq!(node.kind(), NodeKind::File); - self.new_window(node.offset(false), node.length(false)) - } - - fn ideal_buffer_size(&self) -> usize { SECTOR_SIZE } -} - -pub(crate) fn read_part_header(reader: &mut R, is_wii: bool) -> Result> -where R: Read + Seek + ?Sized { - // boot.bin - let raw_boot: Box<[u8; BOOT_SIZE]> = read_box(reader).context("Reading boot.bin")?; - let partition_header = PartitionHeader::ref_from(&raw_boot[size_of::()..]).unwrap(); - - // bi2.bin - let raw_bi2: Box<[u8; BI2_SIZE]> = read_box(reader).context("Reading bi2.bin")?; - - // apploader.bin - let mut raw_apploader: Vec = - read_vec(reader, size_of::()).context("Reading apploader header")?; - let apploader_header = AppLoaderHeader::ref_from(raw_apploader.as_slice()).unwrap(); - raw_apploader.resize( - size_of::() - + apploader_header.size.get() as usize - + apploader_header.trailer_size.get() as usize, - 0, - ); - reader - .read_exact(&mut raw_apploader[size_of::()..]) - .context("Reading apploader")?; - - // fst.bin - reader - .seek(SeekFrom::Start(partition_header.fst_off(is_wii))) - .context("Seeking to FST offset")?; - let raw_fst: Box<[u8]> = read_box_slice(reader, partition_header.fst_sz(is_wii) as usize) - .with_context(|| { - format!( - "Reading partition FST (offset {}, size {})", - partition_header.fst_off, partition_header.fst_sz - ) - })?; - - // main.dol - reader - .seek(SeekFrom::Start(partition_header.dol_off(is_wii))) - .context("Seeking to DOL offset")?; - let mut raw_dol: Vec = - read_vec(reader, size_of::()).context("Reading DOL header")?; - let dol_header = DolHeader::ref_from(raw_dol.as_slice()).unwrap(); - let dol_size = dol_header - .text_offs - .iter() - .zip(&dol_header.text_sizes) - .map(|(offs, size)| offs.get() + size.get()) - .chain( - dol_header - .data_offs - .iter() - .zip(&dol_header.data_sizes) - .map(|(offs, size)| offs.get() + size.get()), - ) - .max() - .unwrap_or(size_of::() as u32); - raw_dol.resize(dol_size as usize, 0); - reader.read_exact(&mut raw_dol[size_of::()..]).context("Reading DOL")?; - - Ok(Box::new(PartitionMeta { - raw_boot, - raw_bi2, - raw_apploader: raw_apploader.into_boxed_slice(), - raw_fst, - raw_dol: raw_dol.into_boxed_slice(), - raw_ticket: None, - raw_tmd: None, - raw_cert_chain: None, - raw_h3_table: None, - })) -} diff --git a/src/disc/partition.rs b/src/disc/partition.rs deleted file mode 100644 index 3ef43ef..0000000 --- a/src/disc/partition.rs +++ /dev/null @@ -1,177 +0,0 @@ -use std::{ - cmp::min, - io, - io::{Read, Seek, SeekFrom}, -}; - -use sha1::{Digest, Sha1}; -use zerocopy::FromZeroes; - -use crate::{ - array_ref, - disc::wii::{as_digest, HASHES_SIZE, SECTOR_DATA_SIZE}, - io::block::{BPartitionInfo, Block, BlockIO}, - util::div_rem, - Result, SECTOR_SIZE, -}; - -pub struct PartitionReader { - io: Box, - partition: BPartitionInfo, - block: Option, - block_buf: Box<[u8]>, - block_idx: u32, - sector_buf: Box<[u8; SECTOR_SIZE]>, - sector: u32, - pos: u64, - verify: bool, -} - -impl Clone for PartitionReader { - fn clone(&self) -> Self { - Self { - io: self.io.clone(), - partition: self.partition.clone(), - block: None, - block_buf: ::new_box_slice_zeroed(self.block_buf.len()), - block_idx: u32::MAX, - sector_buf: <[u8; SECTOR_SIZE]>::new_box_zeroed(), - sector: u32::MAX, - pos: 0, - verify: self.verify, - } - } -} - -impl PartitionReader { - pub fn new(inner: Box, partition: &BPartitionInfo) -> Result { - let block_size = inner.block_size(); - Ok(Self { - io: inner, - partition: partition.clone(), - block: None, - block_buf: ::new_box_slice_zeroed(block_size as usize), - block_idx: u32::MAX, - sector_buf: <[u8; SECTOR_SIZE]>::new_box_zeroed(), - sector: u32::MAX, - pos: 0, - verify: false, - }) - } -} - -impl Read for PartitionReader { - fn read(&mut self, buf: &mut [u8]) -> io::Result { - let partition_sector = (self.pos / SECTOR_DATA_SIZE as u64) as u32; - let sector = self.partition.data_start_sector + partition_sector; - if sector >= self.partition.data_end_sector { - return Ok(0); - } - let block_idx = (sector as u64 * SECTOR_SIZE as u64 / self.block_buf.len() as u64) as u32; - - // Read new block if necessary - if block_idx != self.block_idx { - self.block = - self.io.read_block(self.block_buf.as_mut(), block_idx, Some(&self.partition))?; - self.block_idx = block_idx; - } - - // Decrypt sector if necessary - if sector != self.sector { - let Some(block) = &self.block else { - return Ok(0); - }; - block.decrypt( - &mut self.sector_buf, - self.block_buf.as_ref(), - block_idx, - sector, - &self.partition, - )?; - - if self.verify { - verify_hashes(&self.sector_buf, sector)?; - } - - self.sector = sector; - } - - let offset = (self.pos % SECTOR_DATA_SIZE as u64) as usize; - let len = min(buf.len(), SECTOR_DATA_SIZE - offset); - buf[..len] - .copy_from_slice(&self.sector_buf[HASHES_SIZE + offset..HASHES_SIZE + offset + len]); - self.pos += len as u64; - Ok(len) - } -} - -impl Seek for PartitionReader { - fn seek(&mut self, pos: SeekFrom) -> io::Result { - self.pos = match pos { - SeekFrom::Start(v) => v, - SeekFrom::End(_) => { - return Err(io::Error::new( - io::ErrorKind::Unsupported, - "PartitionReader: SeekFrom::End is not supported".to_string(), - )); - } - SeekFrom::Current(v) => self.pos.saturating_add_signed(v), - }; - Ok(self.pos) - } -} - -fn verify_hashes(buf: &[u8; SECTOR_SIZE], sector: u32) -> io::Result<()> { - let (mut group, sub_group) = div_rem(sector as usize, 8); - group %= 8; - - // H0 hashes - for i in 0..31 { - let mut hash = Sha1::new(); - hash.update(array_ref![buf, (i + 1) * 0x400, 0x400]); - let expected = as_digest(array_ref![buf, i * 20, 20]); - let output = hash.finalize(); - if output != expected { - return Err(io::Error::new( - io::ErrorKind::InvalidData, - format!("Invalid H0 hash! (block {:?}) {:x}\n\texpected {:x}", i, output, expected), - )); - } - } - - // H1 hash - { - let mut hash = Sha1::new(); - hash.update(array_ref![buf, 0, 0x26C]); - let expected = as_digest(array_ref![buf, 0x280 + sub_group * 20, 20]); - let output = hash.finalize(); - if output != expected { - return Err(io::Error::new( - io::ErrorKind::InvalidData, - format!( - "Invalid H1 hash! (subgroup {:?}) {:x}\n\texpected {:x}", - sub_group, output, expected - ), - )); - } - } - - // H2 hash - { - let mut hash = Sha1::new(); - hash.update(array_ref![buf, 0x280, 0xA0]); - let expected = as_digest(array_ref![buf, 0x340 + group * 20, 20]); - let output = hash.finalize(); - if output != expected { - return Err(io::Error::new( - io::ErrorKind::InvalidData, - format!( - "Invalid H2 hash! (group {:?}) {:x}\n\texpected {:x}", - group, output, expected - ), - )); - } - } - // TODO H3 hash - Ok(()) -} diff --git a/src/disc/wii.rs b/src/disc/wii.rs deleted file mode 100644 index 20bfcdb..0000000 --- a/src/disc/wii.rs +++ /dev/null @@ -1,638 +0,0 @@ -use std::{ - cmp::min, - ffi::CStr, - io, - io::{Read, Seek, SeekFrom}, - mem::size_of, -}; - -use sha1::{digest, Digest, Sha1}; -use zerocopy::{big_endian::*, AsBytes, FromBytes, FromZeroes}; - -use crate::{ - array_ref, - disc::{ - gcn::read_part_header, DiscBase, DiscHeader, DiscIO, PartitionBase, PartitionInfo, - PartitionKind, PartitionMeta, DL_DVD_SIZE, MINI_DVD_SIZE, SECTOR_SIZE, SL_DVD_SIZE, - }, - fst::{Node, NodeKind}, - io::{aes_decrypt, KeyBytes}, - static_assert, - streams::{ReadStream, SharedWindowedReadStream}, - util::{ - div_rem, - read::{read_from, read_vec}, - }, - Error, OpenOptions, PartitionHeader, Result, ResultContext, -}; - -pub(crate) const HASHES_SIZE: usize = 0x400; -pub(crate) const SECTOR_DATA_SIZE: usize = SECTOR_SIZE - HASHES_SIZE; // 0x7C00 - -// ppki (Retail) -const RVL_CERT_ISSUER_PPKI_TICKET: &str = "Root-CA00000001-XS00000003"; -#[rustfmt::skip] -const RETAIL_COMMON_KEYS: [KeyBytes; 3] = [ - /* RVL_KEY_RETAIL */ - [0xeb, 0xe4, 0x2a, 0x22, 0x5e, 0x85, 0x93, 0xe4, 0x48, 0xd9, 0xc5, 0x45, 0x73, 0x81, 0xaa, 0xf7], - /* RVL_KEY_KOREAN */ - [0x63, 0xb8, 0x2b, 0xb4, 0xf4, 0x61, 0x4e, 0x2e, 0x13, 0xf2, 0xfe, 0xfb, 0xba, 0x4c, 0x9b, 0x7e], - /* vWii_KEY_RETAIL */ - [0x30, 0xbf, 0xc7, 0x6e, 0x7c, 0x19, 0xaf, 0xbb, 0x23, 0x16, 0x33, 0x30, 0xce, 0xd7, 0xc2, 0x8d], -]; - -// dpki (Debug) -const RVL_CERT_ISSUER_DPKI_TICKET: &str = "Root-CA00000002-XS00000006"; -#[rustfmt::skip] -const DEBUG_COMMON_KEYS: [KeyBytes; 3] = [ - /* RVL_KEY_DEBUG */ - [0xa1, 0x60, 0x4a, 0x6a, 0x71, 0x23, 0xb5, 0x29, 0xae, 0x8b, 0xec, 0x32, 0xc8, 0x16, 0xfc, 0xaa], - /* RVL_KEY_KOREAN_DEBUG */ - [0x67, 0x45, 0x8b, 0x6b, 0xc6, 0x23, 0x7b, 0x32, 0x69, 0x98, 0x3c, 0x64, 0x73, 0x48, 0x33, 0x66], - /* vWii_KEY_DEBUG */ - [0x2f, 0x5c, 0x1b, 0x29, 0x44, 0xe7, 0xfd, 0x6f, 0xc3, 0x97, 0x96, 0x4b, 0x05, 0x76, 0x91, 0xfa], -]; - -#[derive(Debug, PartialEq, FromBytes, FromZeroes, AsBytes)] -#[repr(C, align(4))] -pub(crate) struct WiiPartEntry { - pub(crate) offset: U32, - pub(crate) kind: U32, -} - -static_assert!(size_of::() == 8); - -impl WiiPartEntry { - pub(crate) fn offset(&self) -> u64 { (self.offset.get() as u64) << 2 } -} - -#[derive(Debug, PartialEq)] -pub(crate) struct WiiPartInfo { - pub(crate) group_idx: u32, - pub(crate) part_idx: u32, - pub(crate) offset: u64, - pub(crate) kind: PartitionKind, - pub(crate) header: WiiPartitionHeader, - pub(crate) junk_id: [u8; 4], - pub(crate) junk_start: u64, - pub(crate) title_key: KeyBytes, -} - -pub(crate) const WII_PART_GROUP_OFF: u64 = 0x40000; - -#[derive(Debug, PartialEq, FromBytes, FromZeroes, AsBytes)] -#[repr(C, align(4))] -pub(crate) struct WiiPartGroup { - pub(crate) part_count: U32, - pub(crate) part_entry_off: U32, -} - -static_assert!(size_of::() == 8); - -impl WiiPartGroup { - pub(crate) fn part_entry_off(&self) -> u64 { (self.part_entry_off.get() as u64) << 2 } -} - -#[derive(Debug, Clone, PartialEq, FromBytes, FromZeroes, AsBytes)] -#[repr(C, align(4))] -pub struct SignedHeader { - /// Signature type, always 0x00010001 (RSA-2048) - pub sig_type: U32, - /// RSA-2048 signature - pub sig: [u8; 256], - _pad: [u8; 60], -} - -static_assert!(size_of::() == 0x140); - -#[derive(Debug, Clone, PartialEq, Default, FromBytes, FromZeroes, AsBytes)] -#[repr(C, align(4))] -pub struct TicketTimeLimit { - pub enable_time_limit: U32, - pub time_limit: U32, -} - -static_assert!(size_of::() == 8); - -#[derive(Debug, Clone, PartialEq, FromBytes, FromZeroes, AsBytes)] -#[repr(C, align(4))] -pub struct Ticket { - pub header: SignedHeader, - pub sig_issuer: [u8; 64], - pub ecdh: [u8; 60], - pub version: u8, - _pad1: U16, - pub title_key: KeyBytes, - _pad2: u8, - pub ticket_id: [u8; 8], - pub console_id: [u8; 4], - pub title_id: [u8; 8], - _pad3: U16, - pub ticket_title_version: U16, - pub permitted_titles_mask: U32, - pub permit_mask: U32, - pub title_export_allowed: u8, - pub common_key_idx: u8, - _pad4: [u8; 48], - pub content_access_permissions: [u8; 64], - _pad5: [u8; 2], - pub time_limits: [TicketTimeLimit; 8], -} - -static_assert!(size_of::() == 0x2A4); - -impl Ticket { - pub fn decrypt_title_key(&self) -> Result { - let mut iv: KeyBytes = [0; 16]; - iv[..8].copy_from_slice(&self.title_id); - let cert_issuer_ticket = - CStr::from_bytes_until_nul(&self.sig_issuer).ok().and_then(|c| c.to_str().ok()); - let common_keys = match cert_issuer_ticket { - Some(RVL_CERT_ISSUER_PPKI_TICKET) => &RETAIL_COMMON_KEYS, - Some(RVL_CERT_ISSUER_DPKI_TICKET) => &DEBUG_COMMON_KEYS, - Some(v) => { - return Err(Error::DiscFormat(format!("unknown certificate issuer {:?}", v))); - } - None => { - return Err(Error::DiscFormat("failed to parse certificate issuer".to_string())); - } - }; - let common_key = common_keys.get(self.common_key_idx as usize).ok_or(Error::DiscFormat( - format!("unknown common key index {}", self.common_key_idx), - ))?; - let mut title_key = self.title_key; - aes_decrypt(common_key, iv, &mut title_key); - Ok(title_key) - } -} - -#[derive(Debug, Clone, PartialEq, FromBytes, FromZeroes, AsBytes)] -#[repr(C, align(4))] -pub struct TmdHeader { - pub header: SignedHeader, - pub sig_issuer: [u8; 64], - pub version: u8, - pub ca_crl_version: u8, - pub signer_crl_version: u8, - pub is_vwii: u8, - pub ios_id: [u8; 8], - pub title_id: [u8; 8], - pub title_type: u32, - pub group_id: U16, - _pad1: [u8; 2], - pub region: U16, - pub ratings: KeyBytes, - _pad2: [u8; 12], - pub ipc_mask: [u8; 12], - _pad3: [u8; 18], - pub access_flags: U32, - pub title_version: U16, - pub num_contents: U16, - pub boot_idx: U16, - pub minor_version: U16, -} - -static_assert!(size_of::() == 0x1E4); - -pub const H3_TABLE_SIZE: usize = 0x18000; - -#[derive(Debug, Clone, PartialEq, FromBytes, FromZeroes, AsBytes)] -#[repr(C, align(4))] -pub struct WiiPartitionHeader { - pub ticket: Ticket, - tmd_size: U32, - tmd_off: U32, - cert_chain_size: U32, - cert_chain_off: U32, - h3_table_off: U32, - data_off: U32, - data_size: U32, -} - -static_assert!(size_of::() == 0x2C0); - -impl WiiPartitionHeader { - pub fn tmd_size(&self) -> u64 { self.tmd_size.get() as u64 } - - pub fn tmd_off(&self) -> u64 { (self.tmd_off.get() as u64) << 2 } - - pub fn cert_chain_size(&self) -> u64 { self.cert_chain_size.get() as u64 } - - pub fn cert_chain_off(&self) -> u64 { (self.cert_chain_off.get() as u64) << 2 } - - pub fn h3_table_off(&self) -> u64 { (self.h3_table_off.get() as u64) << 2 } - - pub fn h3_table_size(&self) -> u64 { H3_TABLE_SIZE as u64 } - - pub fn data_off(&self) -> u64 { (self.data_off.get() as u64) << 2 } - - pub fn data_size(&self) -> u64 { (self.data_size.get() as u64) << 2 } -} - -pub(crate) struct DiscWii { - header: DiscHeader, - part_info: Vec, - disc_size: u64, -} - -impl DiscWii { - pub(crate) fn new( - stream: &mut dyn ReadStream, - header: DiscHeader, - disc_size: Option, - ) -> Result { - let part_info = read_partition_info(stream, &header)?; - // Guess disc size if not provided - let disc_size = disc_size.unwrap_or_else(|| guess_disc_size(&part_info)); - Ok(Self { header, part_info, disc_size }) - } -} - -pub(crate) fn read_partition_info( - stream: &mut dyn ReadStream, - disc_header: &DiscHeader, -) -> Result> { - stream.seek(SeekFrom::Start(WII_PART_GROUP_OFF)).context("Seeking to partition groups")?; - let part_groups: [WiiPartGroup; 4] = read_from(stream).context("Reading partition groups")?; - let mut part_info = Vec::new(); - for (group_idx, group) in part_groups.iter().enumerate() { - let part_count = group.part_count.get(); - if part_count == 0 { - continue; - } - stream - .seek(SeekFrom::Start(group.part_entry_off())) - .with_context(|| format!("Seeking to partition group {group_idx}"))?; - let entries: Vec = read_vec(stream, part_count as usize) - .with_context(|| format!("Reading partition group {group_idx}"))?; - for (part_idx, entry) in entries.iter().enumerate() { - let offset = entry.offset(); - stream - .seek(SeekFrom::Start(offset)) - .with_context(|| format!("Seeking to partition data {group_idx}:{part_idx}"))?; - let header: WiiPartitionHeader = read_from(stream) - .with_context(|| format!("Reading partition header {group_idx}:{part_idx}"))?; - - // Open partition stream and read junk data seed - // let inner = stream - // .new_window(offset + header.data_off(), DL_DVD_SIZE) // header.data_size() - // .context("Wrapping partition stream")?; - let title_key = header.ticket.decrypt_title_key()?; - let part_offset = entry.offset() + header.data_off(); - if part_offset % SECTOR_SIZE as u64 != 0 { - return Err(Error::DiscFormat(format!( - "Partition {group_idx}:{part_idx} offset is not sector aligned", - ))); - } - let start_sector = (part_offset / SECTOR_SIZE as u64) as u32; - let mut stream = PartitionWii { - start_sector, - header: header.clone(), - tmd: vec![], - cert_chain: vec![], - h3_table: vec![], - stream: Box::new(stream.as_dyn()), - key: Some(title_key), - offset: 0, - cur_block: u32::MAX, - buf: [0; SECTOR_SIZE], - has_hashes: disc_header.no_partition_hashes == 0, - validate_hashes: false, - }; - let junk_id: [u8; 4] = read_from(&mut stream).context("Reading junk seed bytes")?; - stream - .seek(SeekFrom::Start(size_of::() as u64)) - .context("Seeking to partition header")?; - let part_header: PartitionHeader = - read_from(&mut stream).context("Reading partition header")?; - let junk_start = part_header.fst_off(true) + part_header.fst_sz(true); - - log::debug!("Header: {:?}", header); - log::debug!( - "Partition: {:?} - {:?}: {:?}", - offset + header.data_off(), - header.data_size(), - header.ticket.title_key - ); - - part_info.push(WiiPartInfo { - group_idx: group_idx as u32, - part_idx: part_idx as u32, - offset, - kind: entry.kind.get().into(), - header, - junk_id, - junk_start, - title_key, - }); - } - } - Ok(part_info) -} - -pub(crate) fn guess_disc_size(part_info: &[WiiPartInfo]) -> u64 { - let max_offset = part_info - .iter() - .flat_map(|v| { - [ - v.offset + v.header.tmd_off() + v.header.tmd_size(), - v.offset + v.header.cert_chain_off() + v.header.cert_chain_size(), - v.offset + v.header.h3_table_off() + v.header.h3_table_size(), - v.offset + v.header.data_off() + v.header.data_size(), - ] - }) - .max() - .unwrap_or(0x50000); - if max_offset <= MINI_DVD_SIZE && !part_info.iter().any(|v| v.kind == PartitionKind::Data) { - // Datel disc - MINI_DVD_SIZE - } else if max_offset < SL_DVD_SIZE { - SL_DVD_SIZE - } else { - DL_DVD_SIZE - } -} - -fn open_partition<'a>( - part: &WiiPartInfo, - disc_io: &'a dyn DiscIO, - options: &OpenOptions, - header: &DiscHeader, -) -> Result> { - let mut base = disc_io.open()?; - - base.seek(SeekFrom::Start(part.offset + part.header.tmd_off())) - .context("Seeking to TMD offset")?; - let tmd: Vec = - read_vec(&mut base, part.header.tmd_size() as usize).context("Reading TMD")?; - - base.seek(SeekFrom::Start(part.offset + part.header.cert_chain_off())) - .context("Seeking to cert chain offset")?; - let cert_chain: Vec = read_vec(&mut base, part.header.cert_chain_size() as usize) - .context("Reading cert chain")?; - - base.seek(SeekFrom::Start(part.offset + part.header.h3_table_off())) - .context("Seeking to H3 table offset")?; - let h3_table: Vec = read_vec(&mut base, H3_TABLE_SIZE).context("Reading H3 table")?; - - let key = if header.no_partition_encryption == 0 { - Some(part.header.ticket.decrypt_title_key()?) - } else { - None - }; - let data_off = part.offset + part.header.data_off(); - if data_off % SECTOR_SIZE as u64 != 0 { - return Err(Error::DiscFormat(format!( - "Partition {}:{} offset is not sector aligned", - part.group_idx, part.part_idx - ))); - } - let start_sector = (data_off / SECTOR_SIZE as u64) as u32; - Ok(Box::new(PartitionWii { - start_sector, - header: part.header.clone(), - tmd, - cert_chain, - h3_table, - stream: base, - key, - offset: 0, - cur_block: u32::MAX, - buf: [0; SECTOR_SIZE], - has_hashes: header.no_partition_hashes == 0, - validate_hashes: options.validate_hashes && header.no_partition_hashes == 0, - })) -} - -impl DiscBase for DiscWii { - fn header(&self) -> &DiscHeader { &self.header } - - fn partitions(&self) -> Vec { - self.part_info - .iter() - .map(|v| PartitionInfo { - group_index: v.group_idx, - part_index: v.part_idx, - part_offset: v.offset, - kind: v.kind, - data_offset: v.header.data_off(), - data_size: v.header.data_size(), - header: Some(v.header.clone()), - lfg_seed: v.junk_id, - // junk_start: v.junk_start, - }) - .collect() - } - - fn open_partition<'a>( - &self, - disc_io: &'a dyn DiscIO, - index: usize, - options: &OpenOptions, - ) -> Result> { - let part = self.part_info.get(index).ok_or_else(|| { - Error::DiscFormat(format!("Failed to locate partition index {}", index)) - })?; - open_partition(part, disc_io, options, &self.header) - } - - fn open_partition_kind<'a>( - &self, - disc_io: &'a dyn DiscIO, - part_type: PartitionKind, - options: &OpenOptions, - ) -> Result> { - let part = self.part_info.iter().find(|&v| v.kind == part_type).ok_or_else(|| { - Error::DiscFormat(format!("Failed to locate {:?} partition", part_type)) - })?; - open_partition(part, disc_io, options, &self.header) - } - - fn disc_size(&self) -> u64 { self.disc_size } -} - -struct PartitionWii<'a> { - start_sector: u32, - header: WiiPartitionHeader, - tmd: Vec, - cert_chain: Vec, - h3_table: Vec, - - stream: Box, - key: Option, - offset: u64, - cur_block: u32, - buf: [u8; SECTOR_SIZE], - has_hashes: bool, - validate_hashes: bool, -} - -impl<'a> PartitionBase for PartitionWii<'a> { - fn meta(&mut self) -> Result> { - self.seek(SeekFrom::Start(0)).context("Seeking to partition header")?; - let mut meta = read_part_header(self, true)?; - meta.raw_ticket = Some(Box::from(self.header.ticket.as_bytes())); - meta.raw_tmd = Some(Box::from(self.tmd.as_slice())); - meta.raw_cert_chain = Some(Box::from(self.cert_chain.as_slice())); - meta.raw_h3_table = Some(Box::from(self.h3_table.as_slice())); - Ok(meta) - } - - fn open_file(&mut self, node: &Node) -> io::Result { - assert_eq!(node.kind(), NodeKind::File); - self.new_window(node.offset(true), node.length(true)) - } - - fn ideal_buffer_size(&self) -> usize { - if self.has_hashes { - SECTOR_DATA_SIZE - } else { - SECTOR_SIZE - } - } -} - -#[inline(always)] -pub(crate) fn as_digest(slice: &[u8; 20]) -> digest::Output { (*slice).into() } - -fn decrypt_block(part: &mut PartitionWii, cluster: u32) -> io::Result<()> { - part.stream.read_exact(&mut part.buf)?; - if let Some(key) = &part.key { - // Fetch IV before decrypting header - let iv = *array_ref![part.buf, 0x3d0, 16]; - // Don't need to decrypt header if we're not validating hashes - if part.validate_hashes { - aes_decrypt(key, [0; 16], &mut part.buf[..HASHES_SIZE]); - } - aes_decrypt(key, iv, &mut part.buf[HASHES_SIZE..]); - } - if part.validate_hashes { - let (mut group, sub_group) = div_rem(cluster as usize, 8); - group %= 8; - // H0 hashes - for i in 0..31 { - let mut hash = Sha1::new(); - hash.update(array_ref![part.buf, (i + 1) * 0x400, 0x400]); - let expected = as_digest(array_ref![part.buf, i * 20, 20]); - let output = hash.finalize(); - if output != expected { - return Err(io::Error::new( - io::ErrorKind::InvalidData, - format!( - "Invalid H0 hash! (block {:?}) {:x}\n\texpected {:x}", - i, output, expected - ), - )); - } - } - // H1 hash - { - let mut hash = Sha1::new(); - hash.update(array_ref![part.buf, 0, 0x26C]); - let expected = as_digest(array_ref![part.buf, 0x280 + sub_group * 20, 20]); - let output = hash.finalize(); - if output != expected { - return Err(io::Error::new( - io::ErrorKind::InvalidData, - format!( - "Invalid H1 hash! (subgroup {:?}) {:x}\n\texpected {:x}", - sub_group, output, expected - ), - )); - } - } - // H2 hash - { - let mut hash = Sha1::new(); - hash.update(array_ref![part.buf, 0x280, 0xA0]); - let expected = as_digest(array_ref![part.buf, 0x340 + group * 20, 20]); - let output = hash.finalize(); - if output != expected { - return Err(io::Error::new( - io::ErrorKind::InvalidData, - format!( - "Invalid H2 hash! (group {:?}) {:x}\n\texpected {:x}", - group, output, expected - ), - )); - } - } - } - Ok(()) -} - -impl<'a> Read for PartitionWii<'a> { - fn read(&mut self, buf: &mut [u8]) -> io::Result { - let block_size = self.ideal_buffer_size() as u64; - let (block, block_offset) = div_rem(self.offset, block_size); - let block = block as u32; - if block != self.cur_block { - self.stream - .seek(SeekFrom::Start((self.start_sector + block) as u64 * SECTOR_SIZE as u64))?; - decrypt_block(self, block)?; - self.cur_block = block; - } - - let offset = (SECTOR_SIZE - block_size as usize) + block_offset as usize; - let read = min(buf.len(), block_size as usize - block_offset as usize); - buf[..read].copy_from_slice(&self.buf[offset..offset + read]); - self.offset += read as u64; - Ok(read) - - // let mut block = block as u32; - // - // let mut rem = buf.len(); - // let mut read: usize = 0; - // - // while rem > 0 { - // if block != self.cur_block { - // decrypt_block(self, block)?; - // self.cur_block = block; - // } - // - // let mut cache_size = rem; - // if cache_size as u64 + block_offset > block_size { - // cache_size = (block_size - block_offset) as usize; - // } - // - // let hashes_size = SECTOR_SIZE - block_size as usize; - // let start = hashes_size + block_offset as usize; - // buf[read..read + cache_size].copy_from_slice(&self.buf[start..start + cache_size]); - // read += cache_size; - // rem -= cache_size; - // block_offset = 0; - // block += 1; - // } - // - // self.offset += buf.len() as u64; - // Ok(buf.len()) - } -} - -#[inline(always)] -fn to_block_size(v: u64) -> u64 { - (v / SECTOR_SIZE as u64) * SECTOR_DATA_SIZE as u64 + (v % SECTOR_SIZE as u64) -} - -impl<'a> Seek for PartitionWii<'a> { - fn seek(&mut self, pos: SeekFrom) -> io::Result { - self.offset = match pos { - SeekFrom::Start(v) => v, - SeekFrom::End(_) => { - return Err(io::Error::new( - io::ErrorKind::Unsupported, - "PartitionWii: SeekFrom::End is not supported", - )); - } - SeekFrom::Current(v) => self.offset.saturating_add_signed(v), - }; - // let block = self.offset / self.ideal_buffer_size() as u64; - // if block as u32 != self.cur_block { - // self.stream.seek(SeekFrom::Start((self.start_sector + block) * SECTOR_SIZE as u64))?; - // self.cur_block = u32::MAX; - // } - Ok(self.offset) - } - - fn stream_position(&mut self) -> io::Result { Ok(self.offset) } -}