mappers updated to 0.98.16
[fceu.git] / mappers / 68.c
index 98cb0d8..69eaefc 100644 (file)
@@ -1,7 +1,7 @@
 /* FCE Ultra - NES/Famicom Emulator
  *
  * Copyright notice for this file:
- *  Copyright (C) 2002 Ben Parnell
+ *  Copyright (C) 2002 Xodnizel
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -24,21 +24,22 @@ static void Fixerit(void)
 {
  switch(mapbyte2[0]&3)
  {
-  case 0:vnapage[0]=vnapage[2]=VROM+(((mapbyte1[0]|128)&CHRmask1[0])<<10);
-        vnapage[1]=vnapage[3]=VROM+(((mapbyte1[1]|128)&CHRmask1[0])<<10);
-        break;
-  case 1:vnapage[0]=vnapage[1]=VROM+(((mapbyte1[0]|128)&CHRmask1[0])<<10);
-         vnapage[2]=vnapage[3]=VROM+(((mapbyte1[1]|128)&CHRmask1[0])<<10);
+  case 0:vnapage[0]=vnapage[2]=CHRptr[0]+(((mapbyte1[0]|128)&CHRmask1[0])<<10);
+         vnapage[1]=vnapage[3]=CHRptr[0]+(((mapbyte1[1]|128)&CHRmask1[0])<<10);
+         break;
+  case 1:vnapage[0]=vnapage[1]=CHRptr[0]+(((mapbyte1[0]|128)&CHRmask1[0])<<10);
+         vnapage[2]=vnapage[3]=CHRptr[0]+(((mapbyte1[1]|128)&CHRmask1[0])<<10);
+         break;
+  case 2:vnapage[0]=vnapage[1]=vnapage[2]=vnapage[3]=CHRptr[0]+(((mapbyte1[0]|128)&CHRmask1[0])<<10);
+         break;
+  case 3:vnapage[0]=vnapage[1]=vnapage[2]=vnapage[3]=CHRptr[0]+(((mapbyte1[1]|128)&CHRmask1[0])<<10);
          break;
-  case 2:vnapage[0]=vnapage[1]=vnapage[2]=vnapage[3]=VROM+(((mapbyte1[0]|128)&CHRmask1[0])<<10);
-        break;
-  case 3:vnapage[0]=vnapage[1]=vnapage[2]=vnapage[3]=VROM+(((mapbyte1[1]|128)&CHRmask1[0])<<10);
-        break;
  }
 }
 
 DECLFW(Mapper68_write)
 {
+// FCEU_printf("%04x,%04x\n",A,V);
  A&=0xF000;
 
  if(A>=0x8000 && A<=0xB000)
@@ -49,12 +50,12 @@ DECLFW(Mapper68_write)
  {
   case 0xc000:mapbyte1[0]=V;
               if(VROM_size && mapbyte2[0]&0x10)
-              Fixerit();
+               Fixerit();
               break;
 
   case 0xd000:mapbyte1[1]=V;
-             if(VROM_size && mapbyte2[0]&0x10)
-              Fixerit();
+              if(VROM_size && mapbyte2[0]&0x10)
+               Fixerit();
               break;
 
   case 0xe000: mapbyte2[0]=V;
@@ -69,10 +70,10 @@ DECLFW(Mapper68_write)
                 }
                }
                else if(VROM_size)
-              {
-               Fixerit();
-               PPUNTARAM=0;
-              }
+               {
+                Fixerit();
+                PPUNTARAM=0;
+               }
                break;
   case 0xf000: ROM_BANK16(0x8000,V);break;
  }
@@ -92,7 +93,7 @@ static void Mapper68_StateRestore(int version)
               }
               else if(VROM_size)
               {
-               Fixerit();
+                Fixerit();
                 PPUNTARAM=0;
               }
 }