X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Farm.git;a=blobdiff_plain;f=betty%2Finterrupts.c;h=bb2344cca56897fe873747d8de306d0bbca3711f;hp=41945cf30b417bf12ea2f43de0e7c7001bcc8bcb;hb=202c5cb4442b81aa5d0f7389b6dca62b2c121ac1;hpb=d01b3bb1e7565638e2275e6081dcb106c1fcdb41 diff --git a/betty/interrupts.c b/betty/interrupts.c index 41945cf..bb2344c 100644 --- a/betty/interrupts.c +++ b/betty/interrupts.c @@ -7,35 +7,87 @@ #include "interrupts.h" +/* + * module static interrupt variable + */ + +static t_interrupt interrupt; + /* * functions */ -void interrupt_set_default_callback(void *callback) { +void interrupt_init(void) { - VICDefVectAddr=(u32)callback; - + memset(&interrupt,0,sizeof(t_interrupt)); + VICSoftIntClear=0xff; + VICIntEnClear=0xff; + 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) { + + VICSoftIntClear=(1<