home *** CD-ROM | disk | FTP | other *** search
/ Executor 2.0 / executorv2.0.iso / pc / linux / extra / docs / maillist / text / archive.95 / text1763.txt < prev    next >
Encoding:
Text File  |  1996-04-02  |  3.4 KB  |  86 lines

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