Index: ram/sqdkey.c
===================================================================
--- ram/sqdkey.c	(revision 19caa6417a7b595702695ac30d24612376a5b584)
+++ ram/sqdkey.c	(revision 3f2d5186e45aa24fe46ced3866b4814e954f9891)
@@ -81,5 +81,5 @@
 				return;
 
-			buf[0] = key + '0';
+			buf[0] = (int8_t)(key + '0');
 
 		} else if (col EQ 7) {		/* port */
@@ -87,5 +87,5 @@
 			if ((key EQ 1) OR (key EQ 2)) {		/* MIDI */
 
-				buf[0] = key + '0';
+				buf[0] = (int8_t)(key + '0');
 
 				UpdVid(7, stccol + 1, " 01", PTDATR);
@@ -109,5 +109,5 @@
 				return;
 
-			buf[0] = key + '0';
+			buf[0] = (int8_t)(key + '0');
 		}
 
@@ -142,7 +142,7 @@
 		}
 
-		buf[0] = key + '0';
+		buf[0] = (int8_t)(key + '0');
 		buf[1] = '\0';
-		sqdebuf[stccol] = key + '0';
+		sqdebuf[stccol] = (int8_t)(key + '0');
 
 		UpdVid(7, stccol, buf, PTDATR);
@@ -187,7 +187,7 @@
 			}
 
-			buf[0] = key + '0';
+			buf[0] = (int8_t)(key + '0');
 			buf[1] = '\0';
-			sqdebuf[stccol] = key + '0';
+			sqdebuf[stccol] = (int8_t)(key + '0');
 
 			UpdVid(7, stccol, buf, PTDATR);
@@ -218,7 +218,7 @@
 			}
 
-			buf[0] = key + '0';
+			buf[0] = (int8_t)(key + '0');
 			buf[1] = '\0';
-			sqdebuf[stccol] = key + '0';
+			sqdebuf[stccol] = (int8_t)(key + '0');
 
 			UpdVid(7, stccol, buf, PTDATR);
@@ -251,7 +251,7 @@
 			}
 
-			buf[0] = key + '0';
+			buf[0] = (int8_t)(key + '0');
 			buf[1] = '\0';
-			sqdebuf[stccol] = key + '0';
+			sqdebuf[stccol] = (int8_t)(key + '0');
 
 			UpdVid(7, stccol, buf, PTDATR);
@@ -285,7 +285,7 @@
 			}
 
-			buf[0] = key + '0';
+			buf[0] = (int8_t)(key + '0');
 			buf[1] = '\0';
-			sqdebuf[stccol] = key + '0';
+			sqdebuf[stccol] = (int8_t)(key + '0');
 
 			UpdVid(7, stccol, buf, PTDATR);
@@ -310,7 +310,7 @@
 			return;
 
-		buf[0] = key + '0';
+		buf[0] = (int8_t)(key + '0');
 		buf[1] = '\0';
-		sqdebuf[stccol] = key + '0';
+		sqdebuf[stccol] = (int8_t)(key + '0');
 
 		UpdVid(7, stccol, buf, PTDATR);
@@ -353,8 +353,8 @@
 	if (inrange(stccol, 2, 4)) {			/* line */
 
-		buf[0] = key + '0';
+		buf[0] = (int8_t)(key + '0');
 		buf[1] = '\0';
 
-		sqdebuf[stccol] = key + '0';
+		sqdebuf[stccol] = (int8_t)(key + '0');
 
 		UpdVid(7, stccol, buf, PTDATR);
@@ -372,8 +372,8 @@
 			return;
 
-		buf[0] = key + '0';
+		buf[0] = (int8_t)(key + '0');
 		buf[1] = '\0';
 
-		sqdebuf[stccol] = key + '0';
+		sqdebuf[stccol] = (int8_t)(key + '0');
 
 		UpdVid(7, stccol, buf, PTDATR);
