From e7f4ad9168349c5465b6e215acddd1ca9f9cc20f Mon Sep 17 00:00:00 2001 From: pagefault <> Date: Sun, 20 Jul 2003 01:48:42 +0000 Subject: [PATCH] SRAM memory map fix for loroms --- zsnes/src/cpu/memory.asm | 12 ++++++++++++ zsnes/src/init.asm | 20 ++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/zsnes/src/cpu/memory.asm b/zsnes/src/cpu/memory.asm index 013dbdd6..7c3f71dc 100644 --- a/zsnes/src/cpu/memory.asm +++ b/zsnes/src/cpu/memory.asm @@ -4285,6 +4285,10 @@ NEWSYM memaccessbankr1648mb NEWSYM sramaccessbankr8 push ecx + cmp bl,0F0h + jne .notf0 + sub bl,80h +.notf0 sub bl,70h shl ebx,15 add ecx,ebx @@ -4302,6 +4306,10 @@ NEWSYM sramaccessbankr16 NEWSYM sramaccessbankw8 push ecx sub bl,70h + cmp bl,0F0h + jne .notf0 + sub bl,80h +.notf0 shl ebx,15 add ecx,ebx call sramaccessbankw8b @@ -4309,6 +4317,10 @@ NEWSYM sramaccessbankw8 ret NEWSYM sramaccessbankw16 push ecx + cmp bl,0F0h + jne .notf0 + sub bl,80h +.notf0 sub bl,70h shl ebx,15 add ecx,ebx diff --git a/zsnes/src/init.asm b/zsnes/src/init.asm index fd40129d..29403f5a 100644 --- a/zsnes/src/init.asm +++ b/zsnes/src/init.asm @@ -5993,6 +5993,26 @@ NEWSYM CheckROMType mov dword[memtabler16+79h*4],memaccessbankr16 mov dword[memtablew16+79h*4],memaccessbankw16 + cmp byte[romtype],1 + jne near .notlorom + mov dword[memtabler8+0F0h*4],sramaccessbankr8 + mov dword[memtablew8+0F0h*4],sramaccessbankw8 + mov dword[memtabler16+0F0h*4],sramaccessbankr16 + mov dword[memtablew16+0F0h*4],sramaccessbankw16 + mov dword[memtabler8+0F1h*4],sramaccessbankr8 + mov dword[memtablew8+0F1h*4],sramaccessbankw8 + mov dword[memtabler16+0F1h*4],sramaccessbankr16 + mov dword[memtablew16+0F1h*4],sramaccessbankw16 + mov dword[memtabler8+0F2h*4],sramaccessbankr8 + mov dword[memtablew8+0F2h*4],sramaccessbankw8 + mov dword[memtabler16+0F2h*4],sramaccessbankr16 + mov dword[memtablew16+0F2h*4],sramaccessbankw16 + mov dword[memtabler8+0F3h*4],sramaccessbankr8 + mov dword[memtablew8+0F3h*4],sramaccessbankw8 + mov dword[memtabler16+0F3h*4],sramaccessbankr16 + mov dword[memtablew16+0F3h*4],sramaccessbankw16 +.notlorom + ; Chip Detection mov byte[SFXEnable],0 mov byte[C4Enable],0