Skip to content

Commit fb3bc09

Browse files
authored
Merge pull request #78 from Tearth/develop
Develop
2 parents d2f7b44 + 338d8fe commit fb3bc09

38 files changed

+98
-65
lines changed

Diff for: os/kernel/src/drivers/dal/videocard/videocard.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ int8_t (*_draw_pixel_external_buffer)(uint8_t*, uint16_t, int8_t, uint16_t, uint
5050
int8_t (*_draw_line_external_buffer)(uint8_t*, uint16_t, uint8_t, uint16_t, uint16_t, uint16_t, uint16_t) = NULL;
5151
int8_t (*_draw_circle_external_buffer)(uint8_t*, uint16_t, uint8_t, uint16_t, uint16_t, uint16_t) = NULL;
5252
int8_t (*_draw_rectangle_external_buffer)(uint8_t*, uint16_t, uint8_t, uint16_t, uint16_t, uint16_t, uint16_t) = NULL;
53-
int8_t (*_clear_screen_external_buffer)(uint8_t*, uint16_t) = NULL;
53+
int8_t (*_clear_screen_external_buffer)(uint8_t*, uint16_t, uint16_t*, uint16_t*) = NULL;
5454

5555
int8_t (*_swap_external_buffer)(uint8_t*, uint16_t) = NULL;
5656
uint8_t* (*_create_external_buffer)(uint16_t) = NULL;
@@ -466,8 +466,8 @@ int8_t video_card_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, ui
466466
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){
467467
return (*_draw_rectangle_external_buffer)(buffer, mode, color, ax, ay, bx, by);
468468
}
469-
int8_t video_card_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode){
470-
return (*_clear_screen_external_buffer)(buffer, mode);
469+
int8_t video_card_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y){
470+
return (*_clear_screen_external_buffer)(buffer, mode, x, y);
471471
}
472472

473473
int8_t video_card_swap_external_buffer(uint8_t* buffer, uint16_t mode){

Diff for: os/kernel/src/drivers/dal/videocard/videocard.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ typedef struct _driver_init_struct
6161
int8_t (*draw_line_external_buffer)(uint8_t*, uint16_t, uint8_t, uint16_t, uint16_t, uint16_t, uint16_t);
6262
int8_t (*draw_circle_external_buffer)(uint8_t*, uint16_t, uint8_t, uint16_t, uint16_t, uint16_t);
6363
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);
64+
int8_t (*clear_screen_external_buffer)(uint8_t*, uint16_t, uint16_t*, uint16_t*);
6565

6666
int8_t (*swap_external_buffer)(uint8_t*, uint16_t);
6767
uint8_t* (*create_external_buffer)(uint16_t);
@@ -507,7 +507,7 @@ int8_t video_card_draw_pixel_external_buffer(uint8_t* buffer, uint16_t mode, int
507507
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);
508508
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);
509509
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);
510-
int8_t video_card_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode);
510+
int8_t video_card_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y);
511511

512512
int8_t video_card_swap_external_buffer(uint8_t* buffer, uint16_t mode);
513513
uint8_t* video_card_create_external_buffer(uint16_t mode);

Diff for: os/kernel/src/drivers/harddisk/ata/harddisk_ata.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,10 @@ int8_t __harddisk_ata_write_sector(HARDDISK_ATA_MASTER_SLAVE type, HARDDISK_ATA_
152152
for(int i = 0; i < 256; i++)
153153
{
154154
// Write 256 16-bit values.
155-
io_out_word(io_port, buffer[i]);
156-
// Cache flush.
157-
io_out_byte(io_port + HARDDISK_IO_COMMAND_REGISTER_OFFSET, 0xE7);
155+
io_out_word(io_port, buffer[i]);
158156
}
157+
// Cache flush.
158+
io_out_byte(io_port + HARDDISK_IO_COMMAND_REGISTER_OFFSET, 0xE7);
159159
__harddisk_400ns_delay(control_port);
160160
return 1;
161161
}

