kein Problem:
Code:
void ks0108Init(void) {
	pos.x = 0;
	pos.y = 0;
	pos.page = 0;
	
	LCD_CMD_DIR = 0xFF;								// command port is output
	ks0108WriteCommand(LCD_ON, CHIP1);				// power on
	ks0108WriteCommand(LCD_ON, CHIP2);
	
	ks0108WriteCommand(LCD_DISP_START, CHIP1);		// display start line = 0
	ks0108WriteCommand(LCD_DISP_START, CHIP2);
	ks0108Fill(CLEAR);								// display clear
	ks0108GotoXY(0,0);
}
und nochmal die Putstring Funktion:

hoffe an irgendwas liegts, hatte das Display auch mit Bascom am laufen da funktionierte auch alles, musste aber auf c umsteigen.
Code:
void ks0108PutString(char *string, struct font font) {
	uint8_t startx=pos.x, i=0;
	char c = string[0];
	
	while(c != 0) {
		if(c == '\n')
			ks0108NewLine(font.height, startx);
		else
			ks0108PutChar(c, font);
		c = string[++i];
	}
}