retrolaunch: Change core selection in retrolaunch

This changed makes it so that retrolaunch will choose cores based on a
preference configuration called cores.conf.

This means that different systems can select what cores they prefer to
use when running certain games. Games that don't work on specific cores
can be marked in launch.conf with !core_name and retrolaunch will choose
the next core for that system.

Also launch.conf is now optional meaning that users don't need the cddb
and the dat files to be able to use core auto-selection. They just need
cores.conf.

Signed-off-by: Saggi Mizrahi <ficoos@gmail.com>
This commit is contained in:
Saggi Mizrahi 2013-05-21 00:12:38 -04:00
parent c038c92f68
commit 00eb501a1c
3 changed files with 606 additions and 526 deletions

View File

@ -0,0 +1,15 @@
# Core preferences, cores are ordered by preference. If a core doesn't exist ;
# or is marked as broken in launch.conf the next in line will be used. ;
"ps1" mednafen-psx pcsxr ;
"smd" genplus ;
"nes" fceu bnes nestopia quicknes ;
"gba" vba ;
"a26" stella ;
"snes" snes9x snes9x-next bsnes-compat bsnes-balanced bsnes-accuracy ;
"gbc" gambatte ;
"gb" gambatte ;
"gg" genplus ;
"nds" desmume ;
"pce" mednafen-pce-fast ;
"sms" genplus ;
"wswan" mednafen-wswan ;

View File