Diff for: os/kernel/src/drivers/vga/genericvga.c

+17-17
Original file line numberDiff line numberDiff line change
@@ -431,41 +431,41 @@ int8_t generic_vga_draw_rectangle_external_buffer(uint8_t* buffer, uint16_t mode
431431
default: return -1;
432432
}
433433
}
434-
int8_t generic_vga_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode){
434+
int8_t generic_vga_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y){
435435
switch(mode)
436436
{
437437
case 0x00:
438-
return mode00h_clear_screen_external_buffer(buffer, mode);
438+
return mode00h_clear_screen_external_buffer(buffer, mode, x, y);
439439
case 0x01:
440-
return mode01h_clear_screen_external_buffer(buffer, mode);
440+
return mode01h_clear_screen_external_buffer(buffer, mode, x, y);
441441
case 0x02:
442-
return mode02h_clear_screen_external_buffer(buffer, mode);
442+
return mode02h_clear_screen_external_buffer(buffer, mode, x, y);
443443
case 0x03:
444-
return mode03h_clear_screen_external_buffer(buffer, mode);
444+
return mode03h_clear_screen_external_buffer(buffer, mode, x, y);
445445
case 0x04:
446-
return mode04h_clear_screen_external_buffer(buffer, mode);
446+
return mode04h_clear_screen_external_buffer(buffer, mode, x, y);
447447
case 0x05:
448-
return mode05h_clear_screen_external_buffer(buffer, mode);
448+
return mode05h_clear_screen_external_buffer(buffer, mode, x, y);
449449
case 0x06:
450-
return mode06h_clear_screen_external_buffer(buffer, mode);
450+
return mode06h_clear_screen_external_buffer(buffer, mode, x, y);
451451
case 0x07:
452-
return mode07h_clear_screen_external_buffer(buffer, mode);
452+
return mode07h_clear_screen_external_buffer(buffer, mode, x, y);
453453
case 0x0D:
454-
return mode0dh_clear_screen_external_buffer(buffer, mode);
454+
return mode0dh_clear_screen_external_buffer(buffer, mode, x, y);
455455
case 0x0E:
456-
return mode0eh_clear_screen_external_buffer(buffer, mode);
456+
return mode0eh_clear_screen_external_buffer(buffer, mode, x, y);
457457
case 0x0F:
458-
return mode0fh_clear_screen_external_buffer(buffer, mode);
458+
return mode0fh_clear_screen_external_buffer(buffer, mode, x, y);
459459
case 0x10:
460-
return mode10h_clear_screen_external_buffer(buffer, mode);
460+
return mode10h_clear_screen_external_buffer(buffer, mode, x, y);
461461
case 0x11:
462-
return mode11h_clear_screen_external_buffer(buffer, mode);
462+
return mode11h_clear_screen_external_buffer(buffer, mode, x, y);
463463
case 0x12:
464-
return mode12h_clear_screen_external_buffer(buffer, mode);
464+
return mode12h_clear_screen_external_buffer(buffer, mode, x, y);
465465
case 0x13:
466-
return mode13h_clear_screen_external_buffer(buffer, mode);
466+
return mode13h_clear_screen_external_buffer(buffer, mode, x, y);
467467
case 0x69:
468-
return modey_clear_screen_external_buffer(buffer, mode);
468+
return modey_clear_screen_external_buffer(buffer, mode, x, y);
469469
default: return -1;
470470
}
471471
}

Diff for: os/kernel/src/drivers/vga/genericvga.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ int8_t generic_vga_draw_pixel_external_buffer(uint8_t* buffer, uint16_t mode, in
1313
int8_t generic_vga_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);
1414
int8_t generic_vga_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, uint8_t color, uint16_t x, uint16_t y, uint16_t radius);
1515
int8_t generic_vga_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);
16-
int8_t generic_vga_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode);
16+
int8_t generic_vga_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y);
1717

