/*----------------------------------------------------------------------*/ /* */ /* NES Mapeers Factory */ /* Norix */ /* written 2003/09/04 */ /* last modify ----/--/-- */ /*----------------------------------------------------------------------*/ #define WIN32_LEAN_AND_MEAN #include #include #include #include "DebugOut.h" #include "typedef.h" #include "macro.h" #include "nes.h" #include "mmu.h" #include "cpu.h" #include "ppu.h" #include "apu.h" #include "pad.h" #include "rom.h" #include "mapper.h" #include "Config.h" ////////////////////////////////////////////////////////////////////////// #include "Mapper000.h" #include "Mapper001.h" #include "Mapper002.h" #include "Mapper003.h" #include "Mapper004.h" #include "Mapper005.h" #include "Mapper006.h" #include "Mapper007.h" #include "Mapper008.h" #include "Mapper009.h" #include "Mapper010.h" #include "Mapper011.h" #include "Mapper013.h" #include "Mapper015.h" #include "Mapper016.h" #include "Mapper017.h" #include "Mapper018.h" #include "Mapper019.h" #include "MapperFDS.h" // 020 #include "Mapper021.h" #include "Mapper022.h" #include "Mapper023.h" #include "Mapper024.h" #include "Mapper025.h" #include "Mapper026.h" #include "Mapper032.h" #include "Mapper033.h" #include "Mapper034.h" #include "Mapper040.h" #include "Mapper041.h" #include "Mapper042.h" #include "Mapper043.h" #include "Mapper048.h" #include "Mapper064.h" #include "Mapper065.h" #include "Mapper066.h" #include "Mapper067.h" #include "Mapper068.h" #include "Mapper069.h" #include "Mapper070.h" #include "Mapper071.h" #include "Mapper072.h" #include "Mapper073.h" #include "Mapper075.h" #include "Mapper076.h" #include "Mapper077.h" #include "Mapper078.h" #include "Mapper079.h" #include "Mapper080.h" #include "Mapper082.h" #include "Mapper083.h" #include "Mapper085.h" #include "Mapper086.h" #include "Mapper087.h" #include "Mapper088.h" #include "Mapper089.h" #include "Mapper090.h" #include "Mapper091.h" #include "Mapper092.h" #include "Mapper093.h" #include "Mapper094.h" #include "Mapper095.h" #include "Mapper096.h" #include "Mapper097.h" #include "Mapper100.h" #include "Mapper101.h" #include "Mapper107.h" #include "Mapper113.h" #include "Mapper118.h" #include "Mapper119.h" #include "Mapper122.h" #include "Mapper180.h" #include "Mapper181.h" #include "Mapper185.h" #include "Mapper187.h" #include "Mapper188.h" #include "Mapper189.h" #include "Mapper243.h" #include "MapperNSF.h" #include "Mapper044.h" #include "Mapper045.h" #include "Mapper046.h" #include "Mapper047.h" #include "Mapper050.h" #include "Mapper051.h" #include "Mapper057.h" #include "Mapper058.h" #include "Mapper060.h" #include "Mapper062.h" #include "Mapper074.h" #include "Mapper105.h" #include "Mapper108.h" #include "Mapper109.h" #include "Mapper110.h" #include "Mapper111.h" #include "Mapper112.h" #include "Mapper114.h" #include "Mapper115.h" #include "Mapper116.h" #include "Mapper117.h" #include "Mapper133.h" #include "Mapper134.h" #include "Mapper135.h" #include "Mapper140.h" #include "Mapper142.h" #include "Mapper160.h" #include "Mapper163.h" #include "Mapper164.h" #include "Mapper165.h" #include "Mapper027.h" #include "Mapper167.h" #include "Mapper182.h" #include "Mapper183.h" #include "Mapper190.h" #include "Mapper191.h" #include "Mapper192.h" #include "Mapper193.h" #include "Mapper194.h" #include "Mapper195.h" #include "Mapper198.h" #include "Mapper222.h" #include "Mapper225.h" #include "Mapper226.h" #include "Mapper227.h" #include "Mapper228.h" #include "Mapper229.h" #include "Mapper230.h" #include "Mapper231.h" #include "Mapper232.h" #include "Mapper233.h" #include "Mapper234.h" #include "Mapper235.h" #include "Mapper236.h" #include "Mapper240.h" #include "Mapper241.h" #include "Mapper242.h" #include "Mapper244.h" #include "Mapper245.h" #include "Mapper246.h" #include "Mapper248.h" #include "Mapper249.h" #include "Mapper251.h" #include "Mapper252.h" #include "Mapper254.h" #include "Mapper255.h" #include "Mapper099.h" #include "Mapper151.h" #include "Mapper012.h" #include "Mapper200.h" #include "Mapper201.h" #include "Mapper202.h" #include "Mapper061.h" #include "Mapper148.h" #include "Mapper150.h" #include "Mapper132.h" #include "Mapper168.h" #include "Mapper166.h" #include "Mapper162.h" #include "Mapper179.h" #include "Mapper174.h" #include "Mapper177.h" #include "Mapper178.h" #include "Mapper176.h" #include "Mapper175.h" #include "Mapper253.h" #include "Mapper120.h" #include "Mapper169.h" #include "Mapper170.h" #include "Mapper171.h" #include "Mapper172.h" #include "Mapper237.h" #include "Mapper141.h" #include "Mapper121.h" #include "Mapper212.h" #include "Mapper199.h" #include "Mapper049.h" #include "Mapper052.h" #include "Mapper173.h" #include "BoardSA9602B.h" #include "BoardBS5.h" #include "BoardCityFighter.h" #include "BoardCoolBoy.h" #include "BoardFK23C.h" #include "BoardDragonFighter.h" #include "BoardYoko.h" #include "BoardOneBus.h" #include "BoardMGC002.h" #include "BoardKS7010.h" #include "BoardUNL158B.h" #include "BoardKS7030.h" #include "BoardTH21311.h" #include "BoardUNL831128C.h" #include "BoardLB12IN1.h" ////////////////////////////////////////////////////////////////////////// #include "Mapper000.cpp" #include "Mapper001.cpp" #include "Mapper002.cpp" #include "Mapper003.cpp" #include "Mapper004.cpp" #include "Mapper005.cpp" #include "Mapper006.cpp" #include "Mapper007.cpp" #include "Mapper008.cpp" #include "Mapper009.cpp" #include "Mapper010.cpp" #include "Mapper011.cpp" #include "Mapper013.cpp" #include "Mapper015.cpp" #include "Mapper016.cpp" #include "Mapper017.cpp" #include "Mapper018.cpp" #include "Mapper019.cpp" #include "MapperFDS.cpp" // 020 #include "Mapper021.cpp" #include "Mapper022.cpp" #include "Mapper023.cpp" #include "Mapper024.cpp" #include "Mapper025.cpp" #include "Mapper026.cpp" #include "Mapper032.cpp" #include "Mapper033.cpp" #include "Mapper034.cpp" #include "Mapper040.cpp" #include "Mapper041.cpp" #include "Mapper042.cpp" #include "Mapper043.cpp" #include "Mapper048.cpp" #include "Mapper064.cpp" #include "Mapper065.cpp" #include "Mapper066.cpp" #include "Mapper067.cpp" #include "Mapper068.cpp" #include "Mapper069.cpp" #include "Mapper070.cpp" #include "Mapper071.cpp" #include "Mapper072.cpp" #include "Mapper073.cpp" #include "Mapper075.cpp" #include "Mapper076.cpp" #include "Mapper077.cpp" #include "Mapper078.cpp" #include "Mapper079.cpp" #include "Mapper080.cpp" #include "Mapper082.cpp" #include "Mapper083.cpp" #include "Mapper085.cpp" #include "Mapper086.cpp" #include "Mapper087.cpp" #include "Mapper088.cpp" #include "Mapper089.cpp" #include "Mapper090.cpp" #include "Mapper091.cpp" #include "Mapper092.cpp" #include "Mapper093.cpp" #include "Mapper094.cpp" #include "Mapper095.cpp" #include "Mapper096.cpp" #include "Mapper097.cpp" #include "Mapper100.cpp" #include "Mapper101.cpp" #include "Mapper107.cpp" #include "Mapper113.cpp" #include "Mapper118.cpp" #include "Mapper119.cpp" #include "Mapper122.cpp" #include "Mapper180.cpp" #include "Mapper181.cpp" #include "Mapper185.cpp" #include "Mapper187.cpp" #include "Mapper188.cpp" #include "Mapper189.cpp" #include "Mapper243.cpp" #include "MapperNSF.cpp" #include "Mapper044.cpp" #include "Mapper045.cpp" #include "Mapper046.cpp" #include "Mapper047.cpp" #include "Mapper050.cpp" #include "Mapper051.cpp" #include "Mapper057.cpp" #include "Mapper058.cpp" #include "Mapper060.cpp" #include "Mapper062.cpp" #include "Mapper074.cpp" #include "Mapper105.cpp" #include "Mapper108.cpp" #include "Mapper109.cpp" #include "Mapper110.cpp" #include "Mapper111.cpp" #include "Mapper112.cpp" #include "Mapper114.cpp" #include "Mapper115.cpp" #include "Mapper116.cpp" #include "Mapper117.cpp" #include "Mapper133.cpp" #include "Mapper134.cpp" #include "Mapper135.cpp" #include "Mapper140.cpp" #include "Mapper142.cpp" #include "Mapper160.cpp" #include "Mapper163.cpp" #include "Mapper164.cpp" #include "Mapper165.cpp" #include "Mapper027.cpp" #include "Mapper167.cpp" #include "Mapper182.cpp" #include "Mapper183.cpp" #include "Mapper190.cpp" #include "Mapper191.cpp" #include "Mapper192.cpp" #include "Mapper193.cpp" #include "Mapper194.cpp" #include "Mapper195.cpp" #include "Mapper198.cpp" #include "Mapper222.cpp" #include "Mapper225.cpp" #include "Mapper226.cpp" #include "Mapper227.cpp" #include "Mapper228.cpp" #include "Mapper229.cpp" #include "Mapper230.cpp" #include "Mapper231.cpp" #include "Mapper232.cpp" #include "Mapper233.cpp" #include "Mapper234.cpp" #include "Mapper235.cpp" #include "Mapper236.cpp" #include "Mapper240.cpp" #include "Mapper241.cpp" #include "Mapper242.cpp" #include "Mapper244.cpp" #include "Mapper245.cpp" #include "Mapper246.cpp" #include "Mapper248.cpp" #include "Mapper249.cpp" #include "Mapper251.cpp" #include "Mapper252.cpp" #include "Mapper254.cpp" #include "Mapper255.cpp" #include "Mapper099.cpp" #include "Mapper151.cpp" #include "Mapper012.cpp" #include "Mapper200.cpp" #include "Mapper201.cpp" #include "Mapper202.cpp" #include "Mapper061.cpp" #include "Mapper148.cpp" #include "Mapper150.cpp" #include "Mapper132.cpp" #include "Mapper168.cpp" #include "Mapper166.cpp" #include "Mapper162.cpp" #include "Mapper179.cpp" #include "Mapper174.cpp" #include "Mapper177.cpp" #include "Mapper178.cpp" #include "Mapper176.cpp" #include "Mapper175.cpp" #include "Mapper253.cpp" #include "Mapper120.cpp" #include "Mapper169.cpp" #include "Mapper170.cpp" #include "Mapper171.cpp" #include "Mapper172.cpp" #include "Mapper237.cpp" #include "Mapper141.cpp" #include "Mapper121.cpp" #include "Mapper212.cpp" #include "Mapper199.cpp" #include "Mapper049.cpp" #include "Mapper052.cpp" #include "Mapper173.cpp" #include "BoardSA9602B.cpp" #include "BoardBS5.cpp" #include "BoardCityFighter.cpp" #include "BoardCoolBoy.cpp" #include "BoardFK23C.cpp" #include "BoardDragonFighter.cpp" #include "BoardYoko.cpp" #include "BoardOneBus.cpp" #include "BoardMGC002.cpp" #include "BoardKS7010.cpp" #include "BoardUNL158B.cpp" #include "BoardKS7030.cpp" #include "BoardTH21311.cpp" #include "BoardUNL831128C.cpp" #include "BoardLB12IN1.cpp" extern BOOL g_bSan2; ////////////////////////////////////////////////////////////////////////// // Mapper Factory ////////////////////////////////////////////////////////////////////////// #include "BoardMMC3.h" #include "BoardMMC3.cpp" Mapper* CreateMapper( NES* parent, INT no,BOOL bUnif) { if( bUnif ) { switch(no) { case CHINA_ER_SAN2://三国志2-霸王的大陆(中文汉化版)[宣云&张晓波&蓝一冬] g_bSan2 = TRUE; return new Mapper019(parent); case UNL_SA_9602B: return new BoardSA9602B(parent); case BENSHENG_BS5: return new BoardBS5(parent); case City_Fighter_IV: return new BoardCityFighter(parent); case BTL_6035052: return new Mapper004(parent); case COOLBOY: return new BoardCoolBoy(parent); case BMC_FK23C: case BMC_FK23CA: return new BoardFK23C(parent); case Dragon_Fighter: return new BoardDragonFighter(parent); case UNL_YOKO: case UNL_82112C: return new BoardYoko(parent); case OneBus: return new BoardOneBus(parent); case MGC_002: return new BoardMGC002(parent); case UNL_KS7010: return new BoardKS7010(parent); case UNL_KS7030: return new BoardKS7030(parent); case UNL_158B: return new BoardUNL158B(parent); case UNL_TH2131_1: return new BoardTH21311(parent); case UNL_831128C: return new Board831128C(parent); case BMC_LB12IN1: return new BoardLB12IN1(parent); case FF3_CN: // g_bSan2 = TRUE; return new Mapper004(parent); } return NULL; } switch( no ) { case 0: return new Mapper000(parent); case 1: return new Mapper001(parent); case 2: return new Mapper002(parent); case 3: return new Mapper003(parent); case 4: return new Mapper004(parent); case 5: return new Mapper005(parent); case 6: return new Mapper006(parent); case 7: return new Mapper007(parent); case 8: return new Mapper008(parent); case 9: return new Mapper009(parent); case 10: return new Mapper010(parent); case 11: return new Mapper011(parent); case 13: return new Mapper013(parent); case 15: return new Mapper015(parent); case 16: return new Mapper016(parent); case 17: return new Mapper017(parent); case 18: return new Mapper018(parent); case 19: return new Mapper019(parent); case 20: return new Mapper020(parent); case 21: return new Mapper021(parent); case 22: return new Mapper022(parent); case 23: return new Mapper023(parent); case 24: return new Mapper024(parent); case 25: return new Mapper025(parent); case 26: return new Mapper026(parent); case 32: return new Mapper032(parent); case 33: return new Mapper033(parent); case 34: return new Mapper034(parent); case 40: return new Mapper040(parent); case 41: return new Mapper041(parent); case 42: return new Mapper042(parent); case 43: return new Mapper043(parent); case 48: return new Mapper048(parent); case 64: return new Mapper064(parent); case 65: return new Mapper065(parent); case 66: return new Mapper066(parent); case 67: return new Mapper067(parent); case 68: return new Mapper068(parent); case 69: return new Mapper069(parent); case 70: return new Mapper070(parent); case 71: return new Mapper071(parent); case 72: return new Mapper072(parent); case 73: return new Mapper073(parent); case 75: return new Mapper075(parent); case 76: return new Mapper076(parent); case 77: return new Mapper077(parent); case 78: return new Mapper078(parent); case 79: return new Mapper079(parent); case 80: return new Mapper080(parent); case 82: return new Mapper082(parent); case 83: return new Mapper083(parent); case 85: return new Mapper085(parent); case 86: return new Mapper086(parent); case 87: return new Mapper087(parent); case 88: return new Mapper088(parent); case 89: return new Mapper089(parent); case 90: return new Mapper090(parent); case 91: return new Mapper091(parent); case 92: return new Mapper092(parent); case 93: return new Mapper093(parent); case 94: return new Mapper094(parent); case 95: return new Mapper095(parent); case 96: return new Mapper096(parent); case 97: return new Mapper097(parent); case 100: return new Mapper100(parent); case 101: return new Mapper101(parent); case 107: return new Mapper107(parent); case 113: return new Mapper113(parent); case 118: return new Mapper118(parent); case 119: return new Mapper119(parent); case 122: case 184: return new Mapper122(parent); case 180: return new Mapper180(parent); case 181: return new Mapper181(parent); case 185: return new Mapper185(parent); case 187: return new Mapper187(parent); case 188: return new Mapper188(parent); case 189: return new Mapper189(parent); case 243: return new Mapper243(parent); case 0x100: return new MapperNSF(parent); case 44: return new Mapper044(parent); case 45: return new Mapper045(parent); case 46: return new Mapper046(parent); case 47: return new Mapper047(parent); case 50: return new Mapper050(parent); case 51: return new Mapper051(parent); case 57: return new Mapper057(parent); case 58: return new Mapper058(parent); case 60: return new Mapper060(parent); case 62: return new Mapper062(parent); case 74: return new Mapper074(parent); case 105: return new Mapper105(parent); case 108: return new Mapper108(parent); case 109: return new Mapper109(parent); case 110: return new Mapper110(parent); case 111: return new Mapper111(parent); case 112: return new Mapper112(parent); case 114: return new Mapper114(parent); case 115: return new Mapper115(parent); case 116: return new Mapper116(parent); case 117: return new Mapper117(parent); case 133: return new Mapper133(parent); case 134: return new Mapper134(parent); case 135: return new Mapper135(parent); case 140: return new Mapper140(parent); case 142: return new Mapper142(parent); case 160: return new Mapper160(parent); case 163: return new Mapper163(parent); case 164: return new Mapper164(parent); case 165: return new Mapper165(parent); case 27: return new Mapper027(parent); case 167: return new Mapper167(parent); case 182: return new Mapper182(parent); case 183: return new Mapper183(parent); case 190: return new Mapper190(parent); case 191: return new Mapper191(parent); case 192: return new Mapper192(parent); case 193: return new Mapper193(parent); case 194: return new Mapper194(parent); case 195: return new Mapper195(parent); case 198: return new Mapper198(parent); case 222: return new Mapper222(parent); case 225: return new Mapper225(parent); case 226: return new Mapper226(parent); case 227: return new Mapper227(parent); case 228: return new Mapper228(parent); case 229: return new Mapper229(parent); case 230: return new Mapper230(parent); case 231: return new Mapper231(parent); case 232: return new Mapper232(parent); case 233: return new Mapper233(parent); case 234: return new Mapper234(parent); case 235: return new Mapper235(parent); case 236: return new Mapper236(parent); case 240: return new Mapper240(parent); case 241: return new Mapper241(parent); case 242: return new Mapper242(parent); case 244: return new Mapper244(parent); case 245: return new Mapper245(parent); case 246: return new Mapper246(parent); case 248: return new Mapper248(parent); case 249: return new Mapper249(parent); case 251: return new Mapper251(parent); case 252: return new Mapper252(parent); case 254: return new Mapper254(parent); case 255: return new Mapper255(parent); case 99: return new Mapper099(parent); case 151: return new Mapper151(parent); case 12: return new Mapper012(parent); case 200: return new Mapper200(parent); case 201: return new Mapper201(parent); case 202: return new Mapper202(parent); case 61: return new Mapper061(parent); case 148: return new Mapper148(parent); case 150: return new Mapper150(parent); case 132: return new Mapper132(parent); case 168: return new Mapper168(parent); case 166: return new Mapper166(parent); case 162: return new Mapper162(parent); case 179: return new Mapper179(parent); case 174: return new Mapper174(parent); case 177: return new Mapper177(parent); case 178: return new Mapper178(parent); case 176: return new Mapper176(parent); // return new BoardFK23C(parent); case 175: return new Mapper175(parent); case 253: return new Mapper253(parent); case 120: return new Mapper120(parent); case 169: return new Mapper169(parent); case 170: return new Mapper170(parent); case 171: return new Mapper171(parent); case 172: return new Mapper172(parent); case 237: return new Mapper237(parent); case 141: return new Mapper141(parent); case 121: return new Mapper121(parent); case 212: return new Mapper212(parent); case 199: return new Mapper199(parent); case 49: return new Mapper049(parent); case 52: return new Mapper052(parent); case 173: return new Mapper173(parent); default: break; } return NULL; }