Index: ram/ettpch.c
===================================================================
--- ram/ettpch.c	(revision 7c059595cf18589c70298f1dc33f4a157c97bcdc)
+++ ram/ettpch.c	(revision 4b63bf32025928aa103cb35934a26f08ac067728)
@@ -126,9 +126,9 @@
 	cnvc2p(dspbuf, (val >> 1));
 
-	dspbuf[0] += '0';
-	dspbuf[1] += 'A';
+	dspbuf[0] = (int8_t)(dspbuf[0] + '0');
+	dspbuf[1] = (int8_t)(dspbuf[1] + 'A');
 	dspbuf[2] = sfdsp[dspbuf[2] - 7];
-	dspbuf[3] += '0';
-	dspbuf[4] += '0';
+	dspbuf[3] = (int8_t)(dspbuf[3] + '0');
+	dspbuf[4] = (int8_t)(dspbuf[4] + '0');
 	dspbuf[5] = '\0';
 
@@ -171,6 +171,6 @@
 	case 0:
 
-		ebuf[0] = k;
-		dspbuf[0] = k + '0';
+		ebuf[0] = (int8_t)k;
+		dspbuf[0] = (int8_t)(k + '0');
 		break;
 
@@ -180,6 +180,6 @@
 			return(FAILURE);
 
-		ebuf[1] = k;
-		dspbuf[0] = k + 'A';
+		ebuf[1] = (int8_t)k;
+		dspbuf[0] = (int8_t)(k + 'A');
 		break;
 
@@ -188,5 +188,5 @@
 		if (k EQ 7) {		/* blank */
 
-			ebuf[2] = k;
+			ebuf[2] = (int8_t)k;
 			dspbuf[0] = sfdsp[0];
 			break;
@@ -194,5 +194,5 @@
 		} else if (k EQ 8) {	/* flat */
 
-			ebuf[2] = k;
+			ebuf[2] = (int8_t)k;
 			dspbuf[0] = sfdsp[1];
 			break;
@@ -200,5 +200,5 @@
 		} else if (k EQ 9) {	/* sharp */
 
-			ebuf[2] = k;
+			ebuf[2] = (int8_t)k;
 			dspbuf[0] = sfdsp[2];
 			break;
@@ -210,6 +210,6 @@
 	case 4:
 
-		ebuf[col] = k;
-		dspbuf[0] = k + '0';
+		ebuf[col] = (int8_t)k;
+		dspbuf[0] = (int8_t)(k + '0');
 		break;
 	}
