static void direction_set_input( int port, int pin ){ *gpioreg( port, 0x1000 ) &= ~ ( 0x01 << pin ); }
static bool get(){ return *gpioreg( port, 0x3FFC ) & ( 0x01 << pin ); }
static void direction_set_output( int port, int pin ){ *gpioreg( port, 0x1000 ) |= ( 0x01 << pin ); }
static void set( bool x ){ *gpioreg( port, 0x04 << pin ) = x ? -1 : 0; }