gbasys

diff src/intr.h @ 8:047c61960005

- added bg2 matrix support - changed some stupid const pointers to register addresses to hardcoded compile-time defines
author John Tsiombikas <nuclear@member.fsf.org>
date Sun, 22 Jun 2014 06:26:11 +0300
parents e3dc7705ad9c
children 85f219fcdc82
line diff
     1.1 --- a/src/intr.h	Tue Sep 04 05:05:50 2012 +0300
     1.2 +++ b/src/intr.h	Sun Jun 22 06:26:11 2014 +0300
     1.3 @@ -39,20 +39,21 @@
     1.4  	INTR_GPAK
     1.5  };
     1.6  
     1.7 -extern unsigned short *reg_int_master;
     1.8 -extern unsigned short *reg_int_mask;
     1.9 +#define REG_INTR_MASTER		(*(unsigned short*)0x4000208)
    1.10 +#define REG_INTR_MASK		(*(unsigned short*)0x4000200)
    1.11 +#define REG_INTR			(*(unsigned short*)0x4000202)
    1.12  
    1.13  void intr_init(void);
    1.14  
    1.15  /* set/clear interrupts */
    1.16 -#define set_int()	do {*reg_int_master = 1;} while(0)
    1.17 -#define clr_int()	do {*reg_int_master = 0;} while(0)
    1.18 +#define set_int()	do {REG_INTR_MASTER = 1;} while(0)
    1.19 +#define clr_int()	do {REG_INTR_MASTER = 0;} while(0)
    1.20  
    1.21  /* set an interrupt handler */
    1.22  void interrupt(int intr, void (*handler)(void));
    1.23  
    1.24  /* mask/unmask an interrupt */
    1.25 -#define mask(intr)		do {*reg_int_mask ^= 1 << (intr);} while(0)
    1.26 -#define unmask(intr)	do {*reg_int_mask |= 1 << (intr);} while(0)
    1.27 +#define mask(intr)		do {REG_INTR_MASK ^= 1 << (intr);} while(0)
    1.28 +#define unmask(intr)	do {REG_INTR_MASK |= 1 << (intr);} while(0)
    1.29  
    1.30  #endif	/* _INTR_H_ */