hos/kernel.c

54 lines
869 B
C

//kernel.c
//08/13/03 Josh Holtrop
//Holtrop's Operating System
#include "k_defines.h"
#include "functions.h"
#include "video.h"
void isr(dword num);
void k_init();
#include "functions.c"
#include "video.c"
dword timer = 0;
void k_init()
{
remap_pics(0x20, 0x28);
//set timer : 2e9c = 100hz
outportb(0x43, 0x34);
outportb(0x40, 0x9c); //lsb
outportb(0x40, 0x2e); //msb
enable_ints();
video_init((ModeInfoBlock *) 0x90306);
int a;
for (a=0;a<768;a+=10)
{
video_horiz(a, 2, 1021, 0);
video_vert(a, 2, 765, 0x0000FFFF);
}
video_rect(10, 10, 100, 100, 0x00FFFFFF);
video_rectf(11, 11, 99, 99, 0x00FFFF00);
}
void isr(dword num)
{
if (num == 0x20)
{
timer++;
video_rect(20,20,600,600,timer);
(*(char*)0xB8000)++;
*(char*)0xB8001 = 7;
eoi();
}
//if (num == 0x21)
// restart();
}