2023-10-21 21:23:51 +03:00
|
|
|
|
/**
|
|
|
|
|
* start.c
|
|
|
|
|
* Файл с точкой входа
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
* Файл с функцией для инициализации системы
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
2023-10-21 20:27:23 +03:00
|
|
|
|
#include <arch.h>
|
|
|
|
|
#include <fb.h>
|
|
|
|
|
#include <limine.h>
|
|
|
|
|
#include <mem.h>
|
|
|
|
|
#include <mod.h>
|
|
|
|
|
#include <tool.h>
|
|
|
|
|
#include <version.h>
|
|
|
|
|
|
|
|
|
|
// Точка входа
|
|
|
|
|
void _start( ) {
|
|
|
|
|
asm volatile("cli");
|
|
|
|
|
|
|
|
|
|
fb_init( );
|
|
|
|
|
arch_init( );
|
|
|
|
|
mem_init( );
|
2023-10-21 21:23:51 +03:00
|
|
|
|
|
2023-10-31 19:07:15 +03:00
|
|
|
|
fb_set_text_color(0x00FF00);
|
2023-10-29 16:12:00 +03:00
|
|
|
|
LOG("\t\t\t\t *** Базовая Модульная Платформа Операционных Систем "
|
|
|
|
|
"версии %u.%u.%u ***\n",
|
|
|
|
|
VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD);
|
2023-10-21 20:27:23 +03:00
|
|
|
|
|
2023-10-29 16:12:00 +03:00
|
|
|
|
LOG("\t\t\t\t *** Дата сборки: %s %s ***\n", __DATE__, __TIME__);
|
2023-10-31 19:07:15 +03:00
|
|
|
|
fb_set_text_color(0x00D000);
|
|
|
|
|
|
2023-10-29 16:12:00 +03:00
|
|
|
|
mod_init( );
|
2023-10-31 19:07:15 +03:00
|
|
|
|
// pit_init( );
|
|
|
|
|
|
|
|
|
|
mod_list_show( );
|
|
|
|
|
|
|
|
|
|
fb_set_text_color(0x00FF00);
|
|
|
|
|
LOG("Готово! Для выхода из симуляции удерживайте: ESCAPE\n");
|
|
|
|
|
fb_set_text_color(0x00D000);
|
|
|
|
|
|
2023-10-29 19:52:04 +03:00
|
|
|
|
while (1) {
|
|
|
|
|
uint64_t byte = inb(0x60);
|
|
|
|
|
if (byte == 0x1) {
|
|
|
|
|
LOG("Exit!\n");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-10-21 20:27:23 +03:00
|
|
|
|
}
|