aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86_64/src')
-rw-r--r--arch/x86_64/src/boot/boot.s2
-rw-r--r--arch/x86_64/src/io.cpp14
-rw-r--r--arch/x86_64/src/vga/text.cpp2
3 files changed, 11 insertions, 7 deletions
diff --git a/arch/x86_64/src/boot/boot.s b/arch/x86_64/src/boot/boot.s
index 5488073..728380d 100644
--- a/arch/x86_64/src/boot/boot.s
+++ b/arch/x86_64/src/boot/boot.s
@@ -105,7 +105,7 @@ mesage_long_mode_not_supported:
* We need a pointer to our current position in the VGA text buffer.
*/
.global vga_buffer_pointer
-vga_buffer_pointer: .long 0xb8000
+vga_buffer_pointer: .quad 0xb8000
/**
* Code for the bootstrapping process.
diff --git a/arch/x86_64/src/io.cpp b/arch/x86_64/src/io.cpp
index 5fb1c85..8e9e411 100644
--- a/arch/x86_64/src/io.cpp
+++ b/arch/x86_64/src/io.cpp
@@ -6,15 +6,21 @@ namespace teachos::arch::io
auto init() -> void
{
+ x86_64::vga::text::cursor(false);
+
teachos::set_print_handler(
[](auto text) { return x86_64::vga::text::write(text, x86_64::vga::text::common_attributes::green_on_black); });
- teachos::set_println_handler(
- [](auto text) { return x86_64::vga::text::write(text, x86_64::vga::text::common_attributes::green_on_black); });
+ teachos::set_println_handler([](auto text) {
+ x86_64::vga::text::write(text, x86_64::vga::text::common_attributes::green_on_black);
+ x86_64::vga::text::newline();
+ });
teachos::set_print_error_handler(
[](auto text) { return x86_64::vga::text::write(text, x86_64::vga::text::common_attributes::red_on_black); });
- teachos::set_println_error_handler(
- [](auto text) { return x86_64::vga::text::write(text, x86_64::vga::text::common_attributes::red_on_black); });
+ teachos::set_println_error_handler([](auto text) {
+ x86_64::vga::text::write(text, x86_64::vga::text::common_attributes::red_on_black);
+ x86_64::vga::text::newline();
+ });
teachos::println("[x86-64] Basic VGA text output initialized.");
}
diff --git a/arch/x86_64/src/vga/text.cpp b/arch/x86_64/src/vga/text.cpp
index 9b7946d..16abf08 100644
--- a/arch/x86_64/src/vga/text.cpp
+++ b/arch/x86_64/src/vga/text.cpp
@@ -14,8 +14,6 @@ namespace teachos::x86_64::vga::text
{
namespace
{
- // auto constexpr DEFAULT_VGA_TEXT_BUFFER_ADDRESS = 0xB8000;
-
auto buffer_offset = std::ptrdiff_t{};
auto constexpr DEFAULT_TEXT_BUFFER_WIDTH = 80U;