Exemplo n.º 1
0
int main(){
    char ch[7]; /* the returns from the terminal are up to 6 chars long, 7th is for \0 */
    i_setup();

    while( 1 ){
        t_read(ch, 7);
        printf("I got (%s)\n", ch);
        if( ch[0] == 27 && ch[1] == 0 ){ /* either escape or stray alt */
        }

        if( ch[0] == 27 && ch[1] == 'q' && ch[2] == 0 ){ /* alt+q */
            break;
        }
    }

    i_tidyup();
};
Exemplo n.º 2
0
void init_interrupts()
{

 install_interupt_handle(0, &irq_dumb0, 0x8f);
 install_interupt_handle(1, &irq_dumb1, 0x8f);
 install_interupt_handle(2, &irq_dumb2, 0x8e);
 install_interupt_handle(3, &irq_dumb3, 0x8e);
 install_interupt_handle(4, &irq_dumb4, 0x8e);
 install_interupt_handle(5, &irq_dumb5, 0x8f);
 install_interupt_handle(6, &irq_dumb6, 0x8f);
 install_interupt_handle(7, &irq_dumb7, 0x8f);

 install_interupt_handle(8, &irq_dumb_error8, 0x8f);
 install_interupt_handle(9, &irq_dumb_error9, 0x8f);
 install_interupt_handle(10, &irq_dumb_error10, 0x8f);
 install_interupt_handle(11, &irq_dumb_error11, 0x8f);
 install_interupt_handle(12, &irq_dumb_error12, 0x8f);
 install_interupt_handle(13, &irq_dumb_error13, 0x8f);
 install_interupt_handle(14, &irq_dumb_error14, 0x8f);

 install_interupt_handle(16, &irq_dumb16, 0x8f);
 install_interupt_handle(17, &irq_dumb_error17, 0x8f);

 int i;
 for (i = 17; i < 32; ++i) {
     install_interupt_handle(i, &irq_dumb_error, 0x8f);
 }

 install_interupt_handle(0x20, &irq_timer, 0x8e);
 install_interupt_handle(0x21, &irq_kb, 0x8e);

 for (i = 0x22; i < 0x70; ++i) {
        install_interupt_handle(i, &irq_dumb, 0x8e);
    }


i_setup();
i_enable();
}