MiSTer-devel / ao486_MiSTer

ao486 port for MiSTer
Other
252 stars 69 forks source link

8259A PIC incompatibility issue #122

Closed srmeister closed 1 year ago

srmeister commented 1 year ago

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 1 year ago

can you provide testing code?

srmeister commented 1 year ago
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.

sorgelig commented 1 year ago

try this build: ao486.zip

srmeister commented 1 year ago

thank you, works fine now.