All pastes #286947 Raw Edit

Nach

public text v1 · immutable
#286947 ·published 2006-12-21 00:46 UTC
rendered paste body
Index: 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()