summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 0000000..725f438
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,45 @@
+
+#define KERNEL
+
+#include "vga.h"
+#include "interrupt.h"
+#include "string.h"
+
+extern void *gdt;
+
+const char *pope =
+"The pope, also known as the supreme pontiff (Pontifex maximus) or the Roman \n"
+"pontiff (Romanus Pontifex), is the bishop of Rome, chief pastor of the \n"
+"worldwide Catholic Church,[4] and head of state or sovereign of the Vatican \n"
+"City State.[5] The primacy of the bishop of Rome is largely derived from his \n"
+"role as the apostolic successor to Saint Peter, to whom primacy was conferred \n"
+"by Jesus, giving him the Keys of Heaven and the powers of \"binding and \n"
+"loosing\", naming him as the \"rock\" upon which the church would be built. \n"
+"Since 1929, the pope has official residence in the Apostolic Palace in the \n"
+"Vatican City, a city-state enclaved within Rome, Italy.[6] The current pope is \n"
+"Francis, who was elected on 13 March 2013, succeeding Benedict XVI.[7] \n"
+"While his office is called the papacy, the jurisdiction of the episcopal see is\n"
+"called the Holy See.[8] It is the Holy See that is the sovereign entity by \n"
+"international law headquartered in the distinctively independent Vatican City \n"
+"State, established by the Lateran Treaty in 1929 between Italy and the Holy See\n"
+"to ensure its temporal, diplomatic, and spiritual independence. The Holy See is\n"
+"recognized by its adherence at various levels to international organization and\n"
+"by means of its diplomatic relations and political accords with many \n"
+"independent states.\n";
+
+void kernel_main(void) {
+ vsetcolor(vga_color(vga_black, vga_white));
+ vclear();
+ interrupt_init();
+ start_interrupts();
+
+ vprint(" _ _ \n");
+ vprint(" ___(_) |_ _ __ ___ _ __ ___ ___ ___ \n");
+ vprint(" / __| | __| '__/ _ \\| '_ \\/ __| / _ \\/ __|\n");
+ vprint("| (__| | |_| | | (_) | | | \\__ \\ | (_) \\__ \n");
+ vprint(" \\___|_|\\__|_| \\___/|_| |_|___/ \\___/|___/\n");
+
+ vprint(pope);
+
+ while (1) asm("hlt");
+}