merge mapper code from FCEUX
[fceu.git] / ines.h
diff --git a/ines.h b/ines.h
index 5a49aed..d18002c 100644 (file)
--- a/ines.h
+++ b/ines.h
  *\r
  * You should have received a copy of the GNU General Public License\r
  * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\r
  */\r
 \r
+#ifndef _INES_H_\r
+#define _INES_H_\r
+#include <stdlib.h>\r
+#include <string.h>\r
 #include "cart.h"\r
 #ifdef INESPRIV\r
 \r
@@ -65,25 +69,53 @@ extern uint8 iNESIRQa;
 #else\r
 #endif\r
 \r
-  typedef struct {\r
+#if 0\r
+struct TMasterRomInfo\r
+{\r
+       uint64 md5lower;\r
+       const char* params;\r
+};\r
+\r
+class TMasterRomInfoParams : public std::map<std::string,std::string> \r
+{\r
+public:\r
+       bool ContainsKey(const std::string& key) { return find(key) != end(); }\r
+};\r
+#endif\r
+\r
+//mbg merge 6/29/06\r
+extern uint8 *ROM;\r
+extern uint8 *VROM;\r
+extern uint32 VROM_size;\r
+extern uint32 ROM_size;\r
+extern int iNesSave(); //bbit Edited: line added\r
+extern int iNesSaveAs(char* name);\r
+extern char LoadedRomFName[2048]; //bbit Edited: line added\r
+//extern const TMasterRomInfo* MasterRomInfo;\r
+//extern TMasterRomInfoParams MasterRomInfoParams;\r
+\r
+//mbg merge 7/19/06 changed to c++ decl format\r
+struct iNES_HEADER {\r
     char ID[4]; /*NES^Z*/\r
     uint8 ROM_size;\r
     uint8 VROM_size;\r
     uint8 ROM_type;\r
     uint8 ROM_type2;\r
     uint8 reserve[8];\r
-  } iNES_HEADER;\r
+};\r
+\r
+extern struct iNES_HEADER head; //for mappers usage\r
 \r
-void FASTAPASS(2) VRAM_BANK1(uint32 A, uint8 V);\r
-void FASTAPASS(2) VRAM_BANK4(uint32 A,uint32 V);\r
+void VRAM_BANK1(uint32 A, uint8 V);\r
+void VRAM_BANK4(uint32 A,uint32 V);\r
 \r
-void FASTAPASS(2) VROM_BANK1(uint32 A,uint32 V);\r
-void FASTAPASS(2) VROM_BANK2(uint32 A,uint32 V);\r
-void FASTAPASS(2) VROM_BANK4(uint32 A, uint32 V);\r
-void FASTAPASS(1) VROM_BANK8(uint32 V);\r
-void FASTAPASS(2) ROM_BANK8(uint32 A, uint32 V);\r
-void FASTAPASS(2) ROM_BANK16(uint32 A, uint32 V);\r
-void FASTAPASS(1) ROM_BANK32(uint32 V);\r
+void VROM_BANK1(uint32 A,uint32 V);\r
+void VROM_BANK2(uint32 A,uint32 V);\r
+void VROM_BANK4(uint32 A, uint32 V);\r
+void VROM_BANK8(uint32 V);\r
+void ROM_BANK8(uint32 A, uint32 V);\r
+void ROM_BANK16(uint32 A, uint32 V);\r
+void ROM_BANK32(uint32 V);\r
 \r
 extern uint8 vmask;\r
 extern uint32 vmask1;\r
@@ -93,9 +125,9 @@ extern uint32 pmask8;
 extern uint8 pmask16;\r
 extern uint8 pmask32;\r
 \r
-void FASTAPASS(1) onemir(uint8 V);\r
-void FASTAPASS(1) MIRROR_SET2(uint8 V);\r
-void FASTAPASS(1) MIRROR_SET(uint8 V);\r
+void onemir(uint8 V);\r
+void MIRROR_SET2(uint8 V);\r
+void MIRROR_SET(uint8 V);\r
 \r
 void Mapper0_init(void);\r
 void Mapper1_init(void);\r
