ソースを参照

Fix status register saved on interrupt

v2
Nathaniel Walizer 3ヶ月前
コミット
708a6d9831
1個のファイルの変更1行の追加1行の削除
  1. +1
    -1
      src/f6502.c

+ 1
- 1
src/f6502.c ファイルの表示

@@ -434,7 +434,7 @@ static inline int f6502_interrupt(f6502_Core* core,
uint16_t addr) { uint16_t addr) {
PUSH16(core, core->registers.S, core->registers.PC); PUSH16(core, core->registers.S, core->registers.PC);
PUSH(core, core->registers.S, PUSH(core, core->registers.S,
core->registers.P & ~f6502_Status_B);
(core->registers.P & ~f6502_Status_B) | f6502_Status_1);
SET(core->registers.P, f6502_Status_I); SET(core->registers.P, f6502_Status_I);
core->registers.PC = f6502_read16(&core->memory, addr); core->registers.PC = f6502_read16(&core->memory, addr);
return 7; return 7;


読み込み中…
キャンセル
保存