Also ich hatte die funktionalität höchst umständlich neu Programmiert und diesen CASE ausgelassen

Meine void task_commandProcessor sieht so aus
ACHTUNG HÖCHST UMSTÄNDLICH!!!

Code:
**
 * This function checks if commands have been received and processes them.
 */
void task_commandProcessor(void)
{
	if(getCommand())
	{
		switch(cmd)
		{
			case CMD_SETLEDS:	setLEDs(param1); break;
			case CMD_CLEARLCD:  clearLCD(); break;
			case CMD_WRITECHARLCD: writeCharLCD(param1); break;
			case CMD_DISCHARGEPEAKDETECTOR: dischargePeakDetector(); break;
			case CMD_BEEP: beep(param1, param2); break;
			case CMD_SETBEEPERPITCH: setBeeperPitch(param1); break;
			case CMD_MSLEEP: mSleep(param1); break;
			case CMD_WRITE_I_AT_POSITION: 
			if(param1 < 100)
			{
				setCursorPosLCD(0,param1);
				writeIntegerLCD(param2,DEC);
				writeInteger(param2,DEC);
			}
			else
			{
				setCursorPosLCD(1,(param1-100));
				writeIntegerLCD(param2,DEC);
				writeInteger(param2,DEC);
			}
			case CMD_WRITE_S_AT_POSITION:
			if(param1 < 100)
			{
				setCursorPosLCD(0,param1);
				writeCharLCD(param2);

			}
			else
			{
				setCursorPosLCD(1,(param1-100));
				writeCharLCD(param2);
			}
		}
	}
}
Die entsprechenden Anpassungen im M128

Code:
Sub getASCII(a As Char) As Integer
   Dim t(52) As Char
   Dim k As Integer
   Dim i As Integer

   k = 32
   t = "! #$%&'()*+,-./0123456789:;<=>?"
   For i=0 To 30
        If t(i) = a Then
            k = i+33
            Return k
            Exit
        End If
    Next
   t ="@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_"
   For i=0 To 31
        If t(i) = a Then
            k = i+64
            Return k
            Exit
        End If
    Next
    t = "`abcdefghijklmnopqrstuvwxyz{|}~"
    For i=0 To 30
        If t(i) = a Then
            k = i+96
            Return k
            Exit
        End If
    Next
    Return k
End Sub

Sub showScreenM32Integer(i As Word, j As Word)
    RP6_writeCMD_2params(RP6_M32_ADR, CMD_WRITE_I_AT_POSITION, 0, i)
    RP6_writeCMD_2params(RP6_M32_ADR, CMD_WRITE_I_AT_POSITION, 100, j)
End Sub
Sub showScreenM32String(ByRef text1 As Char, ByRef text2 As Char)

    Dim i As Integer
    Dim size As Word
    Dim asciiValue As Word
    Thread_Lock(1)

    size = Str_Len(text1)
    printInteger(size)
    For i=0 To size-1
        asciiValue = getASCII(text1(i))
        RP6_writeCMD_2params(RP6_M32_ADR, CMD_WRITE_S_AT_POSITION, i, asciiValue)
        Thread_Delay(50)
    Next
   size = Str_Len(text2)

    For i=0 To size-1
        asciiValue = getASCII(text2(i))
        RP6_writeCMD_2params(RP6_M32_ADR, CMD_WRITE_S_AT_POSITION, i+100, asciiValue)
        Thread_Delay(50)
    Next

    Thread_Lock(0)



End Sub
Wie gesagt, eine sehr unschöne und beschämende Lösung. War für den Zweck aber ausreichend