@@ -110,15 +142,15 @@ void Mapper10_init(void);
 void Mapper12_init(void);\r
 //void Mapper13_init(void);\r
 void Mapper14_init(void);\r
-void Mapper15_init(void);\r
-void Mapper16_init(void);\r
+//void Mapper15_init(void);\r
+//void Mapper16_init(void);\r
 void Mapper17_init(void);\r
 void Mapper18_init(void);\r
 void Mapper19_init(void);\r
 void Mapper20_init(void);\r
 void Mapper21_init(void);\r
 void Mapper22_init(void);\r
-void Mapper23_init(void);\r
+//void Mapper23_init(void);\r
 void Mapper24_init(void);\r
 void Mapper25_init(void);\r
 void Mapper26_init(void);\r
@@ -133,12 +165,12 @@ void Mapper34_init(void);
 void Mapper35_init(void);\r
 void Mapper36_init(void);\r
 //void Mapper37_init(void);\r
-void Mapper38_init(void);\r
-void Mapper39_init(void);\r
+//void Mapper38_init(void);\r
+//void Mapper39_init(void);\r
 void Mapper40_init(void);\r
 void Mapper41_init(void);\r
 void Mapper42_init(void);\r
-void Mapper43_init(void);\r
+//void Mapper43_init(void);\r
 void Mapper44_init(void);\r
 void Mapper45_init(void);\r
 void Mapper46_init(void);\r
@@ -160,7 +192,7 @@ void Mapper64_init(void);
 void Mapper65_init(void);\r
 //void Mapper66_init(void);\r
 void Mapper67_init(void);\r
-void Mapper68_init(void);\r
+//void Mapper68_init(void);\r
 void Mapper69_init(void);\r
 //void Mapper70_init(void);\r
 void Mapper71_init(void);\r
@@ -191,21 +223,21 @@ void Mapper97_init(void);
 void Mapper98_init(void);\r
 void Mapper99_init(void);\r
 void Mapper100_init(void);\r
-void Mapper101_init(void);\r
-void Mapper103_init(void);\r
+//void Mapper101_init(void);\r
+//void Mapper103_init(void);\r
 void Mapper104_init(void);\r
-void Mapper106_init(void);\r
+//void Mapper106_init(void);\r
 //void Mapper107_init(void);\r
-void Mapper108_init(void);\r
+//void Mapper108_init(void);\r
 void Mapper109_init(void);\r
 void Mapper110_init(void);\r
 void Mapper111_init(void);\r
-void Mapper113_init(void);\r
+//void Mapper113_init(void);\r
 void Mapper115_init(void);\r
 void Mapper116_init(void);\r
 //void Mapper117_init(void);\r
-void Mapper120_init(void);\r
-void Mapper121_init(void);\r
+//void Mapper120_init(void);\r
+//void Mapper121_init(void);\r
 void Mapper122_init(void);\r
 void Mapper123_init(void);\r
 void Mapper124_init(void);\r
@@ -216,24 +248,23 @@ void Mapper129_init(void);
 void Mapper130_init(void);\r
 void Mapper131_init(void);\r
 void Mapper132_init(void);\r
-void Mapper134_init(void);\r
+//void Mapper134_init(void);\r
 void Mapper135_init(void);\r
 void Mapper136_init(void);\r
 void Mapper137_init(void);\r
 void Mapper139_init(void);\r
 //void Mapper140_init(void);\r
 void Mapper141_init(void);\r
-void Mapper142_init(void);\r
+//void Mapper142_init(void);\r
 void Mapper143_init(void);\r
 //void Mapper144_init(void);\r
 void Mapper150_init(void);\r
 void Mapper151_init(void);\r
 //void Mapper152_init(void);\r
-void Mapper153_init(void);\r
+//void Mapper153_init(void);\r
 void Mapper154_init(void);\r
-void Mapper156_init(void);\r
 void Mapper157_init(void);\r
-void Mapper158_init(void);\r
+//void Mapper158_init(void);\r
 void Mapper159_init(void);\r
 void Mapper160_init(void);\r
 void Mapper161_init(void);\r
