diff --git a/zsnes/src/cpu/65816d.inc b/zsnes/src/cpu/65816d.inc index c8cb2128..efc8a6ce 100644 --- a/zsnes/src/cpu/65816d.inc +++ b/zsnes/src/cpu/65816d.inc @@ -1306,7 +1306,6 @@ COPemulmode %endmacro %macro RTIMacro 0 -; mov byte[doirqnext],0 cmp byte[nmistatus],3 jne .nodis658162 test byte[curexecstate],01h @@ -1363,6 +1362,7 @@ COPemulmode mov esi,[snesmmap+ebx*4] mov [initaddrl],esi add esi,eax + mov byte[doirqnext],0 test dl,00010000b jnz .setx endloop diff --git a/zsnes/src/cpu/65816db.inc b/zsnes/src/cpu/65816db.inc index f05711db..b9c1b175 100644 --- a/zsnes/src/cpu/65816db.inc +++ b/zsnes/src/cpu/65816db.inc @@ -1305,7 +1305,6 @@ COPemulmode %endmacro %macro RTIMacro 0 -; mov byte[doirqnext],0 cmp byte[nmistatus],3 jne .nodis658162 test byte[curexecstate],01h @@ -1363,6 +1362,7 @@ COPemulmode mov esi,[snesmmap+ebx*4] mov [initaddrl],esi add esi,eax + mov byte[doirqnext],0 cmp byte[esi],0CBh jne .notwai mov byte[intrset],2 diff --git a/zsnes/src/cpu/65816dc.inc b/zsnes/src/cpu/65816dc.inc index 84dd687b..75397622 100644 --- a/zsnes/src/cpu/65816dc.inc +++ b/zsnes/src/cpu/65816dc.inc @@ -1319,7 +1319,6 @@ COPemulmode %endmacro %macro RTIMacro 0 -; mov byte[doirqnext],0 cmp byte[nmistatus],3 jne near .nodis658162 test byte[curexecstate],01h @@ -1377,6 +1376,7 @@ COPemulmode mov esi,[snesmmap+ebx*4] mov [initaddrl],esi add esi,eax + mov byte[doirqnext],0 cmp byte[esi],0CBh jne .notwai mov byte[intrset],2 diff --git a/zsnes/src/init.asm b/zsnes/src/init.asm index 1b9ec2b7..694c72c8 100644 --- a/zsnes/src/init.asm +++ b/zsnes/src/init.asm @@ -1843,8 +1843,21 @@ NEWSYM headerhack mov esi,[romdata] add esi,0FFC0h cmp dword[esi],0C4DDDBCCh - jne .noromheadfm2 + jne .noromheadfm cmp dword[esi+4],0AEBCAFD0h + jne .noromheadfm + mov byte[opexec268],226 + mov byte[opexec358],226 + mov byte[opexec268cph],80 + mov byte[opexec358cph],80 +.noromheadfm + + ; Front Mission - -p 140 + mov esi,[romdata] + add esi,0FFC0h + cmp dword[esi],'FRON' + jne .noromheadfm2 + cmp dword[esi+4],'T MI' jne .noromheadfm2 mov byte[opexec268],226 mov byte[opexec358],226 @@ -1875,19 +1888,6 @@ NEWSYM headerhack mov word[ramsizeand],4095 .noromheaddk - ; Front Mission - -p 140 - mov esi,[romdata] - add esi,0FFC0h - cmp dword[esi],'FRON' - jne .noromheadfm - cmp dword[esi+4],'T MI' - jne .noromheadfm - mov byte[opexec268],226 - mov byte[opexec358],226 - mov byte[opexec268cph],80 - mov byte[opexec358cph],80 -.noromheadfm - ret .ewj2head db 58,62,45,43,55,40,48,45,50,95,53,54,50,95,77,95,95,95,95,95