EGA framebuffer
[Framebuffer Service]

HelenOS EGA framebuffer. More...

Files

file  ega.c
file  ega.h

Data Structures

struct  saved_screen

Defines

#define MAX_SAVED_SCREENS   256
#define EGA_IO_ADDRESS   0x3d4
#define EGA_IO_SIZE   2
#define NORMAL_COLOR   0x0f
#define INVERTED_COLOR   0xf0
#define EGA_STYLE(fg, bg)   ((fg) > (bg) ? NORMAL_COLOR : INVERTED_COLOR)

Functions

static void clrscr (void)
static void cursor_goto (unsigned int row, unsigned int col)
static void cursor_disable (void)
static void cursor_enable (void)
static void scroll (int rows)
static void printchar (char c, unsigned int row, unsigned int col)
static void draw_text_data (keyfield_t *data)
static int save_screen (void)
static int print_screen (int i)
static void ega_client_connection (ipc_callid_t iid, ipc_call_t *icall)
int ega_init (void)

Variables

saved_screen saved_screens [MAX_SAVED_SCREENS]
static int client_connected = 0
static unsigned int scr_width
static unsigned int scr_height
static char * scr_addr
static unsigned int style = NORMAL_COLOR

Detailed Description


Define Documentation

#define MAX_SAVED_SCREENS   256
 

Definition at line 58 of file ega.c.

Referenced by ega_client_connection(), and save_screen().

#define EGA_IO_ADDRESS   0x3d4
 

Definition at line 66 of file ega.c.

Referenced by cursor_disable(), cursor_enable(), cursor_goto(), and ega_init().

#define EGA_IO_SIZE   2
 

Definition at line 67 of file ega.c.

#define NORMAL_COLOR   0x0f
 

Definition at line 69 of file ega.c.

#define INVERTED_COLOR   0xf0
 

Definition at line 70 of file ega.c.

#define EGA_STYLE fg,
bg   )     ((fg) > (bg) ? NORMAL_COLOR : INVERTED_COLOR)
 

Definition at line 72 of file ega.c.

Referenced by draw_text_data(), and ega_client_connection().


Function Documentation

static void clrscr void   )  [static]
 

Definition at line 83 of file ega.c.

References scr_addr, scr_height, scr_width, and style.

static void cursor_goto unsigned int  row,
unsigned int  col
[static]
 

Definition at line 93 of file ega.c.

References EGA_IO_ADDRESS, outb(), and scr_width.

Referenced by ega_client_connection(), and printchar().

Here is the call graph for this function:

static void cursor_disable void   )  [static]
 

Definition at line 105 of file ega.c.

References EGA_IO_ADDRESS, inb(), and outb().

Referenced by ega_client_connection().

Here is the call graph for this function:

static void cursor_enable void   )  [static]
 

Definition at line 115 of file ega.c.

References EGA_IO_ADDRESS, inb(), and outb().

Referenced by ega_client_connection().

Here is the call graph for this function:

static void scroll int  rows  )  [static]
 

Definition at line 125 of file ega.c.

References memcpy(), scr_addr, scr_height, scr_width, and style.

Referenced by ega_client_connection().

Here is the call graph for this function:

static void printchar char  c,
unsigned int  row,
unsigned int  col
[static]
 

Definition at line 140 of file ega.c.

References cursor_goto(), scr_addr, scr_width, and style.

Referenced by ega_client_connection().

Here is the call graph for this function:

static void draw_text_data keyfield_t data  )  [static]
 

Definition at line 148 of file ega.c.

References style_t::bg_color, EGA_STYLE, scr_addr, scr_height, scr_width, keyfield_t::style, and style.

Referenced by ega_client_connection(), and shm_handle().

static int save_screen void   )  [static]
 

Definition at line 158 of file ega.c.

References MAX_SAVED_SCREENS, memcpy(), saved_screens, scr_addr, scr_height, and scr_width.

Referenced by ega_client_connection().

Here is the call graph for this function:

static int print_screen int  i  )  [static]
 

Definition at line 173 of file ega.c.

References memcpy(), saved_screens, scr_addr, scr_height, and scr_width.

Referenced by ega_client_connection().

Here is the call graph for this function:

static void ega_client_connection ipc_callid_t  iid,
ipc_call_t icall
[static]
 

Definition at line 182 of file ega.c.

References async_get_call(), client_connected, clrscr(), cursor_disable(), cursor_enable(), cursor_goto(), saved_screen::data, draw_text_data(), EGA_STYLE, FB_CLEAR, FB_CURSOR_GOTO, FB_CURSOR_VISIBILITY, FB_DRAW_TEXT_DATA, FB_DROP_PIXMAP, FB_GET_CSIZE, FB_PUTCHAR, FB_SCROLL, FB_SET_STYLE, FB_VP2PIXMAP, FB_VP_DRAW_PIXMAP, ipc_answer_fast(), MAX_SAVED_SCREENS, NULL, print_screen(), printchar(), receive_comm_area(), save_screen(), saved_screens, scr_height, scr_width, scroll(), and style.

Referenced by ega_init().

Here is the call graph for this function:

int ega_init void   ) 
 

Definition at line 302 of file ega.c.

References ALIGN_UP, as_get_mappable_page(), async_set_client_connection(), ega_client_connection(), EGA_IO_ADDRESS, iospace_enable(), map_physmem(), scr_addr, scr_height, scr_width, sysinfo_value(), and task_get_id().

Referenced by main().

Here is the call graph for this function:


Variable Documentation

saved_screen saved_screens[MAX_SAVED_SCREENS]
 

Definition at line 63 of file ega.c.

Referenced by ega_client_connection(), print_screen(), and save_screen().

int client_connected = 0 [static]
 

Definition at line 75 of file ega.c.

Referenced by ega_client_connection(), and fb_client_connection().

unsigned int scr_width [static]
 

Definition at line 77 of file ega.c.

Referenced by clrscr(), cursor_goto(), draw_text_data(), ega_client_connection(), ega_init(), print_screen(), printchar(), save_screen(), and scroll().

unsigned int scr_height [static]
 

Definition at line 78 of file ega.c.

Referenced by clrscr(), draw_text_data(), ega_client_connection(), ega_init(), print_screen(), save_screen(), and scroll().

char* scr_addr [static]
 

Definition at line 79 of file ega.c.

Referenced by clrscr(), draw_text_data(), ega_init(), print_screen(), printchar(), save_screen(), and scroll().

unsigned int style = NORMAL_COLOR [static]
 

Definition at line 81 of file ega.c.

Referenced by change_console(), clrscr(), draw_char(), draw_glyph(), draw_text_data(), ega_client_connection(), printchar(), scroll(), and set_style().


Generated on Sun Jun 18 17:57:03 2006 for HelenOS Userspace (ia32) by  doxygen 1.4.6