Index: ram/scordsp.c
===================================================================
--- ram/scordsp.c	(revision 26553e220dab452fa582e6e93bbb7bf903759c16)
+++ ram/scordsp.c	(revision 3fcb8106442d6c4bc27177e8ba8a021c3c7916b8)
@@ -15,12 +15,12 @@
 };
 
-int16_t	simled[3] = {		/* simulated LED colors for group modes */
-
-	0x00A2,		/* play mode    = green */
-	0x0062,		/* standby mode = yellow */
-	0x0052		/* record mode  = red */
+uint16_t	simled[3] = {		/* simulated LED colors for group modes */
+
+		0x00A2,		/* play mode    = green */
+		0x0062,		/* standby mode = yellow */
+		0x0052		/* record mode  = red */
 };
 
-int8_t	nsvtab[] = {		/* note value modifier (accidental) table */
+int8_t		nsvtab[] = {		/* note value modifier (accidental) table */
 
 	0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1,	/*  21 ..  32 -- A0 .. G#0 */
@@ -34,5 +34,5 @@
 };
 
-int16_t	scorpal[16][3] = {		/* score palette */
+int16_t		scorpal[16][3] = {	/* score palette */
 
 	{0, 0, 0},	/*  0 - black */
@@ -54,5 +54,5 @@
 };
 
-int8_t	*clklbl[] = {	/* clock control and scource labels */
+int8_t		*clklbl[] = {		/* clock control and scource labels */
 
 	"Local",	/* 0 - CK_LOCAL */
@@ -65,5 +65,5 @@
 };
 
-int8_t	*sdisp[] = {	/* score display fixed text strings */
+int8_t		*sdisp[] = {		/* score display fixed text strings */
 
 	/* 0 */		"\230\231\232\233     ",	/* Interpolate */
@@ -100,14 +100,14 @@
 */
 
-void makeln(uint16_t lnc, uint16_t lew)
+void makeln(int16_t lnc, int16_t lew2)
 {
 	volatile uint16_t *lp, *cp;
 	int16_t i;
-	uint16_t lbg;
+	uint16_t lew, lbg;
 
 	lp = obj15;			/* setup line object pointer */
 	cp = consl;			/* setup constant slice pointer */
 
-	lew = exp_c(lew);		/* create ledger line constant */
+	lew = exp_c(lew2);		/* create ledger line constant */
 
 	lnc &= 0x000F;			/* mask cursor line color */
@@ -146,5 +146,5 @@
 			*lp++ = lbg & 0xFFF0;
 			*lp++ = lbg;
-			*lp++ = (lbg & 0xFFF0) | lnc;
+			*lp++ = (lbg & 0xFFF0) | (uint16_t)lnc;
 			*lp++ = lbg;
 		}
@@ -289,5 +289,5 @@
 	for (i = 0; i < 6; i++) {
 
-		buf[0] = '0' + anrs[i][abs(angroup) - 1];
+		buf[0] = (int8_t)('0' + anrs[i][abs(angroup) - 1]);
 		vputs(obj8, 7, 6 + (i * 9), buf, SDW12ATR);
 	}
@@ -443,5 +443,5 @@
 	curfr = t_ctr;
 	beat  = curfr / 48;
-	frame = curfr % 48;
+	frame = (int16_t)(curfr % 48);
 
 	sprintf(bfs, "%05ld F %02d", beat, frame);
@@ -507,6 +507,6 @@
 		vbank(0);
 
-	c = 1 + n + (grpstat[n] ? ((n > 8) ? 162 : '0') : 192);
-	vputc(obj8, 2, 5 + (n * 5), c, (((n + 3) << 4) | 2));
+	c = (int8_t)(1 + n + (grpstat[n] ? ((n > 8) ? 162 : '0') : 192));
+	vputc(obj8, 2, 5 + (n * 5), c, (uint16_t)(((n + 3) << 4) | 2));
 }
 
@@ -657,5 +657,6 @@
 void sdwin(int16_t n)
 {
-	int16_t atrib, i;
+	uint16_t atrib;
+	int16_t i;
 
 	if (ndisp NE 2)			/* only if score is selected */
Index: ram/scordsp.x
===================================================================
--- ram/scordsp.x	(revision 26553e220dab452fa582e6e93bbb7bf903759c16)
+++ ram/scordsp.x	(revision 3fcb8106442d6c4bc27177e8ba8a021c3c7916b8)
@@ -19,5 +19,5 @@
 extern	int16_t		scorpal[16][3];
 extern	int8_t		*sdisp[];
-extern	int16_t		simled[3];
+extern	uint16_t	simled[3];
 extern	int16_t		var2src[6];
 
@@ -48,5 +48,5 @@
 extern	void		dssect(void);
 extern	void		dsvmode(int16_t n);
-extern	void		makeln(uint16_t lnc, uint16_t lew);
+extern	void		makeln(int16_t lnc, int16_t lew);
 extern	void		sdsetup(void);
 extern	void		sdwin(int16_t n);
