*\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
void iNESStateRestore(int version);\r
extern uint32 iNESGameCRC32;\r
\r
-extern uint8 *VROM;\r
-\r
extern uint32 VROM_size;\r
extern uint32 ROM_size;\r
\r
#else\r
#endif\r
\r
- typedef struct {\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
+#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
+};\r
\r
-void FASTAPASS(2) VRAM_BANK1(uint32 A, uint8 V);\r
-void FASTAPASS(2) VRAM_BANK4(uint32 A,uint32 V);\r
+extern struct iNES_HEADER head; //for mappers usage\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 VRAM_BANK1(uint32 A, uint8 V);\r
+void VRAM_BANK4(uint32 A,uint32 V);\r
+\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
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
//void Mapper2_init(void);\r
//void Mapper3_init(void);\r
void Mapper6_init(void);\r
-void Mapper7_init(void);\r
-void Mapper8_init(void);\r
+//void Mapper7_init(void);\r
+//void Mapper8_init(void);\r
void Mapper9_init(void);\r
void Mapper10_init(void);\r
-void Mapper11_init(void);\r
+//void Mapper11_init(void);\r
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 Mapper17_init(void);\r
-void Mapper18_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
void Mapper31_init(void);\r
void Mapper32_init(void);\r
void Mapper33_init(void);\r
-void Mapper34_init(void);\r
+//void Mapper34_init(void);\r
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 Mapper37_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
void Mapper54_init(void);\r
void Mapper55_init(void);\r
void Mapper56_init(void);\r
-void Mapper57_init(void);\r
-void Mapper58_init(void);\r
void Mapper59_init(void);\r
void Mapper60_init(void);\r
void Mapper61_init(void);\r
void Mapper63_init(void);\r
void Mapper64_init(void);\r
void Mapper65_init(void);\r
-void Mapper66_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 Mapper70_init(void);\r
void Mapper71_init(void);\r
void Mapper72_init(void);\r
void Mapper73_init(void);\r
void Mapper75_init(void);\r
void Mapper76_init(void);\r
void Mapper77_init(void);\r
-void Mapper78_init(void);\r
+//void Mapper78_init(void);\r
void Mapper79_init(void);\r
void Mapper80_init(void);\r
void Mapper81_init(void);\r
-void Mapper82_init(void);\r
+//void Mapper82_init(void);\r
void Mapper83_init(void);\r
void Mapper84_init(void);\r
void Mapper85_init(void);\r
-void Mapper86_init(void);\r
-void Mapper87_init(void);\r
+//void Mapper86_init(void);\r
+//void Mapper87_init(void);\r
void Mapper88_init(void);\r
-void Mapper89_init(void);\r
-void Mapper91_init(void);\r
-void Mapper92_init(void);\r
-void Mapper93_init(void);\r
-void Mapper94_init(void);\r
-void Mapper96_init(void);\r
-void Mapper97_init(void);\r
+//void Mapper89_init(void);\r
+//void Mapper91_init(void);\r
+//void Mapper92_init(void);\r
+//void Mapper93_init(void);\r
+//void Mapper94_init(void);\r
+//void Mapper96_init(void);\r
+//void Mapper97_init(void);\r
void Mapper98_init(void);\r
-void Mapper99_init(void);\r
+//void Mapper99_init(void);\r
void Mapper100_init(void);\r
-void Mapper101_init(void);\r
-void Mapper102_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 Mapper107_init(void);\r
-void Mapper108_init(void);\r
+//void Mapper106_init(void);\r
+//void Mapper107_init(void);\r
+//void Mapper108_init(void);\r
void Mapper109_init(void);\r
void Mapper110_init(void);\r
-void Mapper111_init(void);\r
-//void Mapper112_init(void);\r
-void Mapper113_init(void);\r
-//void Mapper114_init(void);\r
+//void Mapper111_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 Mapper116_init(void);\r
+//void Mapper117_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
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 Mapper138_init(void);\r
void Mapper139_init(void);\r
-void Mapper140_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 Mapper145_init(void);\r
-//void Mapper146_init(void);\r
-//void Mapper147_init(void);\r
-//void Mapper149_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 Mapper151_init(void);\r
+//void Mapper152_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 Mapper159_init(void);\r
+//void Mapper156_init(void);\r
+//void Mapper157_init(void);\r
+//void Mapper158_init(void);\r
+//void Mapper159_init(void);\r
void Mapper160_init(void);\r
void Mapper161_init(void);\r
void Mapper162_init(void);\r
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 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 Mapper185_init(void);\r
-void Mapper189_init(void);\r
-//void Mapper191_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 Mapper198_init(void);\r
+//void Mapper181_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 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
void Mapper204_init(void);\r
void Mapper207_init(void);\r
-void Mapper211_init(void);\r
+//void Mapper211_init(void);\r
void Mapper212_init(void);\r
void Mapper213_init(void);\r
void Mapper214_init(void);\r
-void Mapper218_init(void);\r
+//void Mapper218_init(void);\r
void Mapper219_init(void);\r
-void Mapper220_init(void);\r
+//void Mapper220_init(void);\r
void Mapper221_init(void);\r
-void Mapper222_init(void);\r
+//void Mapper222_init(void);\r
void Mapper223_init(void);\r
void Mapper224_init(void);\r
-void Mapper225_init(void);\r
-void Mapper226_init(void);\r
+//void Mapper225_init(void);\r
+//void Mapper226_init(void);\r
void Mapper227_init(void);\r
void Mapper228_init(void);\r
void Mapper229_init(void);\r
void Mapper230_init(void);\r
void Mapper231_init(void);\r
void Mapper232_init(void);\r
-void Mapper233_init(void);\r
+//void Mapper233_init(void);\r
void Mapper234_init(void);\r
-void Mapper235_init(void);\r
+//void Mapper235_init(void);\r
void Mapper236_init(void);\r
void Mapper237_init(void);\r
void Mapper238_init(void);\r
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
void Mapper1_Init(CartInfo *);\r
void Mapper4_Init(CartInfo *);\r
void Mapper5_Init(CartInfo *);\r
+void Mapper8_Init(CartInfo *);\r
+void Mapper11_Init(CartInfo *);\r
void Mapper12_Init(CartInfo *);\r
+void Mapper15_Init(CartInfo *);\r
+void Mapper16_Init(CartInfo *);\r
+void Mapper17_Init(CartInfo *);\r
+void Mapper18_Init(CartInfo *);\r
void Mapper19_Init(CartInfo *);\r
+void Mapper23_Init(CartInfo *);\r
+void Mapper34_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 Mapper68_Init(CartInfo *);\r
+void Mapper70_Init(CartInfo *);\r
void Mapper74_Init(CartInfo *);\r
+void Mapper78_Init(CartInfo *);\r
+void Mapper82_Init(CartInfo *);\r
+void Mapper83_Init(CartInfo *);\r
+void Mapper86_Init(CartInfo *);\r
+void Mapper87_Init(CartInfo *);\r
+void Mapper88_Init(CartInfo *);\r
+void Mapper89_Init(CartInfo *);\r
void Mapper90_Init(CartInfo *);\r
+void Mapper91_Init(CartInfo *);\r
+void Mapper92_Init(CartInfo *);\r
+void Mapper93_Init(CartInfo *);\r
+void Mapper94_Init(CartInfo *);\r
void Mapper95_Init(CartInfo *);\r
+void Mapper96_Init(CartInfo *);\r
+void Mapper97_Init(CartInfo *);\r
+void Mapper99_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 Mapper118_Init(CartInfo *);\r
+void Mapper117_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 Mapper151_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 Mapper157_Init(CartInfo *);\r
void Mapper163_Init(CartInfo *);\r
void Mapper164_Init(CartInfo *);\r
void Mapper165_Init(CartInfo *);\r
-void Mapper182_Init(CartInfo *);\r
+void Mapper168_Init(CartInfo *);\r
+void Mapper170_Init(CartInfo *);\r
+void Mapper171_Init(CartInfo *);\r
+void Mapper172_Init(CartInfo *);\r
+void Mapper173_Init(CartInfo *);\r
+void Mapper175_Init(CartInfo *);\r
+void Mapper177_Init(CartInfo *);\r
+void Mapper178_Init(CartInfo *);\r
+void Mapper180_Init(CartInfo *);\r
+void Mapper181_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
void Mapper188_Init(CartInfo *);\r
+void Mapper189_Init(CartInfo *);\r
void Mapper191_Init(CartInfo *);\r
+void Mapper192_Init(CartInfo *);\r
+void Mapper193_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 Mapper215_Init(CartInfo *);\r
+void Mapper211_Init(CartInfo *);\r
void Mapper216_Init(CartInfo *);\r
-void Mapper217_Init(CartInfo *);\r
+void Mapper220_Init(CartInfo *);\r
+void Mapper222_Init(CartInfo *);\r
+void Mapper225_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