frameskip, cleanups
[fceu.git] / mappers / 182.c
CommitLineData
c62d2810 1#include "mapinc.h"
2
3DECLFW(Mapper182_write)
4{
5 switch(A&0xf003)
6 {
7 case 0xe003:IRQCount=V;IRQa=1;break;
8 case 0x8001:MIRROR_SET(V&1);break;
9 case 0xA000:mapbyte1[0]=V;break;
10 case 0xC000:
11 switch(mapbyte1[0]&7)
12 {
13 case 0:VROM_BANK2(0x0000,V>>1);break;
14 case 1:VROM_BANK1(0x1400,V);break;
15 case 2:VROM_BANK2(0x0800,V>>1);break;
16 case 3:VROM_BANK1(0x1c00,V);break;
17 case 4:ROM_BANK8(0x8000,V);break;
18 case 5:ROM_BANK8(0xA000,V);break;
19 case 6:VROM_BANK1(0x1000,V);break;
20 case 7:VROM_BANK1(0x1800,V);break;
21 }
22 break;
23
24
25 }
26}
27
28void blop(void)
29{
30 if(IRQa)
31 {
32 if(IRQCount)
33 {
34 IRQCount--;
35 if(!IRQCount)
36 {
37 IRQa=0;
38 TriggerIRQ();
39 }
40 }
41 }
42}
43void Mapper182_init(void)
44{
45 SetWriteHandler(0x8000,0xFFFF,Mapper182_write);
46 GameHBIRQHook=blop;
47}
48