CeDOS - Commit 30b1fa47

Updated second stage Added simple print and clear methods for second stage
Celina Sophie Kalus
Thu, 21 Dec 2017 23:22:00 +0100
1 files changed, 22 insertions(+), 7 deletions(-)
M second_stage/main.csecond_stage/main.c

@@ -1,13 +1,26 @@

#include "linker.h" -void copy_kernel(void) { - uint8_t *display = (uint8_t*)0xB8000; - uint8_t *text = (uint8_t*)"THIS WORKS"; - - while (*text) { - *display++ = *text++; - *display++ = 0x0F; +uint8_t *display = (uint8_t*)0xB8000; + +void simple_clear(void) { + display = (uint8_t*)0xB8000; + + for (int i = 0; i < 80 * 25; i++) { + display[2 * i] = 0x00; + display[2 * i + 1] = 0x00; + } +} + +void simple_print(const char* src) { + while (*src) { + *display++ = *src++; + *display++ = 0x02; } +} + +void copy_kernel(void) { + simple_clear(); + simple_print("COPYING_KERNEL..."); uint8_t *kernel_dest = (uint8_t*)0x00100000; uint8_t *kernel_src = (SS_VMA + (KERNEL_LMA - SS_LMA));

@@ -15,4 +28,6 @@

for (uint32_t i = 0; i < KERNEL_SIZE; i++) { kernel_dest[i] = kernel_src[i]; } + + simple_print("DONE."); }