From d29068bec46c986a437aac4e2df0aa2b871c0675 Mon Sep 17 00:00:00 2001 From: zsknight <> Date: Wed, 27 Jun 2001 22:54:04 +0000 Subject: [PATCH] Full Throttle Racing working. --- zsnes/src/cpu/e65816.inc | 2 +- zsnes/src/cpu/e65816b.inc | 1 + zsnes/src/cpu/e65816c.inc | 1 + zsnes/src/cpu/se65816.inc | 27 ++++++++++++++++++++++++++- 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/zsnes/src/cpu/e65816.inc b/zsnes/src/cpu/e65816.inc index 2f3b0303..d5e8ce7c 100644 --- a/zsnes/src/cpu/e65816.inc +++ b/zsnes/src/cpu/e65816.inc @@ -1319,6 +1319,7 @@ COp7Em16:; ROR a,x endloop COp40: ; RTI s + mov byte[intrset],2 RTIMacro COp6B: ; RTL s RTLMacro @@ -1976,7 +1977,6 @@ COpBBx16:; TYX i endloop COpCB: ; WAI i - mov byte[debstop3],1 WAIMacro COpEB: ; XBA i diff --git a/zsnes/src/cpu/e65816b.inc b/zsnes/src/cpu/e65816b.inc index 6f95f2ca..08648ee6 100644 --- a/zsnes/src/cpu/e65816b.inc +++ b/zsnes/src/cpu/e65816b.inc @@ -1312,6 +1312,7 @@ COp7Em16:; ROR a,x endloop COp40: ; RTI s + mov byte[intrset],2 RTIMacro COp6B: ; RTL s RTLMacro diff --git a/zsnes/src/cpu/e65816c.inc b/zsnes/src/cpu/e65816c.inc index 744f9ea2..cabe6761 100644 --- a/zsnes/src/cpu/e65816c.inc +++ b/zsnes/src/cpu/e65816c.inc @@ -1312,6 +1312,7 @@ COp7Em16:; ROR a,x endloop COp40: ; RTI s + mov byte[intrset],2 RTIMacro COp6B: ; RTL s RTLMacro diff --git a/zsnes/src/cpu/se65816.inc b/zsnes/src/cpu/se65816.inc index 20b9b683..b68b5c8b 100644 --- a/zsnes/src/cpu/se65816.inc +++ b/zsnes/src/cpu/se65816.inc @@ -21,9 +21,33 @@ EXTSYM initaddrl,membank0r16,membank0r8 EXTSYM membank0w16,membank0w8,memtabler16,memtabler8,memtablew16,memtablew8 EXTSYM nmistatus,regaccessbankr8,snesmap2,snesmmap,stackand,stackor EXTSYM wramdata,SA1xa,SA1xd,SA1xdb,xe,xirqb,SA1xpb,xpc,SA1xs,SA1xx,SA1xy -EXTSYM switchtovirq,cpuoverptr,debstop4 +EXTSYM switchtovirq,cpuoverptr,debstop4,SA1RegP,nextopcode,debugsa1,skipdebugsa1 +sa1debug: + cmp byte[debuggeron],0 + je .nodebugger + cmp byte[skipdebugsa1],1 + je .nodebugger + pushad + mov bl,[SA1xpb] + mov ax,[xpc] + test eax,8000h + jz .loweraddr2 + mov eax,[snesmmap+ebx*4] + jmp .nextaddr +.loweraddr2 + mov eax,[snesmap2+ebx*4] +.nextaddr + mov ebx,esi + sub ebx,eax + mov [xpc],bx + mov [SA1RegP],dl + mov byte[debugsa1],1 + call nextopcode + popad +.nodebugger + ret @@ -1315,6 +1339,7 @@ SA1COp7Em16:; ROR a,x endloop SA1COp40: ; RTI s + mov byte[intrset],2 RTIMacro SA1COp6B: ; RTL s RTLMacro