Skip to content
Snippets Groups Projects
Commit 85dd7590 authored by Gilles Grimaud's avatar Gilles Grimaud
Browse files

minimal src/main.c working.

parent 699adf8e
No related branches found
No related tags found
No related merge requests found
...@@ -7,19 +7,6 @@ void putc(char aChar); /* print a single char on screen */ ...@@ -7,19 +7,6 @@ void putc(char aChar); /* print a single char on screen */
void puts(char *aString); /* print a string on the screen */ void puts(char *aString); /* print a string on the screen */
void puthex(int aNumber); /* print an Hex number on screen */ void puthex(int aNumber); /* print an Hex number on screen */
void timer_int(int_regs_t *r)
{
puts(".");
}
void kbd_int(int_regs_t *r)
{
int c=_inb(0x60);
puts("!");
puthex(c);
puts("!");
}
/* multiboot entry-point with datastructure as arg. */ /* multiboot entry-point with datastructure as arg. */
void main(unsigned int * mboot_info) void main(unsigned int * mboot_info)
{ {
...@@ -36,25 +23,13 @@ void main(unsigned int * mboot_info) ...@@ -36,25 +23,13 @@ void main(unsigned int * mboot_info)
puts("\n\n"); puts("\n\n");
idt_setup_handler(0, timer_int);
idt_setup_handler(1,kbd_int);
__asm volatile("sti"); __asm volatile("sti");
// init keyboard /* minimal setup done ! */
while(_inb(0x64)&0x1) {
_inb(0x60);
}
while(_inb(0x64) & 0x2) {
_outb(0x60,0xF4);
}
/* print something */
puts("Hello World!\n\n");
puts("Multiboot Info at ");
puthex((unsigned int)mboot_info);
puts("\n");
for(;;) ; for(;;) ; /* nothing more to do... really nothing ! */
} }
/* base address for the video output assume to be set as character oriented by the multiboot */ /* base address for the video output assume to be set as character oriented by the multiboot */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment