From 25fde4d9d06d8901f2c72bc92d8ec4b328c349ce Mon Sep 17 00:00:00 2001 From: "Christopher A. Mosher" Date: Tue, 9 Jul 2019 19:33:57 -0400 Subject: [PATCH] improved handling of B status bit --- src/cpu.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/cpu.cpp b/src/cpu.cpp index 5812c0e..6f79457 100644 --- a/src/cpu.cpp +++ b/src/cpu.cpp @@ -1441,7 +1441,7 @@ void CPU::addr_NMI() case 4: address = push(); p |= PMASK_I; - p &= ~PMASK_B; // ??? + p &= ~PMASK_B; data = p; write(); break; @@ -1523,7 +1523,7 @@ void CPU::addr_IRQ() case 4: address = push(); p |= PMASK_I; - p &= ~PMASK_B; // ??? + p &= ~PMASK_B; data = p; write(); break; @@ -1937,7 +1937,7 @@ void CPU::PHA() void CPU::PHP() { - this->data = p; + this->data = this->p | PMASK_B; } void CPU::PLA() @@ -1950,6 +1950,7 @@ void CPU::PLP() { this->p = this->data; this->p |= PMASK_M; + this->p |= PMASK_B; } void CPU::BRK()