diff --git a/ps2xRuntime/include/games_database.h b/ps2xRuntime/include/games_database.h new file mode 100644 index 0000000..4217558 --- /dev/null +++ b/ps2xRuntime/include/games_database.h @@ -0,0 +1,4 @@ +#pragma once +#include + +const char* getGameName(const std::string& gameId); \ No newline at end of file diff --git a/ps2xRuntime/src/main.cpp b/ps2xRuntime/src/main.cpp index cc2b686..f5ad70a 100644 --- a/ps2xRuntime/src/main.cpp +++ b/ps2xRuntime/src/main.cpp @@ -1,9 +1,27 @@ #include "ps2_runtime.h" #include "register_functions.h" +#include "games_database.h" + #include #include +#include -int main(int argc, char *argv[]) +std::string normalizeGameId(const std::string& folderName) +{ + std::string result = folderName; + + size_t underscore = result.find('_'); + if (underscore != std::string::npos) + result[underscore] = '-'; + + size_t dot = result.find('.'); + if (dot != std::string::npos) + result.erase(dot, 1); + + return result; +} + +int main(int argc, char* argv[]) { if (argc < 2) { @@ -12,9 +30,24 @@ int main(int argc, char *argv[]) } std::string elfPath = argv[1]; + std::filesystem::path pathObj(elfPath); + std::string folderName = pathObj.filename().string(); + std::string normalizedId = normalizeGameId(folderName); + + std::string windowTitle = "PS2-Recomp | "; + const char* gameName = getGameName(normalizedId); + + if (gameName) + { + windowTitle += std::string(gameName) + " | " + folderName; + } + else + { + windowTitle += folderName; + } PS2Runtime runtime; - if (!runtime.initialize("ps2xRuntime (Raylib host)")) + if (!runtime.initialize(windowTitle.c_str())) { std::cerr << "Failed to initialize PS2 runtime" << std::endl; return 1; diff --git a/ps2xRuntime/src/runner/games_database.cpp b/ps2xRuntime/src/runner/games_database.cpp new file mode 100644 index 0000000..e6fd1ec --- /dev/null +++ b/ps2xRuntime/src/runner/games_database.cpp @@ -0,0 +1,804 @@ +#include "games_database.h" +#include + +static const std::unordered_map gameDatabase = +{ + { "SLUS-20267", "hack Part 1 - Infection (USA)" }, + { "SLKA-25080", ".hack Vol. 1 - Infection (Korea)" }, + { "SLPS-25143", ".hack Vol. 2 - Mutation (Japan)" }, + { "SLPS-25158", ".hack Vol. 3 - Erosion Pollution (Japan)" }, + { "SLUS-20579", "007 - NightFire (USA)" }, + { "SLES-51258", "007 - Nightfire (Europe)" }, + { "SLES-51260", "007 - Nightfire (Europe)" }, + { "SLES-50214", "18 Wheeler - American Pro Trucker (Europe)" }, + { "SLUS-20210", "18 Wheeler - American Pro Trucker (USA)" }, + { "SLPS-25118", "2002 FIFA World Cup (Japan)" }, + { "SLUS-20404", "2002 FIFA World Cup (USA)" }, + { "SLES-50796", "2002 FIFA World Cup Korea Japan (Europe)" }, + { "SLES-50798", "2002 FIFA World Cup Korea Japan (Germany)" }, + { "SLES-50799", "2002 FIFA World Cup Korea Japan (Italy)" }, + { "SLES-50800", "2002 FIFA World Cup Korea Japan (Spain)" }, + { "SLPS-20214", "3D Fighting School 2 (Japan)" }, + { "SLUS-20091", "4x4 Evo (USA)" }, + { "SCES-50293", "ATV Offroad - All Terrain Vehicle (Europe)" }, + { "SCUS-97104", "ATV Offroad Fury (USA) (v1.00)" }, + { "SCUS-97104", "ATV Offroad Fury (USA) (v3.01)" }, + { "SLUS-20588", "Activision Anthology (USA)" }, + { "SLPM-65150", "Aero Dancing 4 - New Generation (Japan)" }, + { "SLUS-20614", "Aero Elite - Combat Academy (USA)" }, + { "SLPS-25224", "Ai yori Aoshi Limited Edition (Japan)" }, + { "SLES-50953", "Air Ranger - Rescue Helicopter (Europe)" }, + { "SLPM-65486", "AirForce Delta - Blue Wing Knights (Japan)" }, + { "SLUS-20703", "AirForce Delta Strike (USA)" }, + { "SLES-50919", "Akira Psycho Ball (Europe)" }, + { "SLPS-20150", "Akira Psycho Ball (Japan)" }, + { "SLES-50429", "Alex Ferguson’s Player Manager 2001 (Europe)" }, + { "SLES-51792", "Aliens Versus Predator - Extinction (Europe)" }, + { "SLUS-20147", "Aliens vs Predator - Extinction (USA)" }, + { "SLPS-20181", "Alpine Racer 3 (Japan)" }, + { "SLUS-21069", "American Chopper (USA)" }, + { "SLPM-65513", "Angel’s Feather (Japan)" }, + { "SLPM-65027", "Anime Eikaiwa - 15 Shounen Hyouryuuki - Hitomi no Naka no Shounen (Japan)" }, + { "SLPM-65029", "Anime Eikaiwa - Tondemo Nezumi Daikatsuyaku (Japan)" }, + { "SLPM-65028", "Anime Eikaiwa - Tottoi (Japan)" }, + { "SLUS-20217", "Arctic Thunder (USA)" }, + { "SLES-50191", "Army Men - Green Rogue (Europe)" }, + { "SLUS-20087", "Army Men - Green Rogue (USA)" }, + { "SLPM-62501", "Assault Suits Valken (Japan)" }, + { "SLES-51896", "Attheraces Presents Gallop Racer (Europe)" }, + { "SLES-51191", "Auto Modellista (Europe)" }, + { "SLUS-20498", "Auto Modellista (USA) (Volume 1.0) (Beta)" }, + { "SLUS-28031", "Auto Modellista (USA) (Volume 2.0) (Beta)" }, + { "SLUS-20642", "Auto Modellista (USA)" }, + { "SLPS-25140", "Baldur’s Gate - Dark Alliance (Japan)" }, + { "SLPM-62155", "Baseball 2002, The - Battle Ball Park Sengen (Japan)" }, + { "SLPM-65180", "Baseball 2003, The - Battle Ball Park Sengen - Perfect Play Pro Yakyuu (Japan) (v1.05)" }, + { "SLES-51756", "Batman - Rise of Sin Tzu (Europe)" }, + { "SLUS-20709", "Batman - Rise of Sin Tzu (USA)" }, + { "SLES-50355", "Batman - Vengeance (Europe)" }, + { "SLUS-20226", "Batman - Vengeance (USA)" }, + { "SLPM-62052", "Beatmania Da Da Da!! (Japan)" }, + { "SCPS-11004", "Bikkuri Mouse (Japan)" }, + { "SLPM-65059", "Biohazard - Gun Survivor 2 - CODE - Veronica (Japan)" }, + { "SLPS-20187", "Black-Matrix II (Japan)" }, + { "SLES-51013", "Blade II (Europe)" }, + { "SLUS-20360", "Blade II (USA)" }, + { "SLUS-20862", "BloodRayne 2 (USA)" }, + { "SLPM-65262", "Boboboubo Boubobo - Hajike Matsuri (Japan)" }, + { "SLUS-20499", "Breath of Fire - Dragon Quarter (USA)" }, + { "SLPM-65196", "Breath of Fire V - Dragon Quarter (Japan)" }, + { "SLPM-66410", "Brothers in Arms - Meiyo no Daishou (Japan)" }, + { "SLUS-20895", "Bujingai - The Forsaken City (USA)" }, + { "?", "Burnout Dominator SLAJ-25094 SLPM-66739 SLUS-21596 SLES-54627 SLES-54681" }, + { "SLUS-20141", "CART Fury - Championship Racing (USA)" }, + { "SLES-50541", "Capcom vs. SNK 2 - Mark of the Millennium 2001 (Europe)" }, + { "SLUS-20246", "Capcom vs. SNK 2 - Mark of the Millennium 2001 (USA)" }, + { "SLPM-62365", "Cardinal Arc - Konton no Fuusatsu (Japan)" }, + { "SLES-52143", "Carmen Sandiego - The Secret of the Stolen Drums (Europe) (En,Fr,De,Es)" }, + { "SLUS-20849", "Carmen Sandiego - The Secret of the Stolen Drums (USA)" }, + { "SLES-50636", "Centre Court - Hard Hitter (Europe)" }, + { "SLPM-65255", "Chobits - Chii dake no Hito (Japan)" }, + { "SLPS-25015", "Choro Q - High Grade (Japan)" }, + { "SLPS-25014", "Choro Q - High Grade Limited Edition (Japan)" }, + { "SLPS-25073", "Cinema Surfing - Youga Taizen (Japan)" }, + { "SLES-50935", "Circus Maximus - Chariot Wars (Europe)" }, + { "SLES-51619", "Clock Tower 3 (Europe)" }, + { "SLUS-20633", "Clock Tower 3 (USA)" }, + { "SLPS-20056", "Colorio Hagaki Print (Japan)" }, + { "SCUS-97108", "Cool Boarders 2001 (USA)" }, + { "SLUS-20238", "Crash Bandicoot - The Wrath of Cortex (USA) (v1.00)" }, + { "SLES-50215", "Crazy Taxi (Europe)" }, + { "SLUS-20202", "Crazy Taxi (USA)" }, + { "SLPM-65368", "D.N.Angel - TV Animation Series (Japan)" }, + { "PSXC-00203", "DESR-7000-DESR-5000-DESR-7100-DESR-5100 Senyou - PSX Update Disc Ver. 1.31 (Japan)" }, + { "SCES-51190", "Dark Chronicle (Europe)" }, + { "PAPX-90506", "Dark Chronicle (Japan) (Demo)" }, + { "SCES-50295", "Dark Cloud (Europe)" }, + { "SCPS-15004", "Dark Cloud (Japan)" }, + { "SCUS-97111", "Dark Cloud (USA)" }, + { "SCUS-97213", "Dark Cloud 2 (USA) (v2.00)" }, + { "SLES-52874", "Dark Wind (Europe)" }, + { "SLPM-65303", "Dennou Senki - Virtual-On Marz (Japan)" }, + { "SLPS-25321", "Derby Stallion 04 (Japan)" }, + { "SLED-50359", "Devil May Cry (Europe) (Demo)" }, + { "SLPM-61010", "Devil May Cry (Japan) (Demo)" }, + { "SLPM-65023", "Devil May Cry (Japan) (Demo)" }, + { "SLPM-65038", "Devil May Cry (Japan)" }, + { "SLUS-20216", "Devil May Cry (USA)" }, + { "SLES-51347", "Die Hard - Vendetta (Europe)" }, + { "SLES-51348", "Die Hard - Vendetta (Germany)" }, + { "SLES-51095", "Dino Stalker (France)" }, + { "SLES-51096", "Dino Stalker (Germany)" }, + { "SLUS-20485", "Dino Stalker (USA)" }, + { "SLES-55392", "Disney Sing It (Europe)" }, + { "SLES-55542", "Disney Sing It - Pop Hits (Europe)" }, + { "SLES-50042", "Disney’s Dinosaur (Europe)" }, + { "SLES-50043", "Disney’s Dinosaur (Europe)" }, + { "SLES-50048", "Disney’s Donald Duck - Quack Attack (Europe)" }, + { "SLES-50045", "Disney’s Jungle Book - Groove Party (Europe)" }, + { "SCES-50522", "Disney’s Peter Pan - The Legend of Never Land (Europe)" }, + { "SCES-50531", "Disney’s Peter Pan - The Legend of Never Land (Scandinavia)" }, + { "SLES-50350", "Disney’s Tarzan - Freeride (Europe)" }, + { "SCES-51176", "Disney’s Treasure Planet (Europe)" }, + { "SCUS-97146", "Disney’s Treasure Planet (USA)" }, + { "SCES-50600", "Disney-Pixar Die Monster AG - Schreckens-Insel (Germany)" }, + { "SCES-50597", "Disney-Pixar Monsters en Co. - Schrik Eiland (Netherlands)" }, + { "SCES-50595", "Disney-Pixar Monsters, Inc. - Scare Island (Europe)" }, + { "SCES-50604", "Disney-Pixar Monsters, Inc. - Skraemmaroen (Sweden)" }, + { "SCES-50603", "Disney-Pixar Monstruos, S.A. - Isla de los Sustos (Spain)" }, + { "SLPM-65703", "Double Reaction! Plus (Japan)" }, + { "SCPS-56010", "Downhill Racer (Korea)" }, + { "SLPM-62199", "Dragon Quest Characters - Torneko no Daibouken 3 (Japan)" }, + { "SLPM-62490", "Dragon Quest VIII Premium Disc (Japan)" }, + { "SLPS-20016", "Dream Audition (Japan)" }, + { "SLPS-20099", "Dream Audition 3 (Japan)" }, + { "SLPS-20140", "Dream Audition Super Hit Disc 1 (Japan)" }, + { "SLPS-20141", "Dream Audition Super Hit Disc 2 (Japan)" }, + { "SLUS-20239", "Driven (USA)" }, + { "SLUS-20113", "Driving Emotion Type-S (USA)" }, + { "SLES-51303", "Drome Racers (Europe)" }, + { "SLUS-20475", "Dual Hearts (USA)" }, + { "SLES-50057", "Dynasty Warriors 2 (Europe)" }, + { "SLES-50058", "Dynasty Warriors 2 (France)" }, + { "SLPM-69004", "EGBrowser Light for I-O Data Device, Inc. (Japan)" }, + { "SLES-50036", "ESPN International Track & Field (Europe)" }, + { "SLUS-20041", "ESPN International Track & Field (USA)" }, + { "SLUS-20320", "ESPN International Winter Sports 2002 (USA)" }, + { "SLUS-20128", "ESPN MLS ExtraTime (USA)" }, + { "SLUS-20089", "ESPN Winter X Games Snowboarding (USA)" }, + { "SLPM-62103", "EX Okuman Chouja Game - The Money Battle (Japan)" }, + { "SLUS-20169", "Ephemeral Fantasia (USA)" }, + { "SLES-51813", "European Tennis Pro (Europe)" }, + { "SCED-51728", "EverQuest - Online Adventures (Europe) (Demo)" }, + { "SLES-51392", "Evolution Snowboarding (Europe)" }, + { "SLUS-20546", "Evolution Snowboarding (USA)" }, + { "SLPS-25326", "Exciting Pro Wres 5 (Japan) (Limited Edition)" }, + { "SLPS-25083", "Exciting Pro Wrestling 3 (Japan) (Limited Edition)" }, + { "SLPS-25087", "Exciting Pro Wrestling 3 (Japan)" }, + { "SLPS-20223", "Exciting Pro Wrestling 4 (Japan) (Demo)" }, + { "SLPS-25210", "Exciting Pro Wrestling 4 (Japan)" }, + { "SLPS-25326", "Exciting Pro Wrestling 5 (Japan)" }, + { "SCES-51513", "EyeToy - Play (Europe, Australia)" }, + { "SCUS-97319", "EyeToy - Play (USA)" }, + { "SLES-50011", "FIFA 2001 (Europe)" }, + { "SLES-50012", "FIFA 2001 (France)" }, + { "SLES-50013", "FIFA 2001 (Germany)" }, + { "SLES-50015", "FIFA 2001 (Italy)" }, + { "SLES-50016", "FIFA 2001 (Spain)" }, + { "SLUS-20097", "FIFA 2001 (USA)" }, + { "SLPS-20054", "FIFA 2001 - World Championship (Japan)" }, + { "SLPS-25069", "FIFA 2002 - Road to FIFA World Cup (Japan)" }, + { "SLPS-25179", "FIFA 2003 - Europe Soccer (Japan)" }, + { "SLES-50464", "FIFA Football 2002 (Europe)" }, + { "SLES-50466", "FIFA Football 2002 (France)" }, + { "SLES-50467", "FIFA Football 2002 (Germany)" }, + { "SLES-50470", "FIFA Football 2002 (Italy)" }, + { "SLPM-67503", "FIFA Football 2002 (Korea)" }, + { "SLES-50471", "FIFA Football 2002 (Spain)" }, + { "SLES-51197", "FIFA Football 2003 (Europe)" }, + { "SLUS-20280", "FIFA Soccer 2002 (USA)" }, + { "SLUS-20580", "FIFA Soccer 2003 (USA)" }, + { "SLPS-20020", "FIFA Soccer World Championship (Japan)" }, + { "SLPS-25236", "Fantastic Fortune 2 (Japan)" }, + { "SLUS-20388", "Fatal Frame (USA)" }, + { "SLUS-20766", "Fatal Frame II - Crimson Butterfly (USA)" }, + { "SLPS-20298", "Fever 8 - Sankyo Koushiki Pachinko Simulation (Japan)" }, + { "SLUS-20524", "Fighter Maker 2 (USA)" }, + { "SLPM-62135", "Final Fantasy XI - Online (Japan) (Beta)" }, + { "SLPS-25200", "Final Fantasy XI - Online (Japan)" }, + { "SCUS-97271", "Final Fantasy XI - Online (USA) (Beta)" }, + { "SCUS-97266", "Final Fantasy XI - Online (USA)" }, + { "SLPM-65288", "Final Fantasy XI - Zilart no Gen’ei (Japan) (All in One Pack 2003)" }, + { "SLPM-65287", "Final Fantasy XI - Zilart no Gen’ei (Japan)" }, + { "SLES-51418", "Fisherman’s Challenge (Europe)" }, + { "SLUS-20553", "Fisherman’s Challenge (USA)" }, + { "SLES-50259", "Flintstones in Viva Rock Vegas, The (Europe)" }, + { "SLPS-25034", "Flower, Sun and Rain (Japan)" }, + { "SLED-52852", "Forgotten Realms - Demon Stone (Europe) (Demo)" }, + { "SLUS-29061", "Freaky Flyers (USA) (Demo)" }, + { "SLUS-20658", "Freedom Fighters (USA)" }, + { "SLES-50720", "Freestyle Metal X (Europe)" }, + { "SLUS-20494", "Freestyle Metal X (USA)" }, + { "SLES-50788", "Frogger - The Great Quest (Europe)" }, + { "SLUS-20257", "Frogger - The Great Quest (USA)" }, + { "SLPM-60102", "From Software First Previews (Japan)" }, + { "SLUS-20785", "Funkmaster Flex - Digital Hitz Factory (USA)" }, + { "SLUS-20859", "Future Tactics - The Uprising (USA)" }, + { "SLKA-25139", "Fuuun Shinsengumi (Korea)" }, + { "SCED-52094", "G-Con 2 Competition Demo (Germany)" }, + { "SLES-50584", "G1 Jockey (Europe)" }, + { "SLES-51357", "G1 Jockey 3 (Europe)" }, + { "SLUS-20690", "G1 Jockey 3 (USA)" }, + { "SLPM-62020", "GI Jockey 2 (Japan)" }, + { "SLPM-62059", "GI Jockey 2 2001 (Japan) (Super Value Set)" }, + { "SLPM-62061", "GI Jockey 2 2001 (Japan)" }, + { "SLPM-62279", "GI Jockey 3 (Japan) (Premium Pack)" }, + { "SLPM-62277", "GI Jockey 3 (Japan)" }, + { "SLES-50472", "GTC Africa (Europe)" }, + { "SLES-52845", "Gadget & the Gadgetinis (Europe)" }, + { "SLUS-20225", "Gadget Racers (USA)" }, + { "SLPS-25333", "Gallop Racer - Lucky 7 (Japan)" }, + { "SLUS-20255", "Gallop Racer 2001 (USA)" }, + { "SLUS-20662", "Gallop Racer 2003 - A New Breed (USA)" }, + { "SLUS-21031", "Gallop Racer 2004 (USA)" }, + { "SLPS-25036", "Gallop Racer 5 (Japan)" }, + { "SLPS-73415", "Gallop Racer 6 - Revolution (Japan) (PlayStation 2 the Best)" }, + { "SLPS-25177", "Gallop Racer 6 - Revolution (Japan)" }, + { "SLPM-62009", "Ganbare! Nippon! Olympic 2000 (Japan)" }, + { "SLES-50211", "Gauntlet - Dark Legacy (Europe)" }, + { "SLUS-20047", "Gauntlet - Dark Legacy (USA)" }, + { "SLPM-62235", "Get Bass Battle (Japan)" }, + { "?", "Ghost Master - The Gravenville Chronicles (2003 beta) [Emuparadise]" }, + { "SLPS-20052", "Global Folktale (Japan)" }, + { "SLUS-20395", "Global Touring Challenge - Africa (USA)" }, + { "SLES-52117", "Go Go Copter - Remote Control Helicopter (Europe)" }, + { "SLES-51055", "Go Go Golf (Europe)" }, + { "SCED-54680", "God of War II (Europe) (Demo)" }, + { "SLES-50433", "Godai - Elemental Force (Europe)" }, + { "SLUS-20288", "Godai - Elemental Force (USA)" }, + { "SLPM-60107", "Golf Paradise (Japan) (Demo)" }, + { "SLPS-20009", "Golf Paradise (Japan)" }, + { "SLES-51296", "Grand Prix Challenge (Europe)" }, + { "SLES-50793", "Grand Theft Auto III (Australia)" }, + { "SLES-50330", "Grand Theft Auto III (Europe) (v1.40)" }, + { "SLES-50330", "Grand Theft Auto III (Europe) (v1.60)" }, + { "SLUS-20062", "Grand Theft Auto III (USA)" }, + { "SLUS-20466", "Gravenville Ghost Master Chronicles" }, + { "SLUS-20310", "Gravity Games Bike - Street. Vert. Dirt. (USA)" }, + { "SCES-50246", "Gravity Sucks (Europe, Australia)" }, + { "SLES-51999", "Grooverider (Europe)" }, + { "SLPS-20106", "Growlanser II - The Sense of Justice (Japan)" }, + { "SLKA-15007", "Growlanser II - The Sense of Justice (Korea)" }, + { "SLPM-62108", "Growlanser III - The Dual Darkness (Japan)" }, + { "SLPM-65383", "Growlanser IV - Wayfarer of the Time (Japan) (Deluxe Pack)" }, + { "SLPM-65408", "Growlanser IV - Wayfarer of the Time (Japan)" }, + { "SLPM-65139", "Gun Survivor 3 - Dino Crisis (Japan)" }, + { "SLES-52620", "Guncom 2 (Europe)" }, + { "SLPM-65153", "Gungrave (Japan)" }, + { "SLUS-20493", "Gungrave (USA)" }, + { "SLUS-21020", "Gungrave - Overdose (USA)" }, + { "SLPM-65492", "Gungrave OD (Japan)" }, + { "SLES-50559", "Guy Roux Manager 2002 (France)" }, + { "SLPM-62273", "Haishin 3 (Japan)" }, + { "SLPS-20098", "Hard Hitter (Japan)" }, + { "SLES-51057", "Hard Hitter 2 (Europe)" }, + { "SLPS-20173", "Hard Hitter 2 (Japan)" }, + { "SLUS-20568", "Hard Hitter Tennis (USA)" }, + { "SLES-51254", "Herr der Ringe, Der - Die zwei Tuerme (Germany)" }, + { "SLES-50260", "Hidden Invasion (Europe)" }, + { "SLUS-20301", "Hidden Invasion (USA)" }, + { "SLPS-25111", "Higanbana (Japan)" }, + { "SLPS-20213", "Hissatsu Pachinko Station V4 - Drumtic Mahjong (Japan)" }, + { "SLES-53028", "Hitman - Blood Money (Europe)" }, + { "SLPS-25269", "Hitman 2 - Silent Assassin (Japan)" }, + { "SLUS-20374", "Hitman 2 - Silent Assassin (USA) (v1.01)" }, + { "SLPM-62072", "Horse Breaker (Japan)" }, + { "SLES-51063", "Hot Wheels - Velocity X - Maximum Justice (Europe)" }, + { "SLUS-20412", "Hot Wheels - Velocity X - Maximum Justice (USA)" }, + { "SLPM-65083", "Houshin Engi 2 (Japan)" }, + { "SLES-52102", "Hugo - Bukkazoom! (Europe)" }, + { "SLPM-62067", "Hunter x Hunter - Ryumyaku no Saidan (Japan)" }, + { "SLES-50266", "Hype - The Time Quest (Europe)" }, + { "SLES-50265", "Hype - The Time Quest (Germany)" }, + { "SLPM-65405", "Hyper Dimension Fortress Macross (Japan)" }, + { "SLPM-62126", "Hyper Sports 2002 Winter (Japan)" }, + { "SLUS-20586", "IHRA Drag Racing 2 (USA)" }, + { "SCES-50760", "Ico (Europe)" }, + { "SLPS-25182", "Idol Janshi R - Jan Guru Project (Japan)" }, + { "SLES-51255", "Il Signore degli Anelli - Le Due Torri (Italy)" }, + { "SLES-51397", "IndyCar Series (Europe)" }, + { "SLUS-20641", "IndyCar Series featuring The Indianapolis 500 (USA)" }, + { "SLUS-20830", "Intellivision Lives! (USA)" }, + { "SLES-51629", "International Pool Championship (Europe)" }, + { "SLES-50039", "International Superstar Soccer (Europe)" }, + { "SLPM-62075", "International Superstar Soccer 2 (Europe) (Beta)" }, + { "SLUS-20913", "Inuyasha - The Secret of the Cursed Mask (USA)" }, + { "SLPM-65530", "J. League Pro Soccer Club o Tsukurou! ‘04 (Japan)" }, + { "SLPM-62217", "J. League Winning Eleven 6 (Japan)" }, + { "SLES-50735", "Jade Cocoon 2 (Europe)" }, + { "SCED-52952", "Jak 3 (Europe) (Demo)" }, + { "SCKA-20010", "Jak II (Korea) (En,Ja,Fr,De,Es,It,Ko)" }, + { "SCUS-97273", "Jak II (USA) (Demo)" }, + { "SCUS-97265", "Jak II (USA) (En,Ja,Fr,De,Es,It,Ko) (v1.00)" }, + { "SCUS-97265", "Jak II (USA) (En,Ja,Fr,De,Es,It,Ko) (v2.01)" }, + { "SCPS-15057", "Jak II - Jak x Daxter 2 (Japan)" }, + { "SCED-51700", "Jak II - Renegade (Europe) (Demo)" }, + { "SCES-51608", "Jak II Renegade (Europe) (Preview)" }, + { "SCES-50361", "Jak and Daxter - The Precursor Legacy (Europe)" }, + { "SCUS-97124", "Jak and Daxter - The Precursor Legacy (USA) (Cingular Wireless Demo)" }, + { "SCUS-97124", "Jak and Daxter - The Precursor Legacy (USA) (En,Fr,De,Es,It) (Rev 1)" }, + { "SCUS-97124", "Jak and Daxter - The Precursor Legacy (USA) (En,Fr,De,Es,It)" }, + { "PAPX-90222", "Jak x Daxter - Kyuu Sekai no Isan (Japan) (Demo)" }, + { "SCPS-15021", "Jak x Daxter - Kyuu Sekai no Isan (Japan)" }, + { "SLES-50209", "Jeremy McGrath Supercross World (Europe)" }, + { "SLUS-20245", "Jeremy McGrath Supercross World (USA)" }, + { "SCUS-97239", "Jet X2O (USA) (Demo)" }, + { "SCUS-97173", "Jet X2O (USA)" }, + { "SLPM-62011", "Jikkyou GI Stable (Japan)" }, + { "SLPM-62075", "Jikkyou World Soccer 2001 (Japan)" }, + { "SLPM-65140", "Jojo no Kimyou na Bouken - Ougon no Kaze (Japan)" }, + { "SLPM-65336", "K-1 World Grand Prix - The Beast Attack! (Japan)" }, + { "SLPM-65075", "K-1 World Grand Prix 2001 (Japan)" }, + { "SLPM-65202", "K-1 World Grand Prix 2002 (Japan)" }, + { "SLPM-65433", "K-1 World Grand Prix 2003 (Japan)" }, + { "SLPS-25386", "KOF - Maximum Impact (Japan)" }, + { "SLUS-20923", "KOF - Maximum Impact (USA)" }, + { "SCPS-11009", "Ka (Japan)" }, + { "SCPS-15045", "Ka 2 - Let’s Go Hawaii (Japan)" }, + { "SLPM-62383", "Karaoke Revolution - Night Selection 2003 (Japan)" }, + { "SLPM-62528", "Karaoke Revolution Family Pack (Japan)" }, + { "SLES-52308", "Karaoke Stage (Europe)" }, + { "SLES-51200", "Kelly Slater’s Pro Surfer (Europe)" }, + { "SLES-51201", "Kelly Slater’s Pro Surfer (Europe)" }, + { "SLUS-20334", "Kelly Slater’s Pro Surfer (USA)" }, + { "SLES-50114", "Kengo - Master of Bushido (Europe)" }, + { "SLUS-20021", "Kengo - Master of Bushido (USA)" }, + { "SLPM-60177", "Kengou 2 (Japan) (Taikenban)" }, + { "SLPS-25107", "Kengou 2 (Japan)" }, + { "SLPS-25020", "Kidou Senshi Gundam (Japan)" }, + { "SLPS-25120", "Kidou Senshi Gundam - Gihren no Yabou - Zeon Dokuritsu Sensouki (Japan)" }, + { "SLPS-25212", "Kidou Senshi Gundam - Gihren no Yabou - Zeon Dokuritsu Sensouki - Kouryaku Shireisho (Japan)" }, + { "SLPM-65076", "Kidou Senshi Gundam - Renpou vs. Zeon DX (Japan)" }, + { "SLPS-25061", "Kidou Senshi Gundam - Ver. 1.5 (Japan)" }, + { "SLPS-25389", "Kidou Senshi Gundam Seed - Owaranai Ashita e (Japan)" }, + { "SLPS-25123", "Kidou Senshi Gundam Senki - Lost War Chronicles (Japan)" }, + { "SLPM-65033", "Kikou Heidan J-Phoenix (Japan)" }, + { "SLPM-65123", "Kikou Heidan J-Phoenix - Burst Tactics (Japan)" }, + { "SLPM-65199", "Kikou Heidan J-Phoenix - Cobalt Shoutai-hen (Japan)" }, + { "SLPS-20075", "Kikou Heidan J-Phoenix - Joshou-hen (Japan)" }, + { "SLPM-65343", "Kikou Heidan J-Phoenix 2 (Japan)" }, + { "SLUS-20834", "King of Fighters 2000, The (USA)" }, + { "SLPS-25266", "King of Fighters 2001, The (Japan)" }, + { "SLUS-20839", "King of Fighters 2001, The (USA)" }, + { "?", "Kingdom Hearts - Re Chain of Memories (Preview)" }, + { "SLPS-25248", "Kino no Tabi - The Beautiful World (Japan)" }, + { "SLPM-65491", "Kishin Houkou Demonbane (Japan)" }, + { "SLPM-65404", "Kita e. - Diamond Dust (Japan)" }, + { "SLPM-65569", "Kita e. - Diamond Dust+ - Kiss is Beginning. (Japan)" }, + { "SLES-50128", "Knockout Kings 2001 (Europe)" }, + { "SLES-50129", "Knockout Kings 2001 (France)" }, + { "SLES-50130", "Knockout Kings 2001 (Germany)" }, + { "SLUS-20150", "Knockout Kings 2001 (USA)" }, + { "SLPM-65554", "Korokke! Ban Ou no Kiki o Sukue (Japan)" }, + { "SLPM-65447", "Kunoichi (Japan)" }, + { "SLPS-25136", "Kuon no Kizuna - Sairinshou (Japan)" }, + { "SLPM-60127", "Kuri Kuri Mix (Japan) (Taikenban)" }, + { "SLES-50443", "LEGO Racers 2 (Europe)" }, + { "SLUS-20042", "LEGO Racers 2 (USA)" }, + { "SLPS-20165", "La Pucelle - Hikari no Seijo Densetsu (Japan)" }, + { "SLES-50709", "Le Maillon Faible (France)" }, + { "SLES-50131", "Le Mans 24 Hours (Europe)" }, + { "SLUS-20207", "Le Mans 24 Hours (USA) (En,Fr,Es)" }, + { "SLES-51415", "Legacy of Kain Defiance" }, + { "SLUS-20045", "Legend of Alon D’ar, The (USA)" }, + { "SLES-51045", "Legends of Wrestling II (Europe)" }, + { "SLUS-20507", "Legends of Wrestling II (USA)" }, + { "SLES-50892", "Lethal Skies - Elite Pilot - Team SW (Europe)" }, + { "SLUS-20386", "Lethal Skies - Elite Pilot - Team SW (USA)" }, + { "SLES-51886", "Lethal Skies II (Europe)" }, + { "SLUS-20735", "Lethal Skies II (USA)" }, + { "SLPS-29004", "Lord of the Rings, The - Futatsu no Tou (Japan)" }, + { "SLPM-65212", "Lord of the Rings, The - The Two Towers (Asia) (En,Zh)" }, + { "SLES-51252", "Lord of the Rings, The - The Two Towers (Europe)" }, + { "SLPM-67546", "Lord of the Rings, The - The Two Towers (Korea)" }, + { "SLUS-20578", "Lord of the Rings, The - The Two Towers (USA)" }, + { "SLES-50230", "Lotus Challenge (Europe)" }, + { "SLPM-60101", "Love Story (Japan) (Demo)" }, + { "SLPS-20245", "LowRider - Round the World (Japan)" }, + { "SLES-50248", "MDK2 - Armageddon (Europe)" }, + { "SLUS-20105", "MDK2 - Armageddon (USA)" }, + { "SLES-50182", "MTV Music Generator 2 (Europe)" }, + { "SLUS-20222", "MTV Music Generator 2 (USA)" }, + { "SLES-50428", "MX 2002 featuring Ricky Carmichael (Europe)" }, + { "SLUS-20072", "MX 2002 featuring Ricky Carmichael (USA)" }, + { "SLES-50132", "MX Rider (Europe)" }, + { "SLUS-20234", "MX Rider (USA)" }, + { "SLES-51038", "MX SuperFly (Europe)" }, + { "SLUS-20381", "MX SuperFly (USA)" }, + { "SLES-51653", "Mace Griffin - Bounty Hunter (Europe)" }, + { "SLES-51654", "Mace Griffin - Bounty Hunter (Germany)" }, + { "SLUS-20505", "Mace Griffin - Bounty Hunter (USA)" }, + { "SLPM-62077", "Maestromusic II, The (Japan) (Doukonban)" }, + { "SLPM-62078", "Maestromusic II, The (Japan)" }, + { "SLUS-20671", "Mafia (USA)" }, + { "SLPS-20037", "Magical Sports Go Go Golf (Japan)" }, + { "SLPS-20310", "Mahjong Hiryuu Densetsu - Tenpai (Japan)" }, + { "SLPM-65367", "Makai Eiyuuki Maximo - Machine Monster no Yabou (Japan)" }, + { "SLPS-25042", "Maken Shao (Japan)" }, + { "SLES-51058", "Maken Shao - Demon Sword (Europe)" }, + { "SLUS-20358", "Malice (USA)" }, + { "SCED-51406", "Mark of Kri, The (Europe) (Demo)" }, + { "SCES-51164", "Mark of Kri, The (Europe)" }, + { "SCUS-97140", "Mark of Kri, The (USA)" }, + { "SLUS-20722", "Maximo vs Army of Zin (USA)" }, + { "SCPS-11014", "McDonald’s Original Happy Disc (Japan)" }, + { "SLPS-20031", "MechSmith, The - Run=Dim (Japan)" }, + { "SLES-51873", "Medal of Honor - Rising Sun (Europe, Australia)" }, + { "SLES-51875", "Medal of Honor - Rising Sun (Germany)" }, + { "SLPM-65469", "Medal of Honor - Rising Sun (Japan)" }, + { "SLES-51876", "Medal of Honor - Rising Sun (Spain)" }, + { "SLUS-20753", "Medal of Honor - Rising Sun (USA)" }, + { "SLES-51874", "Medal of Honor - Soleil Levant (France)" }, + { "SLES-50903", "MegaRace 3 - Nanotech Disaster (Europe)" }, + { "SLPM-67535", "Memories Off (Korea) (Ja,Ko)" }, + { "SLES-50789", "Men in Black II - Alien Escape (Europe)" }, + { "SLUS-20373", "Men in Black II - Alien Escape (USA)" }, + { "SLES-52599", "Metal Slug 3 (Europe)" }, + { "SLPS-25209", "Metal Slug 3 (Japan)" }, + { "SLES-53383", "Metal Slug 5 (Europe)" }, + { "SLPM-65480", "Michigan (Japan)" }, + { "SLES-52001", "Mission - Impossible - Operation Surma (Europe)" }, + { "SLUS-20400", "Mission - Impossible - Operation Surma (USA)" }, + { "SLES-51271", "Mobile Suit Gundam - Federation vs. Zeon (Europe)" }, + { "SLUS-20382", "Mobile Suit Gundam - Federation vs. Zeon (USA)" }, + { "SLUS-20175", "Mobile Suit Gundam - Journey to Jaburo (USA)" }, + { "SLUS-20741", "Mojo! (USA)" }, + { "SLPS-20381", "Monkey Turn V (Japan)" }, + { "SCPS-12345", "Monster House (Europe)" }, + { "SCPS-12345", "Monster House (Italy)" }, + { "SLPM-65495", "Monster Hunter (Japan)" }, + { "SLES-50908", "Monster Jam - Maximum Destruction (Europe)" }, + { "SLUS-20186", "Monster Jam - Maximum Destruction (USA)" }, + { "SLES-50717", "Mortal Kombat - Deadly Alliance (Europe, Australia)" }, + { "SLES-51439", "Mortal Kombat - Deadly Alliance (Germany)" }, + { "SLPS-25242", "Motion Gravure Series - Kitagawa Tomomi (Japan)" }, + { "SLES-51605", "Motorsiege - Warriors of Primetime (Europe)" }, + { "SLES-51363", "Music 3000 (Europe)" }, + { "SCUS-97263", "My Street (USA) (Demo)" }, + { "SCUS-97212", "My Street (USA)" }, + { "SLES-50726", "Myst III - Exile (Europe)" }, + { "SLUS-20434", "Myst III - Exile (USA)" }, + { "SLES-50080", "NBA Hoopz (Europe)" }, + { "SLUS-20050", "NBA Hoopz (USA)" }, + { "SCUS-97114", "NBA ShootOut 2001 (USA)" }, + { "SLES-50219", "NBA Street (Europe)" }, + { "SLUS-20187", "NBA Street (USA)" }, + { "SCUS-97109", "NCAA Final Four 2001 (USA)" }, + { "SCUS-97136", "NCAA Final Four 2002 (USA)" }, + { "SCUS-97204", "NCAA Final Four 2003 (USA)" }, + { "SCUS-97278", "NCAA Final Four 2004 (USA)" }, + { "SCUS-97107", "NCAA GameBreaker 2001 (USA)" }, + { "SCUS-97106", "NFL GameDay 2001 (USA)" }, + { "SLUS-20308", "NFL Prime Time 2002 (USA)" }, + { "SLES-50213", "NFL QB Club 2002 (Europe)" }, + { "SLUS-20154", "NFL QB Club 2002 (USA)" }, + { "SLES-51341", "NHL 2K3 (Europe)" }, + { "SLUS-20477", "NHL 2K3 (USA)" }, + { "SLES-50451", "NHL Hitz 2002 (Europe)" }, + { "SLUS-20140", "NHL Hitz 2002 (USA) (v2.00)" }, + { "SLES-50712", "NHL Hitz 2003 (Europe)" }, + { "SLUS-20438", "NHL Hitz 2003 (USA)" }, + { "SLUS-20691", "NHL Hitz Pro (USA)" }, + { "SLPS-25276", "Natsu Yume Ya Wa - The Tale of a Midsummer Night’s Dream (Japan)" }, + { "SLPS-25314", "Nebula - Echo Night (Japan)" }, + { "?", "Need for Speed Most Wanted" }, + { "SLUS-20537", "Nickelodeon Jimmy Neutron - Boy Genius (USA)" }, + { "SLUS-20473", "Nickelodeon Rocket Power - Beach Bandits (USA)" }, + { "SLUS-20810", "Nightshade (USA)" }, + { "SLPM-65130", "Nihon Daihyou Senshu ni Narou! (Japan)" }, + { "SLPM-62082", "Nihon Pro Yakyuu Kikou Kounin - Pro Yakyuu Japan 2001 (Japan)" }, + { "SLPS-25324", "Nishikaze no Kyoushikyoku - The Rhapsody of Zephyr (Japan)" }, + { "SLES-50232", "Off-Road - Wide Open (Europe)" }, + { "SLPM-65010", "Onimusha (Japan)" }, + { "SLES-51913", "Onimusha - Blade Warriors (Europe)" }, + { "SLES-50247", "Onimusha - Warlords (Europe)" }, + { "SLUS-20018", "Onimusha - Warlords (USA) (En,Ja)" }, + { "SCPS-15038", "Operator’s Side (Japan)" }, + { "SLPM-65524", "Orange Pocket - Root (Japan)" }, + { "SLPM-65005", "Ore ga Kantoku da! Gekitou Pennant Race (Japan)" }, + { "SCPS-15017", "PaRappa the Rapper 2 (Japan) (En,Ja)" }, + { "SCES-50888", "Pac-Man World 2 (Europe)" }, + { "SLPS-25141", "Pac-Man World 2 (Japan)" }, + { "SLUS-20224", "Pac-Man World 2 (USA) (v1.00)" }, + { "SLUS-20224", "Pac-Man World 2 (USA) (v2.00)" }, + { "SLPS-20186", "Pachinko de Asobou! Fever Dodeka Saurus (Japan)" }, + { "SLES-50212", "Paris-Dakar Rally (Europe)" }, + { "SLUS-20324", "Paris-Dakar Rally (USA)" }, + { "SLES-50252", "Penny Racers (Europe)" }, + { "SLPS-25222", "Pia Carrot e Youkoso!! 3 - Round Summer (Japan)" }, + { "SCPS-11014", "Piposaru 2001 (Japan)" }, + { "SLPM-65611", "Pizzicato Polka - Ensa Gen’ya (Japan)" }, + { "SCPS-15063", "PoPoLoCrois - Tsuki no Okite no Bouken (Japan)" }, + { "SLPS-20323", "Pochi to Nyaa (Japan)" }, + { "SCES-51135", "Primal" }, + { "SLES-50637", "Pro Rally 2002 (Europe)" }, + { "SLPM-65543", "Pro Yakyuu Spirits 2004 (Japan)" }, + { "SLPM-65721", "Pro Yakyuu Spirits 2004 Climax (Japan)" }, + { "SLPM-65426", "Pro Yakyuu Team o Tsukurou! 2003 (Japan)" }, + { "SLES-50821", "Project Zero (Europe)" }, + { "SLPM-66235", "Psychic Force Complete (Japan)" }, + { "SLPM-64534", "Psyvariar - Complete Edition (Korea)" }, + { "SLPM-65532", "Puyo Puyo Fever (Japan) (En,Ja,Fr,De,Es,It)" }, + { "SLES-50126", "Quake III - Revolution (Europe)" }, + { "SLES-50127", "Quake III - Revolution (Germany)" }, + { "SLUS-20167", "Quake III - Revolution (USA)" }, + { "SLPM-62424", "Quiz & Variety - Suku Suku Inufuku (Japan)" }, + { "SLES-50981", "R-C Sports Copter Challenge (Europe)" }, + { "SLES-50077", "RC Revenge Pro (Europe)" }, + { "SLUS-20153", "RC Revenge Pro (USA)" }, + { "SLUS-20340", "RPG Maker II (USA)" }, + { "SLPS-20143", "RPG Tkool 5 (Japan)" }, + { "SLES-51391", "RTL Skispringen 2003 (Germany)" }, + { "SLES-51633", "Racing Simulation 3 (Europe)" }, + { "SLPS-20307", "Rakushou! Pachi-Slot Sengen (Japan)" }, + { "SLES-50763", "Rally Championship (Europe)" }, + { "SLPS-20305", "Real Sports Pro Yakyuu (Japan)" }, + { "SLPM-65004", "Reiselied - Ephemeral Fantasia (Japan) (v1.00)" }, + { "SLPM-65004", "Reiselied - Ephemeral Fantasia (Japan) (v2.01)" }, + { "SLES-50306", "Resident Evil - Code - Veronica X (Europe)" }, + { "SLUS-20184", "Resident Evil - Code - Veronica X (USA)" }, + { "SLES-50650", "Resident Evil - Survivor 2 - Code - Veronica (Europe)" }, + { "SLUS-21134", "Resident Evil 4" }, + { "SLPS-25094", "Reveal Fantasia - Mariel to Yousei Monogatari (Japan)" }, + { "SLES-50113", "Ring of Red (Europe)" }, + { "SLPM-60122", "Ring of Red (Japan) (Taikenban)" }, + { "SLPM-62013", "Ring of Red (Japan)" }, + { "SLUS-20145", "Ring of Red (USA)" }, + { "SLES-51374", "RoboCop (Europe)" }, + { "SLES-50136", "Robot Warlords (Europe)" }, + { "SLES-50137", "Robot Warlords (France)" }, + { "SLES-50138", "Robot Warlords (Germany)" }, + { "SLES-50572", "Robot Wars - Arenas of Destruction (UK)" }, + { "SLPS-25005", "Rock’n Megastage (Japan)" }, + { "SLPM-99999", "Rockman X - Command Mission (Japan)" }, + { "SLPM-65463", "Rocky (Japan)" }, + { "SLES-52002", "Rogue Ops (Europe)" }, + { "SLPM-65534", "Rogue Ops (Japan)" }, + { "SLUS-20746", "Rogue Ops (USA)" }, + { "SLES-52100", "Rugby League (Australia)" }, + { "SLUS-20174", "Rumble Racing" }, + { "SLES-50335", "Rune - Viking Warlord (Europe)" }, + { "SLES-50337", "Rune - Viking Warlord (France)" }, + { "SLES-50336", "Rune - Viking Warlord (Germany)" }, + { "SLES-50338", "Rune - Viking Warlord (Italy)" }, + { "SLES-50339", "Rune - Viking Warlord (Spain)" }, + { "SLUS-20109", "Rune - Viking Warlord (USA)" }, + { "SLPS-25316", "SNK vs. Capcom - SVC Chaos (Japan)" }, + { "SLUS-20433", "SWAT - Global Strike Team (USA)" }, + { "SLUS-20600", "SX Superstar" }, + { "SCPS-11005", "Sagashi ni Ikouyo (Japan)" }, + { "SLPS-20365", "Saikyou Ginsei Shougi 4 (Japan)" }, + { "SLPS-25081", "Saishuu Densha (Japan)" }, + { "SLPM-65275", "Saishuu Heiki Kanojo (Japan)" }, + { "SLPS-20391", "Saiyuuki Reload Gunlock (Japan)" }, + { "SLPM-65109", "Saka Tsuku 2002 - J. League Pro Soccer Club wo Tsukurou! (Japan)" }, + { "SLPM-65515", "Sakura Taisen Monogatari - Mysterious Paris (Japan)" }, + { "SLPS-25559", "Samurai Spirits - Tenkaichi Kenkakuden (Japan)" }, + { "SLPS-20203", "Sanyo Pachinko Paradise 7 - Edokko Gen-san (Japan)" }, + { "SLES-51883", "Scooby-Doo! Mystery Mayhem (Europe)" }, + { "SLUS-20701", "Scooby-Doo! Mystery Mayhem (USA) (En,Fr)" }, + { "SLUS-20424", "Scorpion King, The - Rise of the Akkadian (USA)" }, + { "SLPM-62079", "Se-Pa 2001 (Japan)" }, + { "SLUS-20606", "Seek and Destroy (USA)" }, + { "SLPM-62400", "Sega Ages 2500 Series Vol. 12 - Puyo Puyo Tsuu - Perfect Set (Japan)" }, + { "SLPM-62547", "Sega Ages 2500 Series Vol. 16 - Virtua Fighter 2 (Japan)" }, + { "SLPM-62366", "Sega Ages 2500 Series Vol. 3 - Fantasy Zone (Japan)" }, + { "SLPM-62385", "Sega Ages 2500 Series Vol. 5 - Golden Axe (Japan)" }, + { "SLES-51388", "Sega Bass Fishing Duel (Europe)" }, + { "SLUS-20339", "Sega Bass Fishing Duel (USA)" }, + { "SLES-53461", "Sega Classics Collection (Europe, Australia)" }, + { "SLES-51125", "Sega Soccer Slam (Europe)" }, + { "SLUS-20509", "Sega Soccer Slam (USA)" }, + { "SLES-51253", "Seigneur des Anneaux, Le - Les Deux Tours (France)" }, + { "SLES-51256", "Senor de los Anillos, El - Las Dos Torres (Spain)" }, + { "SLES-50822", "Shadow Hearts (Europe)" }, + { "SLPS-25041", "Shadow Hearts (Japan)" }, + { "SLUS-20347", "Shadow Hearts (USA)" }, + { "SLES-50446", "Shadow Man - 2econd Coming (Europe)" }, + { "SLES-50608", "Shadow Man - 2econd Coming (Germany)" }, + { "SLUS-20413", "Shadow Man - 2econd Coming (USA)" }, + { "?", "Shadow of the Colossus (Europe)" }, + { "SLES-50400", "Shaun Palmer’s Pro Snowboarder (Europe)" }, + { "SLES-50401", "Shaun Palmer’s Pro Snowboarder (France)" }, + { "SLES-50402", "Shaun Palmer’s Pro Snowboarder (Germany)" }, + { "SLUS-20199", "Shaun Palmer’s Pro Snowboarder (USA)" }, + { "SLPM-65334", "Shin Seiki Evangelion - Ayanami Ikusei Keikaku with Asuka Hokan Keikaku (Japan)" }, + { "SLPM-65867", "Shin Seiki Evangelion - Koutetsu no Girlfriend 2nd (Japan)" }, + { "SLPM-65391", "Shinki Gensou - Spectral Souls (Japan)" }, + { "SLPM-65200", "Shinobi (Japan)" }, + { "SLUS-20459", "Shinobi (USA) (En,Ja)" }, + { "SLPM-65328", "Shirachuu Tankenbu (Japan)" }, + { "SLES-52382", "Shrek 2 (Spain)" }, + { "SLPS-25076", "Sidewinder F (Japan)" }, + { "SLPS-25018", "Sidewinder Max (Japan)" }, + { "SLPS-25255", "Sidewinder V (Japan)" }, + { "SLES-51157", "Silent Scope 3 (Europe)" }, + { "SLUS-20514", "Silent Scope 3 (USA) (En,Ja,Es)" }, + { "SLUS-20624", "Simpsons Hit and Run" }, + { "SLES-50754", "Simpsons Skateboarding, The (Europe)" }, + { "SLES-50755", "Simpsons Skateboarding, The (France)" }, + { "SLES-51362", "Simpsons Skateboarding, The (Germany)" }, + { "SLES-51360", "Simpsons Skateboarding, The (Italy)" }, + { "SLES-51361", "Simpsons Skateboarding, The (Spain)" }, + { "SLUS-20114", "Simpsons Skateboarding, The (USA)" }, + { "SLES-51257", "Sims, The (Europe)" }, + { "SLUS-20573", "Sims, The (USA)" }, + { "SLES-50261", "Sky Surfer (Europe)" }, + { "SLPS-20012", "Sky Surfer (Japan)" }, + { "SLPS-20262", "Slot! Pro DX - Fujiko 2 (Japan)" }, + { "SLPS-20285", "Slotter Up Core - Enda! Kyojin no Hoshi (Japan)" }, + { "SLPS-20370", "Slotter Up Core 3 - Yuda! Doronjo ni Omakase (Japan)" }, + { "SLPS-20337", "Slotter Up Core Alpha - Shukko! Yuushou Panel! Shinka! Kyojin no Hoshi (Japan)" }, + { "SLPS-20278", "Slotter Up Mania - Chou Oki-Slot! Pioneer Special (Japan)" }, + { "SLPM-62615", "Slotter Up Mania 6 - Oki no Neppuu! Pioneer Special II (Japan)" }, + { "SLES-51800", "Smash Cars (Europe)" }, + { "SLUS-20620", "Smash Cars (USA)" }, + { "SLPM-65431", "Sonic Heroes (Japan) (En,Ja,Fr,De,Es,It)" }, + { "SLUS-20718", "Sonic Heroes (USA) (En,Ja,Fr,De,Es,It)" }, + { "SLPM-62310", "Soutenryuu - The Arcade (Japan)" }, + { "SLPM-62275", "Space Raiders (Japan)" }, + { "SLES-50486", "Splashdown (Europe)" }, + { "SLES-50268", "SpyHunter (Europe)" }, + { "SLUS-20056", "SpyHunter (USA)" }, + { "SLES-51043", "Spyro - Enter the Dragonfly (Europe)" }, + { "SLUS-20315", "Spyro - Enter the Dragonfly (USA)" }, + { "SLES-52545", "Star Wars - Battlefront (Europe)" }, + { "SLES-52546", "Star Wars - Battlefront (France)" }, + { "SLES-53503", "Star Wars - Battlefront (Germany)" }, + { "SLUS-29164", "Star Wars - Battlefront II (USA) (Beta)" }, + { "SLPS-25252", "Star Wars - Jango Fett (Japan)" }, + { "SLES-50204", "Star Wars - Super Bombad Racing (Europe)" }, + { "SLES-50205", "Star Wars - Super Bombad Racing (France)" }, + { "SLES-50206", "Star Wars - Super Bombad Racing (Germany)" }, + { "SLES-50207", "Star Wars - Super Bombad Racing (Italy)" }, + { "SLES-50208", "Star Wars - Super Bombad Racing (Spain)" }, + { "SLUS-20043", "Star Wars - Super Bombad Racing (USA) (En,Fr,De,Es,It)" }, + { "SLPS-20018", "Stepping Selection (Japan) (Disc 1)" }, + { "SLPS-20019", "Stepping Selection (Japan) (Disc 2)" }, + { "SLES-50072", "Street Fighter EX3 (Europe)" }, + { "SLPM-60105", "Street Fighter EX3 (Japan) (Taikenban)" }, + { "SLPS-20003", "Street Fighter EX3 (Japan)" }, + { "SLUS-20130", "Street Fighter EX3 (USA)" }, + { "SLES-50064", "Stunt GP (Europe)" }, + { "SLPS-20152", "Stunt GP (Japan)" }, + { "SLUS-20218", "Stunt GP (USA)" }, + { "SLES-51160", "Sub Rebellion (Europe)" }, + { "SLUS-20548", "Sub Rebellion (USA)" }, + { "SLPM-65751", "Suigetsu - Mayoi Gokoro (Japan)" }, + { "SLUS-20074", "Summoner (USA)" }, + { "SLES-50533", "Sunny Garcia Surfing (Europe)" }, + { "SLUS-20208", "Sunny Garcia Surfing (USA)" }, + { "SLPS-25070", "Sunrise Eiyuutan 2 (Japan)" }, + { "SLPS-25270", "Sunrise World War (Japan)" }, + { "SLPS-25104", "Super Robot Taisen Impact (Japan)" }, + { "SLES-50897", "Super Trucks (Europe)" }, + { "SLUS-20748", "Super Trucks Racing (USA)" }, + { "SLPM-62423", "SuperLite 2000 Vol. 13 - Tetris - Kiwame Michi (Japan) (v1.02)" }, + { "SLPM-65689", "SuperLite 2000 Vol. 23 - Never 7 - The End of Infinity (Japan)" }, + { "SLES-50419", "Supercar Street Challenge (Europe)" }, + { "SLES-50421", "Supercar Street Challenge (Germany)" }, + { "SLUS-20012", "Supercar Street Challenge (USA)" }, + { "SLES-50852", "Sven-Goeran Eriksson’s World Challenge (Europe)" }, + { "SLES-50794", "Sven-Goeran Eriksson’s World Manager 2002 (Europe)" }, + { "SLES-50033", "Swing Away Golf (Europe)" }, + { "SLUS-20096", "Swing Away Golf (USA)" }, + { "SLPM-65121", "Switch (Japan)" }, + { "SLES-51290", "Sword of the Samurai (Europe)" }, + { "SLPM-65261", "TBS All Star Kanshasai Vol. 1 - Chou Gouka! Quiz Ketteiban (Japan)" }, + { "SLES-50778", "TD Overdrive - The Brotherhood of Speed (Europe)" }, + { "SLPM-62105", "Taikou Risshiden IV (Japan)" }, + { "SLPM-65450", "Tantei Gakuen Q - Kioukan no Satsui (Japan)" }, + { "SLPM-60134", "Technictix (Japan) (Taikenban)" }, + { "SLPS-20055", "Technictix (Japan)" }, + { "SLUS-20981", "Teenage Mutant Ninja Turtles 2 - Battle Nexus (USA)" }, + { "SCAJ-20100", "Tenchu Kurenai (Asia)" }, + { "SLPS-25384", "Tenchu Kurenai (Japan)" }, + { "SLPM-65401", "Tengai Makyou II - Manji Maru (Japan) (Shokai Gentei Picture Label Shiyou)" }, + { "SLPM-65401", "Tengai Makyou II - Manji Maru (Japan)" }, + { "SLPM-65398", "Tennis no Oujisama - Kiss of Prince Flame (Japan)" }, + { "SLPM-65397", "Tennis no Oujisama - Kiss of Prince Ice (Japan)" }, + { "SLPM-65323", "Tennis no Oujisama - Smash Hit! (Japan)" }, + { "SLPM-62359", "Tennis no Oujisama - Smash Hit! Original Anime Game (Japan)" }, + { "SLPM-65371", "Tennis no Oujisama - Sweat & Tears 2 - Seishun Gakuen Teikyuusai ‘03 - Perfect Live (Japan)" }, + { "SLPS-20053", "Tenshi no Present - Marl Oukoku Monogatari (Japan) (Genteiban)" }, + { "SLPS-20066", "Tenshi no Present - Marl Oukoku Monogatari (Japan)" }, + { "SLPM-65598", "Tenshou Gakuen Gensouroku (Japan)" }, + { "SLPS-25298", "Tentama - 1st Sunny Side (Japan)" }, + { "SLUS-20213", "Test Drive (USA)" }, + { "SLUS-20177", "Test Drive Off-Road - Wide Open (USA)" }, + { "SLES-50551", "Tetris Worlds (Europe)" }, + { "SLUS-20099", "Theme Park Roller Coaster (USA)" }, + { "SLES-50078", "TimeSplitters (Europe)" }, + { "SLUS-20090", "TimeSplitters (USA) (v1.10)" }, + { "SLUS-20090", "TimeSplitters (USA) (v2.00)" }, + { "SLES-51181", "Tom Clancy’s Ghost Recon (Europe)" }, + { "SLES-51182", "Tom Clancy’s Ghost Recon (Germany)" }, + { "SLUS-20613", "Tom Clancy’s Ghost Recon (USA)" }, + { "SLED-51472", "Tom Clancy’s Splinter Cell (Europe) (Demo)" }, + { "SLUS-20652", "Tom Clancy’s Splinter Cell (USA)" }, + { "SLES-50400", "Tony Hawk’s Pro Skater 3 (Europe)" }, + { "SLES-50401", "Tony Hawk’s Pro Skater 3 (France)" }, + { "SLES-50402", "Tony Hawk’s Pro Skater 3 (Germany)" }, + { "SLUS-20199", "Tony Hawk’s Pro Skater 3 (USA) (Rev 1)" }, + { "SLUS-20199", "Tony Hawk’s Pro Skater 3 (USA)" }, + { "SLPS-99999", "Tony Hawk’s Pro Skater 4 (USA) (v1.02)" }, + { "SLPS-99999", "Tony Hawk’s Pro Skater 4 (USA) (v2.01)" }, + { "SCED-52441", "Transformers (Europe) (Demo)" }, + { "SLUS-20149", "Tribes - Aerial Assault (USA)" }, + { "SLUS-20931", "Trigger Man (USA)" }, + { "SLUS-20168", "Triple Play Baseball (USA)" }, + { "SLPS-20196", "Tsuki no Hikari - Shizumeru Kane no Satsujin (Japan)" }, + { "SCES-50360", "Twisted Metal - Black (Europe)" }, + { "SCUS-97101", "Twisted Metal - Black (USA)" }, + { "SLPS-20080", "Typing Namidabashi Ashita no Joe Touda (Japan) (USB Keyboard Doukonban)" }, + { "SLPS-20194", "U - Underwater Unit (Japan)" }, + { "SLES-50195", "UEFA Challenge (Europe)" }, + { "SLPS-25294", "Uchuu no Stellvia (Japan)" }, + { "SLPS-25364", "Ultraman (Japan)" }, + { "SLES-51606", "Unlimited Saga (Europe)" }, + { "SLPS-25185", "Unlimited Saga (Japan) (Limited Edition)" }, + { "SLPS-25199", "Unlimited Saga (Japan)" }, + { "SLUS-20678", "Unlimited Saga (USA)" }, + { "SLES-50725", "V-Rally 3 (Europe)" }, + { "SLPM-65191", "V-Rally 3 (Japan) (En,Ja)" }, + { "SCES-50411", "Vampire Night (Europe, Australia)" }, + { "SLPS-25077", "Vampire Night (Japan)" }, + { "SLUS-20221", "Vampire Night (USA)" }, + { "SLPS-20034", "Velvet File (Japan)" }, + { "SLPS-25012", "Victorious Boxers (Japan)" }, + { "SLPS-25129", "Victorious Boxers - Championship Version (Japan)" }, + { "SLES-50280", "Victorious Boxers - Ippo’s Road to Glory (Europe)" }, + { "SLUS-20282", "Victorious Boxers - Ippo’s Road to Glory (USA)" }, + { "SLPS-25287", "Victorious Boxers 2 - Ioop’s Road to Glory (Japan)" }, + { "SLUS-20951", "Viewtiful Joe (USA)" }, + { "SLES-51699", "Virtua Fighter - 10th Anniversary Edition (Europe)" }, + { "SLES-51616", "Virtua Fighter 4 - Evolution (Europe)" }, + { "SLPM-65270", "Virtua Fighter 4 - Evolution (Japan)" }, + { "SLKA-00000", "Virtua Fighter 4 - Evolution (Korea)" }, + { "SLUS-00000", "Virtua Fighter 4 - Evolution (USA)" }, + { "SLES-51600", "WWE Crush Hour (Europe)" }, + { "SLUS-20385", "WWE Crush Hour (USA)" }, + { "SLES-52036", "WWE SmackDown! Here Comes the Pain (Europe)" }, + { "SLUS-20787", "WWE SmackDown! Here Comes the Pain (USA)" }, + { "SLES-51283", "WWE SmackDown! Shut Your Mouth (Europe)" }, + { "SLUS-20483", "WWE SmackDown! Shut Your Mouth (USA)" }, + { "SLES-50183", "Wacky Races Starring Dastardly & Muttley (Europe)" }, + { "SLES-51272", "Wakeboarding Unleashed featuring Shaun Murray (Europe)" }, + { "SLES-51273", "Wakeboarding Unleashed featuring Shaun Murray (France)" }, + { "SLUS-20418", "Wakeboarding Unleashed featuring Shaun Murray (USA)" }, + { "SLUS-20075", "Walt Disney’s The Jungle Book - Rhythm n’ Groove (USA)" }, + { "SLES-51973", "War Chess (Europe)" }, + { "SCUS-97197", "War of the Monsters (USA)" }, + { "SLES-50503", "Weakest Link, The (Europe)" }, + { "SLPM-62019", "Winning Post 4 Maximum (Japan)" }, + { "SLPM-62058", "Winning Post 4 Maximum 2001 (Japan) (Super Value Set)" }, + { "SLPM-62123", "Winning Post 5 (Japan)" }, + { "SLPM-62280", "Winning Post 5 Maximum 2002 (Japan) (Premium Pack)" }, + { "SLPM-62221", "Winning Post 5 Maximum 2002 (Japan)" }, + { "SLES-50035", "Winter X Games Snowboarding (Europe)" }, + { "SLES-50670", "Winter X Games Snowboarding 2 (Europe)" }, + { "SLUS-20321", "Winter X Games Snowboarding 2002 (USA)" }, + { "SLES-50170", "World Destruction League - Thunder Tanks (Europe)" }, + { "SLUS-20005", "World Destruction League - Thunder Tanks (USA)" }, + { "SLES-50262", "World Destruction League - WarJetz (Europe)" }, + { "SLUS-20007", "World Destruction League - WarJetz (USA)" }, + { "SLUS-20611", "World Series Baseball 2K3 (USA)" }, + { "SLPM-62268", "World Soccer Winning Eleven 6 - Final Evolution (Japan)" }, + { "SLES-51843", "Worms 3D (Europe)" }, + { "SLES-51202", "Wreckless - The Yakuza Missions (Europe)" }, + { "SLUS-20431", "Wreckless - The Yakuza Missions (USA)" }, + { "SLES-50430", "X Games Skateboarding (Europe)" }, + { "SLES-50031", "X Squad (Europe)" }, + { "SLUS-20094", "X Squad (USA)" }, + { "SLES-50210", "XGIII - Extreme G Racing (Europe) (v1.02)" }, + { "SLES-50210", "XGIII - Extreme G Racing (Europe) (v2.00)" }, + { "SLUS-20302", "XGIII - Extreme G Racing (USA)" }, + { "SLPS-29002", "Xenosaga Episode I - Der Wille zur Macht (Japan) (Premium Box)" }, + { "SLPS-29002", "Xenosaga Episode I - Der Wille zur Macht (Japan)" }, + { "SLUS-20469", "Xenosaga Episode I - Der Wille zur Macht (USA)" }, + { "SLPS-25048", "Zeonic Front - Kidou Senshi Gundam 0079 (Japan)" }, + { "SLPS-25074", "Zero (Japan)" }, + { "SLPS-25303", "Zero - Akai Chou (Japan)" }, + { "SLPM-65019", "Zone of the Enders - Z.O.E (Japan)" }, + { "SLES-50933", "eJay ClubWorld - The Music Making Experience (Europe)" }, + { "SLUS-20525", "eJay Clubworld - The Music Making Experience (USA)" } +}; + +const char* getGameName(const std::string& gameId) +{ + auto it = gameDatabase.find(gameId); + if (it != gameDatabase.end()) + return it->second.c_str(); + + return nullptr; +} \ No newline at end of file