Index: vlib/vobjfns.c
===================================================================
--- vlib/vobjfns.c	(revision c59409ecb4964b2dfc1b86fabb892798f7c896e7)
+++ vlib/vobjfns.c	(revision 23e159756f34f707cf8bef4107e0ce2e0783d334)
@@ -45,10 +45,11 @@
 #include "ram.h"
 
-typedef		void	(**intvec)(void);
-
-int16_t		wsize;		/* object width calculated by SetObj() */
-int16_t		vi_dis;		/* disable use of VIint */
-
-uint16_t	vi_ctl;		/* object unblank control bits */
+typedef void		(*intfun)(void);
+typedef volatile intfun	*intvec;
+
+int16_t			wsize;		/* object width calculated by SetObj() */
+int16_t			vi_dis;		/* disable use of VIint */
+
+volatile uint16_t	vi_ctl;		/* object unblank control bits */
 
 /*
Index: vlib/vobjfns.x
===================================================================
--- vlib/vobjfns.x	(revision c59409ecb4964b2dfc1b86fabb892798f7c896e7)
+++ vlib/vobjfns.x	(revision 23e159756f34f707cf8bef4107e0ce2e0783d334)
@@ -15,7 +15,7 @@
 */
 
-extern	uint16_t	vi_ctl;
-extern	int16_t		vi_dis;
-extern	int16_t		wsize;
+extern	volatile uint16_t	vi_ctl;
+extern	int16_t			vi_dis;
+extern	int16_t			wsize;
 
 /*
