rendered paste bodyIndex: cpu/memory.asm
===================================================================
--- cpu/memory.asm (revision 4122)
+++ cpu/memory.asm (working copy)
@@ -1414,32 +1414,6 @@
xor ebx,ebx
ret
-NEWSYM memaccessbankr848mb
- test ecx,8000h
- jz .map2
- mov ebx,[snesmmap+ebx*4]
- mov al,[ebx+ecx]
- xor ebx,ebx
- ret
-.map2
- mov ebx,[snesmap2+ebx*4]
- mov al,[ebx+ecx]
- xor ebx,ebx
- ret
-
-NEWSYM memaccessbankr1648mb
- test ecx,8000h
- jz .map2
- mov ebx,[snesmmap+ebx*4]
- mov ax,[ebx+ecx]
- xor ebx,ebx
- ret
-.map2
- mov ebx,[snesmap2+ebx*4]
- mov ax,[ebx+ecx]
- xor ebx,ebx
- ret
-
;*******************************************************
; SRAM Access Bank (70h)
;*******************************************************
Index: initc.c
===================================================================
--- initc.c (revision 4122)
+++ initc.c (working copy)
@@ -249,30 +249,6 @@
}
}
-//These two functions interleave, yes interleave, because ZSNES has it's large ROM map backwards
-void intlv1()
-{
- char blocks[256];
- int i, numblocks = NumofBanks/2;
- for (i = 0; i < numblocks; i++)
- {
- blocks[i + numblocks] = i * 2;
- blocks[i] = i * 2 + 1;
- }
- swapBlocks(blocks);
-}
-
-//This is a mess, I wish we didn't need this, but it kicks the old asm code
-void IntlEHi()
-{
- SwapData(romdata, romdata + 0x100000, 0x80000);
- SwapData(romdata + 0x80000, romdata + 0x100000, 0x80000);
-
- NumofBanks = 64;
- intlv1();
- NumofBanks = 192;
-}
-
//ROM loading functions, which some strangly enough were in guiload.inc
bool AllASCII(unsigned char *b, int size)
{
@@ -2285,9 +2261,7 @@
SfxR8, SfxR9, SfxR10, SfxR11, SfxR12, SfxR13, SfxR14, SfxR15;
extern void *ram7f;
-extern void (*memtabler8[256])();
-extern void (*memtabler16[256])();
-void memaccessbankr848mb(), memaccessbankr1648mb(), preparesfx();
+void preparesfx();
void map_lorom()
{
@@ -2374,34 +2348,31 @@
unsigned char *ROM = (unsigned char *)romdata;
int x;
- rep_stosd(memtabler8+0x40, memaccessbankr848mb, 0x30);
- rep_stosd(memtabler16+0x40, memaccessbankr1648mb, 0x30);
-
// set addresses 8000-FFFF
- // set banks 00-3F (40h x 32KB ROM banks @ 8000h)
- map_set(snesmmap,ROM-0x8000,0x40,0x8000);
+ // set banks 00-3F (40h x 32KB ROM banks @ 10000h)
+ map_set(snesmmap,ROM+0x400000,0x40,0x10000);
- // set banks 40-7F (40h x 32KB ROM banks @ 8000h)
- map_set(snesmmap+0x40,ROM-0x8000,0x40,0x8000);
+ // set banks 40-7F (40h x 32KB ROM banks @ 10000h)
+ map_set(snesmmap+0x40,ROM+0x400000,0x40,0x10000);
- // set banks 80-BF (40h x 32KB ROM banks @ 8000h)
- map_set(snesmmap+0x80,ROM-0x8000,0x40,0x8000);
+ // set banks 80-BF (40h x 32KB ROM banks @10000h)
+ 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,0x40,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; }
@@ -2409,8 +2380,6 @@
// set banks 7E/7F (WRAM)
snesmmap[0x7E] = snesmap2[0x7E] = wramdata;
snesmmap[0x7F] = snesmap2[0x7F] = ram7f;
-
- IntlEHi(); //Interleave 48Mb ROM, because the map is broken
}
void map_sfx()