X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Farm.git;a=blobdiff_plain;f=betty%2Finterrupts.c;h=e344f054149066fd6724e3ea061056ecb147ce73;hp=bb2344cca56897fe873747d8de306d0bbca3711f;hb=b75b1bf631a3bb68f50f65c65736b1bf743f51b7;hpb=202c5cb4442b81aa5d0f7389b6dca62b2c121ac1 diff --git a/betty/interrupts.c b/betty/interrupts.c index bb2344c..e344f05 100644 --- a/betty/interrupts.c +++ b/betty/interrupts.c @@ -6,11 +6,9 @@ */ #include "interrupts.h" +#include "functions.h" -/* - * module static interrupt variable - */ - +// 'module global' interrupt variable static t_interrupt interrupt; /* @@ -19,9 +17,9 @@ static t_interrupt interrupt; void interrupt_init(void) { - memset(&interrupt,0,sizeof(t_interrupt)); - VICSoftIntClear=0xff; - VICIntEnClear=0xff; + interrupt.default_soft_callback=0; + VICSoftIntClr=0xffffffff; + VICIntEnClr=0xffffffff; VICDefVectAddr=0; } @@ -32,12 +30,12 @@ void interrupt_set_default_callback(u32 callback_addr) { void interrupt_set_soft_callback(void (*callback)(void)) { - interrupt->default_soft_callback=callback; + interrupt.default_soft_callback=callback; } void interrupt_soft_clear(u8 src_number) { - VICSoftIntClear=(1<3) + return; + + if(wakeup) + EXTWAKE=(EXTWAKE&0xf)|(1<3) + return; + + EXTINT=(1<