#include <corax/ipc.h>
#include <crxstd.h>
#include <string.h>
+#include <stdio.h>
enum vgacolor {
BLACK = 0,
int vga_main(int argc, char *argv[])
{
struct context ctx;
+ char line[80];
ctx.buffer = mmap(VGA_BUFFER_ADDR, 0x1000, PROT_READ | PROT_WRITE, MAP_PHYS, 0, 0);
ctx.attrs = FG(LGRAY) | BG(BLACK);
memset(ctx.buffer, 0, VGA_BUFFER_SIZE);
+ snprintf(line, sizeof(line), "VGA video memory mapped at %p\n", ctx.buffer);
+ _puts(&ctx, line);
+
while(1) {
struct cxmsg msg;
int err;
+ int i;
+
+ memset(&msg, 0, sizeof(msg));
err = cxrecv(PID_ANY, &msg);
/* FIXME: Validate message */
/* FIXME: Only accept messages from IO process */
- if(err > 0) {
+ if(!err) {
err = _puts(&ctx, (const char*)msg.cm_data);
}