diff --git a/firmware/system.c b/firmware/system.c index bf112b6f6f..f02bbb821d 100644 --- a/firmware/system.c +++ b/firmware/system.c @@ -450,3 +450,16 @@ asm ( "_UIE107:\tbsr\t_UIE\n\tmov.l\t@r15+,r4\t\n" "_UIE108:\tbsr\t_UIE\n\tmov.l\t@r15+,r4\t\n" "_UIE109:\tbsr\t_UIE\n\tmov.l\t@r15+,r4"); + +void system_init(void) +{ + /* Disable all interrupts */ + IPRA = 0; + IPRB = 0; + IPRC = 0; + IPRD = 0; + IPRE = 0; + + /* NMI level low, falling edge on all interrupts */ + ICR = 0; +} diff --git a/firmware/system.h b/firmware/system.h index 7f7305f737..2947fdc1ab 100644 --- a/firmware/system.h +++ b/firmware/system.h @@ -261,5 +261,6 @@ static inline int cas2 (volatile int *pointer1,volatile int *pointer2,int reques } extern void system_reboot (void); +extern void system_init(void); #endif