@@ -241,31 +272,31 @@ void Mapper162_init(void);
 void Mapper166_init(void);\r
 void Mapper167_init(void);\r
 void Mapper168_init(void);\r
-void Mapper169_init(void);\r
+//void Mapper169_init(void);\r
 void Mapper170_init(void);\r
-void Mapper171_init(void);\r
-void Mapper172_init(void);\r
-void Mapper173_init(void);\r
+//void Mapper171_init(void);\r
+//void Mapper172_init(void);\r
+//void Mapper173_init(void);\r
 void Mapper174_init(void);\r
 void Mapper175_init(void);\r
 void Mapper176_init(void);\r
-void Mapper177_init(void);\r
-void Mapper178_init(void);\r
-void Mapper179_init(void);\r
-void Mapper180_init(void);\r
+//void Mapper177_init(void);\r
+//void Mapper178_init(void);\r
+//void Mapper179_init(void);\r
+//void Mapper180_init(void);\r
 //void Mapper181_init(void);\r
-void Mapper184_init(void);\r
+//void Mapper184_init(void);\r
 //void Mapper185_init(void);\r
 //void Mapper189_init(void);\r
 //void Mapper192_init(void);\r
 void Mapper193_init(void);\r
 //void Mapper194_init(void);\r
-void Mapper195_init(void);\r
-void Mapper196_init(void);\r
-void Mapper197_init(void);\r
+//void Mapper195_init(void);\r
+//void Mapper196_init(void);\r
+//void Mapper197_init(void);\r
 //void Mapper198_init(void);\r
 void Mapper199_init(void);\r
-void Mapper200_init(void);\r
+//void Mapper200_init(void);\r
 void Mapper201_init(void);\r
 void Mapper202_init(void);\r
 void Mapper203_init(void);\r
@@ -283,7 +314,7 @@ void Mapper221_init(void);
 void Mapper223_init(void);\r
 void Mapper224_init(void);\r
 void Mapper225_init(void);\r
-void Mapper226_init(void);\r
+//void Mapper226_init(void);\r
 void Mapper227_init(void);\r
 void Mapper228_init(void);\r
 void Mapper229_init(void);\r
@@ -307,7 +338,7 @@ void Mapper247_init(void);
 void Mapper249_init(void);\r
 void Mapper251_init(void);\r
 void Mapper252_init(void);\r
-void Mapper253_init(void);\r
+//void Mapper253_init(void);\r
 void Mapper255_init(void);\r
 \r
 void NSFVRC6_Init(void);\r
@@ -322,15 +353,22 @@ void Mapper4_Init(CartInfo *);
 void Mapper5_Init(CartInfo *);\r
 void Mapper11_Init(CartInfo *);\r
 void Mapper12_Init(CartInfo *);\r
+void Mapper15_Init(CartInfo *);\r
+void Mapper16_Init(CartInfo *);\r
 void Mapper19_Init(CartInfo *);\r
+void Mapper23_Init(CartInfo *);\r
+void Mapper36_Init(CartInfo *);\r
 void Mapper37_Init(CartInfo *);\r
+void Mapper38_Init(CartInfo *);\r
+void Mapper43_Init(CartInfo *);\r
 void Mapper44_Init(CartInfo *);\r
 void Mapper45_Init(CartInfo *);\r
 void Mapper47_Init(CartInfo *);\r
 void Mapper49_Init(CartInfo *);\r
 void Mapper52_Init(CartInfo *);\r
 void Mapper57_Init(CartInfo *);\r
-void Mapper58_Init(CartInfo *);\r
+//void Mapper58_Init(CartInfo *);\r
+void Mapper68_Init(CartInfo *);\r
 void Mapper70_Init(CartInfo *);\r
 void Mapper74_Init(CartInfo *);\r
 void Mapper78_Init(CartInfo *);\r
@@ -340,27 +378,48 @@ void Mapper90_Init(CartInfo *);
 void Mapper93_Init(CartInfo *);\r
 void Mapper94_Init(CartInfo *);\r
 void Mapper95_Init(CartInfo *);\r
+void Mapper101_Init(CartInfo *);\r
+void Mapper103_Init(CartInfo *);\r
 void Mapper105_Init(CartInfo *);\r