1818
int8_t generic_vga_swap_external_buffer(uint8_t* buffer, uint16_t mode);
1919
uint8_t* generic_vga_create_external_buffer(uint16_t mode);

Diff for: os/kernel/src/drivers/vga/modes/mode_00h/mode_00h.c

+4-2
Original file line numberDiff line numberDiff line change
@@ -912,8 +912,10 @@ int8_t mode00h_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, uint8
912912
int8_t mode00h_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){
913913
return -1;
914914
}
915-
int8_t mode00h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode)
915+
int8_t mode00h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y)
916916
{
917+
if(x != NULL) *x = 0;
918+
if(y != NULL) *y = 0;
917919
vga_color_without_blink col = {.background = VGA_MODE_00H_COLOR_BLACK, .letter = VGA_MODE_00H_COLOR_LIGHT_GRAY};
918920
for (uint16_t i = 0; i < VGA_MODE_00H_SCREEN_ROWS; ++i)
919921
{
@@ -936,7 +938,7 @@ int8_t mode00h_swap_external_buffer(uint8_t* buffer, uint16_t mode){
936938
uint8_t* mode00h_create_external_buffer(uint16_t mode){
937939
uint8_t* ptr = heap_kernel_alloc(MODE00H_HEIGHT * MODE00H_WIDTH * sizeof(screen_char), 0);
938940
memset(ptr, 0, MODE00H_HEIGHT * MODE00H_WIDTH * sizeof(screen_char));
939-
mode00h_clear_screen_external_buffer(ptr, mode);
941+
mode00h_clear_screen_external_buffer(ptr, mode, NULL, NULL);
940942
return ptr;
941943
}
942944

Diff for: os/kernel/src/drivers/vga/modes/mode_00h/mode_00h.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ int8_t mode00h_draw_pixel_external_buffer(uint8_t* buffer, uint16_t mode, int8_t
395395
int8_t mode00h_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);
396396
int8_t mode00h_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, uint8_t color, uint16_t x, uint16_t y, uint16_t radius);
397397
int8_t mode00h_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 mode00h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode);
398+
int8_t mode00h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y);
399399

400400
int8_t mode00h_swap_external_buffer(uint8_t* buffer, uint16_t mode);
401401
uint8_t* mode00h_create_external_buffer(uint16_t mode);

Diff for: os/kernel/src/drivers/vga/modes/mode_01h/mode_01h.c

+4-2
Original file line numberDiff line numberDiff line change
@@ -912,8 +912,10 @@ int8_t mode01h_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, uint8
912912
int8_t mode01h_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){
913913
return -1;
914914
}
915-
int8_t mode01h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode)
915+
int8_t mode01h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y)
916916
{
917+
if(x != NULL) *x = 0;
918+
if(y != NULL) *y = 0;
917919
vga_color_without_blink col = {.background = VGA_MODE_01H_COLOR_BLACK, .letter = VGA_MODE_01H_COLOR_LIGHT_GRAY};
918920
for (uint16_t i = 0; i < VGA_MODE_01H_SCREEN_ROWS; ++i)
919921
{
@@ -936,7 +938,7 @@ int8_t mode01h_swap_external_buffer(uint8_t* buffer, uint16_t mode){
936938
uint8_t* mode01h_create_external_buffer(uint16_t mode){
937939
uint8_t* ptr = heap_kernel_alloc(MODE01H_HEIGHT * MODE01H_WIDTH * sizeof(screen_char), 0);
938940
memset(ptr, 0, MODE01H_HEIGHT * MODE01H_WIDTH * sizeof(screen_char));
939-
mode01h_clear_screen_external_buffer(ptr, mode);
941+
mode01h_clear_screen_external_buffer(ptr, mode, NULL, NULL);
940942
return ptr;
941943
}
942944

Diff for: os/kernel/src/drivers/vga/modes/mode_01h/mode_01h.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ int8_t mode01h_draw_pixel_external_buffer(uint8_t* buffer, uint16_t mode, int8_t
395395
int8_t mode01h_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);
396396
int8_t mode01h_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, uint8_t color, uint16_t x, uint16_t y, uint16_t radius);
397397
int8_t mode01h_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 mode01h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode);
398+
int8_t mode01h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y);
399399

