MicrOS
mode_02h.h
Go to the documentation of this file.
1 #ifndef MODE_02H
2 #define MODE_02H
3 
4 #include "stdint.h"
5 
6 #define MODE02H_WIDTH 80
7 #define MODE02H_HEIGHT 25
8 
9 // TODO: implement functions
10 
11 int8_t mode02h_set_mode();
12 
13 int8_t mode02h_turn_on_buffer();
15 uint8_t mode02h_is_buffer_on();
16 
17 int8_t mode02h_swap_buffers();
18 
20 
25 int8_t mode02h_print_char(char character);
26 
28 
34 int8_t mode02h_print_char_color(char character, uint8_t color);
35 
37 
42 int8_t mode02h_print_string(const char* string);
43 
45 
51 int8_t mode02h_print_string_color(const char* string, uint8_t color);
52 
54 
61 int8_t mode02h_set_char(uint16_t x, uint16_t y, char character);
62 
64 
71 int8_t mode02h_get_char(uint16_t x, uint16_t y, char* character);
72 
74 
81 int8_t mode02h_set_color(uint16_t x, uint16_t y, uint8_t color);
82 
84 
91 int8_t mode02h_get_color(uint16_t x, uint16_t y, uint8_t* color);
92 
94 
102 int8_t mode02h_set_char_and_color(uint16_t x, uint16_t y, char character, uint8_t color);
103 
105 
112 int8_t mode02h_get_char_and_color(uint16_t x, uint16_t y, char* character, uint8_t* color);
113 
115 
121 int8_t mode02h_set_cursor_pos(uint16_t x, uint16_t y);
122 
124 
130 int8_t mode02h_get_cursor_pos(uint16_t* x, uint16_t* y);
131 
133 
138 int8_t mode02h_turn_cursor_on();
139 
141 
144 int8_t mode02h_turn_cursor_off();
145 
146 int8_t mode02h_draw_pixel(uint8_t color, uint16_t x, uint16_t y);
147 int8_t mode02h_draw_line(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by);
148 int8_t mode02h_draw_circle(uint8_t color, uint16_t x, uint16_t y, uint16_t radius);
149 int8_t mode02h_draw_rectangle(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by);
150 int8_t mode02h_clear_screen();
151 
153 
158 int8_t mode02h_print_char_buffered(char character);
159 
161 
167 int8_t mode02h_print_char_color_buffered(char character, uint8_t color);
168 
170 
175 int8_t mode02h_print_string_buffered(const char* string);
176 
178 
184 int8_t mode02h_print_string_color_buffered(const char* string, uint8_t color);
185 
187 
194 int8_t mode02h_set_char_buffered(uint16_t x, uint16_t y, char character);
195 
197 
204 int8_t mode02h_get_char_buffered(uint16_t x, uint16_t y, char* character);
205 
207 
214 int8_t mode02h_set_color_buffered(uint16_t x, uint16_t y, uint8_t color);
215 
217 
224 int8_t mode02h_get_color_buffered(uint16_t x, uint16_t y, uint8_t* color);
225 
227 
235 int8_t mode02h_set_char_and_color_buffered(uint16_t x, uint16_t y, char character, uint8_t color);
236 
238 
245 int8_t mode02h_get_char_and_color_buffered(uint16_t x, uint16_t y, char* character, uint8_t* color);
246 
248 
254 int8_t mode02h_set_cursor_pos_buffered(uint16_t x, uint16_t y);
255 
257 
263 int8_t mode02h_get_cursor_pos_buffered(uint16_t* x, uint16_t* y);
264 
265 int8_t mode02h_draw_pixel_buffered(uint8_t color, uint16_t x, uint16_t y);
266 int8_t mode02h_draw_line_buffered(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by);
267 int8_t mode02h_draw_circle_buffered(uint8_t color, uint16_t x, uint16_t y, uint16_t radius);
268 int8_t mode02h_draw_rectangle_buffered(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by);
270 
272 
281 int8_t mode02h_print_char_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, char character);
282 
284 
294 int8_t mode02h_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 mode02h_print_string_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, const char* string);
307 
309 
319 int8_t mode02h_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 mode02h_set_char_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char character);
332 
334 
343 int8_t mode02h_get_char_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char* character);
344 
346 
355 int8_t mode02h_set_color_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t color);
356 
358 
367 int8_t mode02h_get_color_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t* color);
368 
370 
380 int8_t mode02h_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 mode02h_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 mode02h_draw_pixel_external_buffer(uint8_t* buffer, uint16_t mode, int8_t color, uint16_t x, uint16_t y);
395 int8_t mode02h_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 mode02h_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 mode02h_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 mode02h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y);
399 
400 int8_t mode02h_swap_external_buffer(uint8_t* buffer, uint16_t mode);
401 uint8_t* mode02h_create_external_buffer(uint16_t mode);
402 
403 // Helpers
404 
406 
415 int8_t __mode02h_print_char_buffer(uint16_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, char character);
416 
418 
428 int8_t __mode02h_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 __mode02h_print_string_buffer(uint16_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y, const char* string);
441 
443 
453 int8_t __mode02h_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 __mode02h_set_char_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char character);
466 
468 
477 int8_t __mode02h_get_char_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, char* character);
478 
480 
489 int8_t __mode02h_set_color_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t color);
490 
492 
501 int8_t __mode02h_get_color_buffer(uint16_t* buffer, uint16_t mode, uint16_t x, uint16_t y, uint8_t* color);
502 
504 
514 int8_t __mode02h_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 __mode02h_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 __mode02h_newline(uint16_t* buffer, uint16_t* x, uint16_t* y);
535 
537 
543 uint16_t __mode02h_calcualte_position(uint16_t x, uint16_t y);
544 
545 #endif
int8_t mode02h_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 02h to external buffer.
Definition: mode_02h.c:831
int8_t mode02h_draw_circle_buffered(uint8_t color, uint16_t x, uint16_t y, uint16_t radius)
Definition: mode_02h.c:785
int8_t __mode02h_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 02h on given buffer.
Definition: mode_02h.c:999
int8_t mode02h_set_cursor_pos(uint16_t x, uint16_t y)
Set cursor position for mode 02h.
Definition: mode_02h.c:539
int8_t mode02h_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 02h to internal buffer...
Definition: mode_02h.c:703
int8_t mode02h_clear_screen()
Definition: mode_02h.c:618
int8_t mode02h_get_color(uint16_t x, uint16_t y, uint8_t *color)
Get character color from given point on screen for mode 02h.
Definition: mode_02h.c:514
int8_t mode02h_draw_pixel_buffered(uint8_t color, uint16_t x, uint16_t y)
Definition: mode_02h.c:745
int8_t __mode02h_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 02h on given buffer...
Definition: mode_02h.c:1007
int8_t __mode02h_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 02h on given buffer.
Definition: mode_02h.c:956
int8_t mode02h_set_char(uint16_t x, uint16_t y, char character)
Set character on given point on screen for mode 02h.
Definition: mode_02h.c:496
int8_t mode02h_turn_cursor_on()
Turn on cursor for mode 02h.
Definition: mode_02h.c:554
int8_t mode02h_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_02h.c:902
int8_t mode02h_swap_external_buffer(uint8_t *buffer, uint16_t mode)
Definition: mode_02h.c:924
int8_t mode02h_set_color(uint16_t x, uint16_t y, uint8_t color)
Set character color on given point on screen for mode 02h.
Definition: mode_02h.c:508
int8_t mode02h_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 02h to external buffer.
Definition: mode_02h.c:836
int8_t mode02h_set_char_buffered(uint16_t x, uint16_t y, char character)
Set character on given point on screen for mode 02h to internal buffer.
Definition: mode_02h.c:663
int8_t mode02h_print_char(char character)
Print character on screen for mode 02h.
Definition: mode_02h.c:470
int8_t mode02h_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 02h to external buffer.
Definition: mode_02h.c:816
int8_t mode02h_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 02h to external buffer.
Definition: mode_02h.c:826
int8_t mode02h_get_cursor_pos_buffered(uint16_t *x, uint16_t *y)
Get cursor position for mode 02h to internal buffer.
Definition: mode_02h.c:734
int8_t mode02h_get_char_buffered(uint16_t x, uint16_t y, char *character)
Get character from given point on screen for mode 02h to internal buffer.
Definition: mode_02h.c:673
int8_t mode02h_get_cursor_pos(uint16_t *x, uint16_t *y)
Get cursor position for mode 02h.
Definition: mode_02h.c:545
int8_t mode02h_print_char_color(char character, uint8_t color)
Print character on screen for mode 02h.
Definition: mode_02h.c:476
int8_t mode02h_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 02h to external buffer.
Definition: mode_02h.c:821
int8_t mode02h_clear_screen_buffered()
Definition: mode_02h.c:793
int8_t mode02h_set_cursor_pos_buffered(uint16_t x, uint16_t y)
Set cursor position for mode 02h to internal buffer.
Definition: mode_02h.c:723
int8_t mode02h_get_color_buffered(uint16_t x, uint16_t y, uint8_t *color)
Get character color from given point on screen for mode 02h to internal buffer.
Definition: mode_02h.c:693
int8_t mode02h_swap_buffers()
Definition: mode_02h.c:462
int8_t mode02h_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 02h to external buffer...
Definition: mode_02h.c:856
int8_t mode02h_draw_rectangle_buffered(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: mode_02h.c:789
int8_t mode02h_print_string_color_buffered(const char *string, uint8_t color)
Print string on screen for mode 02h to internal buffer.
Definition: mode_02h.c:654
int8_t mode02h_draw_circle(uint8_t color, uint16_t x, uint16_t y, uint16_t radius)
Definition: mode_02h.c:610
int8_t mode02h_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 02h to internal buffer...
Definition: mode_02h.c:713
int8_t mode02h_turn_on_buffer()
Definition: mode_02h.c:402
int8_t mode02h_print_char_color_buffered(char character, uint8_t color)
Print character on screen for mode 02h to internal buffer.
Definition: mode_02h.c:634
uint16_t __mode02h_calcualte_position(uint16_t x, uint16_t y)
Calculate position.
Definition: mode_02h.c:1080
int8_t mode02h_draw_rectangle(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: mode_02h.c:614
int8_t mode02h_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 02h to external buffer.
Definition: mode_02h.c:846
int8_t mode02h_draw_line(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: mode_02h.c:581
int8_t mode02h_print_string(const char *string)
Print string on screen for mode 02h.
Definition: mode_02h.c:483
int8_t mode02h_turn_off_buffer()
Definition: mode_02h.c:426
int8_t __mode02h_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 02h on given buffer...
Definition: mode_02h.c:1023
int8_t mode02h_set_color_buffered(uint16_t x, uint16_t y, uint8_t color)
Set character color on given point on screen for mode 02h to internal buffer.
Definition: mode_02h.c:683
int8_t mode02h_print_string_color(const char *string, uint8_t color)
Print string on screen for mode 02h.
Definition: mode_02h.c:489
int8_t __mode02h_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 02h on given buffer.
Definition: mode_02h.c:977
int8_t mode02h_print_string_buffered(const char *string)
Print string on screen for mode 02h to internal buffer.
Definition: mode_02h.c:644
char buffer[500]
Definition: physical_memory_manager.c:5
int8_t mode02h_print_char_buffered(char character)
Print character on screen for mode 02h to internal buffer.
Definition: mode_02h.c:624
int8_t mode02h_draw_pixel_external_buffer(uint8_t *buffer, uint16_t mode, int8_t color, uint16_t x, uint16_t y)
Definition: mode_02h.c:861
int8_t mode02h_draw_line_buffered(uint8_t color, uint16_t ax, uint16_t ay, uint16_t bx, uint16_t by)
Definition: mode_02h.c:755
int8_t mode02h_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 02h.
Definition: mode_02h.c:521
int8_t mode02h_clear_screen_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y)
Definition: mode_02h.c:905
void __mode02h_newline(uint16_t *buffer, uint16_t *x, uint16_t *y)
Print new line.
Definition: mode_02h.c:1049
int8_t __mode02h_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 02h on given buffer.
Definition: mode_02h.c:935
uint8_t mode02h_is_buffer_on()
Definition: mode_02h.c:450
int8_t __mode02h_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 02h on given buffer.
Definition: mode_02h.c:988
int8_t mode02h_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_02h.c:870
int8_t mode02h_draw_pixel(uint8_t color, uint16_t x, uint16_t y)
Definition: mode_02h.c:566
int8_t __mode02h_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 02h on given buffer...
Definition: mode_02h.c:1015
int8_t mode02h_set_mode()
Definition: mode_02h.c:346
int8_t mode02h_print_char_external_buffer(uint8_t *buffer, uint16_t mode, uint16_t *x, uint16_t *y, char character)
Print character on screen for mode 02h to external buffer.
Definition: mode_02h.c:811
uint8_t * mode02h_create_external_buffer(uint16_t mode)
Definition: mode_02h.c:928
int8_t mode02h_get_char(uint16_t x, uint16_t y, char *character)
Get character from given point on screen for mode 02h.
Definition: mode_02h.c:502
int8_t mode02h_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 02h to external buffer...
Definition: mode_02h.c:851
static char mode
Definition: vga_gmode.c:20
int8_t mode02h_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 02h.
Definition: mode_02h.c:530
int8_t __mode02h_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 02h on given b...
Definition: mode_02h.c:1031
int8_t mode02h_turn_cursor_off()
Turn off cursor for mode 02h.
Definition: mode_02h.c:560
int8_t __mode02h_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 02h on...
Definition: mode_02h.c:1040
int8_t mode02h_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 02h to external buffer.
Definition: mode_02h.c:841
int8_t mode02h_draw_circle_external_buffer(uint8_t *buffer, uint16_t mode, uint8_t color, uint16_t x, uint16_t y, uint16_t radius)
Definition: mode_02h.c:899