diff --git a/src/conio/x_cio.c b/src/conio/x_cio.c
index e45dacf6aa336cce2170495c9a9d39c7207bcd6a..5fff20af2b01a24ce3f15648a7ba7177be89e5e9 100644
--- a/src/conio/x_cio.c
+++ b/src/conio/x_cio.c
@@ -10,7 +10,7 @@ WORD	x_curr_attr=0x0700;
 
 const int x_tabs[10]={9,17,25,33,41,49,57,65,73,80};
 
-int x_puttext(int sx, int sy, int ex, int ey, unsigned char *fill)
+int x_puttext(int sx, int sy, int ex, int ey, void *fill)
 {
 	int x,y;
 	unsigned char *out;
@@ -42,7 +42,7 @@ int x_puttext(int sx, int sy, int ex, int ey, unsigned char *fill)
 	}
 }
 
-int x_gettext(int sx, int sy, int ex, int ey, unsigned char *fill)
+int x_gettext(int sx, int sy, int ex, int ey, void *fill)
 {
 	int x,y;
 	unsigned char *out;
@@ -74,7 +74,7 @@ int x_gettext(int sx, int sy, int ex, int ey, unsigned char *fill)
 	}
 }
 
-void x_textattr(unsigned char attr)
+void x_textattr(int attr)
 {
 	x_curr_attr=attr<<8;
 }
@@ -103,7 +103,7 @@ int x_wherex(void)
  * The special characters return, linefeed, bell, and backspace are handled
  * properly, as is line wrap and scrolling. The cursor position is updated. 
  */
-int x_putch(unsigned char ch)
+int x_putch(int ch)
 {
 	struct text_info ti;
 	WORD sch;
diff --git a/src/conio/x_cio.h b/src/conio/x_cio.h
index 9ae45fd542d3f93e3fe0f72e1f2472b3837604d0..2851465efee02b6f74036404af2177a3c0eda738 100644
--- a/src/conio/x_cio.h
+++ b/src/conio/x_cio.h
@@ -6,14 +6,14 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
-int x_puttext(int sx, int sy, int ex, int ey, unsigned char *fill);
-int x_gettext(int sx, int sy, int ex, int ey, unsigned char *fill);
-void x_textattr(unsigned char attr);
+int x_puttext(int sx, int sy, int ex, int ey, void *fill);
+int x_gettext(int sx, int sy, int ex, int ey, void *fill);
+void x_textattr(int attr);
 int x_kbhit(void);
 void x_delay(long msec);
 int x_wherey(void);
 int x_wherex(void);
-int x_putch(unsigned char ch);
+int x_putch(int ch);
 void x_gotoxy(int x, int y);
 void x_initciolib(long inmode);
 void x_gettextinfo(struct text_info *info);