home *** CD-ROM | disk | FTP | other *** search
/ Executor 2.0 / executorv2.0.iso / pc / dos / extra / docs / maillist / text / archive.95 / text4668.txt < prev    next >
Encoding:
Internet Message Format  |  1996-03-31  |  4.3 KB

  1. Received: from sloth.swcp.com (sloth.swcp.com [198.59.115.25]) by nacm.com (8.6.10/8.6.9) with ESMTP id LAA13256 for <executor@nacm.com>; Fri, 8 Sep 1995 11:45:17 -0700
  2. Received: from iclone.UUCP (uucp@localhost) by sloth.swcp.com (8.6.9/8.6.9) with UUCP id MAA13824 for nacm.com!executor; Fri, 8 Sep 1995 12:45:11 -0600
  3. Received: from beaut.ardi.com by mailhost  with smtp
  4.     (nextstep Smail3.1.29.0 #11) id m0sr8K0-000YbDC; Fri, 8 Sep 95 12:38 MDT
  5. Received: by beaut.ardi.com (linux Smail3.1.28.1 #5)
  6.     id m0sr8K0-00005oC; Fri, 8 Sep 95 12:38 MDT
  7. Message-Id: <m0sr8K0-00005oC@beaut.ardi.com>
  8. Date: Fri, 8 Sep 95 12:38 MDT
  9. From: ctm@ardi.com (Clifford Thomas Matthews)
  10. To: executor@nacm.com
  11. Subject: [LINUX ANNOUNCE] SVGAlib suggestion: wait for 1.99o8
  12. Sender: owner-paper@nacm.com
  13. Precedence: bulk
  14.  
  15. Hi Folks,
  16.  
  17. This message won't make a lot of sense to non-Linux users.
  18.  
  19. Mat and I have done a little more work on the SVGAlib port and we have
  20. overcome the freezes with a black screen bug.  However, much to our
  21. chagrin it turns out that the feature that is present in the newer
  22. kernels isn't present in all the new mouse drivers, only in one of
  23. four.  Ack.  That means that upgrading to 1.3.x isn't particularly
  24. useful unless you happen to have a PSAUX mouse.  The driver mods that
  25. we would like to see made are easy enough to make that I'm tempted to
  26. make them myself, but that would then require everyone to move up to
  27. the absolutely latest kernel, so it makes more sense for us to put
  28. extra code into Executor to get around this lack of functionality.
  29. Specifically what I'm talking about is the ability to get a SIGIO
  30. signal sent to you every time the mouse moves or the mouse button
  31. state changes.
  32.  
  33. So, I need to finish working around the SVGAlib bug that Mat described
  34. earlier today and then I need to make it so Executor can poll the
  35. mouse a few times a second.  Then, if Mat is finished with the linear
  36. frame buffer mapping code for Executor/DOS, we'll roll 1.99o8 and it
  37. should work without much trouble.  I don't know if we'll have an ELF
  38. version at the same time or not.  Cotton has been running an ELF
  39. Executor for a while, but his connectivity is lacking and we haven't
  40. gotten his mods integrated into our main source tree yet.
  41.  
  42. There is, however, another kernel mod that I *did* make that is fairly
  43. important if you want to run certain games at approximately the
  44. correct speed (Solarian is an example).  I've sent it to Linus for
  45. inclusion in an upcoming kernel but I haven't heard anything back from
  46. him.  If you feel comfortable applying patches of dubious quality,
  47. it's included below.  All it does is fix an apparent off by one error
  48. that prevents setitimer from functioning the way it should.
  49.  
  50. Sorry to have hyped the SVGAlib version of Executor so much only for
  51. it to lose on most of your systems.  The bugs aren't in Executor
  52. per-se, but the buck stops here so we'll work around the problems.
  53.  
  54.     --Cliff
  55.     ctm@ardi.com
  56.  
  57.  
  58. beaut 4.28 rcsdiff -c3 sched.c
  59. ===================================================================
  60. RCS file: RCS/sched.c,v
  61. retrieving revision 1.1
  62. diff -c3 -r1.1 sched.c
  63. *** 1.1 1995/09/05 19:31:40
  64. --- sched.c     1995/09/05 19:32:44
  65. ***************
  66. *** 531,537 ****
  67.         struct timer_list * timer;
  68.   
  69.         cli();
  70. !       while ((timer = timer_head.next) != &timer_head && timer->expires < jiffies) {
  71.                 void (*fn)(unsigned long) = timer->function;
  72.                 unsigned long data = timer->data;
  73.                 timer->next->prev = timer->prev;
  74. --- 531,537 ----
  75.         struct timer_list * timer;
  76.   
  77.         cli();
  78. !       while ((timer = timer_head.next) != &timer_head && timer->expires <= jiffies) {
  79.                 void (*fn)(unsigned long) = timer->function;
  80.                 unsigned long data = timer->data;
  81.                 timer->next->prev = timer->prev;
  82. ***************
  83. *** 706,712 ****
  84.                 mark_bh(TIMER_BH);
  85.         }
  86.         cli();
  87. !       if (timer_head.next->expires < jiffies)
  88.                 mark_bh(TIMER_BH);
  89.         if (tq_timer != &tq_last)
  90.                 mark_bh(TQUEUE_BH);
  91. --- 706,712 ----
  92.                 mark_bh(TIMER_BH);
  93.         }
  94.         cli();
  95. !       if (timer_head.next->expires <= jiffies)
  96.                 mark_bh(TIMER_BH);
  97.         if (tq_timer != &tq_last)
  98.                 mark_bh(TQUEUE_BH);
  99.  
  100.