MicrOS
mode_07h.h
Go to the documentation of this file.
1 #ifndef MODE_07H
2 #define MODE_07H
3 
4 #include "stdint.h"
5 
6 #define MODE07H_WIDTH 80
7 #define MODE07H_HEIGHT 25
8 
9 // TODO: implement functions
10 
11 int8_t mode07h_set_mode();
12 
13 int8_t mode07h_turn_on_buffer();
15 uint8_t mode07h_is_buffer_on();
16 
17 int8_t mode07h_swap_buffers();
18 
20 
25 int8_t mode07h_print_char(char character);
26 
28 
34 int8_t mode07h_print_char_color(char character, uint8_t color);
35 
37 
42 int8_t mode07h_print_string(const char* string);
43 
45 
51 int8_t mode07h_print_string_color(const char* string, uint8_t color);
52 
54 
61 int8_t mode07h_set_char(uint16_t x, uint16_t y, char character);
62 
64 
71 int8_t mode07h_get_char(uint16_t x, uint16_t y, char* character);
72 
74 
81 int8_t mode07h_set_color(uint16_t x, uint16_t y, uint8_t color);
82 
84 
91 int8_t mode07h_get_color(uint16_t x, uint16_t y, uint8_t* color);
92 
94 
102 int8_t mode07h_set_char_and_color(uint16_t x, uint16_t y, char character, uint8_t color);
103 
105 
112 int8_t mode07h_get_char_and_color(uint16_t x, uint16_t y, char* character, uint8_t* color);
113 
115 
121 int8_t mode07h_set_cursor_pos(uint16_t x, uint16_t y);
122 
124 
130 int8_t mode07h_get_cursor_pos(uint16_t* x, uint16_t* y);
131 
133 
138 int8_t mode07h_turn_cursor_on();
139 
141 
144 int8_t mode07h_turn_cursor_off();
145 
146 int8_t mode07h_draw_pixel(uint8_t color, uint16_t x, uint16_t y);
147 int8_t mode07h_draw_line(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by);
148 int8_t mode07h_draw_circle(uint8_t color, uint16_t x, uint16_t y, uint16_t radius);
149 int8_t mode07h_draw_rectangle(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by);
150 int8_t mode07h_clear_screen();
151 
153 
158 int8_t mode07h_print_char_buffered(char character);
159 
161 
167 int8_t mode07h_print_char_color_buffered(char character, uint8_t color);
168 
170 
175 int8_t mode07h_print_string_buffered(const char* string);
176 
178 
184 int8_t mode07h_print_string_color_buffered(const char* string, uint8_t color);
185 
187 
194 int8_t mode07h_set_char_buffered(uint16_t x, uint16_t y, char character);
195 
197 
204 int8_t mode07h_get_char_buffered(uint16_t x, uint16_t y, char* character);
205 
207 
214 int8_t mode07h_set_color_buffered(uint16_t x, uint16_t y, uint8_t color);
215 
217 
224 int8_t mode07h_get_color_buffered(uint16_t x, uint16_t y, uint8_t* color);
225 
227 
235 int8_t mode07h_set_char_and_color_buffered(uint16_t x, uint16_t y, char character, uint8_t color);
236 
238 
245 int8_t mode07h_get_char_and_color_buffered(uint16_t x, uint16_t y, char* character, uint8_t* color);
246 
248 
254 int8_t mode07h_set_cursor_pos_buffered(uint16_t x, uint16_t y);
255 
257 
263 int8_t mode07h_get_cursor_pos_buffered(uint16_t* x, uint16_t* y);
264 
265 int8_t mode07h_draw_pixel_buffered(uint8_t color, uint16_t x, uint16_t y);
266 int8_t mode07h_draw_line_buffered(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by);
267 int8_t mode07h_draw_circle_buffered(uint8_t color, uint16_t x, uint16_t y, uint16_t radius);
268 int8_t mode07h_draw_rectangle_buffered(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by);
270 
272 
281 int8_t mode07h_print_char_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, char character);
282 
284 
294 int8_t mode07h_print_char_color_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, char character, uint8_t color);
295 
297 
306 int8_t mode07h_print_string_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, const char* string);
307 
309 
319 int8_t mode07h_print_string_color_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, const char* string, uint8_t color);
320 
322 
331 int8_t mode07h_set_char_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char character);
332 
334 
343 int8_t mode07h_get_char_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char* character);
344 
346 
355 int8_t mode07h_set_color_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t color);
356 
358 
367 int8_t mode07h_get_color_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t* color);
368 
370 
380 int8_t mode07h_set_char_and_color_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char character, uint8_t color);
381 
383 
392 int8_t mode07h_get_char_and_color_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char* character, uint8_t* color);
393 
394 int8_t mode07h_draw_pixel_external_buffer(uint8_t* buffer, uint16_t mode, int8_t color, uint16_t x, uint16_t y);
395 int8_t mode07h_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);
396 int8_t mode07h_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, uint8_t color, uint16_t x, uint16_t y, uint16_t radius);
397 int8_t mode07h_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);
398 int8_t mode07h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y);
399 
400 int8_t mode07h_swap_external_buffer(uint8_t* buffer, uint16_t mode);
401 uint8_t* mode07h_create_external_buffer(uint16_t mode);
402 
403 // Helpers
404 
406 
415 int8_t __mode07h_print_char_buffer(uint16_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, char character);
416 
418 
428 int8_t __mode07h_print_char_color_buffer(uint16_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, char character, uint8_t color);
429 
431 
440 int8_t __mode07h_print_string_buffer(uint16_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, const char* string);
441 
443 
453 int8_t __mode07h_print_string_color_buffer(uint16_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, const char* string, uint8_t color);
454 
456 
465 int8_t __mode07h_set_char_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char character);
466 
468 
477 int8_t __mode07h_get_char_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char* character);
478 
480 
489 int8_t __mode07h_set_color_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t color);
490 
492 
501 int8_t __mode07h_get_color_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t* color);
502 
504 
514 int8_t __mode07h_set_char_and_color_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char character, uint8_t color);
515 
517 
526 int8_t __mode07h_get_char_and_color_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char* character, uint8_t* color);
527 
529 
534 void __mode07h_newline(uint16_t* buffer, uint16_t* x, uint16_t* y);
535 
537 
543 uint16_t __mode07h_calcualte_position(uint16_t x, uint16_t y);
544 
545 #endif
int8_t mode07h_set_mode()
Definition: mode_07h.c:346
int8_t mode07h_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 07h to external buffer.
Definition: mode_07h.c:827
uint8_t mode07h_is_buffer_on()
Definition: mode_07h.c:451
int8_t __mode07h_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 07h on given buffer...
Definition: mode_07h.c:1008
int8_t mode07h_set_color_buffered(uint16_t x, uint16_t y, uint8_t color)
Set character color on given point on screen for mode 07h to internal buffer.
Definition: mode_07h.c:684
int8_t mode07h_set_cursor_pos(uint16_t x, uint16_t y)
Set cursor position for mode 07h.
Definition: mode_07h.c:540
int8_t mode07h_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 07h to external buffer.
Definition: mode_07h.c:817
uint8_t * mode07h_create_external_buffer(uint16_t mode)
Definition: mode_07h.c:929
int8_t mode07h_print_char_color_buffered(char character, uint8_t color)
Print character on screen for mode 07h to internal buffer.
Definition: mode_07h.c:635
int8_t mode07h_set_color(uint16_t x, uint16_t y, uint8_t color)
Set character color on given point on screen for mode 07h.
Definition: mode_07h.c:509
int8_t mode07h_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 07h to internal buffer...
Definition: mode_07h.c:714
void __mode07h_newline(uint16_t *buffer, uint16_t *x, uint16_t *y)
Print new line.
Definition: mode_07h.c:1050
int8_t mode07h_print_char(char character)
Print character on screen for mode 07h.
Definition: mode_07h.c:471
int8_t mode07h_draw_pixel(uint8_t color, uint16_t x, uint16_t y)
Definition: mode_07h.c:567
int8_t mode07h_print_char_buffered(char character)
Print character on screen for mode 07h to internal buffer.
Definition: mode_07h.c:625
int8_t mode07h_print_char_color(char character, uint8_t color)
Print character on screen for mode 07h.
Definition: mode_07h.c:477
int8_t mode07h_turn_on_buffer()
Definition: mode_07h.c:403
int8_t mode07h_turn_off_buffer()
Definition: mode_07h.c:427
int8_t mode07h_draw_circle(uint8_t color, uint16_t x, uint16_t y, uint16_t radius)
Definition: mode_07h.c:611
int8_t mode07h_turn_cursor_on()
Turn on cursor for mode 07h.
Definition: mode_07h.c:555
int8_t __mode07h_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 07h on given buffer.
Definition: mode_07h.c:989
int8_t __mode07h_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 07h on given buffer.
Definition: mode_07h.c:957
int8_t mode07h_draw_circle_external_buffer(uint8_t *buffer, uint16_t mode, uint8_t color, uint16_t x, uint16_t y, uint16_t radius)
Definition: mode_07h.c:900
int8_t mode07h_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 07h to external buffer.
Definition: mode_07h.c:832
int8_t mode07h_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 07h to external buffer...
Definition: mode_07h.c:852
int8_t mode07h_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 07h to external buffer.
Definition: mode_07h.c:842
int8_t mode07h_get_cursor_pos(uint16_t *x, uint16_t *y)
Get cursor position for mode 07h.
Definition: mode_07h.c:546
int8_t mode07h_set_char_buffered(uint16_t x, uint16_t y, char character)
Set character on given point on screen for mode 07h to internal buffer.
Definition: mode_07h.c:664
int8_t mode07h_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 07h to external buffer.
Definition: mode_07h.c:847
int8_t __mode07h_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 07h on given buffer...
Definition: mode_07h.c:1024
int8_t mode07h_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 07h to external buffer...
Definition: mode_07h.c:857
int8_t mode07h_print_string(const char *string)
Print string on screen for mode 07h.
Definition: mode_07h.c:484
int8_t __mode07h_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 07h on...
Definition: mode_07h.c:1041
int8_t mode07h_get_color_buffered(uint16_t x, uint16_t y, uint8_t *color)
Get character color from given point on screen for mode 07h to internal buffer.
Definition: mode_07h.c:694
int8_t mode07h_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_07h.c:903
int8_t mode07h_draw_pixel_external_buffer(uint8_t *buffer, uint16_t mode, int8_t color, uint16_t x, uint16_t y)
Definition: mode_07h.c:862
int8_t mode07h_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 07h.
Definition: mode_07h.c:531
int8_t mode07h_draw_line_buffered(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: mode_07h.c:756
int8_t mode07h_draw_line(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: mode_07h.c:582
int8_t mode07h_get_char_buffered(uint16_t x, uint16_t y, char *character)
Get character from given point on screen for mode 07h to internal buffer.
Definition: mode_07h.c:674
int8_t mode07h_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 07h to internal buffer...
Definition: mode_07h.c:704
int8_t mode07h_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 07h to external buffer.
Definition: mode_07h.c:837
int8_t mode07h_get_cursor_pos_buffered(uint16_t *x, uint16_t *y)
Get cursor position for mode 07h to internal buffer.
Definition: mode_07h.c:735
int8_t __mode07h_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 07h on given buffer.
Definition: mode_07h.c:1000
int8_t __mode07h_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 07h on given buffer...
Definition: mode_07h.c:1016
int8_t mode07h_print_string_buffered(const char *string)
Print string on screen for mode 07h to internal buffer.
Definition: mode_07h.c:645
int8_t mode07h_set_char(uint16_t x, uint16_t y, char character)
Set character on given point on screen for mode 07h.
Definition: mode_07h.c:497
int8_t mode07h_clear_screen_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y)
Definition: mode_07h.c:906
int8_t mode07h_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 07h to external buffer.
Definition: mode_07h.c:822
int8_t mode07h_draw_pixel_buffered(uint8_t color, uint16_t x, uint16_t y)
Definition: mode_07h.c:746
int8_t mode07h_turn_cursor_off()
Turn off cursor for mode 07h.
Definition: mode_07h.c:561
int8_t mode07h_get_color(uint16_t x, uint16_t y, uint8_t *color)
Get character color from given point on screen for mode 07h.
Definition: mode_07h.c:515
int8_t mode07h_print_char_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y, char character)
Print character on screen for mode 07h to external buffer.
Definition: mode_07h.c:812
int8_t mode07h_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 07h.
Definition: mode_07h.c:522
int8_t mode07h_draw_rectangle_buffered(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: mode_07h.c:790
int8_t mode07h_print_string_color(const char *string, uint8_t color)
Print string on screen for mode 07h.
Definition: mode_07h.c:490
int8_t mode07h_print_string_color_buffered(const char *string, uint8_t color)
Print string on screen for mode 07h to internal buffer.
Definition: mode_07h.c:655
int8_t mode07h_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_07h.c:871
char buffer[500]
Definition: physical_memory_manager.c:5
int8_t __mode07h_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 07h on given buffer.
Definition: mode_07h.c:978
int8_t mode07h_draw_circle_buffered(uint8_t color, uint16_t x, uint16_t y, uint16_t radius)
Definition: mode_07h.c:786
uint16_t __mode07h_calcualte_position(uint16_t x, uint16_t y)
Calculate position.
Definition: mode_07h.c:1081
int8_t mode07h_swap_buffers()
Definition: mode_07h.c:463
int8_t __mode07h_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 07h on given buffer.
Definition: mode_07h.c:936
int8_t mode07h_clear_screen_buffered()
Definition: mode_07h.c:794
int8_t __mode07h_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 07h on given b...
Definition: mode_07h.c:1032
int8_t mode07h_get_char(uint16_t x, uint16_t y, char *character)
Get character from given point on screen for mode 07h.
Definition: mode_07h.c:503
static char mode
Definition: vga_gmode.c:20
int8_t mode07h_clear_screen()
Definition: mode_07h.c:619
int8_t mode07h_set_cursor_pos_buffered(uint16_t x, uint16_t y)
Set cursor position for mode 07h to internal buffer.
Definition: mode_07h.c:724
int8_t mode07h_draw_rectangle(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: mode_07h.c:615
int8_t mode07h_swap_external_buffer(uint8_t *buffer, uint16_t mode)
Definition: mode_07h.c:925