400400
int8_t mode01h_swap_external_buffer(uint8_t* buffer, uint16_t mode);
401401
uint8_t* mode01h_create_external_buffer(uint16_t mode);

Diff for: os/kernel/src/drivers/vga/modes/mode_02h/mode_02h.c

+4-2
Original file line numberDiff line numberDiff line change
@@ -912,8 +912,10 @@ int8_t mode02h_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, uint8
912912
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){
913913
return -1;
914914
}
915-
int8_t mode02h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode)
915+
int8_t mode02h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y)
916916
{
917+
if(x != NULL) *x = 0;
918+
if(y != NULL) *y = 0;
917919
vga_color_without_blink col = {.background = VGA_MODE_02H_COLOR_BLACK, .letter = VGA_MODE_02H_COLOR_LIGHT_GRAY};
918920
for (uint16_t i = 0; i < VGA_MODE_02H_SCREEN_ROWS; ++i)
919921
{
@@ -936,7 +938,7 @@ int8_t mode02h_swap_external_buffer(uint8_t* buffer, uint16_t mode){
936938
uint8_t* mode02h_create_external_buffer(uint16_t mode){
937939
uint8_t* ptr = heap_kernel_alloc(MODE02H_HEIGHT * MODE02H_WIDTH * sizeof(screen_char), 0);
938940
memset(ptr, 0, MODE02H_HEIGHT * MODE02H_WIDTH * sizeof(screen_char));
939-
mode02h_clear_screen_external_buffer(ptr, mode);
941+
mode02h_clear_screen_external_buffer(ptr, mode, NULL, NULL);
940942
return ptr;
941943
}
942944

Diff for: os/kernel/src/drivers/vga/modes/mode_02h/mode_02h.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ int8_t mode02h_draw_pixel_external_buffer(uint8_t* buffer, uint16_t mode, int8_t
395395
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);
396396
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);
397397
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);
398+
int8_t mode02h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y);
399399

400400
int8_t mode02h_swap_external_buffer(uint8_t* buffer, uint16_t mode);
401401
uint8_t* mode02h_create_external_buffer(uint16_t mode);

Diff for: os/kernel/src/drivers/vga/modes/mode_03h/mode_03h.c

+4-2
Original file line numberDiff line numberDiff line change
@@ -920,8 +920,10 @@ int8_t mode03h_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, uint8
920920
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){
921921
return -1;
922922
}
923-
int8_t mode03h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode)
923+
int8_t mode03h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y)
924924
{
925+
if(x != NULL) *x = 0;
926+
if(y != NULL) *y = 0;
925927
vga_color_without_blink col = {.background = VGA_MODE_03H_COLOR_BLACK, .letter = VGA_MODE_03H_COLOR_LIGHT_GRAY};
926928
for (uint16_t i = 0; i < VGA_MODE_03H_SCREEN_ROWS; ++i)
927929
{
@@ -944,7 +946,7 @@ int8_t mode03h_swap_external_buffer(uint8_t* buffer, uint16_t mode){
944946
uint8_t* mode03h_create_external_buffer(uint16_t mode){
945947
uint8_t* ptr = heap_kernel_alloc(MODE03H_HEIGHT * MODE03H_WIDTH * sizeof(screen_char), 0);
946948
memset(ptr, 0, MODE03H_HEIGHT * MODE03H_WIDTH * sizeof(screen_char));
947-
mode03h_clear_screen_external_buffer(ptr, mode);
949+
mode03h_clear_screen_external_buffer(ptr, mode, NULL, NULL);
948950
return ptr;
949951
}
950952

Diff for: os/kernel/src/drivers/vga/modes/mode_03h/mode_03h.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ int8_t mode03h_draw_pixel_external_buffer(uint8_t* buffer, uint16_t mode, int8_t
393393
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);
394394
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);
395395
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);
396+
int8_t mode03h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y);
397397

