Index: ram/delpnts.c
===================================================================
--- ram/delpnts.c	(revision 3c4565611950233f76236773f5abbd2c25b48f5c)
+++ ram/delpnts.c	(revision 0b23063725458d9085b195c0aeee5cdd645834ff)
@@ -133,5 +133,5 @@
 		/* reset first point in function */
 
-		pp = &vp->idhpnt[fp->idfpt1];
+		pp = &vp->idhpnt[(int16_t)fp->idfpt1];
 
 		pp->iptim  = FPU_MINT;
Index: ram/etagpt.c
===================================================================
--- ram/etagpt.c	(revision 3c4565611950233f76236773f5abbd2c25b48f5c)
+++ ram/etagpt.c	(revision 0b23063725458d9085b195c0aeee5cdd645834ff)
@@ -102,5 +102,5 @@
 	}
 
-	dspbuf[0] = *gprep[ebuf[0]];
+	dspbuf[0] = *gprep[(int16_t)ebuf[0]];
 	dspbuf[1] = '\0';
 
Index: ram/etiosc.c
===================================================================
--- ram/etiosc.c	(revision 3c4565611950233f76236773f5abbd2c25b48f5c)
+++ ram/etiosc.c	(revision 0b23063725458d9085b195c0aeee5cdd645834ff)
@@ -113,6 +113,6 @@
 	}
 
-	cents = (ebuf[0] * 1200) + pitches[ebuf[1]] + shrpflt[ebuf[2] - 7]
-		+ (ebuf[3] * 10) + ebuf[4] + 160;
+	cents = (ebuf[0] * 1200) + pitches[(int16_t)ebuf[1]]
+		+ shrpflt[ebuf[2] - 7] + (ebuf[3] * 10) + ebuf[4] + 160;
 
 	return(SUCCESS);
Index: ram/initi.c
===================================================================
--- ram/initi.c	(revision 3c4565611950233f76236773f5abbd2c25b48f5c)
+++ ram/initi.c	(revision 0b23063725458d9085b195c0aeee5cdd645834ff)
@@ -64,5 +64,5 @@
 	register uint16_t tacc;
 
-	pp = &vbufs[curvce].idhpnt[vbufs[curvce].idhfnc[curfunc].idfpt1];
+	pp = &vbufs[curvce].idhpnt[(int16_t)vbufs[curvce].idhfnc[curfunc].idfpt1];
 	tacc = 0;
 
@@ -87,5 +87,5 @@
 	register struct instpnt *pp;
 
-	pp = &vbufs[curvce].idhpnt[vbufs[curvce].idhfnc[curfunc].idfpt1];
+	pp = &vbufs[curvce].idhpnt[(int16_t)vbufs[curvce].idhfnc[curfunc].idfpt1];
 	tacc = 0;
 
Index: ram/instdsp.c
===================================================================
--- ram/instdsp.c	(revision 3c4565611950233f76236773f5abbd2c25b48f5c)
+++ ram/instdsp.c	(revision 0b23063725458d9085b195c0aeee5cdd645834ff)
@@ -198,5 +198,5 @@
 	npt2 = 1;		/* right endpoint of line */
 
-	pt1 = &ip->idhpnt[fp->idfpt1];		/* left endpoint of line */
+	pt1 = &ip->idhpnt[(int16_t)fp->idfpt1];	/* left endpoint of line */
 	pt2 = pt1 + 1;				/* right endpoint of line */
 
@@ -412,5 +412,5 @@
 			idbuf[0] = (int8_t)(idbuf[0] + '0');
 			idbuf[1] = (int8_t)(idbuf[1] + 'A');
-			idbuf[2] = sfdsp[idbuf[2]];
+			idbuf[2] = sfdsp[(int16_t)idbuf[2]];
 			idbuf[3] = (int8_t)(idbuf[3] + '0');
 			idbuf[4] = (int8_t)(idbuf[4] + '0');
Index: ram/ldselbx.c
===================================================================
--- ram/ldselbx.c	(revision 3c4565611950233f76236773f5abbd2c25b48f5c)
+++ ram/ldselbx.c	(revision 0b23063725458d9085b195c0aeee5cdd645834ff)
@@ -133,5 +133,5 @@
 	}
 
-	if (skp_ec(fp, (int32_t)(scsizes[etype][1] - 1))) {	/* skip data */
+	if (skp_ec(fp, (int32_t)(scsizes[(int16_t)etype][1] - 1))) {	/* skip data */
 
 		skperr(ns);
@@ -150,5 +150,5 @@
 		/* skip the event's data */
 
-		if (skp_ec(fp, (int32_t)(scsizes[etype][1] - 1))) {
+		if (skp_ec(fp, (int32_t)(scsizes[(int16_t)etype][1] - 1))) {
 
 			skperr(ns);
Index: ram/scread.c
===================================================================
--- ram/scread.c	(revision 3c4565611950233f76236773f5abbd2c25b48f5c)
+++ ram/scread.c	(revision 0b23063725458d9085b195c0aeee5cdd645834ff)
@@ -251,5 +251,5 @@
 
 			if (etype EQ EV_SBGN)
-				seclist[sn][ep->e_data1] = ep;
+				seclist[sn][(int16_t)ep->e_data1] = ep;
 
 			break;
Index: ram/scwrite.c
===================================================================
--- ram/scwrite.c	(revision 3c4565611950233f76236773f5abbd2c25b48f5c)
+++ ram/scwrite.c	(revision 0b23063725458d9085b195c0aeee5cdd645834ff)
@@ -76,6 +76,6 @@
 		ep->e_type &= 0x7F;		/* clear new-data flag */
 
-		nl += scsizes[ep->e_type][0];
-		nb += scsizes[ep->e_type][1];
+		nl += scsizes[(int16_t)ep->e_type][0];
+		nb += scsizes[(int16_t)ep->e_type][1];
 
 		switch (ep->e_type) {
Index: ram/sedump.c
===================================================================
--- ram/sedump.c	(revision 3c4565611950233f76236773f5abbd2c25b48f5c)
+++ ram/sedump.c	(revision 0b23063725458d9085b195c0aeee5cdd645834ff)
@@ -77,5 +77,5 @@
 	x_unrec = FALSE;
 
-	return(evkinds[sep->e_type]);
+	return(evkinds[(int16_t)sep->e_type]);
 }
 
