X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Farm.git;a=blobdiff_plain;f=betty%2Finterrupts.c;h=db2061dd433f66c0a378bfe4c76e4672b9f081d7;hp=5327588fb12be0df7822d7e250f520c33d70a7bd;hb=945d83a31473b984473f571bb92486991d14aa16;hpb=9ffcb052da56307e852aee2f7e9bf7a0fe2402c9 diff --git a/betty/interrupts.c b/betty/interrupts.c index 5327588..db2061d 100644 --- a/betty/interrupts.c +++ b/betty/interrupts.c @@ -6,45 +6,108 @@ */ #include "interrupts.h" +#include "functions.h" + +// 'module global' interrupt variable +static t_interrupt interrupt; /* * functions */ -void interrupt_set_default_callback(void *callback) { +void interrupt_init(void) { - VICDefVectAddr=(u32)callback; - + interrupt.default_soft_callback=0; + VICSoftIntClr=0xffffffff; + VICIntEnClr=0xffffffff; + VICDefVectAddr=0; +} + +void interrupt_set_default_callback(u32 callback_addr) { + + VICDefVectAddr=callback_addr; +} + +void interrupt_set_soft_callback(void (*callback)(void)) { + + interrupt.default_soft_callback=callback; } +void interrupt_soft_clear(u8 src_number) { + + VICSoftIntClr=(1<3) + return; + + if(wakeup) + EXTWAKE=(EXTWAKE&0xf)|(1<