
#define _IO_BASE        0
#define _ADDR(off)      (unsigned char volatile *)(_IO_BASE + off)
#define _P(off)         *(unsigned char volatile *)(_IO_BASE + off)
#define _LP(off)        *(unsigned short volatile *)(_IO_BASE + off)

#define PORTA   _P(0x00)
#define PORTB   _P(0x01)
#define DDRA    _P(0x02)
#define DDRB    _P(0x03)

#define PORTE   _P(0x08)
#define DDRE    _P(0x09)

#define COPCTL   _P(0x3C)

#define PORTK    _P(0x32)
#define DDRK     _P(0x33)

#define PTT     _P(0x0240)
#define PTIT    _P(0x0241)
#define DDRT    _P(0x0242)
#define RDRT    _P(0x0243)
#define PERT    _P(0x0244)
#define PPST    _P(0x0245)


#define PTS     _P(0x0248)
#define PTIS    _P(0x0249)
#define DDRS    _P(0x024A)
#define RDRS    _P(0x024B)
#define PERS    _P(0x024C)
#define PPSS    _P(0x024D)
#define WOMS    _P(0x024E)


#define PTM     _P(0x0250)
#define PTIM    _P(0x0251)
#define DDRM    _P(0x0252)
#define RDRM    _P(0x0253)
#define PERM    _P(0x0254)
#define PPSM    _P(0x0255)
#define WOMM    _P(0x0256)


#define PTP     _P(0x0258)
#define PTIP    _P(0x0259)
#define DDRP    _P(0x025A)
#define RDRP    _P(0x025B)
#define PERP    _P(0x025C)
#define PPSP    _P(0x025D)
#define PIEP    _P(0x025E)
#define PIFP    _P(0x025F)

#define PTH     _P(0x0260)
#define PTIH    _P(0x0261)
#define DDRH    _P(0x0262)
#define RDRH    _P(0x0263)
#define PERH    _P(0x0264)
#define PPSH    _P(0x0265)
#define PIEH    _P(0x0266)
#define PIFH    _P(0x0267)

#define PTJ     _P(0x0268)
#define PTIJ    _P(0x0269)
#define DDRJ    _P(0x026A)
#define RDRJ    _P(0x026B)
#define PERJ    _P(0x026C)
#define PPSJ    _P(0x026D)
#define PIEJ    _P(0x026E)
#define PIFJ    _P(0x026F)

