Index: uspace/app/bdsh/input.c
===================================================================
--- uspace/app/bdsh/input.c	(revision 3ad953cc9f7b18ae008470e72a5abd43e4142cbd)
+++ uspace/app/bdsh/input.c	(revision 9805cde92c0c387474369f3713d7c270ae3e760d)
@@ -34,4 +34,5 @@
 #include <string.h>
 #include <io/stream.h>
+#include <console.h>
 
 #include "config.h"
@@ -165,5 +166,8 @@
 	size_t len = 0;
 
+	console_set_style(STYLE_EMPHASIS);
 	printf("%s", usr->prompt);
+	console_set_style(STYLE_NORMAL);
+
 	read_line(line, INPUT_MAX);
 	len = strlen(line);
Index: uspace/app/tester/console/console1.c
===================================================================
--- uspace/app/tester/console/console1.c	(revision 3ad953cc9f7b18ae008470e72a5abd43e4142cbd)
+++ uspace/app/tester/console/console1.c	(revision 9805cde92c0c387474369f3713d7c270ae3e760d)
@@ -33,20 +33,73 @@
 #include "../tester.h"
 
-#include <ipc/console.h>
+#include <console.h>
 
-static void set_style(int fgcolor, int bgcolor)
-{
-	int con_phone = get_cons_phone();
-	async_msg_2(con_phone, CONSOLE_SET_STYLE, fgcolor, bgcolor);
-}
+const char *color_name[] = {
+	[COLOR_BLACK] = "black",
+	[COLOR_BLUE] = "blue",
+	[COLOR_GREEN] = "green",
+	[COLOR_CYAN] = "cyan",
+	[COLOR_RED] = "red",
+	[COLOR_MAGENTA] = "magenta",
+	[COLOR_YELLOW] = "yellow",
+	[COLOR_WHITE] = "white"
+};
 
 char * test_console1(bool quiet)
 {
-	set_style(0xff0000, 0xf0f0f0);
-	printf("Red on white background.\n");
-	set_style(0x008080, 0x000080);
-	printf("Cyan on blue background.\n");
-	set_style(0x000000, 0xf0f0f0);
-	printf("Black on white background.\n");
+	int i, j;
+
+	printf("Style test: ");
+	console_set_style(STYLE_NORMAL);
+	printf("normal ");
+	console_set_style(STYLE_EMPHASIS);
+	printf("emphasized");
+	console_set_style(STYLE_NORMAL);
+	printf(".\n");
+
+	printf("Foreground color test:\n");
+	for (j = 0; j < 2; j++) {
+		for (i = COLOR_BLACK; i <= COLOR_WHITE; i++) {
+			console_set_color(i, COLOR_WHITE,
+			    j ? CATTR_BRIGHT : 0);
+			printf(" %s ", color_name[i]);
+		}
+		console_set_color(COLOR_BLACK, COLOR_WHITE, 0);
+		putchar('\n');
+	}
+
+	printf("Background color test:\n");
+	for (j = 0; j < 2; j++) {
+		for (i = COLOR_BLACK; i <= COLOR_WHITE; i++) {
+			console_set_color(COLOR_WHITE, i,
+			    j ? CATTR_BRIGHT : 0);
+			printf(" %s ", color_name[i]);
+		}
+		console_set_color(COLOR_BLACK, COLOR_WHITE, 0);
+		putchar('\n');
+	}
+
+	printf("Now let's test RGB colors:\n");
+
+	for (i = 0; i < 255; i += 16) {
+		console_set_rgb_color(0xffffff, i << 16);
+		putchar('X');
+	}
+	console_set_color(COLOR_BLACK, COLOR_WHITE, 0);
+	putchar('\n');
+
+	for (i = 0; i < 255; i += 16) {
+		console_set_rgb_color(0xffffff, i << 8);
+		putchar('X');
+	}
+	console_set_color(COLOR_BLACK, COLOR_WHITE, 0);
+	putchar('\n');
+
+	for (i = 0; i < 255; i += 16) {
+		console_set_rgb_color(0xffffff, i);
+		putchar('X');
+	}
+	console_set_color(COLOR_BLACK, COLOR_WHITE, 0);
+	putchar('\n');
 
 	printf("[press a key]\n");
Index: uspace/app/tetris/screen.c
===================================================================
--- uspace/app/tetris/screen.c	(revision 3ad953cc9f7b18ae008470e72a5abd43e4142cbd)
+++ uspace/app/tetris/screen.c	(revision 9805cde92c0c387474369f3713d7c270ae3e760d)
@@ -52,5 +52,5 @@
 #include <unistd.h>
 #include <io/stream.h>
-
+#include <console.h>
 
 #include <async.h>
@@ -77,20 +77,13 @@
 
 
-
-static void set_style(int fgcolor, int bgcolor)
-{
-	async_msg_2(con_phone, CONSOLE_SET_STYLE, fgcolor, bgcolor);
-}
-
 static void start_standout(void)
 {
-	set_style(0xf0f0f0, 0);
+	console_set_rgb_color(0xf0f0f0, 0);
 }
 
 static void resume_normal(void)
 {
-	set_style(0, 0xf0f0f0);
-}
-
+	console_set_rgb_color(0, 0xf0f0f0);
+}
 
 void clear_screen(void)
Index: uspace/app/trace/trace.c
===================================================================
--- uspace/app/trace/trace.c	(revision 3ad953cc9f7b18ae008470e72a5abd43e4142cbd)
+++ uspace/app/trace/trace.c	(revision 9805cde92c0c387474369f3713d7c270ae3e760d)
@@ -667,7 +667,13 @@
 	proto_add_oper(p, CONSOLE_FLUSH, o);
 
+	arg_def[0] = V_INTEGER;
+	o = oper_new("set_style", 1, arg_def, V_INTEGER, 0, resp_def);
+	proto_add_oper(p, CONSOLE_SET_STYLE, o);
+	arg_def[0] = V_INTEGER; arg_def[1] = V_INTEGER; arg_def[2] = V_INTEGER;
+	o = oper_new("set_color", 3, arg_def, V_INTEGER, 0, resp_def);
+	proto_add_oper(p, CONSOLE_SET_COLOR, o);
 	arg_def[0] = V_INTEGER; arg_def[1] = V_INTEGER;
-	o = oper_new("set_style", 2, arg_def, V_INTEGER, 0, resp_def);
-	proto_add_oper(p, CONSOLE_SET_STYLE, o);
+	o = oper_new("set_rgb_color", 2, arg_def, V_INTEGER, 0, resp_def);
+	proto_add_oper(p, CONSOLE_SET_RGB_COLOR, o);
 	o = oper_new("cursor_visibility", 1, arg_def, V_VOID, 0, resp_def);
 	proto_add_oper(p, CONSOLE_CURSOR_VISIBILITY, o);
