From 64bec23f72ff16798f350271062760d77d2ac838 Mon Sep 17 00:00:00 2001 From: stephena Date: Fri, 17 Jul 2009 11:25:14 +0000 Subject: [PATCH] Added '2in1' bankswitch type, and updated properties for a ROM that uses this BS scheme. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1841 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba --- docs/index.html | 3 ++- src/emucore/Cart.cxx | 12 +++++++++++- src/emucore/DefProps.hxx | 3 ++- src/emucore/stella.pro | 5 +++++ src/gui/GameInfoDialog.cxx | 1 + src/gui/GlobalPropsDialog.cxx | 1 + 6 files changed, 22 insertions(+), 3 deletions(-) diff --git a/docs/index.html b/docs/index.html index f1807cf3e..e760290c9 100644 --- a/docs/index.html +++ b/docs/index.html @@ -10,7 +10,7 @@

A multi-platform Atari 2600 VCS emulator

-

Release 2.8.4

+

Release 3.0



User's Guide

@@ -2635,6 +2635,7 @@ Ms Pac-Man (Stella extended codes): + diff --git a/src/emucore/Cart.cxx b/src/emucore/Cart.cxx index 224e30174..abec988c8 100644 --- a/src/emucore/Cart.cxx +++ b/src/emucore/Cart.cxx @@ -87,7 +87,17 @@ Cartridge* Cartridge::create(const uInt8* image, uInt32 size, string& md5, buf << type << autodetect; // Check for multicart first; if found, get the correct part of the image - if(type == "4IN1") + if(type == "2IN1") + { + // Make sure we have a valid sized image + if(size == 2*2048 || size == 2*4096 || size == 2*8192 || size == 2*16384) + { + type = createFromMultiCart(image, size, 2, md5, id, settings); + buf << id; + } + + } + else if(type == "4IN1") { // Make sure we have a valid sized image if(size == 4*2048 || size == 4*4096 || size == 4*8192) diff --git a/src/emucore/DefProps.hxx b/src/emucore/DefProps.hxx index 4f5f94781..9bdcb3eec 100644 --- a/src/emucore/DefProps.hxx +++ b/src/emucore/DefProps.hxx @@ -26,7 +26,7 @@ regenerated and the application recompiled. */ -#define DEF_PROPS_SIZE 3220 +#define DEF_PROPS_SIZE 3221 static const char* DefProps[DEF_PROPS_SIZE][20] = { { "000509d1ed2b8d30a9d94be1b3b5febb", "Greg Zumwalt", "", "Jungle Jane (2003) (Greg Zumwalt) (Hack)", "Hack of Pitfall!", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, @@ -1976,6 +1976,7 @@ static const char* DefProps[DEF_PROPS_SIZE][20] = { { "9bd4e0d5f28ba6da417c26649171f8e4", "", "", "Hangman Pac-Man Original Words (Hack)", "Hack of Hangman", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9be58a14e055b0e7581fc4d6c2f6b31d", "", "", "Adventure (Color Scrolling) (Hack)", "Hack of Adventure", "Hack", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9c27ef3bd01c611cdb80182a59463a82", "Starpath Corporation, Kevin Norman", "AR-4103", "Killer Satellites (1983) (Starpath) [a]", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "9c40bf810f761ffc9c1b69c4647a8b84", "", "", "2 in 1 - Frostbite, River Raid (Unknown)", "", "", "", "2IN1", "", "", "", "", "", "", "", "", "", "", "", "" }, { "9c6d65bd3b477aace0376f705b354d68", "", "", "RPG Kernal (18-04-2003) (Paul Slocum) (PD)", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YES", "" }, { "9c6faa4ff7f2ae549bbcb14f582b70e4", "U.S. Games Corporation, Garry Kitchen - Vidtec", "VC1002", "Sneak 'n Peek (1982) (U.S. Games)", "", "", "", "", "", "", "", "", "", "", "", "", "30", "218", "", "" }, { "9c6fd6ed3599978ab7b6f900484b9be6", "Andrew Wallace", "", "Laseresal 2002 (PAL60) (PD)", "", "New Release", "", "", "", "", "", "", "", "", "", "PAL60", "", "", "", "" }, diff --git a/src/emucore/stella.pro b/src/emucore/stella.pro index 3dbaee86e..80eb1064f 100644 --- a/src/emucore/stella.pro +++ b/src/emucore/stella.pro @@ -19448,3 +19448,8 @@ "Cartridge.Name" "Gingerbread Man (Fred Quimby)" "Cartridge.Rarity" "New Release" "" + +"Cartridge.MD5" "9c40bf810f761ffc9c1b69c4647a8b84" +"Cartridge.Name" "2 in 1 - Frostbite, River Raid (Unknown)" +"Cartridge.Type" "2IN1" +"" diff --git a/src/gui/GameInfoDialog.cxx b/src/gui/GameInfoDialog.cxx index f82f7d450..75fe63a98 100644 --- a/src/gui/GameInfoDialog.cxx +++ b/src/gui/GameInfoDialog.cxx @@ -135,6 +135,7 @@ GameInfoDialog::GameInfoDialog( items.clear(); items.push_back("Auto-detect", "AUTO-DETECT"); items.push_back("0840 (8K ECONObank)", "0840" ); + items.push_back("2IN1 Multicart (4-32K)", "2IN1" ); items.push_back("4IN1 Multicart (8-32K)", "4IN1" ); items.push_back("8IN1 Multicart (16-64K)", "8IN1" ); items.push_back("32IN1 Multicart (64-128K)", "32IN1"); diff --git a/src/gui/GlobalPropsDialog.cxx b/src/gui/GlobalPropsDialog.cxx index 9f3ea0913..e9b17b373 100644 --- a/src/gui/GlobalPropsDialog.cxx +++ b/src/gui/GlobalPropsDialog.cxx @@ -66,6 +66,7 @@ GlobalPropsDialog:: items.push_back("Default", "DEFAULT"); items.push_back("Auto-detect", "AUTO-DETECT"); items.push_back("0840 (8K ECONObank)", "0840" ); + items.push_back("2IN1 Multicart (4-32K)", "2IN1" ); items.push_back("4IN1 Multicart (8-32K)", "4IN1" ); items.push_back("8IN1 Multicart (16-64K)", "8IN1" ); items.push_back("32IN1 Multicart (64-128K)", "32IN1");
 Type Description
0840 8K ECONObanking
2IN1 ¹4-32K Multicart (2 games)
4IN1 ¹8-32K Multicart (4 games)
8IN1 ¹16-64K Multicart (8 games)
32IN1 ¹64-128K Multicart (32 games)