diff --git a/Changes.txt b/Changes.txt index 7bccd2eb9..34b09e017 100644 --- a/Changes.txt +++ b/Changes.txt @@ -19,6 +19,10 @@ * Fixed redundant "New console created" message when entering the same ROM multiple times from the ROM launcher. + * Updated profile database for "BasketBall" ROMs; the joysticks are now + swapped by dedault, which allows one and two-player games to work + correctly. + -Have fun! diff --git a/src/emucore/DefProps.hxx b/src/emucore/DefProps.hxx index a7feb8199..635ba5f5f 100644 --- a/src/emucore/DefProps.hxx +++ b/src/emucore/DefProps.hxx @@ -261,7 +261,7 @@ static const char* DefProps[DEF_PROPS_SIZE][21] = { { "11e7e0d9437ec98fa085284cf16d0eb4", "", "", "Bowling (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "1201c18cf00d2c236f42e4d7d8c86aa1", "", "", "Nick Bensema Demo (Nick Bensema)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "12123b534bdee79ed7563b9ad74f1cbd", "Absolute Entertainment, Alex DeMeo", "AG-041-04", "Title Match Pro Wrestling (1987) (Absolute)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "1228c01cd3c4b9c477540c5adb306d2a", "Atari, Alan Miller", "CX26163P", "Basketball (32 in 1) (1988) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "1228c01cd3c4b9c477540c5adb306d2a", "Atari, Alan Miller", "CX26163P", "Basketball (32 in 1) (1988) (Atari) (PAL)", "Console ports are swapped", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "" }, { "1266b3fd632c981f3ef9bdbf9f86ce9a", "Activision, Bob Whitehead", "EAZ-034-04, EAZ-034-04I", "Private Eye (1983) (Activision) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "1267e3c6ca951ff1df6f222c8f813d97", "", "", "Dragonfire (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "1278f74ca1dfaa9122df3eca3c5bcaad", "Quelle", "719.013 5", "Ungeheuer der Tiefe (Quelle) (PAL)", "AKA Skindiver", "", "", "", "", "", "", "", "", "", "", "", "", "38", "", "", "" }, @@ -451,7 +451,7 @@ static const char* DefProps[DEF_PROPS_SIZE][21] = { { "2162266b906c939b35c84ff9a0f50ad1", "Atari, Larry Kaplan", "CX2664, CX2664P", "Brain Games (1978) (Atari) (PAL) (4K)", "Uses Keypad Controllers", "", "", "", "", "", "", "", "KEYBOARD", "KEYBOARD", "", "", "", "", "", "", "" }, { "2179dfd7edee76efafe698c1bc763735", "", "", "Yellow Submarine (Cody Pittman) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "218b76f5a4142dc2ea9051a768583d70", "Atari - GCC, Mark Ackerman, Glenn Parker", "CX2684, CX2684P", "Galaxian (1983) (Atari) (PAL) [a2]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "218c0fe53dfaaa37f3c823f66eafd3fc", "Atari, Alan Miller", "CX2624, CX2624P", "Basketball (1978) (Atari) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "218c0fe53dfaaa37f3c823f66eafd3fc", "Atari, Alan Miller", "CX2624, CX2624P", "Basketball (1978) (Atari) (PAL)", "Console ports are swapped", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "" }, { "21a96301bb0df27fde2e7eefa49e0397", "Data Age", "DA1003", "Sssnake (1982) (Data Age)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "21b09c40295c2d7074a83ae040f22edf", "", "", "Marble Craze (V0.90) (Easy Version) (Paul Slocum)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "21d2c435bcccde7792d82844b3cf60f4", "Atari - GCC, Doug Macrae", "CX2677, CX2677P", "Dig Dug (1983) (Atari) (PAL) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1204,7 +1204,7 @@ static const char* DefProps[DEF_PROPS_SIZE][21] = { { "5ce98f22ade915108860424d8dde0d35", "", "", "Hangman Man Biglist3 (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5d0e8a25cbd23e76f843c75a86b7e15b", "Coleco, Ed Temple", "", "Cabbage Patch Kids (09-07-1984) (Coleco) (Prototype)", "Adventures in the Park", "Prototype", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5d1260152596d91adc8cf5741adb719a", "", "", "Death Derby (200204) (TJ)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "5d132d121aabc5235dd039dfc46aa024", "", "", "Basketball (208 in 1) (Unknown) (PAL) (Hack)", "", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "5d132d121aabc5235dd039dfc46aa024", "", "", "Basketball (208 in 1) (Unknown) (PAL) (Hack)", "Console ports are swapped", "Hack", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "" }, { "5d2cc33ca798783dee435eb29debf6d6", "Activision, Mike Riedel", "AK-043-04", "Commando (1988) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5d799bfa9e1e7b6224877162accada0d", "Spectravision, Spectravideo, David Lubar", "SA-206", "Challenge of.... Nexar, The (1982) (Spectravision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "5d8f1ab95362acdf3426d572a6301bf2", "Thomas Jentzsch", "", "SWOOPS! (v0.96) (TJ) (PAL)", "Uses the Joystick (L) and Paddle (R) Controllers", "Homebrew", "", "", "", "", "", "", "", "PADDLES", "", "", "", "30", "", "", "" }, @@ -1555,7 +1555,7 @@ static const char* DefProps[DEF_PROPS_SIZE][21] = { { "7778ac65d775a079f537e97cbdad541c", "", "", "Spider Fighter (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "777aece98d7373998ffb8bc0b5eff1a2", "", "", "2600 Collison Demo 2 (Piero Cavina) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "77887e4192a6b0a781530e6cf9be7199", "Atari", "CX2604", "Space War (1978) (Atari) [b1]", "", "Uncommon", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "77be57d872e3f5b7ecf8d19d97f73281", "", "", "Basketball (208 in 1) (Unknown) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "77be57d872e3f5b7ecf8d19d97f73281", "", "", "Basketball (208 in 1) (Unknown) (PAL)", "Console ports are swapped", "", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "" }, { "77cd9a9dd810ce8042bdb9d40e256dfe", "Kyle Pittman", "", "Evil Dead (2003) (Kyle Pittman) (Hack)", "Hack of Haunted House", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "77d0a577636e1c9212aeccde9d0baa4b", "Atari, Joe Decuir", "CX2621, CX2621P", "Video Olympics (1977) (Atari) (PAL)", "Uses the Paddle Controllers", "", "", "", "", "", "", "", "PADDLES_IAXDR", "", "YES", "", "", "", "", "", "" }, { "78297db7f416af3052dd793b53ff014e", "", "", "Poker Squares (V0.17) (2001) (B. Watson)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -2179,7 +2179,7 @@ static const char* DefProps[DEF_PROPS_SIZE][21] = { { "ab2ea35dcc1098c87455bb8210b018cf", "", "", "Fu Kung! (V0.04 Single Line Resolution) (10-01-2003) (AD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ab301d3d7f2f4fe3fdd8a3540b7a74f5", "Jone Yuan Telephonic Enterprise Co", "", "IQ 180 (Jone Yuan)", "2600 Screen Search Console", "", "", "", "", "", "", "", "", "", "", "", "", "27", "230", "", "" }, { "ab434f4c942d6472e75d5490cc4dd128", "HES", "", "2 Pak Special - Hoppy, Alien Force (1992) (HES) (PAL)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, - { "ab4ac994865fb16ebb85738316309457", "Atari, Alan Miller - Sears", "CX2624 - 6-99826, 49-75113", "Basketball (1978) (Atari)", "", "Common", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "ab4ac994865fb16ebb85738316309457", "Atari, Alan Miller - Sears", "CX2624 - 6-99826, 49-75113", "Basketball (1978) (Atari)", "Console ports are swapped", "Common", "", "", "", "", "", "YES", "", "", "", "", "", "", "", "", "" }, { "ab56f1b2542a05bebc4fbccfc4803a38", "Activision, David Lubar", "AK-048-04", "River Raid II (1988) (Activision)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ab5bf1ef5e463ad1cbb11b6a33797228", "Imagic, Rob Fulop", "720104-1A, 720104-1B, IA3204", "Cosmic Ark (1982) (Imagic)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "ab60ea7b707c58d356cad858eb18db43", "", "", "Tazer (John K. Harvey)", "", "New Release", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, diff --git a/src/emucore/stella.pro b/src/emucore/stella.pro index d5c016284..e4fa3e1ba 100644 --- a/src/emucore/stella.pro +++ b/src/emucore/stella.pro @@ -98,6 +98,10 @@ "Display.YStart" "30" "" +"Cartridge.MD5" "fb09ee4ccd47ae74a3c314f0d8a40344" +"Cartridge.Name" "Titans (SnailSoft)" +"" + "Cartridge.MD5" "6272f348a9a7f2d500a4006aa93e0d08" "Cartridge.Manufacturer" "Atari, Jerome Domurat, Michael Sierchio" "Cartridge.ModelNo" "CX2667, CX2667P" @@ -105,10 +109,6 @@ "Display.Phosphor" "YES" "" -"Cartridge.MD5" "fb09ee4ccd47ae74a3c314f0d8a40344" -"Cartridge.Name" "Titans (SnailSoft)" -"" - "Cartridge.MD5" "65bd29e8ab1b847309775b0de6b2e4fe" "Cartridge.Manufacturer" "Coleco, Ed English" "Cartridge.ModelNo" "2667" @@ -394,6 +394,10 @@ "Controller.MouseAxis" "01" "" +"Cartridge.MD5" "f1beca5a198cf08190487e5c27b8e540" +"Cartridge.Name" "Fu Kung! (V0.16) (2003) (AD)" +"" + "Cartridge.MD5" "c246e05b52f68ab2e9aee40f278cd158" "Cartridge.Manufacturer" "Thomas Jentzsch" "Cartridge.Name" "Star Wars - Ewok Adventure (Thomas Jentzsch) (Prototype)" @@ -409,10 +413,6 @@ "Display.YStart" "62" "" -"Cartridge.MD5" "f1beca5a198cf08190487e5c27b8e540" -"Cartridge.Name" "Fu Kung! (V0.16) (2003) (AD)" -"" - "Cartridge.MD5" "cba56e939252b05df7b7de87307d12ca" "Cartridge.Name" "Playfield Text Demo (2001) (Roger Williams)" "" @@ -1530,6 +1530,8 @@ "Cartridge.Manufacturer" "Atari, Alan Miller" "Cartridge.ModelNo" "CX2624, CX2624P" "Cartridge.Name" "Basketball (1978) (Atari) (PAL)" +"Cartridge.Note" "Console ports are swapped" +"Console.SwapPorts" "YES" "" "Cartridge.MD5" "205070b6a0d454961dd9196a8e81d877" @@ -6257,6 +6259,8 @@ "Cartridge.Manufacturer" "Atari, Alan Miller" "Cartridge.ModelNo" "CX26163P" "Cartridge.Name" "Basketball (32 in 1) (1988) (Atari) (PAL)" +"Cartridge.Note" "Console ports are swapped" +"Console.SwapPorts" "YES" "" "Cartridge.MD5" "5f9b62350b31be8bd270d9a241cbd50e" @@ -10697,7 +10701,9 @@ "Cartridge.Manufacturer" "Atari, Alan Miller - Sears" "Cartridge.ModelNo" "CX2624 - 6-99826, 49-75113" "Cartridge.Name" "Basketball (1978) (Atari)" +"Cartridge.Note" "Console ports are swapped" "Cartridge.Rarity" "Common" +"Console.SwapPorts" "YES" "" "Cartridge.MD5" "dbc7485ad5814d466de780a3e7ed3b46" @@ -10772,7 +10778,9 @@ "Cartridge.MD5" "5d132d121aabc5235dd039dfc46aa024" "Cartridge.Name" "Basketball (208 in 1) (Unknown) (PAL) (Hack)" +"Cartridge.Note" "Console ports are swapped" "Cartridge.Rarity" "Hack" +"Console.SwapPorts" "YES" "" "Cartridge.MD5" "4f89b897444e7c3b36aed469b8836839" @@ -14150,6 +14158,8 @@ "Cartridge.MD5" "77be57d872e3f5b7ecf8d19d97f73281" "Cartridge.Name" "Basketball (208 in 1) (Unknown) (PAL)" +"Cartridge.Note" "Console ports are swapped" +"Console.SwapPorts" "YES" "" "Cartridge.MD5" "6bb22efa892b89b69b9bf5ea547e62b8" diff --git a/src/tools/merge_props.pl b/src/tools/merge_props.pl index 1e7048ea5..c21985cf7 100755 --- a/src/tools/merge_props.pl +++ b/src/tools/merge_props.pl @@ -50,6 +50,13 @@ print "\n"; PropSet::save_prop_set($usr_file, \%usr_propset); PropSet::save_prop_set($sys_file, \%sys_propset); +print "\nRun create_props [yN]: "; +chomp ($input = ); +if($input eq 'y') +{ + system("./src/tools/create_props.pl"); +} + sub usage { print "merge_props.pl \n"; diff --git a/src/tools/prune_snapshots.pl b/src/tools/prune_snapshots.pl index 6c45a3b65..e26a36886 100755 --- a/src/tools/prune_snapshots.pl +++ b/src/tools/prune_snapshots.pl @@ -16,13 +16,13 @@ my @delete = (); open(INFILE, "$ARGV[0]"); foreach $line () { - if($line =~ /\|/) - { - chomp $line; - ($md5, $name, $other) = split (/\|/, $line); - $key = $name . ".png"; - $builtin{$key} = $key; - } + if($line =~ /\|/) + { + chomp $line; + ($md5, $name, $other) = split (/\|/, $line); + $key = $name . ".png"; + $builtin{$key} = $key; + } } close(INFILE); @@ -33,64 +33,64 @@ my @files = grep !/^\.\.?$/, readdir SNAPDIR; close(SNAPDIR); foreach $file (@files) { - ($base,$path,$type) = fileparse($file); - $directory{$base} = $base; + ($base,$path,$type) = fileparse($file); + $directory{$base} = $base; } # All files in %builtin but not in %directory are 'missing' snapshots while(($key, $value) = each(%builtin)) { - if(!defined $directory{$key}) - { - push(@missing, $key); - } + if(!defined $directory{$key}) + { + push(@missing, $key); + } } # All files in %directory but not in %builtin are redundant, and should be deleted while(($key, $value) = each(%directory)) { - if(!defined $builtin{$key}) - { - $file = $ARGV[1] . "/" . $key; - push(@delete, $file); - } + if(!defined $builtin{$key}) + { + $file = $ARGV[1] . "/" . $key; + push(@delete, $file); + } } $size = @missing; print "Missing snapshots: ($size)\n\n"; if($size > 0) { - @missing = sort(@missing); - foreach $file (@missing) - { - print "$file\n"; - } + @missing = sort(@missing); + foreach $file (@missing) + { + print "$file\n"; + } } $size = @delete; print "\n\nExtra snapshots: ($size)\n\n"; if($size > 0) { - @delete = sort(@delete); - foreach $file (@delete) - { - print "$file\n"; - } + @delete = sort(@delete); + foreach $file (@delete) + { + print "$file\n"; + } - print "\nDelete extra snapshots [yN]: "; - chomp ($input = ); - if($input eq 'y') - { - foreach $file (@delete) - { - $cmd = "rm \"$file\""; - system($cmd); - } - } + print "\nDelete extra snapshots [yN]: "; + chomp ($input = ); + if($input eq 'y') + { + foreach $file (@delete) + { + $cmd = "rm \"$file\""; + system($cmd); + } + } } sub usage { - print "prune_snapshots.pl [listrominfo data] [snapshot dir]\n"; - exit(0); + print "prune_snapshots.pl [listrominfo data] [snapshot dir]\n"; + exit(0); } diff --git a/src/tools/update_stella_date.pl b/src/tools/update_stella_date.pl index 3d8dc9301..17bd69c77 100755 --- a/src/tools/update_stella_date.pl +++ b/src/tools/update_stella_date.pl @@ -18,8 +18,8 @@ foreach $infile (@files) # Update date foreach $line () { - $line =~ s/1995-20../1995-2013/; - print OUT $line; + $line =~ s/1995-20../1995-2013/; + print OUT $line; } close(IN);