@ -1,513 +1,491 @@
# PS1 Dualanalog Games ;
"ps1.007 - Demain ne Meurt Jamais" mednafen-psx dualanalog ;
"ps1.007 - Le Monde Ne Suffit Pas" mednafen-psx dualanalog ;
"ps1.007 Racing*" mednafen-psx dualanalog ;
"ps1.007 - The World Is Not Enough*" mednafen-psx dualanalog ;
"ps1.007 - Tomorrow Never Dies*" mednafen-psx dualanalog ;
"ps1.102 Dalmations - Puppies To The Rescue" mednafen-psx dualanalog ;
"ps1.40 Winks*" mednafen-psx dualanalog ;
"ps1.Ace Combat*" mednafen-psx dualanalog ;
"ps1.Aces of the Air*" mednafen-psx dualanalog ;
"ps1.Action Bass*" mednafen-psx dualanalog ;
"ps1.Action Man - Operation Extreme*" mednafen-psx dualanalog ;
"ps1.Advanced V.G. 2*" mednafen-psx dualanalog ;
"ps1.Adventure of Phix" mednafen-psx dualanalog ;
"ps1.Aironauts*" mednafen-psx dualanalog ;
"ps1.Air Race Championship*" mednafen-psx dualanalog ;
"ps1.Akuji - The Heartless*" mednafen-psx dualanalog ;
"ps1.Alfred Chicken*" mednafen-psx dualanalog ;
"ps1.Alien la Resurrection*" mednafen-psx dualanalog ;
"ps1.Alien Resurrection*" mednafen-psx dualanalog ;
"ps1.Alone In The Dark - The New Nightmare*" mednafen-psx dualanalog ;
"ps1.Alundra 2*" mednafen-psx dualanalog ;
"ps1.Amazing Virtual Sea Monkeys*" mednafen-psx dualanalog ;
"ps1.Animorphs - Shattered Reality*" mednafen-psx dualanalog ;
"ps1.Ape Escape*" mednafen-psx dualanalog ;
"ps1.Apocalypse*" mednafen-psx dualanalog ;
"ps1.Aqua GT*" mednafen-psx dualanalog ;
"ps1.Arcade Party Pack" mednafen-psx dualanalog ;
"ps1.Armored Core - Master of Arena*" mednafen-psx dualanalog ;
"ps1.Armorines - Project Swarm*" mednafen-psx dualanalog ;
"ps1.Army Men 3D*" mednafen-psx dualanalog ;
"ps1.Army Men - Air Attack 2*" mednafen-psx dualanalog ;
"ps1.Army Men - Air Attack*" mednafen-psx dualanalog ;
"ps1.Army Men - Green Rouge*" mednafen-psx dualanalog ;
"ps1.Army Men - Sarge's Heroes 2*" mednafen-psx dualanalog ;
"ps1.Army Men - Sarge's Heroes*" mednafen-psx dualanalog ;
"ps1.Army Men - World War*" mednafen-psx dualanalog ;
"ps1.Assault Retribution*" mednafen-psx dualanalog ;
"ps1.Asterix - Mega Madness*" mednafen-psx dualanalog ;
"ps1.Asteroids*" mednafen-psx dualanalog ;
"ps1.Barbie Explorer" mednafen-psx dualanalog ;
"ps1.Barbie - Gotta Have Games" mednafen-psx dualanalog ;
"ps1.Batman Beyond - Return of the Joker" mednafen-psx dualanalog ;
"ps1.Batman & Robin" mednafen-psx dualanalog ;
"ps1.Battle Arena Toshinden 4" mednafen-psx dualanalog ;
"ps1.Bear in the Big Blue House" mednafen-psx dualanalog ;
"ps1.Beatmania" mednafen-psx dualanalog ;
"ps1.Beat Planet Music" mednafen-psx dualanalog ;
"ps1.Beyblade" mednafen-psx dualanalog ;
"ps1.Big Bass Fishing" mednafen-psx dualanalog ;
"ps1.BioHazard - Director's Cut - Dual Shock*" mednafen-psx dualanalog ;
"ps1.Bishi Bashi Special" mednafen-psx dualanalog ;
"ps1.Blade" mednafen-psx dualanalog ;
"ps1.Blasto!" mednafen-psx dualanalog ;
"ps1.Blast Radius" mednafen-psx dualanalog ;
"ps1.Block Kuzushi" mednafen-psx dualanalog ;
"ps1.Block Wars" mednafen-psx dualanalog ;
"ps1.Bloody Roar 2*" mednafen-psx dualanalog ;
"ps1.Bob the Builder - Can We Fix It" mednafen-psx dualanalog ;
"ps1.Boombots" mednafen-psx dualanalog ;
"ps1.Bratz" mednafen-psx dualanalog ;
"ps1.Brave Fencer Musashi*" mednafen-psx dualanalog ;
"ps1.Breakout" mednafen-psx dualanalog ;
"ps1.Buggy" mednafen-psx dualanalog ;
"ps1.Bugs Bunny - Lost in Time*" mednafen-psx dualanalog ;
"ps1.Bugs Bunny & Taz - Time Busters" mednafen-psx dualanalog ;
"ps1.C-12 - The Final Resistance" mednafen-psx dualanalog ;
"ps1.Captain Commando" mednafen-psx dualanalog ;
"ps1.Cardinal Syn*" mednafen-psx dualanalog ;
"ps1.Carmageddon*" mednafen-psx dualanalog ;
"ps1.Casper - Friends Around The World" mednafen-psx dualanalog ;
"ps1.Chaos Break" mednafen-psx dualanalog ;
"ps1.Chicken Run" mednafen-psx dualanalog ;
"ps1.Chippoke Ralph no Daibouken (Adventure of Little Ralph)" mednafen-psx dualanalog ;
"ps1.Chocobo Racing" mednafen-psx dualanalog ;
"ps1.Chrono Cross*" mednafen-psx dualanalog ;
"ps1.Colin Mc[rR]ae*" mednafen-psx dualanalog ;
"ps1.Colony Wars*" mednafen-psx dualanalog ;
"ps1.Cosmowarrior Rei" mednafen-psx dualanalog ;
"ps1.Cowboy Bebop" mednafen-psx dualanalog ;
"ps1.Crash Bandicoot 2*" mednafen-psx dualanalog ;
"ps1.Crash Bandicoot 3*" mednafen-psx dualanalog ;
"ps1.Crash Bandicoot Carnival - Crash Bash*" mednafen-psx dualanalog ;
"ps1.Crash Bash Demo" mednafen-psx dualanalog ;
"ps1.Crash Bash" mednafen-psx dualanalog ;
"ps1.Crash Bash" mednafen-psx dualanalog ;
"ps1.Crash Bash & Spyro - Year of the Dragon Demo" mednafen-psx dualanalog ;
"ps1.Crash Team Racing*" mednafen-psx dualanalog multitap ;
"ps1.Crisis Beat" mednafen-psx dualanalog ;
"ps1.Croc 2*" mednafen-psx dualanalog ;
"ps1.Croc - Legend of the Gobbos" mednafen-psx dualanalog ;
"ps1.C - The Contra Adventure" mednafen-psx dualanalog ;
"ps1.CT Special Forces" mednafen-psx dualanalog ;
"ps1.CyberTiger Golf" mednafen-psx dualanalog ;
"ps1.Danger Girl" mednafen-psx dualanalog ;
"ps1.Darkstalkers 3*" mednafen-psx dualanalog ;
"ps1.Darkstone - Evil Reigns" mednafen-psx dualanalog ;
"ps1.Deep Freeze*" mednafen-psx dualanalog ;
"ps1.Delta Force - Urban Warfar" mednafen-psx dualanalog ;
"ps1.Demolition Racer" mednafen-psx dualanalog ;
"ps1.Dexter's Laboratory - Mandark's Lab" mednafen-psx dualanalog ;
"ps1.Dezaemon Kids!*" mednafen-psx dualanalog ;
"ps1.Die Hard Trilogy 2*" mednafen-psx dualanalog ;
"ps1.Digimon Rumble Arena" mednafen-psx dualanalog ;
"ps1.Disney's 101 Dalmations*" mednafen-psx dualanalog ;
"ps1.Disney's A Bug's Life*" mednafen-psx dualanalog ;
"ps1.Disney's Aladdin la revanche de Nasira" mednafen-psx dualanalog ;
"ps1.Disney's Aladdin - La Vendetta di Nasira" mednafen-psx dualanalog ;
"ps1.Disney's Aladdin - Nasira's Revenge" mednafen-psx dualanalog ;
"ps1.Disney's Buzz Lightyear of Star Command" mednafen-psx dualanalog ;
"ps1.Disney's Peter Pan in Return to Neverland" mednafen-psx dualanalog ;
"ps1.Disney's Tarzan*" mednafen-psx dualanalog ;
"ps1.Disney's The Emperor's New Groove" mednafen-psx dualanalog ;
"ps1.Disney's The Lion King II - Simba's Mighty Adventure" mednafen-psx dualanalog ;
"ps1.Disney's Toy Story 2 - Buzz Lightyear to the Rescue*" mednafen-psx dualanalog ;
"ps1.Dragon Valor*" mednafen-psx dualanalog ;
"ps1.Dreams" mednafen-psx dualanalog ;
"ps1.Driver 2*" mednafen-psx dualanalog ;
"ps1.Duke Nukem - Land of the Babes" mednafen-psx dualanalog ;
"ps1.Duke Nukem - Time to Kill" mednafen-psx dualanalog ;
"ps1.Dukes of Hazzard*" mednafen-psx dualanalog ;
"ps1.Eagle One - Harrier Attack" mednafen-psx dualanalog ;
"ps1.Ehrgeiz" mednafen-psx dualanalog ;
"ps1.Elemental Gearbolt" mednafen-psx dualanalog ;
"ps1.ET - The Extra-Terrestrial - Interplanetary Mission" mednafen-psx dualanalog ;
"ps1.Evil Dead - Hail to the King*" mednafen-psx dualanalog ;
"ps1.Fatal Fury*" mednafen-psx dualanalog ;
"ps1.Fear Effect*" mednafen-psx dualanalog ;
"ps1.Fighting Force*" mednafen-psx dualanalog ;
"ps1.Firebugs" mednafen-psx dualanalog ;
"ps1.Fist of the North Star - Hokuto no Ken" mednafen-psx dualanalog ;
"ps1.Flintstones Bedrock Bowling" mednafen-psx dualanalog ;
"ps1.Forsaken*" mednafen-psx dualanalog ;
"ps1.From TV Animation - One Piece - Oceans of Dreams" mednafen-psx dualanalog ;
"ps1.From TV Animation - One Piece - Tobidase Kaizokudan!*" mednafen-psx dualanalog ;
"ps1.Future Cop*" mednafen-psx dualanalog ;
"ps1.Galaga - Destination Earth" mednafen-psx dualanalog ;
"ps1.Galerians*" mednafen-psx dualanalog ;
"ps1.Gauntlet Legends" mednafen-psx dualanalog ;
"ps1.G Darius*" mednafen-psx dualanalog ;
"ps1.Gex 3 - Deep Cover Gecko*" mednafen-psx dualanalog ;
"ps1.Ghoul Panic" mednafen-psx dualanalog ;
"ps1.Global Domination*" mednafen-psx dualanalog ;
"ps1.G-Police*" mednafen-psx dualanalog ;
"ps1.Gran Turismo*" mednafen-psx dualanalog ;
"ps1.Grinch, The" mednafen-psx dualanalog ;
"ps1.Groove Adventure Rave*" mednafen-psx dualanalog ;
"ps1.Grudge Warriors" mednafen-psx dualanalog ;
"ps1.Guardian of Darkness, The" mednafen-psx dualanalog ;
"ps1.Guilty Gear*" mednafen-psx dualanalog ;
"ps1.Guitar Freaks*" mednafen-psx dualanalog ;
"ps1.Gunbare! The Game Paradise 2" mednafen-psx dualanalog ;
"ps1.Gunfighter - The Legend of Jesse James" mednafen-psx dualanalog ;
"ps1.Hakaioh - King of Crusher" mednafen-psx dualanalog ;
"ps1.Harry Potter and The Chamber of Secrets" mednafen-psx dualanalog ;
"ps1.Harry Potter and The Philosopher's Stone" mednafen-psx dualanalog ;
"ps1.Harry Potter and The Sorcerer's Stone" mednafen-psx dualanalog ;
"ps1.Hellboy - Asylum Seeker" mednafen-psx dualanalog ;
"ps1.Hidden & Dangerous" mednafen-psx dualanalog ;
"ps1.Hokuto no Ken - Seiki Matsukyu Seishi Densets" mednafen-psx dualanalog ;u (Fist of the North Star)
"ps1.Hot Wheels - Extreme Racing" mednafen-psx dualanalog ;
"ps1.Hugo*" mednafen-psx dualanalog ;
"ps1.Hydro Thunder" mednafen-psx dualanalog ;
"ps1.Infestation" mednafen-psx dualanalog ;
"ps1.Inspector Gadget - Gadget's Crazy Maze" mednafen-psx dualanalog ;
"ps1.Invasion From Beyond - B-Movie" mednafen-psx dualanalog ;
"ps1.Iron Soldier 3" mednafen-psx dualanalog ;
"ps1.Irritating Stick*" mednafen-psx dualanalog ;
"ps1.IS - Internal Section" mednafen-psx dualanalog ;
"ps1.Jackie Chan Stuntmaster" mednafen-psx dualanalog ;
"ps1.Jersey Devil*" mednafen-psx dualanalog ;
"ps1.Jet Moto 2" mednafen-psx dualanalog ;
"ps1.Jet Moto 3*" mednafen-psx dualanalog ;
"ps1.Jinx" mednafen-psx dualanalog ;
"ps1.Kakuge-Yaro - Fighting Game Cre" mednafen-psx dualanalog ;ator
"ps1.Kamen Rider*" mednafen-psx dualanalog ;
"ps1.Kidou Keisatsu Patlabor - Game Edition (Mobile Police)" mednafen-psx dualanalog ;
"ps1.Kitchen Panic" mednafen-psx dualanalog ;
"ps1.KKND - Krossfire*" mednafen-psx dualanalog ;
"ps1.Klaymen Gun-Hockey" mednafen-psx dualanalog ;
"ps1.Korokoro Postnin" mednafen-psx dualanalog ;
"ps1.Largo Winch - Commando Sar" mednafen-psx dualanalog ;
"ps1.Lattice - 200 Ec7" mednafen-psx dualanalog ;
"ps1.007 - Demain ne Meurt Jamais" dualanalog ;
"ps1.007 - Le Monde Ne Suffit Pas" dualanalog ;
"ps1.007 Racing*" dualanalog ;
"ps1.007 - The World Is Not Enough*" dualanalog ;
"ps1.007 - Tomorrow Never Dies*" dualanalog ;
"ps1.102 Dalmations - Puppies To The Rescue" dualanalog ;
"ps1.40 Winks*" dualanalog ;
"ps1.Ace Combat*" dualanalog ;
"ps1.Aces of the Air*" dualanalog ;
"ps1.Action Bass*" dualanalog ;
"ps1.Action Man - Operation Extreme*" dualanalog ;
"ps1.Advanced V.G. 2*" dualanalog ;
"ps1.Adventure of Phix" dualanalog ;
"ps1.Aironauts*" dualanalog ;
"ps1.Air Race Championship*" dualanalog ;
"ps1.Akuji - The Heartless*" dualanalog ;
"ps1.Alfred Chicken*" dualanalog ;
"ps1.Alien la Resurrection*" dualanalog ;
"ps1.Alien Resurrection*" dualanalog ;
"ps1.Alone In The Dark - The New Nightmare*" dualanalog ;
"ps1.Alundra 2*" dualanalog ;
"ps1.Amazing Virtual Sea Monkeys*" dualanalog ;
"ps1.Animorphs - Shattered Reality*" dualanalog ;
"ps1.Ape Escape*" dualanalog ;
"ps1.Apocalypse*" dualanalog ;
"ps1.Aqua GT*" dualanalog ;
"ps1.Arcade Party Pack" dualanalog ;
"ps1.Armored Core - Master of Arena*" dualanalog ;
"ps1.Armorines - Project Swarm*" dualanalog ;
"ps1.Army Men 3D*" dualanalog ;
"ps1.Army Men - Air Attack 2*" dualanalog ;
"ps1.Army Men - Air Attack*" dualanalog ;
"ps1.Army Men - Green Rouge*" dualanalog ;
"ps1.Army Men - Sarge's Heroes 2*" dualanalog ;
"ps1.Army Men - Sarge's Heroes*" dualanalog ;
"ps1.Army Men - World War*" dualanalog ;
"ps1.Assault Retribution*" dualanalog ;
"ps1.Asterix - Mega Madness*" dualanalog ;
"ps1.Asteroids*" dualanalog ;
"ps1.Barbie Explorer" dualanalog ;
"ps1.Barbie - Gotta Have Games" dualanalog ;
"ps1.Batman Beyond - Return of the Joker" dualanalog ;
"ps1.Batman & Robin" dualanalog ;
"ps1.Battle Arena Toshinden 4" dualanalog ;
"ps1.Bear in the Big Blue House" dualanalog ;
"ps1.Beatmania" dualanalog ;
"ps1.Beat Planet Music" dualanalog ;
"ps1.Beyblade" dualanalog ;
"ps1.Big Bass Fishing" dualanalog ;
"ps1.BioHazard - Director's Cut - Dual Shock*" dualanalog ;
"ps1.Bishi Bashi Special" dualanalog ;
"ps1.Blade" dualanalog ;
"ps1.Blasto!" dualanalog ;
"ps1.Blast Radius" dualanalog ;
"ps1.Block Kuzushi" dualanalog ;
"ps1.Block Wars" dualanalog ;
"ps1.Bloody Roar 2*" dualanalog ;
"ps1.Bob the Builder - Can We Fix It" dualanalog ;
"ps1.Boombots" dualanalog ;
"ps1.Bratz" dualanalog ;
"ps1.Brave Fencer Musashi*" dualanalog ;
"ps1.Breakout" dualanalog ;
"ps1.Buggy" dualanalog ;
"ps1.Bugs Bunny - Lost in Time*" dualanalog ;
"ps1.Bugs Bunny & Taz - Time Busters" dualanalog ;
"ps1.C-12 - The Final Resistance" dualanalog ;
"ps1.Captain Commando" dualanalog ;
"ps1.Cardinal Syn*" dualanalog ;
"ps1.Carmageddon*" dualanalog ;
"ps1.Casper - Friends Around The World" dualanalog ;
"ps1.Chaos Break" dualanalog ;
"ps1.Chicken Run" dualanalog ;
"ps1.Chippoke Ralph no Daibouken (Adventure of Little Ralph)" dualanalog ;
"ps1.Chocobo Racing" dualanalog ;
"ps1.Chrono Cross*" dualanalog ;
"ps1.Colin Mc[rR]ae*" dualanalog ;
"ps1.Colony Wars*" dualanalog ;
"ps1.Cosmowarrior Rei" dualanalog ;
"ps1.Cowboy Bebop" dualanalog ;
"ps1.Crash Bandicoot 2*" dualanalog ;
"ps1.Crash Bandicoot 3*" dualanalog ;
"ps1.Crash Bandicoot Carnival - Crash Bash*" dualanalog ;
"ps1.Crash Bash Demo" dualanalog ;
"ps1.Crash Bash" dualanalog ;
"ps1.Crash Bash" dualanalog ;
"ps1.Crash Bash & Spyro - Year of the Dragon Demo" dualanalog ;
"ps1.Crash Team Racing*" dualanalog multitap ;
"ps1.Crisis Beat" dualanalog ;
"ps1.Croc 2*" dualanalog ;
"ps1.Croc - Legend of the Gobbos" dualanalog ;
"ps1.C - The Contra Adventure" dualanalog ;
"ps1.CT Special Forces" dualanalog ;
"ps1.CyberTiger Golf" dualanalog ;
"ps1.Danger Girl" dualanalog ;
"ps1.Darkstalkers 3*" dualanalog ;
"ps1.Darkstone - Evil Reigns" dualanalog ;
"ps1.Deep Freeze*" dualanalog ;
"ps1.Delta Force - Urban Warfar" dualanalog ;
"ps1.Demolition Racer" dualanalog ;
"ps1.Dexter's Laboratory - Mandark's Lab" dualanalog ;
"ps1.Dezaemon Kids!*" dualanalog ;
"ps1.Die Hard Trilogy 2*" dualanalog ;
"ps1.Digimon Rumble Arena" dualanalog ;
"ps1.Disney's 101 Dalmations*" dualanalog ;
"ps1.Disney's A Bug's Life*" dualanalog ;
"ps1.Disney's Aladdin la revanche de Nasira" dualanalog ;
"ps1.Disney's Aladdin - La Vendetta di Nasira" dualanalog ;
"ps1.Disney's Aladdin - Nasira's Revenge" dualanalog ;
"ps1.Disney's Buzz Lightyear of Star Command" dualanalog ;
"ps1.Disney's Peter Pan in Return to Neverland" dualanalog ;
"ps1.Disney's Tarzan*" dualanalog ;
"ps1.Disney's The Emperor's New Groove" dualanalog ;
"ps1.Disney's The Lion King II - Simba's Mighty Adventure" dualanalog ;
"ps1.Disney's Toy Story 2 - Buzz Lightyear to the Rescue*" dualanalog ;
"ps1.Dragon Valor*" dualanalog ;
"ps1.Dreams" dualanalog ;
"ps1.Driver 2*" dualanalog ;
"ps1.Duke Nukem - Land of the Babes" dualanalog ;
"ps1.Duke Nukem - Time to Kill" dualanalog ;
"ps1.Dukes of Hazzard*" dualanalog ;
"ps1.Eagle One - Harrier Attack" dualanalog ;
"ps1.Ehrgeiz" dualanalog ;
"ps1.Elemental Gearbolt" dualanalog ;
"ps1.ET - The Extra-Terrestrial - Interplanetary Mission" dualanalog ;
"ps1.Evil Dead - Hail to the King*" dualanalog ;
"ps1.Fatal Fury*" dualanalog ;
"ps1.Fear Effect*" dualanalog ;
"ps1.Fighting Force*" dualanalog ;
"ps1.Firebugs" dualanalog ;
"ps1.Fist of the North Star - Hokuto no Ken" dualanalog ;
"ps1.Flintstones Bedrock Bowling" dualanalog ;
"ps1.Forsaken*" dualanalog ;
"ps1.From TV Animation - One Piece - Oceans of Dreams" dualanalog ;
"ps1.From TV Animation - One Piece - Tobidase Kaizokudan!*" dualanalog ;
"ps1.Future Cop*" dualanalog ;
"ps1.Galaga - Destination Earth" dualanalog ;
"ps1.Galerians*" dualanalog ;
"ps1.Gauntlet Legends" dualanalog ;
"ps1.G Darius*" dualanalog ;
"ps1.Gex 3 - Deep Cover Gecko*" dualanalog ;
"ps1.Ghoul Panic" dualanalog ;
"ps1.Global Domination*" dualanalog ;
"ps1.G-Police*" dualanalog ;
"ps1.Gran Turismo*" dualanalog ;
"ps1.Grinch, The" dualanalog ;
"ps1.Groove Adventure Rave*" dualanalog ;
"ps1.Grudge Warriors" dualanalog ;
"ps1.Guardian of Darkness, The" dualanalog ;
"ps1.Guilty Gear*" dualanalog ;
"ps1.Guitar Freaks*" dualanalog ;
"ps1.Gunbare! The Game Paradise 2" dualanalog ;
"ps1.Gunfighter - The Legend of Jesse James" dualanalog ;
"ps1.Hakaioh - King of Crusher" dualanalog ;
"ps1.Harry Potter and The Chamber of Secrets" dualanalog ;
"ps1.Harry Potter and The Philosopher's Stone" dualanalog ;
"ps1.Harry Potter and The Sorcerer's Stone" dualanalog ;
"ps1.Hellboy - Asylum Seeker" dualanalog ;
"ps1.Hidden & Dangerous" dualanalog ;
"ps1.Hokuto no Ken - Seiki Matsukyu Seishi Densets" dualanalog ;u (Fist of the North Star)
"ps1.Hot Wheels - Extreme Racing" dualanalog ;
"ps1.Hugo*" dualanalog ;
"ps1.Hydro Thunder" dualanalog ;
"ps1.Infestation" dualanalog ;
"ps1.Inspector Gadget - Gadget's Crazy Maze" dualanalog ;
"ps1.Invasion From Beyond - B-Movie" dualanalog ;
"ps1.Iron Soldier 3" dualanalog ;
"ps1.Irritating Stick*" dualanalog ;
"ps1.IS - Internal Section" dualanalog ;
"ps1.Jackie Chan Stuntmaster" dualanalog ;
"ps1.Jersey Devil*" dualanalog ;
"ps1.Jet Moto 2" dualanalog ;
"ps1.Jet Moto 3*" dualanalog ;
"ps1.Jinx" dualanalog ;
"ps1.Kakuge-Yaro - Fighting Game Cre" dualanalog ;ator
"ps1.Kamen Rider*" dualanalog ;
"ps1.Kidou Keisatsu Patlabor - Game Edition (Mobile Police)" dualanalog ;
"ps1.Kitchen Panic" dualanalog ;
"ps1.KKND - Krossfire*" dualanalog ;
"ps1.Klaymen Gun-Hockey" dualanalog ;
"ps1.Korokoro Postnin" dualanalog ;
"ps1.Largo Winch - Commando Sar" dualanalog ;
"ps1.Lattice - 200 Ec7" dualanalog ;
"ps1.Legacy of Kain - Soul Reaver*" pcsxr dualanalog ;
"ps1.Legend of Mana" mednafen-psx dualanalog ;
"ps1.Lego Island 2*" mednafen-psx dualanalog ;
"ps1.Looney Toons Sheep Raider" mednafen-psx dualanalog ;
"ps1.Lucifer Ring" mednafen-psx dualanalog ;
"ps1.Lucky Luke*" mednafen-psx dualanalog ;
"ps1.Marble Master" mednafen-psx dualanalog ;
"ps1.Marvel Super Heroes" mednafen-psx dualanalog ;
"ps1.Mary-Kate & Ashley - Magical Mystery Mall" mednafen-psx dualanalog ;
"ps1.Mass Destruction" mednafen-psx dualanalog ;
"ps1.MDK" mednafen-psx dualanalog ;
"ps1.Medal of Honor*" mednafen-psx dualanalog ;
"ps1.Medievil" mednafen-psx dualanalog ;
"ps1.MegaMan Legends 2" mednafen-psx dualanalog ;
"ps1.Men In Black*" mednafen-psx dualanalog ;
"ps1.Metal Gear Solid*" mednafen-psx dualanalog ;
"ps1.Micro Maniacs*" mednafen-psx dualanalog ;
"ps1.Millennium Soldier - Expendable" mednafen-psx dualanalog ;
"ps1.Miracle Space Race" mednafen-psx dualanalog ;
"ps1.Misadventures of Tron Bonne, The" mednafen-psx dualanalog ;
"ps1.Missile Command*" mednafen-psx dualanalog ;
"ps1.Mission - Impossible" mednafen-psx dualanalog ;
"ps1.Mission Impossible" mednafen-psx dualanalog ;
"ps1.Monkey Hero*" mednafen-psx dualanalog ;
"ps1.Moorhen 3 - Chicken Chase" mednafen-psx dualanalog ;
"ps1.Mortal Kombat - Special Forces" mednafen-psx dualanalog ;
"ps1.Mortal Kombat Special Forces" mednafen-psx dualanalog ;
"ps1.Ms. Pac-Man Maze Madness Demo" mednafen-psx dualanalog ;
"ps1.Ms. Pacman - Maze Madness" mednafen-psx dualanalog ;
"ps1.MTV Celebrity Deathmatch" mednafen-psx dualanalog ;
"ps1.Mummy, The" mednafen-psx dualanalog ;
"ps1.Muppet Monster Adventure*" mednafen-psx dualanalog ;
"ps1.N2O Nitrous Oxide" mednafen-psx dualanalog ;
"ps1.NBA Hoopz" mednafen-psx dualanalog ;
"ps1.NFL Blitz 2001" mednafen-psx dualanalog ;
"ps1.NFL Blitz" mednafen-psx dualanalog ;
"ps1.N-Gen - Next Generation Racing" mednafen-psx dualanalog ;
"ps1.N-Gen Racing" mednafen-psx dualanalog ;
"ps1.Night Raid" mednafen-psx dualanalog ;
"ps1.Nijiiro Dodgeball" mednafen-psx dualanalog ;
"ps1.Nijiiro Twinkle - Guruguru Daisakusen*" mednafen-psx dualanalog ;
"ps1.O.D.T. Demo" mednafen-psx dualanalog ;
"ps1.ODT - Escape or Die Trying*" mednafen-psx dualanalog ;
"ps1.Omega Boost" mednafen-psx dualanalog ;
"ps1.One" mednafen-psx dualanalog ;
"ps1.Overblood 2*" mednafen-psx dualanalog ;
"ps1.Over Blood" mednafen-psx dualanalog ;
"ps1.Pac-Man World*" mednafen-psx dualanalog ;
"ps1.Panzer Front*" mednafen-psx dualanalog ;
"ps1.Parasite Eve*" mednafen-psx dualanalog ;
"ps1.Pepsi-Man" mednafen-psx dualanalog ;
"ps1.Peter Pan - Return to Neverland" mednafen-psx dualanalog ;
"ps1.Phix no Daibouken - In The Magnetic World" mednafen-psx dualanalog ;
"ps1.Planet of the Apes" mednafen-psx dualanalog ;
"ps1.Point Blank 3*" mednafen-psx dualanalog ;
"ps1.Powerpuff Girls - Chemical X-Traction" mednafen-psx dualanalog ;
"ps1.Pro Pinball*" mednafen-psx dualanalog ;
"ps1.Puchi Carat*" mednafen-psx dualanalog ;
"ps1.Q-Bert" mednafen-psx dualanalog ;
"ps1.Radikal Bikers" mednafen-psx dualanalog ;
"ps1.Rageball" mednafen-psx dualanalog ;
"ps1.Rampage Through Time" mednafen-psx dualanalog ;
"ps1.Rascal Demo" mednafen-psx dualanalog ;
"ps1.Rascal" mednafen-psx dualanalog ;
"ps1.Raycrisis - Series Termination" mednafen-psx dualanalog ;
"ps1.Rayman 2 - The Great Escape*" mednafen-psx dualanalog ;
"ps1.Rayman Rush" mednafen-psx dualanalog ;
"ps1.Razor Freestyle Scooter" mednafen-psx dualanalog ;
"ps1.RC de Go*" mednafen-psx dualanalog ;
"ps1.RC Helicopter*" mednafen-psx dualanalog ;
"ps1.RC Revenge*" mednafen-psx dualanalog ;
"ps1.Reboot*" mednafen-psx dualanalog ;
"ps1.Rescue Shot*" mednafen-psx dualanalog ;
"ps1.Resident Evil 2*" mednafen-psx dualanalog ;
"ps1.Resident Evil 3*" mednafen-psx dualanalog ;
"ps1.Resident Evil Survivor" mednafen-psx dualanalog ;
"ps1.Re-Volt*" mednafen-psx dualanalog ;
"ps1.Rising Zan*" mednafen-psx dualanalog ;
"ps1.Road Rash 3D*" mednafen-psx dualanalog ;
"ps1.Road Rash - Jailbreak" mednafen-psx dualanalog ;
"ps1.Rogue Trip*" mednafen-psx dualanalog ;
"ps1.Rollcage*" mednafen-psx dualanalog ;
"ps1.Rosco McQueen*" mednafen-psx dualanalog ;
"ps1.Rugrats*" mednafen-psx dualanalog ;
"ps1.Runabout 2*" mednafen-psx dualanalog ;
"ps1.Sabrina the Teenage Witch - A Twitch i" mednafen-psx dualanalog ;n Time
"ps1.Saltwater Sportfishing" mednafen-psx dualanalog ;
"ps1.Saru! Get You!*" mednafen-psx dualanalog ;
"ps1.S.C.A.R.S." mednafen-psx dualanalog ;
"ps1.Scooby-Doo and The Cyber Chase*" mednafen-psx dualanalog ;
"ps1.SCUS-94647 "Disney's Treasure Planet" mednafen-psx dualanalog ;
"ps1.Shadow Man*" mednafen-psx dualanalog ;
"ps1.Shadow Master" mednafen-psx dualanalog ;
"ps1.Shiritsu*" mednafen-psx dualanalog ;
"ps1.Silent Bomber" mednafen-psx dualanalog ;
"ps1.Silent Hill*" mednafen-psx dualanalog ;
"ps1.Silhouette Mirage*" mednafen-psx dualanalog ;
"ps1.Simple 1500 Series Vol.099 - The Kendo" mednafen-psx dualanalog ;
"ps1.Simple Characters 2000 Series #02 - Afro Inu - The Puzzle*" mednafen-psx dualanalog ;
"ps1.Simple Characters 2000 Series #08 - Gatchaman Shoot" mednafen-psx dualanalog ;
"ps1.Simpsons Wrestling" mednafen-psx dualanalog ;
"ps1.SLUS-01286 "Disney's The Little Mermaid II*" mednafen-psx dualanalog ;
"ps1.Small Soldiers*" mednafen-psx dualanalog ;
"ps1.Smurf Racer" mednafen-psx dualanalog ;
"ps1.Snowboarding" mednafen-psx dualanalog ;
"ps1.Sorcerer's Maze" mednafen-psx dualanalog ;
"ps1.Soul of the Samurai" mednafen-psx dualanalog ;
"ps1.Soul Reaver - Legacy of Kain*" mednafen-psx dualanalog ;
"ps1.Space Battleship - Uchuu Senkan Yamato" mednafen-psx dualanalog ;
"ps1.Space Debris*" mednafen-psx dualanalog ;
"ps1.Spec Ops*" mednafen-psx dualanalog ;
"ps1.Speedball 2100*" mednafen-psx dualanalog ;
"ps1.Spiderman*" mednafen-psx dualanalog ;
"ps1.Spin Jam" mednafen-psx dualanalog ;
"ps1.Spyro the Dragon*"" mednafen-psx dualanalog ;
"ps1.Spyro - Year of the Dragon*" mednafen-psx dualanalog ;
"ps1.Starfighter Sanvein" mednafen-psx dualanalog ;
"ps1.Star Ixiom" mednafen-psx dualanalog ;
"ps1.Star Ocean - The Second Story*" mednafen-psx dualanalog ;
"ps1.Star Trek - Invasion" mednafen-psx dualanalog ;
"ps1.Star Wars*" mednafen-psx dualanalog ;
"ps1.Steel Reign" mednafen-psx dualanalog ;
"ps1.Street Sk8er*" mednafen-psx dualanalog ;
"ps1.Syphon Filter*" mednafen-psx dualanalog ;
"ps1.T'ai Fu*" mednafen-psx dualanalog ;
"ps1.Tail Concerto*" mednafen-psx dualanalog ;
"ps1.Tales of Destiny*" mednafen-psx dualanalog ;
"ps1.Tales of Eternia*" mednafen-psx dualanalog ;
"ps1.Tales of Phantasia*" mednafen-psx dualanalog ;
"ps1.Team Buddies" mednafen-psx dualanalog ;
"ps1.Technomage" mednafen-psx dualanalog ;
"ps1.Tenchu 2*" mednafen-psx dualanalog ;
"ps1.Terracon" mednafen-psx dualanalog ;
"ps1.Test Drive 5" mednafen-psx dualanalog ;
"ps1.Test Drive 6" mednafen-psx dualanalog ;
"ps1.Threads of Fate" mednafen-psx dualanalog ;
"ps1.Thunder Force V - Perfect System" mednafen-psx dualanalog ;
"ps1.Time Crisis II - Project Titan*" mednafen-psx dualanalog ;
"ps1.Time Crisis - Project Titan" mednafen-psx dualanalog ;
"ps1.Tintin - Destination Adventure" mednafen-psx dualanalog ;
"ps1.Tiny Bullets" mednafen-psx dualanalog ;
"ps1.Tiny Toons Adventures*" mednafen-psx dualanalog ;
"ps1.Tobal 2" mednafen-psx dualanalog ;
"ps1.Tomba!*" mednafen-psx dualanalog ;
"ps1.Tombi!*" mednafen-psx dualanalog ;
"ps1.Tomb Raider*" mednafen-psx dualanalog ;
"ps1.Tom Clancy's Rainbow Six*" mednafen-psx dualanalog ;
"ps1.Treasures of the Deep*" mednafen-psx dualanalog ;
"ps1.Twinbee RPG*" mednafen-psx dualanalog ;
"ps1.Twisted Metal 3*" mednafen-psx dualanalog ;
"ps1.Twisted Metal 4*" mednafen-psx dualanalog ;
"ps1.Twisted Metal III Demo" mednafen-psx dualanalog ;
"ps1.Twisted Metal - Small Brawl" mednafen-psx dualanalog ;
"ps1.Tyco RC*" mednafen-psx dualanalog ;
"ps1.Um Jammer Lammy*" mednafen-psx dualanalog ;
"ps1.U.P.P." mednafen-psx dualanalog ;
"ps1.Uprising X" mednafen-psx dualanalog ;
"ps1.Urban Chaos*" mednafen-psx dualanalog ;
"ps1.V2000" mednafen-psx dualanalog ;
"ps1.Vagrant Story*" mednafen-psx dualanalog ;
"ps1.Vampire Hunter D*" mednafen-psx dualanalog ;
"ps1.Vanark - Astro Trooper" mednafen-psx dualanalog ;
"ps1.VDisney's Atlantis*" mednafen-psx dualanalog ;
"ps1.VDisney's Lilo & Stitch" mednafen-psx dualanalog ;
"ps1.VDisney's Pooh's Party Game - In Search of the Treasure" mednafen-psx dualanalog ;
"ps1.Vigilante 8*" mednafen-psx dualanalog ;
"ps1.Viper" mednafen-psx dualanalog ;
"ps1.War Games - Defcon 1" mednafen-psx dualanalog ;
"ps1.Warriors of Might & Magic" mednafen-psx dualanalog ;
"ps1.Wild 9" mednafen-psx dualanalog ;
"ps1.Wing Over 2" mednafen-psx dualanalog ;
"ps1.Winnie the Pooh - Tigger's Honey Hunt" mednafen-psx dualanalog ;
"ps1.Wipeout 3*" mednafen-psx dualanalog ;
"ps1.World's Scariest Police Chases" mednafen-psx dualanalog ;
"ps1.Worms World Party" mednafen-psx dualanalog ;
"ps1.Xena - Warrior Princess*" mednafen-psx dualanalog ;
"ps1.X-Men - Mutant Academy*" mednafen-psx dualanalog ;
"ps1.Zanac X Zanac" mednafen-psx dualanalog ;
"ps1.Zoboomafoo" mednafen-psx dualanalog ;
"ps1.Earthworm Jim 2" pcsxr ;
"ps1.Mickey's Wild Adventures" pcsxr ;
"ps1.Legend of Mana" dualanalog ;
"ps1.Lego Island 2*" dualanalog ;
"ps1.Looney Toons Sheep Raider" dualanalog ;
"ps1.Lucifer Ring" dualanalog ;
"ps1.Lucky Luke*" dualanalog ;
"ps1.Marble Master" dualanalog ;
"ps1.Marvel Super Heroes" dualanalog ;
"ps1.Mary-Kate & Ashley - Magical Mystery Mall" dualanalog ;
"ps1.Mass Destruction" dualanalog ;
"ps1.MDK" dualanalog ;
"ps1.Medal of Honor*" dualanalog ;
"ps1.Medievil" dualanalog ;
"ps1.MegaMan Legends 2" dualanalog ;
"ps1.Men In Black*" dualanalog ;
"ps1.Metal Gear Solid*" dualanalog ;
"ps1.Micro Maniacs*" dualanalog ;
"ps1.Millennium Soldier - Expendable" dualanalog ;
"ps1.Miracle Space Race" dualanalog ;
"ps1.Misadventures of Tron Bonne, The" dualanalog ;
"ps1.Missile Command*" dualanalog ;
"ps1.Mission - Impossible" dualanalog ;
"ps1.Mission Impossible" dualanalog ;
"ps1.Monkey Hero*" dualanalog ;
"ps1.Moorhen 3 - Chicken Chase" dualanalog ;
"ps1.Mortal Kombat - Special Forces" dualanalog ;
"ps1.Mortal Kombat Special Forces" dualanalog ;
"ps1.Ms. Pac-Man Maze Madness Demo" dualanalog ;
"ps1.Ms. Pacman - Maze Madness" dualanalog ;
"ps1.MTV Celebrity Deathmatch" dualanalog ;
"ps1.Mummy, The" dualanalog ;
"ps1.Muppet Monster Adventure*" dualanalog ;
"ps1.N2O Nitrous Oxide" dualanalog ;
"ps1.NBA Hoopz" dualanalog ;
"ps1.NFL Blitz 2001" dualanalog ;
"ps1.NFL Blitz" dualanalog ;
"ps1.N-Gen - Next Generation Racing" dualanalog ;
"ps1.N-Gen Racing" dualanalog ;
"ps1.Night Raid" dualanalog ;
"ps1.Nijiiro Dodgeball" dualanalog ;
"ps1.Nijiiro Twinkle - Guruguru Daisakusen*" dualanalog ;
"ps1.O.D.T. Demo" dualanalog ;
"ps1.ODT - Escape or Die Trying*" dualanalog ;
"ps1.Omega Boost" dualanalog ;
"ps1.One" dualanalog ;
"ps1.Overblood 2*" dualanalog ;
"ps1.Over Blood" dualanalog ;
"ps1.Pac-Man World*" dualanalog ;
"ps1.Panzer Front*" dualanalog ;
"ps1.Parasite Eve*" dualanalog ;
"ps1.Pepsi-Man" dualanalog ;
"ps1.Peter Pan - Return to Neverland" dualanalog ;
"ps1.Phix no Daibouken - In The Magnetic World" dualanalog ;
"ps1.Planet of the Apes" dualanalog ;
"ps1.Point Blank 3*" dualanalog ;
"ps1.Powerpuff Girls - Chemical X-Traction" dualanalog ;
"ps1.Pro Pinball*" dualanalog ;
"ps1.Puchi Carat*" dualanalog ;
"ps1.Q-Bert" dualanalog ;
"ps1.Radikal Bikers" dualanalog ;
"ps1.Rageball" dualanalog ;
"ps1.Rampage Through Time" dualanalog ;
"ps1.Rascal Demo" dualanalog ;
"ps1.Rascal" dualanalog ;
"ps1.Raycrisis - Series Termination" dualanalog ;
"ps1.Rayman 2 - The Great Escape*" dualanalog ;
"ps1.Rayman Rush" dualanalog ;
"ps1.Razor Freestyle Scooter" dualanalog ;
"ps1.RC de Go*" dualanalog ;
"ps1.RC Helicopter*" dualanalog ;
"ps1.RC Revenge*" dualanalog ;
"ps1.Reboot*" dualanalog ;
"ps1.Rescue Shot*" dualanalog ;
"ps1.Resident Evil 2*" dualanalog ;
"ps1.Resident Evil 3*" dualanalog ;
"ps1.Resident Evil Survivor" dualanalog ;
"ps1.Re-Volt*" dualanalog ;
"ps1.Rising Zan*" dualanalog ;
"ps1.Road Rash 3D*" dualanalog ;
"ps1.Road Rash - Jailbreak" dualanalog ;
"ps1.Rogue Trip*" dualanalog ;
"ps1.Rollcage*" dualanalog ;
"ps1.Rosco McQueen*" dualanalog ;
"ps1.Rugrats*" dualanalog ;
"ps1.Runabout 2*" dualanalog ;
"ps1.Sabrina the Teenage Witch - A Twitch i" dualanalog ;n Time
"ps1.Saltwater Sportfishing" dualanalog ;
"ps1.Saru! Get You!*" dualanalog ;
"ps1.S.C.A.R.S." dualanalog ;
"ps1.Scooby-Doo and The Cyber Chase*" dualanalog ;
"ps1.SCUS-94647 "Disney's Treasure Planet" dualanalog ;
"ps1.Shadow Man*" dualanalog ;
"ps1.Shadow Master" dualanalog ;
"ps1.Shiritsu*" dualanalog ;
"ps1.Silent Bomber" dualanalog ;
"ps1.Silent Hill*" dualanalog ;
"ps1.Silhouette Mirage*" dualanalog ;
"ps1.Simple 1500 Series Vol.099 - The Kendo" dualanalog ;
"ps1.Simple Characters 2000 Series #02 - Afro Inu - The Puzzle*" dualanalog ;
"ps1.Simple Characters 2000 Series #08 - Gatchaman Shoot" dualanalog ;
"ps1.Simpsons Wrestling" dualanalog ;
"ps1.SLUS-01286 "Disney's The Little Mermaid II*" dualanalog ;
"ps1.Small Soldiers*" dualanalog ;
"ps1.Smurf Racer" dualanalog ;
"ps1.Snowboarding" dualanalog ;
"ps1.Sorcerer's Maze" dualanalog ;
"ps1.Soul of the Samurai" dualanalog ;
"ps1.Soul Reaver - Legacy of Kain*" dualanalog ;
"ps1.Space Battleship - Uchuu Senkan Yamato" dualanalog ;
"ps1.Space Debris*" dualanalog ;
"ps1.Spec Ops*" dualanalog ;
"ps1.Speedball 2100*" dualanalog ;
"ps1.Spiderman*" dualanalog ;
"ps1.Spin Jam" dualanalog ;
"ps1.Spyro the Dragon*"" dualanalog ;
"ps1.Spyro - Year of the Dragon*" dualanalog ;
"ps1.Starfighter Sanvein" dualanalog ;
"ps1.Star Ixiom" dualanalog ;
"ps1.Star Ocean - The Second Story*" dualanalog ;
"ps1.Star Trek - Invasion" dualanalog ;
"ps1.Star Wars*" dualanalog ;
"ps1.Steel Reign" dualanalog ;
"ps1.Street Sk8er*" dualanalog ;
"ps1.Syphon Filter*" dualanalog ;
"ps1.T'ai Fu*" dualanalog ;
"ps1.Tail Concerto*" dualanalog ;
"ps1.Tales of Destiny*" dualanalog ;
"ps1.Tales of Eternia*" dualanalog ;
"ps1.Tales of Phantasia*" dualanalog ;
"ps1.Team Buddies" dualanalog ;
"ps1.Technomage" dualanalog ;
"ps1.Tenchu 2*" dualanalog ;
"ps1.Terracon" dualanalog ;
"ps1.Test Drive 5" dualanalog ;
"ps1.Test Drive 6" dualanalog ;
"ps1.Threads of Fate" dualanalog ;
"ps1.Thunder Force V - Perfect System" dualanalog ;
"ps1.Time Crisis II - Project Titan*" dualanalog ;
"ps1.Time Crisis - Project Titan" dualanalog ;
"ps1.Tintin - Destination Adventure" dualanalog ;
"ps1.Tiny Bullets" dualanalog ;
"ps1.Tiny Toons Adventures*" dualanalog ;
"ps1.Tobal 2" dualanalog ;
"ps1.Tomba!*" dualanalog ;
"ps1.Tombi!*" dualanalog ;
"ps1.Tomb Raider*" dualanalog ;
"ps1.Tom Clancy's Rainbow Six*" dualanalog ;
"ps1.Treasures of the Deep*" dualanalog ;
"ps1.Twinbee RPG*" dualanalog ;
"ps1.Twisted Metal 3*" dualanalog ;
"ps1.Twisted Metal 4*" dualanalog ;
"ps1.Twisted Metal III Demo" dualanalog ;
"ps1.Twisted Metal - Small Brawl" dualanalog ;
"ps1.Tyco RC*" dualanalog ;
"ps1.Um Jammer Lammy*" dualanalog ;
"ps1.U.P.P." dualanalog ;
"ps1.Uprising X" dualanalog ;
"ps1.Urban Chaos*" dualanalog ;
"ps1.V2000" dualanalog ;
"ps1.Vagrant Story*" dualanalog ;
"ps1.Vampire Hunter D*" dualanalog ;
"ps1.Vanark - Astro Trooper" dualanalog ;
"ps1.VDisney's Atlantis*" dualanalog ;
"ps1.VDisney's Lilo & Stitch" dualanalog ;
"ps1.VDisney's Pooh's Party Game - In Search of the Treasure" dualanalog ;
"ps1.Vigilante 8*" dualanalog ;
"ps1.Viper" dualanalog ;
"ps1.War Games - Defcon 1" dualanalog ;
"ps1.Warriors of Might & Magic" dualanalog ;
"ps1.Wild 9" dualanalog ;
"ps1.Wing Over 2" dualanalog ;
"ps1.Winnie the Pooh - Tigger's Honey Hunt" dualanalog ;
"ps1.Wipeout 3*" dualanalog ;
"ps1.World's Scariest Police Chases" dualanalog ;
"ps1.Worms World Party" dualanalog ;
"ps1.Xena - Warrior Princess*" dualanalog ;
"ps1.X-Men - Mutant Academy*" dualanalog ;
"ps1.Zanac X Zanac" dualanalog ;
"ps1.Zoboomafoo" dualanalog ;
# Genesis\MD Multitap Games ;
"smd.Gauntlet IV*" genplus multitap ;
"smd.NBA Jam Tournament Edition*" genplus multitap ;
"smd.General Chaos*" genplus multitap ;
"smd.Mega Bomberman*" genplus multitap ;
"smd.World Cup USA 94*" genplus multitap ;
"smd.Lost Vikings, The*" genplus multitap ;
"smd.Mutant League Hockey*" genplus multitap ;
"smd.Gauntlet IV*" multitap ;
"smd.NBA Jam Tournament Edition*" multitap ;
"smd.General Chaos*" multitap ;
"smd.Mega Bomberman*" multitap ;
"smd.World Cup USA 94*" multitap ;
"smd.Lost Vikings, The*" multitap ;
"smd.Mutant League Hockey*" multitap ;
# SNES BSNES Performance ;
"snes.Psycho Dream*" bsnes-performance ;
"snes.Psycho Dream*" !snes9x-next ;
# SNES Multitap Games ;
"snes.Bakukyuu Renpatsu!! Super B-Daman*" snes9x multitap ;
"snes.Bakutou Dochers - Bumps-jima wa Oosawagi*" snes9x multitap ;
"snes.Barkley Shut Up and Jam!*" snes9x multitap ;
"snes.Barkley Shut Up and Jam!*" snes9x multitap ;
"snes.Battle Cross*" snes9x multitap ;
"snes.Battle Jockey*" snes9x multitap ;
"snes.Bill Walsh College Football*" snes9x multitap ;
"snes.Capcom's Soccer Shootout*" snes9x multitap ;
"snes.College Slam*" snes9x multitap ;
"snes.Crystal Beans From Dungeon Explorer*" snes9x multitap ;
"snes.Dragon - The Bruce Lee Story*" snes9x multitap ;
"snes.Dream Basketball - Dunk and Hoop*" snes9x multitap ;
"snes.Dynamic Stadium*" snes9x multitap ;
"snes.ESPN National Hockey Night*" snes9x multitap ;
"snes.FIFA 98*" snes9x multitap ;
"snes.FIFA International Soccer*" snes9x multitap ;
"snes.FIFA Soccer 96*" snes9x multitap ;
"snes.FIFA Soccer 97*" snes9x multitap ;
"snes.Final Set*" snes9x multitap ;
"snes.Fire Striker*" snes9x multitap ;
"snes.From TV Animation Slam Dunk - SD Heat Up!!*" snes9x multitap ;
"snes.Go! Go! Dodge League*" snes9x multitap ;
"snes.Hammerlock Wrestling*" snes9x multitap ;
"snes.Hat Trick Hero 2*" snes9x multitap ;
"snes.Head-On Soccer*" snes9x multitap ;
"snes.Hebereke no Oishii Puzzle ha Irimasenka*" snes9x multitap ;
"snes.Human Grand Prix III - F1 Triple Battle*" snes9x multitap ;
"snes.Human Grand Prix IV - F1 Dream Battle*" snes9x multitap ;
"snes.Hungry Dinosaurs*" snes9x multitap ;
"snes.International Superstar Soccer Deluxe*" snes9x multitap ;
"snes.J.League Excite Stage '94*" snes9x multitap ;
"snes.J.League Excite Stage '95*" snes9x multitap ;
"snes.J.League Excite Stage '96*" snes9x multitap ;
"snes.J.League Super Soccer '95*" snes9x multitap ;
"snes.J.League Super Soccer*" snes9x multitap ;
"snes.JWP Joshi Pro Wrestling - Pure Wrestle Queens*" snes9x multitap ;
"snes.Jikkyou Power Pro Wrestling '96*" snes9x multitap ;
"snes.Jimmy Connors Pro Tennis Tour*" snes9x multitap ;
"snes.Kunio-kun no Dodge Ball dayo Zenin Shuugou!*" snes9x multitap ;
"snes.Looney Tunes Basketball*" snes9x multitap ;
"snes.Madden NFL '94*" snes9x multitap ;
"snes.Madden NFL '95*" snes9x multitap ;
"snes.Madden NFL '96*" snes9x multitap ;
"snes.Madden NFL '97*" snes9x multitap ;
"snes.Madden NFL '98*" snes9x multitap ;
"snes.Micro Machines 2 - Turbo Tournament*" snes9x multitap ;
"snes.Micro Machines*" snes9x multitap ;
"snes.Mizuki Shigeru no Youkai Hyakkiyakou*" snes9x multitap ;
"snes.Multi Play Volleyball*" snes9x multitap ;
"snes.NBA Give 'N Go*" snes9x multitap ;
"snes.NBA Hang Time*" snes9x multitap ;
"snes.NBA Jam - Tournament Edition*" snes9x multitap ;
"snes.NBA Jam*" snes9x multitap ;
"snes.NBA Live 95*" snes9x multitap ;
"snes.NBA Live 96*" snes9x multitap ;
"snes.NBA Live 97*" snes9x multitap ;
"snes.NBA Live 98*" snes9x multitap ;
"snes.NCAA Final Four Basketball*" snes9x multitap ;
"snes.NCAA Football*" snes9x multitap ;
"snes.NFL Quarterback Club 96*" snes9x multitap ;
"snes.NFL Quarterback Club*" snes9x multitap ;
"snes.NHL '94*" snes9x multitap ;
"snes.NHL '98*" snes9x multitap ;
"snes.NHL Pro Hockey '94*" snes9x multitap ;
"snes.Natsume Championship Wrestling*" snes9x multitap ;
"snes.Peace Keepers, The*" snes9x multitap ;
"snes.Pieces*" snes9x multitap ;
"snes.Rap Jam - Volume One*" snes9x multitap ;
"snes.Saturday Night Slam Masters*" snes9x multitap ;
"snes.Secret of Mana*" snes9x multitap ;
"snes.Shin Nippon Pro Wrestling '94 - Battlefield in Tokyo Dome*" snes9x multitap ;
"snes.Shin Nippon Pro Wrestling - Chou Senshi in Tokyo Dome*" snes9x multitap ;
"snes.Shin Nippon Pro Wrestling Kounin '95 - Tokyo Dome Battle 7*" snes9x multitap ;
"snes.Smash Tennis*" snes9x multitap ;
"snes.Sporting News, The - Power Baseball*" snes9x multitap ;
"snes.Sterling Sharpe End 2 End*" snes9x multitap ;
"snes.Street Hockey '95*" snes9x multitap ;
"snes.Street Racer*" snes9x multitap ;
"snes.Sugoi Hebereke*" snes9x multitap ;
"snes.Sugoro Quest++ Dicenics*" snes9x multitap ;
"snes.Super Bomberman - Panic Bomber W*" snes9x multitap ;
"snes.Super Bomberman 2*" snes9x multitap ;
"snes.Super Bomberman 3*" snes9x multitap ;
"snes.Super Bomberman 4*" snes9x multitap ;
"snes.Super Bomberman 5*" snes9x multitap ;
"snes.Super Bomberman*" snes9x multitap ;
"snes.Super Fire Pro Wrestling - Queen's Special*" snes9x multitap ;
"snes.Super Fire Pro Wrestling Special*" snes9x multitap ;
"snes.Super Fire Pro Wrestling X Premium*" snes9x multitap ;
"snes.Super Fire Pro Wrestling X*" snes9x multitap ;
"snes.Super Formation Soccer 94 - World Cup Final Data*" snes9x multitap ;
"snes.Super Formation Soccer 94*" snes9x multitap ;
"snes.Super Formation Soccer 95 della Serie A - UCC Xaqua*" snes9x multitap ;
"snes.Super Formation Soccer 95 della Serie A*" snes9x multitap ;
"snes.Super Formation Soccer 96*" snes9x multitap ;
"snes.Super Formation Soccer II*" snes9x multitap ;
"snes.Super Ice Hockey*" snes9x multitap ;
"snes.Super Kyousouba - Kaze no Sylphid*" snes9x multitap ;
"snes.Super Power League*" snes9x multitap ;
"snes.Super Tekkyuu Fight!*" snes9x multitap ;
"snes.Super Tetris 3*" snes9x multitap ;
"snes.Syndicate*" snes9x multitap ;
"snes.Tenryu Genichiro no Pro Wrestling Revolution*" snes9x multitap ;
"snes.Tiny Toon Adventures - Wild & Wacky Sports*" snes9x multitap ;
"snes.Top Gear 3000*" snes9x multitap ;
"snes.Turbo Toons*" snes9x multitap ;
"snes.Virtual Soccer*" snes9x multitap ;
"snes.Vs. Collection*" snes9x multitap ;
"snes.WWF Raw*" snes9x multitap ;
"snes.Yuujin no Furi Furi Girls*" snes9x multitap ;
"snes.Zero 4 Champ RR-Z*" snes9x multitap ;
"snes.Zero 4 Champ RR*" snes9x multitap ;
# Defaults ;
"gba.*" vba ;
"gbc.*" gambatte ;
"gb.*" gambatte ;
"gg.*" genplus ;
"nes.*" fceu ;
"pcecd.*" mednafen-pce-fast ;
"pce.*" mednafen-pce-fast ;
"ps1.*" mednafen-psx ;
"wswan.*" mednafen-wswan ;
"a26.*" stella ;
"scd.*" genplus ;
"sg1000.*" genplus ;
"smd.*" genplus ;
"sms.*" genplus ;
"snes.*" snes9x ;
"nds.*" desmume ;
"snes.Bakukyuu Renpatsu!! Super B-Daman*" multitap ;
"snes.Bakutou Dochers - Bumps-jima wa Oosawagi*" multitap ;
"snes.Barkley Shut Up and Jam!*" multitap ;
"snes.Barkley Shut Up and Jam!*" multitap ;
"snes.Battle Cross*" multitap ;
"snes.Battle Jockey*" multitap ;
"snes.Bill Walsh College Football*" multitap ;
"snes.Capcom's Soccer Shootout*" multitap ;
"snes.College Slam*" multitap ;
"snes.Crystal Beans From Dungeon Explorer*" multitap ;
"snes.Dragon - The Bruce Lee Story*" multitap ;
"snes.Dream Basketball - Dunk and Hoop*" multitap ;
"snes.Dynamic Stadium*" multitap ;
"snes.ESPN National Hockey Night*" multitap ;
"snes.FIFA 98*" multitap ;
"snes.FIFA International Soccer*" multitap ;
"snes.FIFA Soccer 96*" multitap ;
"snes.FIFA Soccer 97*" multitap ;
"snes.Final Set*" multitap ;
"snes.Fire Striker*" multitap ;
"snes.From TV Animation Slam Dunk - SD Heat Up!!*" multitap ;
"snes.Go! Go! Dodge League*" multitap ;
"snes.Hammerlock Wrestling*" multitap ;
"snes.Hat Trick Hero 2*" multitap ;
"snes.Head-On Soccer*" multitap ;
"snes.Hebereke no Oishii Puzzle ha Irimasenka*" multitap ;
"snes.Human Grand Prix III - F1 Triple Battle*" multitap ;
"snes.Human Grand Prix IV - F1 Dream Battle*" multitap ;
"snes.Hungry Dinosaurs*" multitap ;
"snes.International Superstar Soccer Deluxe*" multitap ;
"snes.J.League Excite Stage '94*" multitap ;
"snes.J.League Excite Stage '95*" multitap ;
"snes.J.League Excite Stage '96*" multitap ;
"snes.J.League Super Soccer '95*" multitap ;
"snes.J.League Super Soccer*" multitap ;
"snes.JWP Joshi Pro Wrestling - Pure Wrestle Queens*" multitap ;
"snes.Jikkyou Power Pro Wrestling '96*" multitap ;
"snes.Jimmy Connors Pro Tennis Tour*" multitap ;
"snes.Kunio-kun no Dodge Ball dayo Zenin Shuugou!*" multitap ;
"snes.Looney Tunes Basketball*" multitap ;
"snes.Madden NFL '94*" multitap ;
"snes.Madden NFL '95*" multitap ;
"snes.Madden NFL '96*" multitap ;
"snes.Madden NFL '97*" multitap ;
"snes.Madden NFL '98*" multitap ;
"snes.Micro Machines 2 - Turbo Tournament*" multitap ;
"snes.Micro Machines*" multitap ;
"snes.Mizuki Shigeru no Youkai Hyakkiyakou*" multitap ;
"snes.Multi Play Volleyball*" multitap ;
"snes.NBA Give 'N Go*" multitap ;
"snes.NBA Hang Time*" multitap ;
"snes.NBA Jam - Tournament Edition*" multitap ;
"snes.NBA Jam*" multitap ;
"snes.NBA Live 95*" multitap ;
"snes.NBA Live 96*" multitap ;
"snes.NBA Live 97*" multitap ;
"snes.NBA Live 98*" multitap ;
"snes.NCAA Final Four Basketball*" multitap ;
"snes.NCAA Football*" multitap ;
"snes.NFL Quarterback Club 96*" multitap ;
"snes.NFL Quarterback Club*" multitap ;
"snes.NHL '94*" multitap ;
"snes.NHL '98*" multitap ;
"snes.NHL Pro Hockey '94*" multitap ;
"snes.Natsume Championship Wrestling*" multitap ;
"snes.Peace Keepers, The*" multitap ;
"snes.Pieces*" multitap ;
"snes.Rap Jam - Volume One*" multitap ;
"snes.Saturday Night Slam Masters*" multitap ;
"snes.Secret of Mana*" multitap ;
"snes.Shin Nippon Pro Wrestling '94 - Battlefield in Tokyo Dome*" multitap ;
"snes.Shin Nippon Pro Wrestling - Chou Senshi in Tokyo Dome*" multitap ;
"snes.Shin Nippon Pro Wrestling Kounin '95 - Tokyo Dome Battle 7*" multitap ;
"snes.Smash Tennis*" multitap ;
"snes.Sporting News, The - Power Baseball*" multitap ;
"snes.Sterling Sharpe End 2 End*" multitap ;
"snes.Street Hockey '95*" multitap ;
"snes.Street Racer*" multitap ;
"snes.Sugoi Hebereke*" multitap ;
"snes.Sugoro Quest++ Dicenics*" multitap ;
"snes.Super Bomberman - Panic Bomber W*" multitap ;
"snes.Super Bomberman 2*" multitap ;
"snes.Super Bomberman 3*" multitap ;
"snes.Super Bomberman 4*" multitap ;
"snes.Super Bomberman 5*" multitap ;
"snes.Super Bomberman*" multitap ;
"snes.Super Fire Pro Wrestling - Queen's Special*" multitap ;
"snes.Super Fire Pro Wrestling Special*" multitap ;
"snes.Super Fire Pro Wrestling X Premium*" multitap ;
"snes.Super Fire Pro Wrestling X*" multitap ;
"snes.Super Formation Soccer 94 - World Cup Final Data*" multitap ;
"snes.Super Formation Soccer 94*" multitap ;
"snes.Super Formation Soccer 95 della Serie A - UCC Xaqua*" multitap ;
"snes.Super Formation Soccer 95 della Serie A*" multitap ;
"snes.Super Formation Soccer 96*" multitap ;
"snes.Super Formation Soccer II*" multitap ;
"snes.Super Ice Hockey*" multitap ;
"snes.Super Kyousouba - Kaze no Sylphid*" multitap ;
"snes.Super Power League*" multitap ;
"snes.Super Tekkyuu Fight!*" multitap ;
"snes.Super Tetris 3*" multitap ;
"snes.Syndicate*" multitap ;
"snes.Tenryu Genichiro no Pro Wrestling Revolution*" multitap ;
"snes.Tiny Toon Adventures - Wild & Wacky Sports*" multitap ;
"snes.Top Gear 3000*" multitap ;
"snes.Turbo Toons*" multitap ;
"snes.Virtual Soccer*" multitap ;
"snes.Vs. Collection*" multitap ;
"snes.WWF Raw*" multitap ;
"snes.Yuujin no Furi Furi Girls*" multitap ;
"snes.Zero 4 Champ RR-Z*" multitap ;
"snes.Zero 4 Champ RR*" multitap ;

