Index: ram/localkb.c
===================================================================
--- ram/localkb.c	(revision 2da8254651115c831fb96be6ec8f7d889dcdd736)
+++ ram/localkb.c	(revision a4bd34f8abea97fe66b81d5b1c3062236264c44d)
@@ -58,8 +58,8 @@
 void setleds(void)
 {
-	register int16_t i;
+	int16_t i;
 
 	for (i = 0; i < 24; i++)		/* turn off all LEDs */
-		io_leds = 0x0080 | i;
+		io_leds = (uint8_t)(0x0080 | i);
 
 	switch (pkctrl) {
@@ -77,6 +77,6 @@
 			io_leds = 0x01;
 
-		io_leds = 6 - stepwgt;
-		io_leds = 7 + stepint;
+		io_leds = (uint8_t)(6 - stepwgt);
+		io_leds = (uint8_t)(7 + stepint);
 		return;
 
@@ -86,5 +86,5 @@
 			return;
 
-		io_leds = (curasg - 1) % 20;	/* indicate current assignment */
+		io_leds = (uint8_t)((curasg - 1) % 20);	/* indicate current assignment */
 		return;
 
@@ -95,5 +95,5 @@
 			for (i = 0; i < 20; i++)
 				if (E_NULL NE seclist[curscor][i])
-					io_leds = i;
+					io_leds = (uint8_t)i;
 
 		} else {			/* indicate active scores */
@@ -101,5 +101,5 @@
 			for (i = 0; i < 20; i++)
 				if (E_NULL NE scores[i])
-					io_leds = i;
+					io_leds = (uint8_t)i;
 		}
 
@@ -110,5 +110,5 @@
 		for (i = 0; i < 20; i++)
 			if (E_NULL NE scores[i])
-				io_leds = i;
+				io_leds = (uint8_t)i;
 
 		return;
@@ -147,5 +147,5 @@
 				keystat[key] = 1;
 
-				stmproc(trg);	/* process as a patch stimulus */
+				stmproc((uint16_t)trg);	/* process as a patch stimulus */
 
 				if (editsw) {		/* edit mode */
@@ -182,5 +182,5 @@
 									ep->e_time = t_cur;
 									ep->e_type = EV_ANVL;
-									ep->e_data1 = 0x0050 | i;
+									ep->e_data1 = (int8_t)(0x0050 | i);
 									ep->e_dn = (struct s_entry *)((int32_t)val << 16);
 									p_cur = e_ins(ep, ep_adj(p_cur, 0, t_cur))->e_fwd;
@@ -220,5 +220,6 @@
 				}
 
-				stmproc(0x8000 | trg);	/* process as a patch stimulus */
+				/* process as a patch stimulus */
+				stmproc(0x8000 | (uint16_t)trg);
 			}
 		}
