diff -u --new-file --recursive --exclude-from=diff-exclude dosemu-0.61.00.1-newkeyb/src/base/bios_intxx.c dosemu/src/base/bios_intxx.c
--- dosemu-0.61.00.1-newkeyb/src/base/bios_intxx.c	Mon Nov  6 01:05:17 1995
+++ dosemu/src/base/bios_intxx.c	Sun Nov  5 13:49:23 1995
@@ -387,6 +387,9 @@
   time_t akt_time; 
   time_t time_val;
   struct tm *tm;
+#if 1
+  Bit32u last_ticks;
+#endif
 
   g_printf("BIOS: int1a fcn 0x%02x invoked\n", _AH);
 
@@ -394,6 +397,7 @@
 
     /* A timer read should reset the overflow flag */
   case 0:			/* read time counter */
+#if 0
     time(&akt_time);
     tm = localtime((time_t *) &akt_time);
     test_date = tm->tm_year * 10000 + tm->tm_mon * 100 + tm->tm_mday;
@@ -405,6 +409,7 @@
     }
     last_ticks = (tm->tm_hour * 60 * 60 + tm->tm_min * 60 + tm->tm_sec)*18.206;
     set_ticks(last_ticks);
+#endif
 
     _AL = READ_BYTE(BIOS_24_HOURS_FLAG);
     _CX = (READ_DWORD(BIOS_TIMER) >> 16) & 0xffff;
diff -u --new-file --recursive --exclude-from=diff-exclude dosemu-0.61.00.1-newkeyb/src/base/dev_list.c dosemu/src/base/dev_list.c
--- dosemu-0.61.00.1-newkeyb/src/base/dev_list.c	Mon Nov  6 01:05:19 1995
+++ dosemu/src/base/dev_list.c	Mon Nov  6 00:55:37 1995
@@ -62,9 +62,11 @@
     if (ptr->init_func_t)
       ptr->init_func_t();
 
+#if 0
   for (ptr = io_devices; ptr->name; ptr++)
     if (ptr->reset_func_t)
       ptr->reset_func_t();
+#endif
 }
 
 void iodev_reset(void)        /* called at reboot */
diff -u --new-file --recursive --exclude-from=diff-exclude dosemu-0.61.00.1-newkeyb/src/base/dev_pic.c dosemu/src/base/dev_pic.c
--- dosemu-0.61.00.1-newkeyb/src/base/dev_pic.c	Mon Nov  6 01:05:19 1995
+++ dosemu/src/base/dev_pic.c	Sun Nov  5 16:42:15 1995
@@ -967,7 +967,9 @@
   /* PIC reset on reboot and at bootup */
   pic_seti(PIC_IRQ0, timer_int_engine, 0);  /* do_irq0 in pic.c */
   pic_unmaski(PIC_IRQ0);
+#if 0
   pic_request(PIC_IRQ0);                    /* start timer */
+#endif
   pic_seti(PIC_IRQ1, do_irq1, 0);           /* do_irq1 in dosio.c   */
   pic_unmaski(PIC_IRQ1);
   if (mice->intdrv || mice->type == MOUSE_PS2) {
diff -u --new-file --recursive --exclude-from=diff-exclude dosemu-0.61.00.1-newkeyb/src/base/dev_pit.c dosemu/src/base/dev_pit.c
--- dosemu-0.61.00.1-newkeyb/src/base/dev_pit.c	Mon Nov  6 01:05:19 1995
+++ dosemu/src/base/dev_pit.c	Mon Nov  6 01:16:50 1995
@@ -37,7 +37,7 @@
 static inline u_long pit_timer_usecs(Bit32u pit0_latch)
 {
   double hertz = (double)PIT_TICK_RATE / (double)pit0_latch;
-  h_printf("PIT: Requesting %.2g hertz\n", hertz);
+  h_printf("PIT: Requesting %.2f hertz\n", hertz);
   return (u_long)((double)1000000 / hertz);
 }
 
@@ -332,6 +332,8 @@
   io_device.start_addr   = 0x0047;
   io_device.end_addr     = 0x0047;
   port_register_handler(io_device);
+
+  timer_handle = timer_create(pit_timer_func, NULL, pit_timer_usecs(0x10000));
 }
 
 void pit_reset(void)
@@ -372,7 +374,7 @@
   pit[3].read_state  = 3;
   pit[3].write_state = 3;
 
-  timer_handle = timer_create(pit_timer_func, NULL, pit_timer_usecs(0x10000));
+  timer_modify_usecs(timer_handle, pit_timer_usecs(0x10000));
 }
 
 #if 0
@@ -434,5 +436,7 @@
 void timer_int_engine(void)
 {
   do_irq();
+#if 0
   pic_sched(PIC_IRQ0, pit[0].cntr);
+#endif
 }
diff -u --new-file --recursive --exclude-from=diff-exclude dosemu-0.61.00.1-newkeyb/src/base/dev_rtc.c dosemu/src/base/dev_rtc.c
--- dosemu-0.61.00.1-newkeyb/src/base/dev_rtc.c	Mon Nov  6 01:05:19 1995
+++ dosemu/src/base/dev_rtc.c	Sun Nov  5 13:49:24 1995
@@ -148,6 +148,7 @@
   struct tm *tm;
   time_t cur_time;
 
+#if 0
   cur_time = rtc_time(NULL);
   tm       = localtime(&cur_time);
 
@@ -174,6 +175,7 @@
       rtc_ofs += (value - tm->tm_year) * SECS_PER_YEAR;
       break;
   }
+#endif
 }
 
 Bit8u rtc_read(Bit32u reg)
diff -u --new-file --recursive --exclude-from=diff-exclude dosemu-0.61.00.1-newkeyb/src/base/timers.c dosemu/src/base/timers.c
--- dosemu-0.61.00.1-newkeyb/src/base/timers.c	Mon Nov  6 01:05:17 1995
+++ dosemu/src/base/timers.c	Mon Nov  6 00:48:32 1995
@@ -92,7 +92,7 @@
   itv.it_interval.tv_usec = timer_usecs;
   itv.it_value.tv_sec     = 0;
   itv.it_value.tv_usec    = timer_usecs;
-  g_printf("TIMER: Requesting SIGTIMER signals every %uusecs\n", TIMER_USECS);
+  g_printf("TIMER: Requesting SIGTIMER signals every %u usecs\n", timer_usecs);
   setitimer(ITIMER_PROF, &itv, NULL);
 }
 
@@ -217,7 +217,7 @@
 	  long usecs;
 
 	  gettimeofday(&real_time, NULL);
-	  usecs = (real_time.tv_sec - ptr->pop_time.tv_sec) * 1000000 +
+	  usecs = (real_time.tv_sec - ptr->pop_time.tv_sec) * 1000000 + 
 	          real_time.tv_usec - ptr->pop_time.tv_usec;
 	  if (ptr->count) {
 	    timer_stat_total++;
