#include <smram.h>
 #include <video_defines.h>
 #include <minilib.h>
+#include <smi.h>
 
 char thestr[512];
 
        outl(0x840, 0x0100);
 }
 
-void __start (void)
+void smi_entry(void)
 {
-       static int first = 1;
-       
        pcisave = inl(0xCF8);
        vgasave = inb(0x3D4);
        
-       if (first)
-       {
-               first = 0;
-               dolog("NetWatch running...");
-       }
-
        counter++;
        outb(0x80, (counter & 0xFF));
        
-       strcpy(thestr, "15-412! xxxxxxxx xxxxxxxx");
-       tohex(thestr + 8, inl(0x0834));
-       tohex(thestr + 17, counter);
+       sprintf(thestr, "15-412! %08x %08x", smi_status(), counter);
        strblit(thestr, 0, 0);
        
        if (inl(0x834) & 0x20)
 
 #include <io.h>
 #include <smi.h>
 #include <pci.h>
+#include "vga-overlay.h"
 
 void __firstrun_start() {
-/*
-       puts("Current USB state is: ");
-       puthex(pci_read16(0, 31, 2, 0xC0));
-       puts(" ");
-       puthex(pci_read16(0, 31, 4, 0xC0));
-       puts("\n");
-       puts("Current SMI state is: ");
-       puthex(inl(0x830));
-       puts("\n");
-       puts("Current SMRAMC state is: ");
-       puthex(pci_read8(0, 0, 0, 0x70));
-       puts("\n");
-*/
+       dologf("NetWatch running");
 
        /* Try really hard to shut up USB_LEGKEY. */
        pci_write16(0, 31, 2, 0xC0, pci_read16(0, 31, 2, 0xC0));