From 58c5de22e1a7b7238391044688cc2ed9148cc55d Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Sat, 10 Sep 1994 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1994-09-10 --- carrera/kbd.c | 16 ++++++++++++++++ carrera/screen.h | 1 - pc/devvga.c | 10 +++++++++- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/carrera/kbd.c b/carrera/kbd.c index 074b923bde57a9ca33798f1a4947c01df8b6f9f6..b45363eec81b83ac30bd5b3c2e48678dc2409ffd 100644 --- a/carrera/kbd.c +++ b/carrera/kbd.c @@ -391,3 +391,19 @@ kbdinit(void) return 1; } + +void +mousectl(char *cmd) +{ + int s; + + if(strncmp(cmd, "reset", 5) == 0){ + s = splhi(); + mousecmd(0xF6); + mousecmd(0xEA); /* streaming */ + mousecmd(0xE8); /* set resolution */ + mousecmd(3); + mousecmd(0xF4); /* enabled */ + splx(s); + } +} diff --git a/carrera/screen.h b/carrera/screen.h index 55ad7d78d0dbf09eff69ba312c1577f320326290..566d43d1a733f04478c65108527728d56377620d 100644 --- a/carrera/screen.h +++ b/carrera/screen.h @@ -11,6 +11,5 @@ extern Cursorinfo cursor; extern void mouseupdate(int); extern int cursoron(int); #define cursoroff(x) -#define mousectl(s) extern Point mousexy(void); void setcursor(Cursor*); diff --git a/pc/devvga.c b/pc/devvga.c index d62a88ca8e417175e4ac229191c7122cfe43ab3c..d5d1b1a65447680239bfed25e750c4f29e840e39 100644 --- a/pc/devvga.c +++ b/pc/devvga.c @@ -1108,7 +1108,15 @@ tridentpage(int page) static void et4000page(int page) { - outb(0x3cd, (page<<4)|page); + uchar p; + + p = page & 0x0F; + p |= p<<4; + outb(0x3CD, p); + + p = (page & 0x30); + p |= p>>4; + outb(0x3CB, p); } static void cirruspage(int page)