]> Joshua Wise's Git repositories - netwatch.git/blobdiff - net/net.c
escape handling; send_reboot
[netwatch.git] / net / net.c
index e1c74446162042bd5aa788f6782e43b4ba6ac045..eac5d0e0b4cb0e81285b646be2098340a9cf8c40 100644 (file)
--- 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;
This page took 0.025919 seconds and 4 git commands to generate.