typedef unsigned char byte;
typedef unsigned short word;

void wacht() {
	/* hou de processor even bezig... */
	word i;
	for (i=0; i<10000; ++i) {
		/* niets */
	}
}

int main() {
	volatile byte* doa=(byte*)0x1204; /* Data Out A register van de PSD */
	volatile byte* dob=(byte*)0x1205; /* Data Out B register van de PSD */
	volatile byte* da= (byte*)0x1206; /* Direction A register van de PSD */
	volatile byte* db= (byte*)0x1207; /* Direction B register van de PSD */
	
	*da=0xff; /* PPA0 t/m PPA7 output */
	*db=0x0f; /* PPB0 t/m PPB3 output, PPB4 t/m PPB7 input (niet gebruikt) */
	
	while (1) {
		*doa=0x55; /* PPA0, PPA2, PPA4 en PPA6 aan rest uit */
		*dob=0x05; /* PPB0 en PPB2 aan rest uit */
		wacht();
		*doa=0xaa; /* PPA0, PPA2, PPA4 en PPA6 uit rest aan */
		*dob=0x0a; /* PPB0 en PPB2 uit rest aan */
		wacht();
	}
	
	return 0;
}
