6 typedef struct _video_mode
16 typedef struct _driver_init_struct
20 int16_t (*set_video_mode)(uint16_t);
21 uint8_t (*is_text_mode)();
23 int8_t (*turn_on_buffer)();
24 int8_t (*turn_off_buffer)();
25 uint8_t (*is_buffer_on)();
26 int8_t (*swap_buffers)();
28 int8_t (*print_char)(char);
29 int8_t (*print_char_color)(char, uint8_t);
30 int8_t (*print_string)(
const char*);
31 int8_t (*print_string_color)(
const char*, uint8_t);
34 int8_t (*set_color)(uint16_t, uint16_t, uint8_t);
35 int8_t (*get_color)(uint16_t, uint16_t, uint8_t*);
36 int8_t (*set_char_and_color)(uint16_t, uint16_t, char, uint8_t);
37 int8_t (*get_char_and_color)(uint16_t, uint16_t,
char*, uint8_t*);
38 int8_t (*set_cursor_pos)(uint16_t, uint16_t);
39 int8_t (*get_cursor_pos)(uint16_t*, uint16_t*);
40 int8_t (*turn_cursor_on)();
41 int8_t (*turn_cursor_off)();
43 int8_t (*draw_pixel)(uint8_t, uint16_t, uint16_t);
44 int8_t (*draw_line)(uint8_t, uint16_t, uint16_t, uint16_t, uint16_t);
45 int8_t (*draw_circle)(uint8_t, uint16_t, uint16_t, uint16_t);
46 int8_t (*draw_rectangle)(uint8_t, uint16_t, uint16_t, uint16_t, uint16_t);
47 int8_t (*clear_screen)();
49 int8_t (*print_char_external_buffer)(uint8_t*, uint16_t, uint16_t*, uint16_t*, char);
50 int8_t (*print_char_color_external_buffer)(uint8_t*, uint16_t, uint16_t*, uint16_t*, char, uint8_t);
51 int8_t (*print_string_external_buffer)(uint8_t*, uint16_t, uint16_t*, uint16_t*,
const char*);
52 int8_t (*print_string_color_external_buffer)(uint8_t*, uint16_t, uint16_t*, uint16_t*,
const char*, uint8_t);
53 int8_t (*set_char_external_buffer)(uint8_t*, uint16_t, uint16_t, uint16_t, char);
54 int8_t (*get_char_external_buffer)(uint8_t*, uint16_t, uint16_t, uint16_t,
char*);
55 int8_t (*set_color_external_buffer)(uint8_t*, uint16_t, uint16_t, uint16_t, uint8_t);
56 int8_t (*get_color_external_buffer)(uint8_t*, uint16_t, uint16_t, uint16_t, uint8_t*);
57 int8_t (*set_char_and_color_external_buffer)(uint8_t*, uint16_t, uint16_t, uint16_t, char, uint8_t);
58 int8_t (*get_char_and_color_external_buffer)(uint8_t*, uint16_t, uint16_t, uint16_t,
char*, uint8_t*);
60 int8_t (*draw_pixel_external_buffer)(uint8_t*, uint16_t, int8_t, uint16_t, uint16_t);
61 int8_t (*draw_line_external_buffer)(uint8_t*, uint16_t, uint8_t, uint16_t, uint16_t, uint16_t, uint16_t);
62 int8_t (*draw_circle_external_buffer)(uint8_t*, uint16_t, uint8_t, uint16_t, uint16_t, uint16_t);
63 int8_t (*draw_rectangle_external_buffer)(uint8_t*, uint16_t, uint8_t, uint16_t, uint16_t, uint16_t, uint16_t);
64 int8_t (*clear_screen_external_buffer)(uint8_t*, uint16_t, uint16_t*, uint16_t*);
66 int8_t (*swap_external_buffer)(uint8_t*, uint16_t);
67 uint8_t* (*create_external_buffer)(uint16_t);
68 void (*destroy_external_buffer)(uint8_t*);
int8_t video_card_draw_rectangle_external_buffer(uint8_t *buffer, uint16_t mode, uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: videocard.c:466
int8_t video_card_draw_circle_external_buffer(uint8_t *buffer, uint16_t mode, uint8_t color, uint16_t x, uint16_t y, uint16_t radius)
Definition: videocard.c:463
int8_t video_card_draw_line_external_buffer(uint8_t *buffer, uint16_t mode, uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: videocard.c:460
void video_card_set_get_current_video_mode_func(video_mode *(*get_current_video_mode)())
Definition: videocard.c:132
void video_card_set_get_char_and_color_func(int8_t(*get_char_and_color)(uint16_t, uint16_t, char *, uint8_t *))
Setter to set get character and character color color from given point on screen function.
Definition: videocard.c:202
void video_card_set_print_char_color_external_buffer(int8_t(*print_char_color_external_buffer)(uint8_t *, uint16_t, uint16_t *, uint16_t *, char, uint8_t))
Setter to set print character on screen to external buffer.
Definition: videocard.c:257
int8_t video_card_set_color_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t color)
Set character color on given point on screen to external buffer.
Definition: videocard.c:439
uint8_t * video_card_create_external_buffer(uint16_t mode)
Definition: videocard.c:476
void video_card_set_draw_pixel_func(int8_t(*draw_pixel)(uint8_t, uint16_t, uint16_t))
Definition: videocard.c:227
int8_t video_card_swap_external_buffer(uint8_t *buffer, uint16_t mode)
Definition: videocard.c:473
int16_t video_card_set_video_mode(uint16_t mode)
Definition: videocard.c:314
void set_char(char *addr, int val)
Definition: gdb_stub.c:334
int8_t video_card_get_char(uint16_t x, uint16_t y, char *character)
Get character from given point on screen.
Definition: videocard.c:362
video_mode * video_card_get_available_text_modes(uint32_t *noOfModes)
Definition: videocard.c:309
uint32_t height
Definition: videocard.h:10
void video_card_set_get_available_graphic_video_modes_func(video_mode *(*get_available_graphic_video_modes)(uint32_t *))
Definition: videocard.c:112
int8_t video_card_clear_screen()
Definition: videocard.c:411
uint8_t monochrome
Definition: videocard.h:12
uint8_t video_card_is_text_mode()
Definition: videocard.c:318
void video_card_set_set_char_and_color_external_buffer(int8_t(*set_char_and_color_external_buffer)(uint8_t *, uint16_t, uint16_t, uint16_t, char, uint8_t))
Setter to set set character and character color on given point on screen to external buffer...
Definition: videocard.c:292
int8_t video_card_turn_off_buffer()
Definition: videocard.c:331
uint32_t width
Definition: videocard.h:9
void video_card_set_get_char_and_color_external_buffer(int8_t(*get_char_and_color_external_buffer)(uint8_t *, uint16_t, uint16_t, uint16_t, char *, uint8_t *))
Setter to set get character and character color color from given point on screen to external buffer...
Definition: videocard.c:297
int8_t video_card_set_cursor_pos(uint16_t x, uint16_t y)
Set cursor position.
Definition: videocard.c:382
void video_card_set_get_cursor_pos_func(int8_t(*get_cursor_pos)(uint16_t *, uint16_t *))
Setter to set get cursor position function.
Definition: videocard.c:212
void video_card_set_print_string_color_func(int8_t(*print_string_color)(const char *, uint8_t))
Setter to set print string on screen function.
Definition: videocard.c:172
void video_card_set_is_buffer_on_func(uint8_t(*is_buffer_on)())
Definition: videocard.c:147
void video_card_set_get_available_text_video_modes_func(video_mode *(*get_available_text_video_modes)(uint32_t *))
Definition: videocard.c:117
void video_card_set_turn_on_buffer_func(int8_t(*turn_on_buffer)())
Definition: videocard.c:137
int8_t video_card_turn_on_buffer()
Definition: videocard.c:328
Definition: videocard.h:16
int8_t video_card_draw_circle(uint8_t color, uint16_t x, uint16_t y, uint16_t radius)
Definition: videocard.c:405
video_mode * video_card_get_available_graphic_modes(uint32_t *noOfModes)
Definition: videocard.c:304
void video_card_set_draw_line_func(int8_t(*draw_line)(uint8_t, uint16_t, uint16_t, uint16_t, uint16_t))
Definition: videocard.c:232
int8_t video_card_print_string_color_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y, const char *string, uint8_t color)
Print string on screen to external buffer.
Definition: videocard.c:427
int8_t video_card_print_string_color(const char *string, uint8_t color)
Print string on screen.
Definition: videocard.c:354
void video_card_set_print_string_external_buffer(int8_t(*print_string_external_buffer)(uint8_t *, uint16_t, uint16_t *, uint16_t *, const char *))
Setter to set print string on screen to external buffer.
Definition: videocard.c:262
int8_t video_card_draw_pixel(uint8_t color, uint16_t x, uint16_t y)
Definition: videocard.c:399
uint16_t id
Definition: videocard.h:8
void video_card_set_get_color_external_buffer(int8_t(*get_color_external_buffer)(uint8_t *, uint16_t, uint16_t, uint16_t, uint8_t *))
Setter to set get character color from given point on screen to external buffer.
Definition: videocard.c:287
void video_card_set_draw_rectangle_func(int8_t(*draw_rectangle)(uint8_t, uint16_t, uint16_t, uint16_t, uint16_t))
Definition: videocard.c:242
void video_card_set_get_char_func(int8_t(*get_char)(uint16_t, uint16_t, char *))
Setter to set get character from given point on screen function.
Definition: videocard.c:182
int8_t video_card_get_cursor_pos(uint16_t *x, uint16_t *y)
Get cursor position.
Definition: videocard.c:386
void video_card_set_set_color_func(int8_t(*set_color)(uint16_t, uint16_t, uint8_t))
Setter to set set character color on given point on screen function.
Definition: videocard.c:187
void video_card_set_set_video_mode_func(int16_t(*set_video_mode)(uint16_t))
Definition: videocard.c:122
uint8_t video_card_is_buffer_on()
Definition: videocard.c:334
void video_card_set_print_string_func(int8_t(*print_string)(const char *))
Setter to set print string on screen function.
Definition: videocard.c:167
void video_card_set_turn_cursor_off_func(int8_t(*turn_cursor_off)())
Setter to set turn off cursor function.
Definition: videocard.c:222
void video_card_set_clear_screen_func(int8_t(*clear_screen)())
Definition: videocard.c:247
void video_card_init_with_driver(driver_init_struct *init_struct)
Definition: videocard.c:59
int8_t video_card_set_char_and_color(uint16_t x, uint16_t y, char character, uint8_t color)
Set character and character color on given point on screen.
Definition: videocard.c:374
int8_t video_card_turn_cursor_off()
Turn off cursor.
Definition: videocard.c:394
uint64_t colors
Definition: videocard.h:11
void video_card_set_set_cursor_pos_func(int8_t(*set_cursor_pos)(uint16_t, uint16_t))
Setter to set set cursor position function.
Definition: videocard.c:207
int8_t video_card_get_char_and_color_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t x, uint16_t y, char *character, uint8_t *color)
Get character and character color color from given point on screen to external buffer.
Definition: videocard.c:452
void video_card_set_set_color_external_buffer(int8_t(*set_color_external_buffer)(uint8_t *, uint16_t, uint16_t, uint16_t, uint8_t))
Setter to set set character color on given point on screen to external buffer.
Definition: videocard.c:282
int8_t video_card_print_string(const char *string)
Print string on screen.
Definition: videocard.c:350
void video_card_destroy_external_buffer(uint8_t *buffer)
Definition: videocard.c:479
void video_card_set_swap_buffers_func(int8_t(*swap_buffers)())
Definition: videocard.c:152
int8_t video_card_turn_cursor_on()
Turn on cursor.
Definition: videocard.c:390
int get_char(char *addr)
Definition: gdb_stub.c:328
void video_card_set_turn_cursor_on_func(int8_t(*turn_cursor_on)())
Setter to set turn on cursor function.
Definition: videocard.c:217
int8_t video_card_print_char_color_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y, char character, uint8_t color)
Print character on screen to external buffer.
Definition: videocard.c:419
void video_card_set_swap_external_buffer(int8_t(*swap_external_buffer(uint8_t *, uint16_t)))
Definition: videocard.c:483
void video_card_set_print_char_external_buffer(int8_t(*print_char_external_buffer)(uint8_t *, uint16_t, uint16_t *, uint16_t *, char))
Setter to set print character on screen to external buffer.
Definition: videocard.c:252
void video_card_set_set_char_external_buffer(int8_t(*set_char_external_buffer)(uint8_t *, uint16_t, uint16_t, uint16_t, char))
Setter to set pet character on given point on screen to external buffer.
Definition: videocard.c:272
int8_t video_card_get_char_and_color(uint16_t x, uint16_t y, char *character, uint8_t *color)
Get character and character color color from given point on screen.
Definition: videocard.c:378
void video_card_set_draw_circle_func(int8_t(*draw_circle)(uint8_t, uint16_t, uint16_t, uint16_t))
Definition: videocard.c:237
int8_t video_card_set_char(uint16_t x, uint16_t y, char character)
Set character on given point on screen.
Definition: videocard.c:358
int8_t video_card_set_color(uint16_t x, uint16_t y, uint8_t color)
Set character color on given point on screen.
Definition: videocard.c:366
int8_t video_card_draw_rectangle(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: videocard.c:408
uint8_t planar
Definition: videocard.h:13
void video_card_set_is_text_mode_func(uint8_t(*is_text_mode)())
Definition: videocard.c:127
void video_card_set_print_char_func(int8_t(*print_char)(char))
Setter to set print character on screen function.
Definition: videocard.c:157
int8_t video_card_print_char_color(char character, uint8_t color)
Print character on screen.
Definition: videocard.c:346
void video_card_set_set_char_func(int8_t(*set_char)(uint16_t, uint16_t, char))
Setter to set set character on given point on screen function.
Definition: videocard.c:177
char buffer[500]
Definition: physical_memory_manager.c:5
void video_card_set_print_string_color_external_buffer(int8_t(*print_string_color_external_buffer)(uint8_t *, uint16_t, uint16_t *, uint16_t *, const char *, uint8_t))
Setter to set print string on screen to external buffer.
Definition: videocard.c:267
void video_card_set_get_color_func(int8_t(*get_color)(uint16_t, uint16_t, uint8_t *))
Setter to set get character color from given point on screen function.
Definition: videocard.c:192
void video_card_set_get_char_external_buffer(int8_t(*get_char_external_buffer)(uint8_t *, uint16_t, uint16_t, uint16_t, char *))
Setter to set get character from given point on screen to external buffer.
Definition: videocard.c:277
int8_t video_card_clear_screen_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y)
Definition: videocard.c:469
int8_t video_card_set_char_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t x, uint16_t y, char character)
Set character on given point on screen to external buffer.
Definition: videocard.c:431
int8_t video_card_set_char_and_color_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t x, uint16_t y, char character, uint8_t color)
Set character and character color on given point on screen to external buffer.
Definition: videocard.c:448
int8_t video_card_get_color_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t *color)
Get character color from given point on screen to external buffer.
Definition: videocard.c:443
void video_card_set_set_char_and_color_func(int8_t(*set_char_and_color)(uint16_t, uint16_t, char, uint8_t))
Setter to set set character and character color on given point on screen function.
Definition: videocard.c:197
int8_t video_card_get_char_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t x, uint16_t y, char *character)
Get character from given point on screen to external buffer.
Definition: videocard.c:435
int8_t video_card_draw_line(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: videocard.c:402
int8_t video_card_print_string_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y, const char *string)
Print string on screen to external buffer.
Definition: videocard.c:423
video_mode * video_card_get_current_video_mode()
Definition: videocard.c:323
Definition: videocard.h:6
size_t uint32_t
Unsigned integral type.
Definition: string.h:8
void video_card_set_print_char_color_func(int8_t(*print_char_color)(char, uint8_t))
Setter to set print character on screen function.
Definition: videocard.c:162
void video_card_set_turn_off_buffer_func(int8_t(*turn_off_buffer)())
Definition: videocard.c:142
int8_t video_card_draw_pixel_external_buffer(uint8_t *buffer, uint16_t mode, int8_t color, uint16_t x, uint16_t y)
Definition: videocard.c:457
static char mode
Definition: vga_gmode.c:20
int8_t video_card_print_char(char character)
Print character on screen.
Definition: videocard.c:342
int8_t video_card_get_color(uint16_t x, uint16_t y, uint8_t *color)
Get character color from given point on screen.
Definition: videocard.c:370
int8_t video_card_print_char_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y, char character)
Print character on screen to external buffer.
Definition: videocard.c:415
int8_t video_card_swap_buffers()
Definition: videocard.c:338