398398
int8_t mode03h_swap_external_buffer(uint8_t* buffer, uint16_t mode);
399399
uint8_t* mode03h_create_external_buffer(uint16_t mode);

Diff for: os/kernel/src/drivers/vga/modes/mode_04h/mode_04h.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ int8_t mode04h_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, uint8
338338
int8_t mode04h_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){
339339
return 0;
340340
}
341-
int8_t mode04h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode){
341+
int8_t mode04h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y){
342342
memset(buffer, 0, 2 * MODE04H_HEIGHT * MODE04H_WIDTH / 8);
343343
return 0;
344344
}

Diff for: os/kernel/src/drivers/vga/modes/mode_04h/mode_04h.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ int8_t mode04h_draw_pixel_external_buffer(uint8_t* buffer, uint16_t mode, int8_t
3030
int8_t mode04h_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);
3131
int8_t mode04h_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, uint8_t color, uint16_t x, uint16_t y, uint16_t radius);
3232
int8_t mode04h_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);
33-
int8_t mode04h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode);
33+
int8_t mode04h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y);
3434

3535
int8_t mode04h_swap_external_buffer(uint8_t* buffer, uint16_t mode);
3636
uint8_t* mode04h_create_external_buffer(uint16_t mode);

Diff for: os/kernel/src/drivers/vga/modes/mode_05h/mode_05h.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ int8_t mode05h_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, uint8
338338
int8_t mode05h_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){
339339
return 0;
340340
}
341-
int8_t mode05h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode){
341+
int8_t mode05h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t*x, uint16_t* y ){
342342
memset(buffer, 0, 2 * MODE05H_HEIGHT * MODE05H_WIDTH / 8);
343343
return 0;
344344
}

Diff for: os/kernel/src/drivers/vga/modes/mode_05h/mode_05h.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ int8_t mode05h_draw_pixel_external_buffer(uint8_t* buffer, uint16_t mode, int8_t
3131
int8_t mode05h_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);
3232
int8_t mode05h_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, uint8_t color, uint16_t x, uint16_t y, uint16_t radius);
3333
int8_t mode05h_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);
34-
int8_t mode05h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode);
34+
int8_t mode05h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y);
3535

3636
int8_t mode05h_swap_external_buffer(uint8_t* buffer, uint16_t mode);
3737
uint8_t* mode05h_create_external_buffer(uint16_t mode);

Diff for: os/kernel/src/drivers/vga/modes/mode_06h/mode_06h.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ int8_t mode06h_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, uint8
335335
int8_t mode06h_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){
336336
return 0;
337337
}
338-
int8_t mode06h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode){
338+
int8_t mode06h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y){
339339
memset(buffer, 0, 2 * MODE06H_HEIGHT * MODE06H_WIDTH / 16);
340340
return 0;
341341
}

Diff for: os/kernel/src/drivers/vga/modes/mode_06h/mode_06h.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ int8_t mode06h_draw_pixel_external_buffer(uint8_t* buffer, uint16_t mode, int8_t
3030
int8_t mode06h_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);
3131
int8_t mode06h_draw_circle_external_buffer(uint8_t* buffer, uint16_t mode, uint8_t color, uint16_t x, uint16_t y, uint16_t radius);
3232
int8_t mode06h_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);
33-
int8_t mode06h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode);
33+
int8_t mode06h_clear_screen_external_buffer(uint8_t* buffer, uint16_t mode, uint16_t* x, uint16_t* y);
3434

3535
int8_t mode06h_swap_external_buffer(uint8_t* buffer, uint16_t mode);
3636
uint8_t* mode06h_create_external_buffer(uint16_t mode);

0 commit comments

Comments
 (0)