*\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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\r
- * \r
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+ *\r
* SL12 Protected 3-in-1 mapper hardware (VRC2, MMC3, MMC1)\r
* the same as 603-5052 board (TODO: add reading registers, merge)\r
* SL1632 2-in-1 protected board, similar to SL12 (TODO: find difference)\r
* Kart Fighter (008, Huang-1, GAL dip: W conf.)\r
* Somari (008, C5052-13, GAL dip: P conf., GK2-P/GK2-V maskroms)\r
* Somari (008, Huang-1, GAL dip: W conf., GK1-P/GK1-V maskroms)\r
- * AV Mei Shao Nv Zhan Shi ()\r
+ * AV Mei Shao Nv Zhan Shi (aka AV Pretty Girl Fighting) (SL-12 PCB, Hunag-1, GAL dip: unk conf. SL-11A/SL-11B maskroms)\r
* Samurai Spirits (Full version) (Huang-1, GAL dip: unk conf. GS-2A/GS-4A maskroms)\r
- * Contra Fighter (603-5052 board, C5052-3, GAL dip: unk conf. SC603-A/SCB603-B maskroms)\r
+ * Contra Fighter (603-5052 PCB, C5052-3, GAL dip: unk conf. SC603-A/SCB603-B maskroms)\r
*\r
*/\r
\r
#include "mapinc.h"\r
-#include "mmc3.h"\r
\r
static uint8 mode;\r
static uint8 vrc2_chr[8], vrc2_prg[2], vrc2_mirr;\r
static uint8 mmc3_regs[10], mmc3_ctrl, mmc3_mirr;\r
-extern uint8 IRQCount,IRQLatch,IRQa;\r
-extern uint8 IRQReload;\r
+static uint8 IRQCount,IRQLatch,IRQa;\r
+static uint8 IRQReload;\r
static uint8 mmc1_regs[4], mmc1_buffer, mmc1_shift;\r
\r
static SFORMAT StateRegs[]=\r
{\r
{&mode, 1, "MODE"},\r
- {vrc2_chr, 8, "vrch"},\r
- {vrc2_prg, 2, "vrpr"},\r
- {&vrc2_mirr, 1, "vrmi"},\r
- {mmc3_regs, 10, "m3re"},\r
- {&mmc3_ctrl, 1, "m3ct"},\r
- {&mmc3_mirr, 1, "m3mi"},\r
+ {vrc2_chr, 8, "VRCC"},\r
+ {vrc2_prg, 2, "VRCP"},\r
+ {&vrc2_mirr, 1, "VRCM"},\r
+ {mmc3_regs, 10, "M3RG"},\r
+ {&mmc3_ctrl, 1, "M3CT"},\r
+ {&mmc3_mirr, 1, "M3MR"},\r
{&IRQReload, 1, "IRQR"},\r
{&IRQCount, 1, "IRQC"},\r
{&IRQLatch, 1, "IRQL"},\r
{&IRQa, 1, "IRQA"},\r
- {mmc1_regs, 4, "m1r"},\r
- {&mmc1_buffer, 1, "m1bf"},\r
- {&mmc1_shift, 1, "m1mi"},\r
+ {mmc1_regs, 4, "M1RG"},\r
+ {&mmc1_buffer, 1, "M1BF"},\r
+ {&mmc1_shift, 1, "M1MR"},\r
{0}\r
};\r
\r
\r
static DECLFW(UNLSL12ModeWrite)\r
{\r
- printf("%04X:%02X\n",A,V);\r
+// FCEU_printf("%04X:%02X\n",A,V);\r
if((A & 0x4100) == 0x4100) {\r
mode = V;\r
if(A&1) { // hacky hacky, there are two configuration modes on SOMARI HUANG-1 PCBs\r
\r
static DECLFW(UNLSL12Write)\r
{\r
- printf("%04X:%02X\n",A,V);\r
- if(A==0xA123)\r
- {\r
- int zzz=9;\r
- }\r
+// FCEU_printf("%04X:%02X\n",A,V);\r
switch(mode & 3) {\r
case 0: {\r
if((A>=0xB000)&&(A<=0xE003))\r
mmc1_buffer = mmc1_shift = 0;\r
switch(n) {\r
case 0: SyncMIR();\r
- case 2: SyncCHR(); \r
+ case 2: SyncCHR();\r
case 3:\r
case 1: SyncPRG();\r
}\r
GameStateRestore = StateRestore;\r
AddExState(&StateRegs, ~0, 0, 0);\r
}\r
-\r
-void Mapper116_Init(CartInfo *info)\r
-{\r
- UNLSL12_Init(info);\r
-}\r