summaryrefslogtreecommitdiff
path: root/src/main.c
blob: 0022a4cc3e01f999ff0853ce88a740e7a10fa730 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

#define KERNEL

#include "vga.h"
#include "interrupt.h"
#include "string.h"
#include "multiboot.h"
#include "printf.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(multiboot_info_t *mbd) {
	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");
}