diff --git a/zsnes/src/init.asm b/zsnes/src/init.asm index 0b808cd6..41269ebd 100644 --- a/zsnes/src/init.asm +++ b/zsnes/src/init.asm @@ -1556,53 +1556,20 @@ NEWSYM init65816 mov byte[nmiprevline],224 mov byte[nmistatus],0 - mov eax,055555555h - - ;mov esi,[romdata] - ;add esi,07FC0h - ;cmp word[esi],'BS' ; 7FFFFFA - ;jne .notbsx -;.yesbsx - ;mov eax,0FFFFFFFFh - ;pushad - ;xor edx,edx - ;mov eax,128 - ;mov ebx,[NumofBanks] - ;div ebx - ;mov ecx,eax - ;dec ecx - ;jz .skipbsxmove - ;mov ebx,[NumofBanks] - ;shl ebx,15 - ;mov edx,ebx - ;add ebx,[romdata] -;.loopbsx - ;mov esi,[romdata] - ;mov edi,edx -;.loopbsx2 - ;mov al,[esi] - ;xor al,al - ;mov [ebx],al - ;inc esi - ;inc ebx - ;dec edi - ;jnz .loopbsx2 - ;dec ecx - ;jnz .loopbsx -;.skipbsxmove - ;popad -;.notbsx - cmp byte[GUIReset],1 jne .notreseting mov byte[GUIReset],0 jmp .afterramclear .notreseting + mov eax,055555555h helpclearmem wramdataa, 65536 helpclearmem ram7fa, 65536 .afterramclear cmp byte[BSEnable],1 jne .notbsx2 + mov eax,0FFFFFFFFh + helpclearmem wramdataa, 65536 + helpclearmem ram7fa, 65536 cmp byte[romtype],1 ;Hack for BS HiROMs jne .notbsx2 mov dword[ram7fa+65528],01010101h diff --git a/zsnes/src/initc.c b/zsnes/src/initc.c index 6777bd7d..dad6c55c 100755 --- a/zsnes/src/initc.c +++ b/zsnes/src/initc.c @@ -328,8 +328,8 @@ unsigned short sum(unsigned char *array, unsigned int size) return(theSum); } -extern unsigned char SPC7110Enable; -extern unsigned char BSEnable; +extern bool SPC7110Enable; +extern bool BSEnable; extern unsigned short Checksumvalue; void CalcChecksum() { @@ -399,7 +399,11 @@ extern bool SETAEnable; void SetupSramSize() { unsigned char *ROM = (unsigned char *)romdata; - if (SFXEnable) + if (BSEnable) + { + ramsize = 0; + } + else if (SFXEnable) { if (ROM[infoloc+CompanyOffset] == 0x33) //Extended header {