Index: initc.c =================================================================== --- initc.c (revision 4121) +++ initc.c (working copy) @@ -2379,29 +2379,32 @@ // set addresses 8000-FFFF // set banks 00-3F (40h x 32KB ROM banks @ 8000h) - map_set(snesmmap,ROM-0x8000,0x40,0x8000); + map_set(snesmmap,ROM+0x400000,0x20,0x10000); + map_set(snesmmap+0x20,ROM+0x400000,0x20,0x10000); // set banks 40-7F (40h x 32KB ROM banks @ 8000h) - map_set(snesmmap+0x40,ROM-0x8000,0x40,0x8000); + map_set(snesmmap+0x40,ROM+0x400000,0x20,0x10000); + map_set(snesmmap+0x60,ROM+0x400000,0x20,0x10000); // set banks 80-BF (40h x 32KB ROM banks @ 8000h) - map_set(snesmmap+0x80,ROM-0x8000,0x40,0x8000); + map_set(snesmmap+0x80,ROM,0x40,0x10000); // set banks C0-FF (40h x 64KB ROM banks @10000h) - map_set(snesmmap+0xC0,ROM+0x200000,0x40,0x10000); + map_set(snesmmap+0xC0,ROM,0x40,0x10000); // set addresses 0000-7FFF // set banks 00-3F (40h x WRAM) map_set(snesmap2,wramdata,0x40,0); // set banks 40-7F (40h x 32KB ROM banks @ 8000h) - map_set(snesmap2+0x40,ROM+0x100000,0x40,0x8000); + map_set(snesmap2+0x40,ROM+0x400000,0x20,0x10000); + map_set(snesmap2+0x60,ROM+0x400000,0x20,0x10000); // set banks 80-BF (40h x WRAM) map_set(snesmap2+0x80,wramdata,0x40,0); // set banks C0-FF (40h x 64KB ROM banks @10000h) - map_set(snesmap2+0xC0,ROM+0x200000,0x40,0x10000); + map_set(snesmap2+0xC0,ROM,0x40,0x10000); // set banks 70-77 (07h x SRAM) for(x = 0x70; x <= 0x77; x++) { snesmap2[x] = sram; } @@ -2410,7 +2413,7 @@ snesmmap[0x7E] = snesmap2[0x7E] = wramdata; snesmmap[0x7F] = snesmap2[0x7F] = ram7f; - IntlEHi(); //Interleave 48Mb ROM, because the map is broken +// IntlEHi(); //Interleave 48Mb ROM, because the map is broken } void map_sfx()