MiSTer-devel/ao486_MiSTer

8259A PIC incompatibility issue

Closed this issue · 4 comments

Hello,
once an IRQ input to the PIC is raised, setting mask on that IRQ doesn't clear the output "Interrupt_do" to the CPU, but it should.
But when the CPU reacts to the PIC in this situation, (interrupt acknowledge cycle) it will read no vector (zero vector) since the IRQ is masked.

can you provide testing code?

cli
mov     al, 0FFh
out     21h, al
out     0A1h, al

sti
;interrupt will occur here if interrupt was raised before masking all Interrupts above

becaus output "interrupt_do" of pic.v Verilog code, will stay raised after masking all interrupts.

try this build:
ao486.zip

thank you, works fine now.