X-Git-Url: http://git.joshuawise.com/netwatch.git/blobdiff_plain/14e7cde49a59deddadd15afd15231ea4cc6f3485..9e2a82e4e9495f33b8e6423c335a9a157f056254:/net/net.c?ds=inline diff --git a/net/net.c b/net/net.c index e1c7444..eac5d0e 100644 --- a/net/net.c +++ b/net/net.c @@ -44,10 +44,14 @@ void handle_command(packet_t * p) outputf("NIC: Command: 0x%x, %d bytes", p->command, dl); - if (p->command == 0x42) - { + switch (p->command) { + case 0x42: for (i = 0; i < dl; i++) kbd_inject_key(p->data[i]); + break; + case 0xFE: + outb(0xCF9, 0x4); /* Reboot */ + break; } } @@ -83,6 +87,13 @@ void eth_poll() // if ((c++) % 2) // return; + + if (((base + 80*25*2)%0x8000) < base) + { + if ((pos > ((base + 80*25*2)%0x8000)) && (pos < base)) + pos = base; + } else if ((pos > base + 80*25*2) || (pos < base)) + pos = base; test[0] = pos >> 8; test[1] = pos & 0xFF;