View File

@ -138,22 +138,22 @@ static int get_sha1(const char *path, char *result)
}
struct RunInfo {
char core[50];
char broken_cores[PATH_MAX];
int multitap;
int dualanalog;
char system[10];
};
static int get_run_info(struct RunInfo *info, char *game_name)
static int read_launch_conf(struct RunInfo *info, const char *game_name)
{
int fd = open("./launch.conf", O_RDONLY);
int rv;
int bci = 0;
char token[MAX_TOKEN_LEN];
if (fd < 0) {
return -errno;
}
memset(info, 0, sizeof(struct RunInfo));
while (1) {
if ((rv = get_token(fd, token, MAX_TOKEN_LEN)) < 0) {
goto clean;
@ -167,18 +167,9 @@ static int get_run_info(struct RunInfo *info, char *game_name)
}
LOG_DEBUG("Matched rule '%s'", token);
if ((rv = get_token(fd, token, MAX_TOKEN_LEN)) < 0) {
goto clean;
}
break;
}
strncpy(info->core, token, 50);
info->multitap = 0;
info->dualanalog = 0;
if ((rv = get_token(fd, token, MAX_TOKEN_LEN)) < 0) {
goto clean;
}
@ -188,6 +179,9 @@ static int get_run_info(struct RunInfo *info, char *game_name)
info->multitap = 1;
} else if (strcmp(token, "dualanalog") == 0) {
info->dualanalog = 1;
} else if (token[0] == '!') {
strncpy(&info->broken_cores[bci], &token[1], PATH_MAX - bci);
bci += strnlen(&token[1], PATH_MAX) + 1;
}
if ((rv = get_token(fd, token, MAX_TOKEN_LEN)) < 0) {
@ -201,6 +195,25 @@ static int get_run_info(struct RunInfo *info, char *game_name)
return rv;
}
static int get_run_info(struct RunInfo *info, const char *game_name) {
memset(info, 0, sizeof(struct RunInfo));
int i;
for (i = 0; i < 9; i++) {
if (game_name[i] == '.') {
break;
}
info->system[i] = game_name[i];
}
info->system[i] = '\0';
info->multitap = 0;
info->dualanalog = 0;
read_launch_conf(info, game_name);
return 0;
}
const char *SUFFIX_MATCH[] = {
".a26", "a26",
".bin", "smd",
@ -268,15 +281,91 @@ static int detect_game(const char *path, char *game_name, size_t max_len)
}
}
static int select_core(char *core_path, size_t max_len,
const struct RunInfo *info) {
int fd = open("./cores.conf", O_RDONLY);
int rv;
int bci = 0;
char token[MAX_TOKEN_LEN];
int broken = 0;
if (fd < 0) {
return -errno;
}
LOG_INFO("Selecting core for system '%s'", info->system);
while (1) {
if ((rv = get_token(fd, token, MAX_TOKEN_LEN)) < 0) {
goto clean;
}
if (rl_fnmatch(token, info->system, 0) != 0) {
if ((rv = find_token(fd, ";")) < 0) {
goto clean;
}
continue;
}
LOG_INFO("Matched system '%s'", token);
break;
}
if ((rv = get_token(fd, token, MAX_TOKEN_LEN)) < 0) {
goto clean;
}
while (strcmp(token, ";") != 0) {
broken = 0;
for (bci = 0; info->broken_cores[bci] != '\0';
bci += strlen(&info->broken_cores[bci]) + 1) {
LOG_DEBUG("%s, %s", &info->broken_cores[bci], token);
if (strcmp(&info->broken_cores[bci], token) == 0) {
broken = 1;
LOG_DEBUG("Not using core %s because it is "
"marked broken for this game",
&info->broken_cores[bci]);
break;
}
}
if (!broken) {
goto success;
}
if ((rv = get_token(fd, token, MAX_TOKEN_LEN)) < 0) {
goto clean;
}
}
rv = -EINVAL;
goto clean;
success:
snprintf(core_path, max_len, "./cores/libretro-%s.so", token);
rv = 0;
clean:
close(fd);
return rv;
}
#ifndef RARCH_CONSOLE
static int run_retroarch(const char *path, const struct RunInfo *info)
{
char core_path[PATH_MAX];
sprintf(core_path, "./cores/libretro-%s.so", info->core);
int i;
int rv;
const char *retro_argv[30] = { "retroarch",
"-L", core_path
};
int argi = 3;
if ((rv = select_core(core_path, PATH_MAX, info)) < 0) {
LOG_WARN("Could not find suitable core");
return rv;
}
LOG_INFO("Using core at '%s'", core_path);
if (info->multitap) {
retro_argv[argi] = "-4";
argi++;
@ -284,14 +373,12 @@ static int run_retroarch(const char *path, const struct RunInfo *info)
}
if (info->dualanalog) {
retro_argv[argi] = "-A";
argi++;
retro_argv[argi] = "1";
argi++;
retro_argv[argi] = "-A";
argi++;
retro_argv[argi] = "2";
argi++;
for (i = 0; i < 8; i++) {
retro_argv[argi] = "-A";
argi++;
retro_argv[argi] = "1";
argi++;
}
LOG_INFO("Game supports the dualshock controller");
}
@ -305,6 +392,7 @@ static int run_retroarch(const char *path, const struct RunInfo *info)
int main(int argc, char *argv[])
{
if (argc < 2) {
printf("usage: retrolaunch <ROM>\n");
return -1;
}
@ -321,11 +409,10 @@ int main(int argc, char *argv[])
LOG_INFO("Game is `%s`", game_name);
if ((rv = get_run_info(&info, game_name)) < 0) {
LOG_WARN("Could not find sutable core: %s", strerror(-rv));
LOG_WARN("Could not detect run info: %s", strerror(-rv));
return -1;
}
LOG_DEBUG("Usinge libretro core '%s'", info.core);
LOG_INFO("Launching '%s'", path);
rv = run_retroarch(path, &info);