8259A PIC incompatibility issue
Closed this issue · 4 comments
srmeister commented
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.
sorgelig commented
can you provide testing code?
srmeister commented
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.
srmeister commented
thank you, works fine now.