예제 #1
0
void
clear_screen()
{
    if (!iflags.grmode) {
        txt_clear_screen();
#ifdef SCREEN_VGA
    } else if (iflags.usevga) {
        vga_clear_screen(BACKGROUND_VGA_COLOR);
#endif
    }
}
예제 #2
0
void console_main(void){
	
	//Init games
	num_games = 3;
	game_definitions = malloc(sizeof(struct game_definition)*num_games);
	game_definitions[0].main_entry = &line_racer_main;
	game_definitions[0].name = "Line Racer";
	game_definitions[0].name_len = 10;
	
	game_definitions[1].main_entry = &pong_main;
	game_definitions[1].name = "Pong";
	game_definitions[1].name_len = 4;
	
	game_definitions[2].main_entry = &_256_main;
	game_definitions[2].name = "256 Color Demo";
	game_definitions[2].name_len = 14;
	
	unsigned char selection = 0;
	while(1){
		vga_draw_string(20, 20, COLOR_WHITE, "Select Game", 11);
		int i = 0;
		for(i = 0; i < num_games; i++){
			if(selection == i){
				vga_draw_character(29, 30 + i*8, COLOR_RED, '>');
				vga_draw_string(35, 30 + i*8, COLOR_RED, game_definitions[i].name, game_definitions[i].name_len);
			}else{
				vga_draw_character(29, 30 + i*8, COLOR_BLACK, '>');
				vga_draw_string(35, 30 + i*8, COLOR_WHITE, game_definitions[i].name, game_definitions[i].name_len);
			}
			
		}
		
		if(controller_is_down(0, ps_start)){
			void (*game_entry) ();
			game_entry = game_definitions[selection].main_entry;
			game_entry();
			vga_clear_screen(COLOR_BLACK);
		}else if(controller_is_down(0, ps_dpad_down)){
			selection++;
			if(selection >= num_games)
				selection = 0;
			sleep_frames(25);
		}else if(controller_is_down(0, ps_dpad_up)){
			selection--;
			if(selection >= num_games)
				selection = num_games-1;
			sleep_frames(25);
		}
		
		sleep_frame();
	}
	
}
예제 #3
0
void
clear_screen()
{
	if (!iflags.grmode) {
		txt_clear_screen();
#  ifdef SCREEN_VGA
	} else if (iflags.usevga) {
		vga_clear_screen(BACKGROUND_VGA_COLOR);
#  endif
#  ifdef ALLEG_FX
        } else if (iflags.usealleg) {
                alleg_clear_screen(BACKGROUND_ALLEGRO_COLOR);
#  endif
	}
}
예제 #4
0
void kernel_main(void)
{
    vga_clear_screen();

    //Load the GDT
    gdt_create_flat_layout();
    gdt_load_global_descriptor_table();
        vga_print_string("GDT loading: OK\n", attribute_white_on_black);

    //Create the ISR's and load the IDT
    isr_create_exception_isrs();
    isr_create_interrupt_isrs();
    idt_load_interrupt_descriptor_table();
        vga_print_string("IDT loading: OK\n", attribute_white_on_black);

    vga_print_string("Hanging the CPU...\n", attribute_white_on_black);

    for(;;){}
}