merge mapper code from FCEUX
[fceu.git] / boards / dream.c
index 16214f7..d2a9cb8 100644 (file)
  *\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
 #include "mapinc.h"\r
 \r
-static uint8 latch;\r
+static uint8 latche;\r
 \r
-static void DoPRG(void)\r
+static void Sync(void)\r
 {\r
-  setprg16(0x8000,latch);\r
+  setprg16(0x8000,latche);\r
   setprg16(0xC000,8);\r
 }\r
 \r
 static DECLFW(DREAMWrite)\r
 {\r
-  latch=V&7;\r
-  DoPRG();\r
+  latche=V&7;\r
+  Sync();\r
 }\r
 \r
 static void DREAMPower(void)\r
 {\r
-  latch=0;\r
+  latche=0;\r
+  Sync();\r
+  setchr8(0);\r
   SetReadHandler(0x8000,0xFFFF,CartBR);\r
   SetWriteHandler(0x5020,0x5020,DREAMWrite);\r
-  setchr8(0);\r
-  DoPRG();\r
 }\r
 \r
 static void Restore(int version)\r
 {\r
-  DoPRG();\r
+  Sync();\r
 }\r
 \r
 void DreamTech01_Init(CartInfo *info)\r
 {\r
   GameStateRestore=Restore;\r
   info->Power=DREAMPower;\r
-  AddExState(&latch, 1, 0, "LATCH");\r
+  AddExState(&latche, 1, 0, "LATCH");\r
 }\r