qemu-e2k/hw/m68k
Mark Cave-Ayland b793b4ef8c mos6522: implement edge-triggering for CA1/2 and CB1/2 control line IRQs
The mos6522 datasheet describes how the control lines IRQs are edge-triggered
according to the configuration in the PCR register. Implement the logic according
to the datasheet so that the interrupt bits in IFR are latched when the edge is
detected, and cleared when reading portA/portB or writing to IFR as necessary.

To maintain bisectibility this change also updates the SCSI, SCSI data, Nubus
and VIA2 60Hz/1Hz clocks in the q800 machine to be negative edge-triggered as
confirmed by the PCR programming in all of Linux, NetBSD and MacOS.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220305150957.5053-12-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2022-03-09 09:28:28 +00:00
..
Kconfig m68k: add Virtual M68k Machine 2021-03-15 21:03:06 +01:00
an5206.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
bootinfo.h m68k: import bootinfo headers from linux 2021-02-11 21:56:42 +01:00
mcf5206.c m68k: do not use ram_size global 2020-12-10 12:15:08 -05:00
mcf5208.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
mcf_intc.c hw: Remove superfluous includes of hw/hw.h 2021-05-02 17:24:50 +02:00
meson.build m68k: add Virtual M68k Machine 2021-03-15 21:03:06 +01:00
next-cube.c softmmu/memory: Pass ram_flags to memory_region_init_ram_shared_nomigrate() 2021-06-15 20:27:38 +02:00
next-kbd.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
q800.c mos6522: implement edge-triggering for CA1/2 and CB1/2 control line IRQs 2022-03-09 09:28:28 +00:00
virt.c m68k: virt: correctly set the initial PC 2022-01-20 09:09:37 +01:00