X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Farm.git;a=blobdiff_plain;f=betty%2Finterrupts.c;h=a96cc2f2a60581e2e9f3c936f7afe4b943279f9d;hp=fa1fcc1f82dccc54816d7d26ea12aad43692c795;hb=26e5d8a9fcb9ff98019259619d7256a50220b8e9;hpb=6543545b048b7059941b0f6680227ec4ce26535e diff --git a/betty/interrupts.c b/betty/interrupts.c index fa1fcc1..a96cc2f 100644 --- a/betty/interrupts.c +++ b/betty/interrupts.c @@ -7,10 +7,94 @@ #include "interrupts.h" +/* + * module static interrupt variable + */ + +static t_interrupt interrupt; + /* * functions */ +void interrupt_init(void) { + + memset(&interrupt,0,sizeof(t_interrupt)); + VICSoftIntClear=0xff; + VICIntEnClear=0xff; + VICDefVectAddr=0; +} + +void interrupt_set_default_callback(void *callback) { + + VICDefVectAddr=(u32)callback; +} + +void interrupt_set_soft_callback(void (*callback)(void)) { + + interrupt->default_soft_callback=callback; +} + +void interrupt_soft_clear(u8 src_number) { + + VICSoftIntClear=(1<