+void Mapper106_Init(CartInfo *);\r
 void Mapper107_Init(CartInfo *);\r
+void Mapper108_Init(CartInfo *);\r
 void Mapper112_Init(CartInfo *);\r
+void Mapper113_Init(CartInfo *);\r
 void Mapper114_Init(CartInfo *);\r
 void Mapper115_Init(CartInfo *);\r
 void Mapper116_Init(CartInfo *);\r
 void Mapper117_Init(CartInfo *);\r
 void Mapper118_Init(CartInfo *);\r
 void Mapper119_Init(CartInfo *);\r
+void Mapper120_Init(CartInfo *);\r
+void Mapper121_Init(CartInfo *);\r
 void Mapper125_Init(CartInfo *);\r
+void Mapper134_Init(CartInfo *);\r
 void Mapper140_Init(CartInfo *);\r
 void Mapper144_Init(CartInfo *);\r
 void Mapper152_Init(CartInfo *);\r
+void Mapper153_Init(CartInfo *);\r
 void Mapper154_Init(CartInfo *);\r
 void Mapper155_Init(CartInfo *);\r
+void Mapper156_Init(CartInfo *);\r
+void Mapper159_Init(CartInfo *);\r
 void Mapper163_Init(CartInfo *);\r
 void Mapper164_Init(CartInfo *);\r
 void Mapper165_Init(CartInfo *);\r
+//void Mapper169_Init(CartInfo *);\r
+void Mapper171_Init(CartInfo *);\r
+void Mapper172_Init(CartInfo *);\r
+void Mapper173_Init(CartInfo *);\r
+void Mapper175_Init(CartInfo *);\r
+void Mapper176_Init(CartInfo *);\r
+void Mapper177_Init(CartInfo *);\r
+void Mapper178_Init(CartInfo *);\r
+void Mapper180_Init(CartInfo *);\r
 void Mapper181_Init(CartInfo *);\r
-void Mapper182_Init(CartInfo *);\r
+//void Mapper182_Init(CartInfo *);\r
 void Mapper183_Init(CartInfo *);\r
+void Mapper184_Init(CartInfo *);\r
 void Mapper185_Init(CartInfo *);\r
 void Mapper186_Init(CartInfo *);\r
 void Mapper187_Init(CartInfo *);\r
@@ -369,22 +428,31 @@ void Mapper189_Init(CartInfo *);
 void Mapper191_Init(CartInfo *);\r
 void Mapper192_Init(CartInfo *);\r
 void Mapper194_Init(CartInfo *);\r
+void Mapper195_Init(CartInfo *);\r
+void Mapper196_Init(CartInfo *);\r
+void Mapper197_Init(CartInfo *);\r
 void Mapper198_Init(CartInfo *);\r
 void Mapper199_Init(CartInfo *);\r
+void Mapper200_Init(CartInfo *);\r
 void Mapper205_Init(CartInfo *);\r
 void Mapper208_Init(CartInfo *);\r
 void Mapper209_Init(CartInfo *);\r
 void Mapper210_Init(CartInfo *);\r
 void Mapper211_Init(CartInfo *);\r
-void Mapper215_Init(CartInfo *);\r
+//void Mapper215_Init(CartInfo *);\r
 void Mapper216_Init(CartInfo *);\r
-void Mapper217_Init(CartInfo *);\r
+//void Mapper217_Init(CartInfo *);\r
 void Mapper220_Init(CartInfo *);\r
 void Mapper222_Init(CartInfo *);\r
+void Mapper226_Init(CartInfo *);\r
 void Mapper235_Init(CartInfo *);\r
 void Mapper236_Init(CartInfo *);\r
 void Mapper237_Init(CartInfo *);\r
+void Mapper240_Init(CartInfo *);\r
 void Mapper245_Init(CartInfo *);\r
 void Mapper249_Init(CartInfo *);\r
 void Mapper250_Init(CartInfo *);\r
+void Mapper253_Init(CartInfo *);\r
 void Mapper254_Init(CartInfo *);\r
+\r
+#endif\r