MicrOS
mode_03h.h
Go to the documentation of this file.
1 #ifndef MODE_03H
2 #define MODE_03H
3 
4 #include "stdint.h"
5 
6 #define MODE03H_WIDTH 80
7 #define MODE03H_HEIGHT 25
8 
9 int8_t mode03h_set_mode();
10 
11 int8_t mode03h_turn_on_buffer();
13 uint8_t mode03h_is_buffer_on();
14 
15 int8_t mode03h_swap_buffers();
16 
18 
23 int8_t mode03h_print_char(char character);
24 
26 
32 int8_t mode03h_print_char_color(char character, uint8_t color);
33 
35 
40 int8_t mode03h_print_string(const char* string);
41 
43 
49 int8_t mode03h_print_string_color(const char* string, uint8_t color);
50 
52 
59 int8_t mode03h_set_char(uint16_t x, uint16_t y, char character);
60 
62 
69 int8_t mode03h_get_char(uint16_t x, uint16_t y, char* character);
70 
72 
79 int8_t mode03h_set_color(uint16_t x, uint16_t y, uint8_t color);
80 
82 
89 int8_t mode03h_get_color(uint16_t x, uint16_t y, uint8_t* color);
90 
92 
100 int8_t mode03h_set_char_and_color(uint16_t x, uint16_t y, char character, uint8_t color);
101 
103 
110 int8_t mode03h_get_char_and_color(uint16_t x, uint16_t y, char* character, uint8_t* color);
111 
113 
119 int8_t mode03h_set_cursor_pos(uint16_t x, uint16_t y);
120 
122 
128 int8_t mode03h_get_cursor_pos(uint16_t* x, uint16_t* y);
129 
131 
136 int8_t mode03h_turn_cursor_on();
137 
139 
142 int8_t mode03h_turn_cursor_off();
143 
144 int8_t mode03h_draw_pixel(uint8_t color, uint16_t x, uint16_t y);
145 int8_t mode03h_draw_line(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by);
146 int8_t mode03h_draw_circle(uint8_t color, uint16_t x, uint16_t y, uint16_t radius);
147 int8_t mode03h_draw_rectangle(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by);
148 int8_t mode03h_clear_screen();
149 
151 
156 int8_t mode03h_print_char_buffered(char character);
157 
159 
165 int8_t mode03h_print_char_color_buffered(char character, uint8_t color);
166 
168 
173 int8_t mode03h_print_string_buffered(const char* string);
174 
176 
182 int8_t mode03h_print_string_color_buffered(const char* string, uint8_t color);
183 
185 
192 int8_t mode03h_set_char_buffered(uint16_t x, uint16_t y, char character);
193 
195 
202 int8_t mode03h_get_char_buffered(uint16_t x, uint16_t y, char* character);
203 
205 
212 int8_t mode03h_set_color_buffered(uint16_t x, uint16_t y, uint8_t color);
213 
215 
222 int8_t mode03h_get_color_buffered(uint16_t x, uint16_t y, uint8_t* color);
223 
225 
233 int8_t mode03h_set_char_and_color_buffered(uint16_t x, uint16_t y, char character, uint8_t color);
234 
236 
243 int8_t mode03h_get_char_and_color_buffered(uint16_t x, uint16_t y, char* character, uint8_t* color);
244 
246 
252 int8_t mode03h_set_cursor_pos_buffered(uint16_t x, uint16_t y);
253 
255 
261 int8_t mode03h_get_cursor_pos_buffered(uint16_t* x, uint16_t* y);
262 
263 int8_t mode03h_draw_pixel_buffered(uint8_t color, uint16_t x, uint16_t y);
264 int8_t mode03h_draw_line_buffered(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by);
265 int8_t mode03h_draw_circle_buffered(uint8_t color, uint16_t x, uint16_t y, uint16_t radius);
266 int8_t mode03h_draw_rectangle_buffered(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by);
268 
270 
279 int8_t mode03h_print_char_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, char character);
280 
282 
292 int8_t mode03h_print_char_color_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, char character, uint8_t color);
293 
295 
304 int8_t mode03h_print_string_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, const char* string);
305 
307 
317 int8_t mode03h_print_string_color_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, const char* string, uint8_t color);
318 
320 
329 int8_t mode03h_set_char_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char character);
330 
332 
341 int8_t mode03h_get_char_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char* character);
342 
344 
353 int8_t mode03h_set_color_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t color);
354 
356 
365 int8_t mode03h_get_color_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t* color);
366 
368 
378 int8_t mode03h_set_char_and_color_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char character, uint8_t color);
379 
381 
390 int8_t mode03h_get_char_and_color_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char* character, uint8_t* color);
391 
392 int8_t mode03h_draw_pixel_external_buffer(uint8_t* buffer, uint16_t mode, int8_t color, uint16_t x, uint16_t y);
393 int8_t mode03h_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);
394 int8_t mode03h_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, uint8_t color, uint16_t x, uint16_t y, uint16_t radius);
395 int8_t mode03h_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);
396 int8_t mode03h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y);
397 
398 int8_t mode03h_swap_external_buffer(uint8_t* buffer, uint16_t mode);
399 uint8_t* mode03h_create_external_buffer(uint16_t mode);
400 
401 // Helpers
402 
404 
413 int8_t __mode03h_print_char_buffer(uint16_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, char character);
414 
416 
426 int8_t __mode03h_print_char_color_buffer(uint16_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, char character, uint8_t color);
427 
429 
438 int8_t __mode03h_print_string_buffer(uint16_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, const char* string);
439 
441 
451 int8_t __mode03h_print_string_color_buffer(uint16_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, const char* string, uint8_t color);
452 
454 
463 int8_t __mode03h_set_char_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char character);
464 
466 
475 int8_t __mode03h_get_char_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char* character);
476 
478 
487 int8_t __mode03h_set_color_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t color);
488 
490 
499 int8_t __mode03h_get_color_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t* color);
500 
502 
512 int8_t __mode03h_set_char_and_color_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char character, uint8_t color);
513 
515 
524 int8_t __mode03h_get_char_and_color_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char* character, uint8_t* color);
525 
527 
532 void __mode03h_newline(uint16_t* buffer, uint16_t* x, uint16_t* y);
533 
535 
541 uint16_t __mode03h_calcualte_position(uint16_t x, uint16_t y);
542 
543 #endif
int8_t __mode03h_print_char_buffer(uint16_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y, char character)
Helper function to print character on screen for mode 03h on given buffer.
Definition: mode_03h.c:945
int8_t mode03h_get_color(uint16_t x, uint16_t y, uint8_t *color)
Get character color from given point on screen for mode 03h.
Definition: mode_03h.c:518
int8_t mode03h_draw_line(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: mode_03h.c:586
int8_t mode03h_turn_cursor_off()
Turn off cursor for mode 03h.
Definition: mode_03h.c:564
uint16_t __mode03h_calcualte_position(uint16_t x, uint16_t y)
Calculate position.
Definition: mode_03h.c:1090
int8_t mode03h_get_char_and_color_buffered(uint16_t x, uint16_t y, char *character, uint8_t *color)
Get character and character color color from given point on screen for mode 03h to internal buffer...
Definition: mode_03h.c:720
int8_t mode03h_draw_circle_external_buffer(uint8_t *buffer, uint16_t mode, uint8_t color, uint16_t x, uint16_t y, uint16_t radius)
Definition: mode_03h.c:907
int8_t mode03h_print_char_buffered(char character)
Print character on screen for mode 03h to internal buffer.
Definition: mode_03h.c:631
int8_t mode03h_swap_buffers()
Definition: mode_03h.c:466
int8_t __mode03h_print_string_buffer(uint16_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y, const char *string)
Helper function to print string on screen for mode 03h on given buffer.
Definition: mode_03h.c:987
int8_t mode03h_print_string(const char *string)
Print string on screen for mode 03h.
Definition: mode_03h.c:487
int8_t mode03h_turn_cursor_on()
Turn on cursor for mode 03h.
Definition: mode_03h.c:558
int8_t mode03h_print_char_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y, char character)
Print character on screen for mode 03h to external buffer.
Definition: mode_03h.c:819
int8_t mode03h_print_char_color(char character, uint8_t color)
Print character on screen for mode 03h.
Definition: mode_03h.c:480
int8_t mode03h_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 for mode 03h to external buffer.
Definition: mode_03h.c:834
int8_t mode03h_draw_circle_buffered(uint8_t color, uint16_t x, uint16_t y, uint16_t radius)
Definition: mode_03h.c:793
int8_t mode03h_turn_off_buffer()
Definition: mode_03h.c:429
int8_t mode03h_draw_rectangle_buffered(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: mode_03h.c:797
int8_t mode03h_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: mode_03h.c:910
int8_t __mode03h_set_color_buffer(uint16_t *buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t color)
Helper function to set character color on given point on screen for mode 03h on given buffer...
Definition: mode_03h.c:1025
int8_t mode03h_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 for mode 03h.
Definition: mode_03h.c:534
int8_t __mode03h_get_color_buffer(uint16_t *buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t *color)
Helper function to get character color from given point on screen for mode 03h on given buffer...
Definition: mode_03h.c:1033
int8_t mode03h_set_char_buffered(uint16_t x, uint16_t y, char character)
Set character on given point on screen for mode 03h to internal buffer.
Definition: mode_03h.c:670
int8_t mode03h_clear_screen_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y)
Definition: mode_03h.c:913
int8_t mode03h_print_char(char character)
Print character on screen for mode 03h.
Definition: mode_03h.c:474
int8_t mode03h_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 for mode 03h to external buffer...
Definition: mode_03h.c:864
int8_t mode03h_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 for mode 03h to external buffer...
Definition: mode_03h.c:859
int8_t mode03h_draw_pixel(uint8_t color, uint16_t x, uint16_t y)
Definition: mode_03h.c:570
int8_t mode03h_get_char(uint16_t x, uint16_t y, char *character)
Get character from given point on screen for mode 03h.
Definition: mode_03h.c:506
int8_t __mode03h_print_string_color_buffer(uint16_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y, const char *string, uint8_t color)
Helper function to print string on screen for mode 03h on given buffer.
Definition: mode_03h.c:998
int8_t mode03h_draw_rectangle(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: mode_03h.c:621
int8_t mode03h_set_color(uint16_t x, uint16_t y, uint8_t color)
Set character color on given point on screen for mode 03h.
Definition: mode_03h.c:512
int8_t __mode03h_get_char_buffer(uint16_t *buffer, uint16_t mode, uint16_t x, uint16_t y, char *character)
Helper function to get character from given point on screen for mode 03h on given buffer...
Definition: mode_03h.c:1017
int8_t __mode03h_set_char_and_color_buffer(uint16_t *buffer, uint16_t mode, uint16_t x, uint16_t y, char character, uint8_t color)
Helper function to set character and character color on given point on screen for mode 03h on given b...
Definition: mode_03h.c:1041
int8_t mode03h_get_cursor_pos(uint16_t *x, uint16_t *y)
Get cursor position for mode 03h.
Definition: mode_03h.c:549
int8_t mode03h_print_string_buffered(const char *string)
Print string on screen for mode 03h to internal buffer.
Definition: mode_03h.c:651
int8_t mode03h_print_string_color_buffered(const char *string, uint8_t color)
Print string on screen for mode 03h to internal buffer.
Definition: mode_03h.c:661
int8_t mode03h_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: mode_03h.c:878
int8_t mode03h_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 for mode 03h to external buffer.
Definition: mode_03h.c:849
int8_t mode03h_get_color_buffered(uint16_t x, uint16_t y, uint8_t *color)
Get character color from given point on screen for mode 03h to internal buffer.
Definition: mode_03h.c:700
int8_t mode03h_set_color_buffered(uint16_t x, uint16_t y, uint8_t color)
Set character color on given point on screen for mode 03h to internal buffer.
Definition: mode_03h.c:690
int8_t mode03h_turn_on_buffer()
Definition: mode_03h.c:402
int8_t mode03h_get_cursor_pos_buffered(uint16_t *x, uint16_t *y)
Get cursor position for mode 03h to internal buffer.
Definition: mode_03h.c:741
int8_t mode03h_set_cursor_pos_buffered(uint16_t x, uint16_t y)
Set cursor position for mode 03h to internal buffer.
Definition: mode_03h.c:730
int8_t mode03h_get_char_buffered(uint16_t x, uint16_t y, char *character)
Get character from given point on screen for mode 03h to internal buffer.
Definition: mode_03h.c:680
int8_t mode03h_set_char_and_color_buffered(uint16_t x, uint16_t y, char character, uint8_t color)
Set character and character color on given point on screen for mode 03h to internal buffer...
Definition: mode_03h.c:710
int8_t mode03h_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 for mode 03h to external buffer.
Definition: mode_03h.c:839
int8_t mode03h_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 for mode 03h to external buffer.
Definition: mode_03h.c:824
int8_t mode03h_clear_screen()
Definition: mode_03h.c:625
int8_t mode03h_set_cursor_pos(uint16_t x, uint16_t y)
Set cursor position for mode 03h.
Definition: mode_03h.c:543
void __mode03h_newline(uint16_t *buffer, uint16_t *x, uint16_t *y)
Print new line.
Definition: mode_03h.c:1059
int8_t mode03h_print_string_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y, const char *string)
Print string on screen for mode 03h to external buffer.
Definition: mode_03h.c:829
int8_t mode03h_draw_pixel_buffered(uint8_t color, uint16_t x, uint16_t y)
Definition: mode_03h.c:752
int8_t mode03h_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 for mode 03h to external buffer.
Definition: mode_03h.c:844
char buffer[500]
Definition: physical_memory_manager.c:5
int8_t mode03h_set_mode()
Definition: mode_03h.c:346
int8_t mode03h_draw_circle(uint8_t color, uint16_t x, uint16_t y, uint16_t radius)
Definition: mode_03h.c:616
int8_t mode03h_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 for mode 03h to external buffer.
Definition: mode_03h.c:854
uint8_t * mode03h_create_external_buffer(uint16_t mode)
Definition: mode_03h.c:936
int8_t mode03h_swap_external_buffer(uint8_t *buffer, uint16_t mode)
Definition: mode_03h.c:932
int8_t __mode03h_print_char_color_buffer(uint16_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y, char character, uint8_t color)
Helper function to print character on screen for mode 03h on given buffer.
Definition: mode_03h.c:966
int8_t mode03h_draw_line_buffered(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: mode_03h.c:763
int8_t __mode03h_set_char_buffer(uint16_t *buffer, uint16_t mode, uint16_t x, uint16_t y, char character)
Helper function to s character on given point on screen for mode 03h on given buffer.
Definition: mode_03h.c:1009
int8_t mode03h_print_char_color_buffered(char character, uint8_t color)
Print character on screen for mode 03h to internal buffer.
Definition: mode_03h.c:641
int8_t mode03h_print_string_color(const char *string, uint8_t color)
Print string on screen for mode 03h.
Definition: mode_03h.c:493
static char mode
Definition: vga_gmode.c:20
int8_t mode03h_set_char(uint16_t x, uint16_t y, char character)
Set character on given point on screen for mode 03h.
Definition: mode_03h.c:500
int8_t mode03h_draw_pixel_external_buffer(uint8_t *buffer, uint16_t mode, int8_t color, uint16_t x, uint16_t y)
Definition: mode_03h.c:869
uint8_t mode03h_is_buffer_on()
Definition: mode_03h.c:454
int8_t mode03h_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 for mode 03h.
Definition: mode_03h.c:525
int8_t mode03h_clear_screen_buffered()
Definition: mode_03h.c:801
int8_t __mode03h_get_char_and_color_buffer(uint16_t *buffer, uint16_t mode, uint16_t x, uint16_t y, char *character, uint8_t *color)
Helper function to get character and character color color from given point on screen for mode 03h on...
Definition: mode_03h.c:1050