diff --git a/firmware/rtc/MacRTC.c b/firmware/rtc/MacRTC.c index 97fc836..f1137f1 100644 --- a/firmware/rtc/MacRTC.c +++ b/firmware/rtc/MacRTC.c @@ -289,8 +289,11 @@ void setup(void) PORTB |= 1<irq_pool, 0, 5, bench_irq_names); - avr_connect_irq(avr_io_getirq(avr, AVR_IOCTL_IOPORT_GETIRQ('B'), 5), - bench_irqs + IRQ_SEC1); avr_connect_irq(bench_irqs + IRQ_CE, avr_io_getirq(avr, AVR_IOCTL_IOPORT_GETIRQ('B'), 0)); avr_connect_irq(bench_irqs + IRQ_CLK, avr_io_getirq(avr, AVR_IOCTL_IOPORT_GETIRQ('B'), 2)); - // Since we use open-drain signaling on data, this a bit trickier to - // connect to, but this is how to do it. + // Since we use open-drain signaling on sec1 and data, this a bit + // trickier to connect to, but this is how to do it. + avr_connect_irq(avr_iomem_getirq(avr, AVR_IO_TO_DATA(0x17), "RTC.SEC1*", 5), + bench_irqs + IRQ_SEC1); avr_connect_irq(bench_irqs + IRQ_DATA_IN, avr_io_getirq(avr, AVR_IOCTL_IOPORT_GETIRQ('B'), 1)); avr_connect_irq(avr_iomem_getirq(avr, AVR_IO_TO_DATA(0x17), "RTC.DATA.OUT*", 1), @@ -2282,10 +2282,6 @@ int setupSimAvr(char *progName, const char *fname, bool8_t interactMode) // ATTiny85 DDRB == 0x17 // ATTiny85 PORTB == 0x18 - avr_vcd_add_signal(&vcd_file, - avr_io_getirq(avr, AVR_IOCTL_IOPORT_GETIRQ('B'), 5), - 1 /* bits */, - "RTC.SEC1" ); avr_vcd_add_signal(&vcd_file, avr_io_getirq(avr, AVR_IOCTL_IOPORT_GETIRQ('B'), 0), 1 /* bits */, @@ -2295,8 +2291,12 @@ int setupSimAvr(char *progName, const char *fname, bool8_t interactMode) 1 /* bits */, "RTC.CLK" ); - // Since we use open-drain signaling on data, this a bit trickier to - // monitor, but this is how to do it. + // Since we use open-drain signaling on sec1 and data, this a bit + // trickier to monitor, but this is how to do it. + avr_irq_t *rtc_sec1_irq = + avr_iomem_getirq(avr, AVR_IO_TO_DATA(0x17), "RTC.SEC1*", 5); + avr_vcd_add_signal(&vcd_file, rtc_sec1_irq, 1 /* bits */, + "RTC.SEC1*" ); avr_vcd_add_signal(&vcd_file, avr_io_getirq(avr, AVR_IOCTL_IOPORT_GETIRQ('B'), 1), 1 /* bits */,