Index: include/instdsp.h
===================================================================
--- include/instdsp.h	(revision c93e44da8f155b93b1052c5d77fe3e18a3215b96)
+++ include/instdsp.h	(revision fa5007636147a8ab53fddf39eaa7874735b84e5b)
@@ -124,10 +124,10 @@
 struct	instpnt	{	/* function point definition */
 
-	int16_t	iptim;		/* time (packed) */
-	int16_t	ipval;		/* value */
-	int16_t	ipvmlt;		/* value multiplier */
-
-	int8_t	ipvsrc;		/* value source */
-	int8_t	ipact;		/* action code */
+	uint16_t	iptim;	/* time (packed) */
+	int16_t		ipval;	/* value */
+	int16_t		ipvmlt;	/* value multiplier */
+
+	int8_t		ipvsrc;	/* value source */
+	int8_t		ipact;	/* action code */
 
 #define	AC_NULL		0	/* null action */
@@ -140,9 +140,9 @@
 #define	AC_UNDF		7	/* -- undefined - treated as AC_NULL -- */
 
-	int8_t	ippar1;		/* action parameter 1  (point) */
-	int8_t	ippar2;		/* action parameter 2  (count) */
-
-	int8_t	ippar3;		/* action parameter 3  (counter) */
-	int8_t	ippad;		/* padding for even boundary */
+	int8_t		ippar1;	/* action parameter 1  (point) */
+	int8_t		ippar2;	/* action parameter 2  (count) */
+
+	int8_t		ippar3;	/* action parameter 3  (counter) */
+	int8_t		ippad;	/* padding for even boundary */
 };
 
Index: ram/etitim.c
===================================================================
--- ram/etitim.c	(revision c93e44da8f155b93b1052c5d77fe3e18a3215b96)
+++ ram/etitim.c	(revision fa5007636147a8ab53fddf39eaa7874735b84e5b)
@@ -72,8 +72,8 @@
 		subj, pecase, temin, tmpval, temax);
 #endif
-	if (tmpval > (uint16_t)temax)
+	if (tmpval > temax)
 		return(FAILURE);
 
-	if (tmpval < (uint16_t)temin)
+	if (tmpval < temin)
 		return(FAILURE);
 
Index: ram/im700.c
===================================================================
--- ram/im700.c	(revision c93e44da8f155b93b1052c5d77fe3e18a3215b96)
+++ ram/im700.c	(revision fa5007636147a8ab53fddf39eaa7874735b84e5b)
@@ -200,6 +200,6 @@
 int16_t		tagslot;		/* tagged load slot */
 int16_t		tdnamsw;		/* tuning editor displaying typewriter */
-int16_t		temax;			/* time upper limit */
-int16_t		temin;			/* time lower limit */
+uint16_t	temax;			/* time upper limit */
+uint16_t	temin;			/* time lower limit */
 int16_t		testing;		/* test level */
 int16_t		tglclk;			/* clock on/off toggle flag */
Index: ram/im700.x
===================================================================
--- ram/im700.x	(revision c93e44da8f155b93b1052c5d77fe3e18a3215b96)
+++ ram/im700.x	(revision fa5007636147a8ab53fddf39eaa7874735b84e5b)
@@ -314,6 +314,6 @@
 extern	int16_t		tdnamsw;
 extern	struct	octent	*tdoct;
-extern	int16_t		temax;
-extern	int16_t		temin;
+extern	uint16_t	temax;
+extern	uint16_t	temin;
 extern	int16_t		testing;
 extern	int16_t		tglclk;
Index: ram/initi.c
===================================================================
--- ram/initi.c	(revision c93e44da8f155b93b1052c5d77fe3e18a3215b96)
+++ ram/initi.c	(revision fa5007636147a8ab53fddf39eaa7874735b84e5b)
@@ -58,5 +58,5 @@
 */
 
-int16_t segtime(int16_t pn, uint16_t ptime)
+uint16_t segtime(int16_t pn, uint16_t ptime)
 {
 	register struct instpnt *pp;
@@ -102,9 +102,10 @@
 */
 
-int16_t timeto(int16_t fn, int16_t pj)
+uint16_t timeto(int16_t fn, int16_t pj)
 {
 	register struct instdef *ip;
 	register struct instpnt *pt;
-	register int16_t tf, pm, pn;
+	register int16_t pm, pn;
+	uint16_t tf;
 
 	ip = &vbufs[curvce];
@@ -423,5 +424,6 @@
 void initi(struct instdef *ip)
 {
-	register int16_t i, mintfpu, rb;
+	int16_t i, rb;
+	uint16_t mintfpu;
 
 	memsetw(ip, 0, sizeof (struct instdef) / 2);
@@ -433,5 +435,5 @@
 
 	ip->idhplft = NIPNTS - NFINST;
-	ip->idhcfg = (initcfg >> 8) & 0x00FF;
+	ip->idhcfg = (int8_t)((initcfg >> 8) & 0x00FF);
 	mintfpu = tofpu(1);
 
@@ -442,6 +444,6 @@
 		rb = ((i < 4) AND (i NE 0)) ? 0 : I_NRATIO;
 		ip->idhfnc[i].idfpif = 1;
-		ip->idhfnc[i].idfpt1 = i;
-		ip->idhfnc[i].idftmd = (I_TM_KEY | 0x0010) | rb;
+		ip->idhfnc[i].idfpt1 = (int8_t)i;
+		ip->idhfnc[i].idftmd = (int8_t)((I_TM_KEY | 0x0010) | rb);
 
 		/* initialize the first point in the function */
@@ -453,6 +455,6 @@
 	for (i = 0; i < NUMWPNT; i++) {
 
-		ip->idhwvaf[i] = (ip->idhwvao[i] = 0x8000 ^ ((i + 1) << 8));
-		ip->idhwvbf[i] = (ip->idhwvbo[i] = 0x8000 ^ ((i + 1) << 8));
+		ip->idhwvaf[i] = (ip->idhwvao[i] = (int16_t)0x8000 ^ ((i + 1) << 8));
+		ip->idhwvbf[i] = (ip->idhwvbo[i] = (int16_t)0x8000 ^ ((i + 1) << 8));
 	}
 }
Index: ram/initi.x
===================================================================
--- ram/initi.x	(revision c93e44da8f155b93b1052c5d77fe3e18a3215b96)
+++ ram/initi.x	(revision fa5007636147a8ab53fddf39eaa7874735b84e5b)
@@ -34,10 +34,10 @@
 extern	void		newvce(int16_t voice);
 extern	void		pntsel(void);
-extern	int16_t		segtime(int16_t pn, uint16_t ptime);
+extern	uint16_t	segtime(int16_t pn, uint16_t ptime);
 extern	int16_t		selpnt(void);
 extern	void		setinst(void);
 extern	void		setivce(int16_t voice);
 extern	void		setseg(int16_t pn, uint16_t ptime);
-extern	int16_t		timeto(int16_t fn, int16_t pj);
+extern	uint16_t	timeto(int16_t fn, int16_t pj);
 extern	int16_t		ttox(uint16_t time, int16_t window);
 extern	int16_t		vtoy(int16_t val, int16_t window);
