merge mappers from FCEU-mm
[fceu.git] / boards / novel.c
index fe3a37c..26e70ec 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
 
 #include "mapinc.h"
 
+static uint8 latch;
+
 static void DoNovel(void)
 {
- setprg32(0x8000,GameMemBlock[0]&3);
- setchr8(GameMemBlock[0]&7);
- X6502_Rebase();
+  setprg32(0x8000,latch&3);
+  setchr8(latch&7);
 }
 
 static DECLFW(NovelWrite)
 {
GameMemBlock[0]=A&0xFF;
- DoNovel();
 latch=A&0xFF;
 DoNovel();
 }
 
 static void NovelReset(void)
 {
   SetWriteHandler(0x8000,0xFFFF,NovelWrite);
-  SetReadHandler(0x8000,0xFFFF,CartBR);
+  SetReadHandler(0x8000,0xFFFF,CartBR);  
   setprg32(0x8000,0);
   setchr8(0);
 }
 
 static void NovelRestore(int version)
 {
- DoNovel();
 DoNovel();
 }
 
-void Novel_Init(void)
+void Novel_Init(CartInfo *info)
 {
-  AddExState(&GameMemBlock[0], 1, 0,"L1");
-  BoardPower=NovelReset;
+  AddExState(&latch, 1, 0,"L1");
+  info->Power=NovelReset;
   GameStateRestore=NovelRestore;
 }