X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=dosdemo;a=blobdiff_plain;f=src%2Fdos%2Fmouse.c;fp=src%2Fdos%2Fmouse.c;h=0000000000000000000000000000000000000000;hp=0033130632c3546bf7bfc0d85aacd1bc2980ca5f;hb=5d599e487cdc3b172c8c7cd8fc2f91d6af8bd049;hpb=a5c65ceb155188c8acee31a475f8db9f5b58f4b6 diff --git a/src/dos/mouse.c b/src/dos/mouse.c deleted file mode 100644 index 0033130..0000000 --- a/src/dos/mouse.c +++ /dev/null @@ -1,109 +0,0 @@ -#include "mouse.h" - -typedef unsigned short uint16_t; - -#define INTR 0x33 - -#define QUERY 0 -#define SHOW 1 -#define HIDE 2 -#define READ 3 -#define WRITE 4 -#define PIXRATE 0xf - -#define XLIM 7 -#define YLIM 8 - -int have_mouse(void) -{ - uint16_t res = 0; -#ifdef __WATCOMC__ - _asm { - mov eax, QUERY - int INTR - mov res, ax - } -#endif - return res; -} - -void show_mouse(int show) -{ - uint16_t cmd = show ? SHOW : HIDE; -#ifdef __WATCOMC__ - _asm { - mov ax, cmd - int INTR - } -#endif -} - -int read_mouse(int *xp, int *yp) -{ - uint16_t x, y, state; -#ifdef __WATCOMC__ - _asm { - mov eax, READ - int INTR - mov state, bx - mov x, cx - mov y, dx - } -#endif -#ifdef __DJGPP__ - x = y = state = 0; -#endif - - if(xp) *xp = x; - if(yp) *yp = y; - return state; -} - -void set_mouse(int x, int y) -{ -#ifdef __WATCOMC__ - _asm { - mov eax, WRITE - mov ecx, x - mov edx, y - int INTR - } -#endif -} - -void set_mouse_limits(int xmin, int ymin, int xmax, int ymax) -{ -#ifdef __WATCOMC__ - _asm { - mov eax, XLIM - mov ecx, xmin - mov edx, xmax - int INTR - mov eax, YLIM - mov ecx, ymin - mov edx, ymax - int INTR - } -#endif -} - -void set_mouse_rate(int xrate, int yrate) -{ -#ifdef __WATCOMC__ - _asm { - mov ax, PIXRATE - mov ecx, xrate - mov edx, yrate - int INTR - } -#endif -} - -void set_mouse_mode(enum mouse_mode mode) -{ - if(mode == MOUSE_GFX) { - set_mouse_rate(1, 1); - } else { - set_mouse_rate(8, 16); - } -}