diff --git a/src/uifc/ciowrap.c b/src/uifc/ciowrap.c
index 6d614f3956283662a0ddce51a047a9e5c4d862aa..4769eac2728650c0cca3843859f81a993ded9be7 100644
--- a/src/uifc/ciowrap.c
+++ b/src/uifc/ciowrap.c
@@ -331,6 +331,26 @@ void textattr(unsigned char attr)
 	bkgdset(colour);
 }
 
+void textbackground(int colour)
+{
+	unsigned char attr;
+	
+	attr=lastattr;
+	attr&=143;
+	attr|=(colour<<4);
+	textattr(attr);
+}
+
+void textcolor(int colour)
+{
+	unsigned char attr;
+	
+	attr=lastattr;
+	attr&=240;
+	attr|=colour;
+	textattr(attr);
+}
+
 int kbhit(void)
 {
 	struct timeval timeout;
diff --git a/src/uifc/ciowrap.h b/src/uifc/ciowrap.h
index 10685f86fbf1008f655c0b2fc593c4ec03e54562..5b928eac5985c1921bae1c283196fb62d0f380d4 100644
--- a/src/uifc/ciowrap.h
+++ b/src/uifc/ciowrap.h
@@ -48,6 +48,8 @@ struct text_info {
 	unsigned char screenwidth;
 };
 
+#define clreol()	clrtoeol()
+#define putch(x)	echochar(x)
 short curses_color(short color);
 int puttext(int sx, int sy, int ex, int ey, unsigned char *fill);
 #define gettext(x1,y1,x2,y2,z)	cio_gettext(x1,y1,x2,y2,z)
@@ -67,3 +69,5 @@ void clrscr(void);
 void initciowrap(long inmode);
 void gettextinfo(struct text_info *info);
 void _setcursortype(int type);
+void textbackground(int colour);
+void textcolor(int colour);