mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
m740: NMI does not exist; update notes
This commit is contained in:
parent
2638f59b93
commit
e669b5ef46
@ -182,7 +182,7 @@ jsr_zpi
|
||||
stp_imp
|
||||
read_pc_noinc();
|
||||
logerror("STP at $%04x\n", PC);
|
||||
while(!nmi_pending && !irq_state) {
|
||||
while(!irq_state) {
|
||||
eat-all-cycles;
|
||||
}
|
||||
prefetch();
|
||||
@ -190,7 +190,7 @@ stp_imp
|
||||
wit_imp
|
||||
read_pc_noinc();
|
||||
logerror("WIT at $%04x\n", PC);
|
||||
while(!nmi_pending && !irq_state) {
|
||||
while(!irq_state) {
|
||||
eat-all-cycles;
|
||||
}
|
||||
prefetch();
|
||||
@ -209,7 +209,6 @@ reset_m
|
||||
inst_state = -1;
|
||||
|
||||
brk_m_imp
|
||||
// The 6502 bug when a nmi occurs in a brk is reproduced (case !irq_taken && nmi_pending)
|
||||
if(irq_taken) {
|
||||
read_pc_noinc();
|
||||
} else {
|
||||
@ -221,17 +220,11 @@ brk_m_imp
|
||||
dec_SP();
|
||||
write(SP, irq_taken ? P & ~F_B : P);
|
||||
dec_SP();
|
||||
if(nmi_pending) {
|
||||
PC = read_arg(0xfffa);
|
||||
PC = set_h(PC, read_arg(0xfffb));
|
||||
nmi_pending = false;
|
||||
standard_irq_callback(NMI_LINE);
|
||||
} else {
|
||||
PC = read_arg(m_irq_vector);
|
||||
PC = set_h(PC, read_arg(m_irq_vector+1));
|
||||
if(irq_taken)
|
||||
standard_irq_callback(IRQ_LINE);
|
||||
}
|
||||
// BRK uses the vector of the interrupt with the highest priority if any are enabled and pending
|
||||
PC = read_arg(m_irq_vector);
|
||||
PC = set_h(PC, read_arg(m_irq_vector+1));
|
||||
if(irq_taken)
|
||||
standard_irq_callback(IRQ_LINE);
|
||||
irq_taken = false;
|
||||
P |= F_I; // Do *not* move after the prefetch
|
||||
prefetch();
|
||||
@ -689,6 +682,7 @@ inc_m_zpx
|
||||
prefetch();
|
||||
|
||||
jmp_m_ind
|
||||
// JMP ($XXFF) has the same bug as on the NMOS 6502
|
||||
TMP = read_pc();
|
||||
TMP = set_h(TMP, read_pc());
|
||||
PC = read_data(TMP);
|
||||
|
Loading…
Reference in New Issue
Block a user