DOS update (Daniel Borca)
authorBrian Paul <brian.paul@tungstengraphics.com>
Sat, 8 Mar 2003 18:28:14 +0000 (18:28 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Sat, 8 Mar 2003 18:28:14 +0000 (18:28 +0000)
41 files changed:
docs/README.DJ
include/GL/dmesa.h
progs/samples/Makefile.DJ
src/glu/mesa/Makefile.DJ
src/glu/sgi/Makefile.DJ
src/glut/dos/Makefile.DJ
src/glut/dos/PC_HW/pc_hw.h
src/glut/dos/PC_HW/pc_irq.S
src/glut/dos/PC_HW/pc_keyb.c
src/glut/dos/PC_HW/pc_mouse.c
src/glut/dos/callback.c
src/glut/dos/color.c
src/glut/dos/extens.c
src/glut/dos/glutint.h
src/glut/dos/init.c
src/glut/dos/menu.c
src/glut/dos/mouse.c
src/glut/dos/overlay.c
src/glut/dos/state.c
src/glut/dos/window.c
src/mesa/drivers/dos/blit.S
src/mesa/drivers/dos/dmesa.c
src/mesa/drivers/dos/dpmi.c
src/mesa/drivers/dos/internal.h
src/mesa/drivers/dos/mga/m_ttemp.h
src/mesa/drivers/dos/mga/m_ttemp2.h
src/mesa/drivers/dos/mga/mga.c
src/mesa/drivers/dos/mga/mga.h
src/mesa/drivers/dos/mga/mga_hw.c
src/mesa/drivers/dos/mga/mga_hw.h
src/mesa/drivers/dos/mga/mga_mode.c
src/mesa/drivers/dos/mga/mga_mode.h
src/mesa/drivers/dos/mga/mga_reg.h
src/mesa/drivers/dos/vesa.c
src/mesa/drivers/dos/vesa.h
src/mesa/drivers/dos/vga.c
src/mesa/drivers/dos/vga.h
src/mesa/drivers/dos/video.c
src/mesa/drivers/dos/video.h
src/mesa/drivers/dos/virtual.S
src/mesa/main/Makefile.DJ

index 13167611ba03259391c1c354d951349855927e6c..a800d6eb9589d2af6c7e0ae295ad1ae15b9afa27 100644 (file)
@@ -1,12 +1,12 @@
-                       Mesa 5.0 DOS/DJGPP Port v1.3\r
-                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
+                       Mesa 5.0.1 DOS/DJGPP Port v1.3\r
+                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
 \r
 \r
 \r
 Description:\r
 ~~~~~~~~~~~~\r
 \r
-Well, guess what... this is the DOS port of Mesa 5.0, for DJGPP fans... Whoa!\r
+Well, guess what... this is the DOS port of Mesa 5.0.1, for DJGPP fans... Whoa!\r
 The driver has its origins in ddsample.c, written by Brian Paul and found by me\r
 in Mesa 3.4.2.\r
 \r
@@ -165,8 +165,8 @@ space (and since dynamic modules shall) the SIGINT can't be hooked (well, it
 can, but it is useless), therefore you must live with the 'Exiting due to\r
 signal SIGINT' message...\r
 \r
-The mouse driver is far from complete (lack of positioning, drawing, etc), but\r
-is enough to make almost all the demos work.\r
+The mouse driver is far from complete (lack of drawing, etc), but is enough to\r
+make almost all the demos work. Supports the CuteMouse WheelAPI.\r
 \r
 The timer is pretty versatile for it supports multiple timers with different\r
 frequencies. While not being the most accurate timer in the known universe, I\r
@@ -207,7 +207,7 @@ v1.2 (nov-2002)
        * synced w/ Mesa-4.1\r
        - removed dmesadxe.h\r
 \r
-v1.3 (feb-2003)\r
+v1.3 (mar-2003)\r
        + enabled OpenGL 1.4 support\r
        + added MMX clear/blit routines\r
        + enabled SGI's GLU compilation\r
index 2c0ef81abe248ff98ce35ea15ba109e08e7c6714..89df5a4e216424189cd126ba1b706797cf3b3ebb 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP device driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 3d679ebe7c6af291bdb2674faf6dfea2e678ad73..81db82534265c185019d9c70882e8e2a5e28c856 100644 (file)
@@ -20,7 +20,7 @@
 # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
 # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
 \r
-# DOS/DJGPP samples makefile v1.3 for Mesa 5.0\r
+# DOS/DJGPP samples makefile v1.3 for Mesa\r
 #\r
 #  Copyright (C) 2002 - Borca Daniel\r
 #  Email : dborca@yahoo.com\r
@@ -63,6 +63,7 @@ CFLAGS = -Wall -W -pedantic
 CFLAGS += -O2 -ffast-math -mcpu=$(CPU)\r
 CFLAGS += -I$(TOP)/include\r
 \r
+LD = gxx\r
 LDFLAGS = -s -L$(TOP)/lib\r
 \r
 ifeq ($(DXE),1)\r
@@ -79,7 +80,7 @@ endif
 .c.o:\r
        $(CC) -o $@ $(CFLAGS) -c $<\r
 .o.exe:\r
-       $(CC) -o $@ $(LDFLAGS) $(DMESADXE) $< $(LDLIBS)\r
+       $(LD) -o $@ $(LDFLAGS) $(DMESADXE) $< $(LDLIBS)\r
 \r
 all:\r
        $(error Must specify <filename.exe> to build)\r
index 6c8ec1bd5d4fc2a66cee247666853b546db19d4d..e4423ccad087845ea6e029d885ee7c117614521f 100644 (file)
@@ -20,7 +20,7 @@
 # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
 # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
 \r
-# DOS/DJGPP glu makefile v1.3 for Mesa 5.0\r
+# DOS/DJGPP glu makefile v1.3 for Mesa\r
 #\r
 #  Copyright (C) 2002 - Borca Daniel\r
 #  Email : dborca@yahoo.com\r
index 6f4bcd81c099babc652a46c36ac7d7bc12506bfc..0f0984fb6c974e484fc3562e60a2eebde1af0a0b 100644 (file)
@@ -20,7 +20,7 @@
 # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
 # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
 \r
-# DOS/DJGPP glu makefile v1.3 for Mesa 5.0\r
+# DOS/DJGPP glu makefile v1.3 for Mesa\r
 #\r
 #  Copyright (C) 2002 - Borca Daniel\r
 #  Email : dborca@yahoo.com\r
index 2fb1bee27d7faa761b80724ba489d2795b982f2e..2ae88520dc34eefd5629c186dce4ccc22973231b 100644 (file)
@@ -20,7 +20,7 @@
 # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
 # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
 \r
-# DOS/DJGPP glut makefile v1.3 for Mesa 5.0\r
+# DOS/DJGPP glut makefile v1.3 for Mesa\r
 #\r
 #  Copyright (C) 2002 - Borca Daniel\r
 #  Email : dborca@yahoo.com\r
index c38c8959b6c386c175523818021b8f49f24edc68..c029005b53c233217ec6af167079c94a6809e96d 100644 (file)
@@ -25,7 +25,7 @@
 \r
 typedef void (*VFUNC) (void);\r
 typedef void (*PFUNC) (void *);\r
-typedef void (*MFUNC) (int x, int y, int b);\r
+typedef void (*MFUNC) (int x, int y, int z, int b);\r
 \r
 /*\r
  * atexit\r
@@ -211,7 +211,8 @@ void pc_remove_mouse (void);
 MFUNC pc_install_mouse_handler (MFUNC handler);\r
 void pc_mouse_area (int x1, int y1, int x2, int y2);\r
 void pc_mouse_speed (int xspeed, int yspeed);\r
-int pc_query_mouse (int *x, int *y);\r
+int pc_query_mouse (int *x, int *y, int *z);\r
+void pc_warp_mouse (int x, int y);\r
 \r
 /*\r
  * standard redirection\r
index 196546072ccd233ae697ac9388e1aafd23f8a324..7f0b747d342affef7be710f9381fe1b799e2ba58 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
- * PC/HW routine collection v1.0 for DOS/DJGPP\r
+ * PC/HW routine collection v1.3 for DOS/DJGPP\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
@@ -74,6 +74,9 @@ _pc_install_irq:
                addl    %edx, %eax\r
                movl    %eax, IRQ_STACK(%edi)\r
 \r
+               movl    ___djgpp_ds_alias, %eax\r
+               movl    %eax, IRQ_STACK+4(%edi)\r
+\r
                movl    %ss:12(%ebp), %eax\r
                movl    %eax, IRQ_HOOK(%edi)\r
 \r
@@ -131,8 +134,7 @@ __irq_wrapper_##x:                                                     ; \
                pushl   %gs                                                ; \\r
                movl    %ss, %ebx                                          ; \\r
                movl    %esp, %esi                                         ; \\r
-               movl    %cs:___djgpp_ds_alias, %ss                         ; \\r
-               movl    %cs:__irq_stack_##x, %esp                          ; \\r
+               lss     %cs:__irq_stack_##x, %esp                          ; \\r
                pushl   %ss                                                ; \\r
                pushl   %ss                                                ; \\r
                popl    %es                                                ; \\r
@@ -160,7 +162,7 @@ __irq_old_##x:                                                                 ; \
 __irq_hook_##x:                                                                   ; \\r
                .long   0                                                  ; \\r
 __irq_stack_##x:                                                          ; \\r
-               .long   0\r
+               .long   0, 0\r
 \r
                WRAPPER(0);\r
                WRAPPER(1);\r
index 333ca757f5013d4bd07f5be364ea5058bb2010a1..6475be35086e736a1081c0513f22e609b5814e5b 100644 (file)
@@ -357,20 +357,6 @@ static void handle_code (int scancode, int keycode)
  in_a_terrupt--;\r
 } ENDOFUNC(handle_code)\r
 \r
-static __inline void satisfy (void)\r
-{\r
- __asm("\n\\r
-               inb     $0x61, %%al     \n\\r
-               movb    %%al, %%ah      \n\\r
-               orb     $0x80, %%al     \n\\r
-               outb    %%al, $0x61     \n\\r
-               xchgb   %%al, %%ah      \n\\r
-               outb    %%al, $0x61     \n\\r
-               movb    $0x20, %%al     \n\\r
-               outb    %%al, $0x20     \n\\r
- ":::"%eax");\r
-}\r
-\r
 static int keyboard ()\r
 {\r
  unsigned char temp, scancode;\r
@@ -410,7 +396,16 @@ static int keyboard ()
     ":::"%eax", "%ebx", "%ecx", "%edx", "%esi", "%edi", "memory");\r
  }\r
 \r
- satisfy();\r
+ __asm("\n\\r
+               inb     $0x61, %%al     \n\\r
+               movb    %%al, %%ah      \n\\r
+               orb     $0x80, %%al     \n\\r
+               outb    %%al, $0x61     \n\\r
+               xchgb   %%al, %%ah      \n\\r
+               outb    %%al, $0x61     \n\\r
+               movb    $0x20, %%al     \n\\r
+               outb    %%al, $0x20     \n\\r
+ ":::"%eax");\r
  return 0;\r
 } ENDOFUNC(keyboard)\r
 \r
index 3ed7650906732d63b9a8fa7929b06cea1044a270..1740bfbac43afbadf82c3b8204b6659c62a6ea74 100644 (file)
@@ -8,11 +8,15 @@
 \r
 \r
 #include <dpmi.h>\r
+#include <sys/exceptn.h>\r
+#include <sys/segments.h>\r
 \r
 #include "pc_hw.h"\r
 \r
 \r
 \r
+#define PC_CUTE_WHEEL 1 /* CuteMouse WheelAPI */\r
+\r
 #define MOUSE_STACK_SIZE 16384\r
 \r
 #define CLEAR_MICKEYS() \\r
             ox = oy = 0; \\r
         } while (0)\r
 \r
-extern void mouse_wrapper (void);\r
-extern void mouse_wrapper_end (void);\r
+extern void mouse_wrap (void);\r
+extern int mouse_wrap_end[];\r
 \r
 static MFUNC mouse_func;\r
-static void *mouse_stack;\r
 static long mouse_callback;\r
 static __dpmi_regs mouse_regs;\r
 \r
-static volatile int pc_mouse_x, pc_mouse_y, pc_mouse_b;\r
+static volatile struct {\r
+       volatile int x, y, z, b;\r
+} pc_mouse;\r
 \r
 static int minx = 0;\r
 static int maxx = 319;\r
 static int miny = 0;\r
 static int maxy = 199;\r
+static int minz = 0;\r
+static int maxz = 255;\r
 \r
 static int sx = 2;\r
 static int sy = 2;\r
@@ -43,27 +50,34 @@ static int emulat3 = FALSE;
 \r
 static int ox, oy;\r
 \r
+\r
 static void mouse (__dpmi_regs *r)\r
 {\r
  int nx = (signed short)r->x.si / sx;\r
  int ny = (signed short)r->x.di / sy;\r
  int dx = nx - ox;\r
  int dy = ny - oy;\r
+#if PC_CUTE_WHEEL\r
+ int dz = (signed char)r->h.bh;\r
+#endif\r
  ox = nx;\r
  oy = ny;\r
 \r
- pc_mouse_b = r->x.bx;\r
- pc_mouse_x = MID(minx, pc_mouse_x + dx, maxx);\r
- pc_mouse_y = MID(miny, pc_mouse_y + dy, maxy);\r
+ pc_mouse.b = r->h.bl;\r
+ pc_mouse.x = MID(minx, pc_mouse.x + dx, maxx);\r
+ pc_mouse.y = MID(miny, pc_mouse.y + dy, maxy);\r
+#if PC_CUTE_WHEEL\r
+ pc_mouse.z = MID(minz, pc_mouse.z + dz, maxz);\r
+#endif\r
 \r
  if (emulat3) {\r
-    if ((pc_mouse_b&3)==3) {\r
-       pc_mouse_b = 4;\r
+    if ((pc_mouse.b&3)==3) {\r
+       pc_mouse.b = 4;\r
     }\r
  }\r
 \r
  if (mouse_func) {\r
-    mouse_func(pc_mouse_x, pc_mouse_y, pc_mouse_b);\r
+    mouse_func(pc_mouse.x, pc_mouse.y, pc_mouse.z, pc_mouse.b);\r
  }\r
 } ENDOFUNC(mouse)\r
 \r
@@ -83,7 +97,7 @@ void pc_remove_mouse (void)
 \r
     mouse_callback = 0;\r
 \r
-    free((void *)((unsigned long)mouse_stack-MOUSE_STACK_SIZE));\r
+    free((void *)(mouse_wrap_end[0] - MOUSE_STACK_SIZE));\r
  }\r
 }\r
 \r
@@ -109,26 +123,26 @@ int pc_install_mouse (void)
 \r
  /* lock wrapper */\r
  LOCKDATA(mouse_func);\r
- LOCKDATA(mouse_stack);\r
  LOCKDATA(mouse_callback);\r
  LOCKDATA(mouse_regs);\r
- LOCKDATA(pc_mouse_x);\r
- LOCKDATA(pc_mouse_y);\r
- LOCKDATA(pc_mouse_b);\r
+ LOCKDATA(pc_mouse);\r
  LOCKDATA(minx);\r
  LOCKDATA(maxx);\r
  LOCKDATA(miny);\r
  LOCKDATA(maxy);\r
+ LOCKDATA(minz);\r
+ LOCKDATA(maxz);\r
  LOCKDATA(sx);\r
  LOCKDATA(sy);\r
  LOCKDATA(emulat3);\r
  LOCKDATA(ox);\r
  LOCKDATA(oy);\r
  LOCKFUNC(mouse);\r
- LOCKFUNC(mouse_wrapper);\r
+ LOCKFUNC(mouse_wrap);\r
 \r
+ mouse_wrap_end[1] = __djgpp_ds_alias;\r
  /* grab a locked stack */\r
- if ((mouse_stack=pc_malloc(MOUSE_STACK_SIZE))==NULL) {\r
+ if ((mouse_wrap_end[0] = (int)pc_malloc(MOUSE_STACK_SIZE)) == NULL) {\r
     return 0;\r
  }\r
 \r
@@ -150,19 +164,23 @@ int pc_install_mouse (void)
                movl    %%ecx, %0       \n\\r
        0:                              \n\\r
  ":"=g"(mouse_callback)\r
-  :"S" (mouse_wrapper), "D"(&mouse_regs)\r
+  :"S" (mouse_wrap), "D"(&mouse_regs)\r
   :"%eax", "%ecx", "%edx");\r
  if (!mouse_callback) {\r
-    free(mouse_stack);\r
+    free((void *)mouse_wrap_end[0]);\r
     return 0;\r
  }\r
 \r
  /* adjust stack */\r
- mouse_stack = (void *)((unsigned long)mouse_stack + MOUSE_STACK_SIZE);\r
+ mouse_wrap_end[0] += MOUSE_STACK_SIZE;\r
 \r
  /* install the handler */\r
  mouse_regs.x.ax = 0x000c;\r
- mouse_regs.x.cx = 0x007f;\r
+#if PC_CUTE_WHEEL\r
+ mouse_regs.x.cx = 0x7f | 0x80;\r
+#else\r
+ mouse_regs.x.cx = 0x7f;\r
+#endif\r
  mouse_regs.x.dx = mouse_callback&0xffff;\r
  mouse_regs.x.es = mouse_callback>>16;\r
  __dpmi_int(0x33, &mouse_regs);\r
@@ -205,41 +223,57 @@ void pc_mouse_speed (int xspeed, int yspeed)
  ENABLE();\r
 }\r
 \r
-int pc_query_mouse (int *x, int *y)\r
+int pc_query_mouse (int *x, int *y, int *z)\r
 {\r
- *x = pc_mouse_x;\r
- *y = pc_mouse_y;\r
- return pc_mouse_b;\r
+ *x = pc_mouse.x;\r
+ *y = pc_mouse.y;\r
+ *z = pc_mouse.z;\r
+ return pc_mouse.b;\r
 }\r
 \r
+void pc_warp_mouse (int x, int y)\r
+{\r
+ CLEAR_MICKEYS();\r
+\r
+ pc_mouse.x = MID(minx, x, maxx);\r
+ pc_mouse.y = MID(miny, y, maxy);\r
+\r
+ if (mouse_func) {\r
+    mouse_func(pc_mouse.x, pc_mouse.y, pc_mouse.z, pc_mouse.b);\r
+ }\r
+}\r
+\r
+/* Hack alert:\r
+ * `mouse_wrap_end' actually holds the\r
+ * address of stack in a safe data selector.\r
+ */\r
 __asm("\n\\r
-               .text                                   \n\\r
-               .p2align 5,,31                          \n\\r
-               .global _mouse_wrapper                  \n\\r
-_mouse_wrapper:                                                \n\\r
-               cld                                     \n\\r
-               lodsl                                   \n\\r
-               movl    %eax, %es:42(%edi)              \n\\r
-               addw    $4, %es:46(%edi)                \n\\r
-               pushl   %es                             \n\\r
-               movl    %ss, %ebx                       \n\\r
-               movl    %esp, %esi                      \n\\r
-               movl    %cs:___djgpp_ds_alias, %ss      \n\\r
-               movl    %cs:_mouse_stack, %esp          \n\\r
-               pushl   %ss                             \n\\r
-               pushl   %ss                             \n\\r
-               popl    %es                             \n\\r
-               popl    %ds                             \n\\r
-               movl    ___djgpp_dos_sel, %fs           \n\\r
-               pushl   %fs                             \n\\r
-               popl    %gs                             \n\\r
-               pushl   %edi                            \n\\r
-               call    _mouse                          \n\\r
-               popl    %edi                            \n\\r
-               movl    %ebx, %ss                       \n\\r
-               movl    %esi, %esp                      \n\\r
-               popl    %es                             \n\\r
-               iret                                    \n\\r
-               .balign 4                               \n\\r
-               .global _mouse_wrapper_end              \n\\r
-_mouse_wrapper_end:");\r
+               .text                           \n\\r
+               .p2align 5,,31                  \n\\r
+               .global _mouse_wrap             \n\\r
+_mouse_wrap:                                   \n\\r
+               cld                             \n\\r
+               lodsl                           \n\\r
+               movl    %eax, %es:42(%edi)      \n\\r
+               addw    $4, %es:46(%edi)        \n\\r
+               pushl   %es                     \n\\r
+               movl    %ss, %ebx               \n\\r
+               movl    %esp, %esi              \n\\r
+               lss     %cs:_mouse_wrap_end, %esp\n\\r
+               pushl   %ss                     \n\\r
+               pushl   %ss                     \n\\r
+               popl    %es                     \n\\r
+               popl    %ds                     \n\\r
+               movl    ___djgpp_dos_sel, %fs   \n\\r
+               pushl   %fs                     \n\\r
+               popl    %gs                     \n\\r
+               pushl   %edi                    \n\\r
+               call    _mouse                  \n\\r
+               popl    %edi                    \n\\r
+               movl    %ebx, %ss               \n\\r
+               movl    %esi, %esp              \n\\r
+               popl    %es                     \n\\r
+               iret                            \n\\r
+               .balign 4                       \n\\r
+               .global _mouse_wrap_end         \n\\r
+_mouse_wrap_end:.long  0, 0");\r
index 6e3f5a77c789f52cf6717ffcee6702e948400a31..67e52ee59f04102c411d907ba7bc10d956a38a6c 100644 (file)
@@ -19,7 +19,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP glut driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP glut driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 2e8ed3f95bf8bb8f42a3ba3bf8a05a961219fa46..490839968ec1bba10cb8215f15e540c47a34bfa5 100644 (file)
@@ -19,7 +19,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP glut driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP glut driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index ae8e44f4088478b44ffa79d24f6d9865159518f0..ca4da058cd012d60241efe5611021280413f3ea7 100644 (file)
@@ -19,7 +19,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP glut driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP glut driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index bbabf0fdb2c2ab5fe9191b179188cb2f283d7033..dfc42754df87a58a943ae65205adb154435c49fa 100644 (file)
@@ -19,7 +19,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP glut driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP glut driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 6c034ff5e2b0fa23211a3e5d936236f9a43c37c3..9553cf2532ecbee6135d338d0e90c5223b094f45 100644 (file)
@@ -19,7 +19,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP glut driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP glut driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
@@ -152,10 +152,11 @@ void APIENTRY glutMainLoop (void)
        if (g_mouse) {\r
           int mouse_x;\r
           int mouse_y;\r
+          int mouse_z;\r
           int mouse_b;\r
 \r
           /* query mouse */\r
-          mouse_b = pc_query_mouse(&mouse_x, &mouse_y);\r
+          mouse_b = pc_query_mouse(&mouse_x, &mouse_y, &mouse_z);\r
 \r
           /* relative to window coordinates */\r
           g_mouse_x = mouse_x - g_curwin->xpos;\r
index 9a3841b12b602dc9458cbdfc0bec741f2dbbd066..e8f7b0a75b07427974d2248e72f125dcad836428 100644 (file)
@@ -19,7 +19,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP glut driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP glut driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index d82f5e8a8c8275bf321a49cd2fbaccf77c929124..7ba6358bc2669d6b13017b92b0e2eb26f5827d36 100644 (file)
@@ -19,7 +19,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP glut driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP glut driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
@@ -44,3 +44,17 @@ void __glutInitMouse (void)
     g_curwin->show_mouse = (g_curwin->mouse || g_curwin->motion || g_curwin->passive);\r
  }\r
 }\r
+\r
+\r
+\r
+void APIENTRY glutSetCursor (int cursor)\r
+{\r
+ /* XXX completely futile until full mouse support (maybe never) */\r
+}\r
+\r
+\r
+\r
+void APIENTRY glutWarpPointer (int x, int y)\r
+{\r
+ pc_warp_mouse(x, y);\r
+}\r
index f1f72cf1f837a0021e87eee0ddaee77b7cae2394..d0e2a859c7beecb3361f89e448b3e79d7bc64b6c 100644 (file)
@@ -19,7 +19,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP glut driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP glut driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index e9735a06a2ad4d40308cd06db0e094b491578cf8..38b03a72ab55754e1aa9d758c362d48ab765ad86 100644 (file)
@@ -19,7 +19,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP glut driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP glut driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index cad4726936fc5f060cab4c792971716ba5a20c89..839241a9b090f72707ee8edafa77c198224b4325 100644 (file)
@@ -19,7 +19,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP glut driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP glut driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 3598614c9f1f323b966f1d2ecbd461e186925302..7d0da5da289bdf022b92f74db7e0cf358db0f9cf 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP device driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 5202bbd6b17c836331bb9ee837f758da1ff20ec1..d3d3d4abcb7212132383563714e31ece5d3208c7 100644 (file)
@@ -1,8 +1,8 @@
 /*\r
  * Mesa 3-D graphics library\r
- * Version:  5.1\r
+ * Version:  5.0\r
  * \r
- * Copyright (C) 1999-2003  Brian Paul   All Rights Reserved.\r
+ * Copyright (C) 1999  Brian Paul   All Rights Reserved.\r
  * \r
  * Permission is hereby granted, free of charge, to any person obtaining a\r
  * copy of this software and associated documentation files (the "Software"),\r
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP device driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
@@ -39,6 +39,7 @@
 #include "extensions.h"\r
 #include "macros.h"\r
 #include "matrix.h"\r
+#include "mmath.h"\r
 #include "texformat.h"\r
 #include "texstore.h"\r
 #include "array_cache/acache.h"\r
@@ -1099,7 +1100,7 @@ static const GLubyte* get_string (GLcontext *ctx, GLenum name)
                                      #ifdef MATROX\r
                                      " (MGA)"\r
                                      #endif\r
-                                     "\0port (c) Borca Daniel feb-2003";\r
+                                     "\0port (c) Borca Daniel mar-2003";\r
         default:\r
              return NULL;\r
  }\r
index db6a3063390942ca287f718a307162e39f5dea9f..17c005a9e58d4416e431dd47300d66ba86a13cf8 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP device driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index f6dc0e4b41ffafd66899be0ba15f6807f0cc33b3..6860ef35840892221dff21d945df973fd2b74454 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP device driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
@@ -34,7 +34,7 @@
 #ifndef INTERNAL_H_included\r
 #define INTERNAL_H_included\r
 \r
-#include "../macros.h"\r
+#include "../mmath.h"\r
 \r
 /*\r
  * general purpose defines, etc.\r
index d3de69a825a8f57d86abcfa3fe74e724e430050f..1c5fbda29af462aa163e0f4643de68ad3a32719f 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0  --  MGA2064W triangle template\r
+ * DOS/DJGPP device driver v1.3 for Mesa  --  MGA2064W triangle template\r
  *\r
  *  Copyright (c) 2003 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 27a1c8ba037a650fcb62f584392e0a6eee7d951b..2933f2b1a956aa9dbb72c79a4f912fc28198153f 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0  --  MGA2064W triangle template\r
+ * DOS/DJGPP device driver v1.3 for Mesa  --  MGA2064W triangle template\r
  *\r
  *  Copyright (c) 2003 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 59bb09c9d3dde7130ea0c02d89246c58e675b7d0..27afba0ba04575e35d8a6cf93d4ff7a15f5b4c8e 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0  --  MGA2064W\r
+ * DOS/DJGPP device driver v1.3 for Mesa  --  MGA2064W\r
  *\r
  *  Copyright (c) 2003 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index fc5722b031475f84492cfca802e83cafd2043e66..d84fe72e2697313ec89eaf934a8a696f1ff4fbb6 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0  --  MGA2064W\r
+ * DOS/DJGPP device driver v1.3 for Mesa  --  MGA2064W\r
  *\r
  *  Copyright (c) 2003 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 4354ce861559a12dfef47c591fb86661bc97ff48..08c1d7e54a47f9db81ffeb5b6040df9316a166e0 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0  --  MGA2064W HW mapping\r
+ * DOS/DJGPP device driver v1.3 for Mesa  --  MGA2064W HW mapping\r
  *\r
  *  Copyright (c) 2003 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 246ed9c6ad794c5493685822413c91c08cd75e2f..c6575b97f882ca7666854fa0973be60fa59305bb 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0  --  MGA2064W HW mapping\r
+ * DOS/DJGPP device driver v1.3 for Mesa  --  MGA2064W HW mapping\r
  *\r
  *  Copyright (c) 2003 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 33f47a6486ecf7963d22c1700942a60b51f73465..4c6d926111d506c0adc6e15dddf00445af093030 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0  --  MGA2064W mode switching\r
+ * DOS/DJGPP device driver v1.3 for Mesa  --  MGA2064W mode switching\r
  *\r
  *  Copyright (c) 2003 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 4049bd8fd2d95065e5045a02b908e84e66552aeb..b458d00d802cc26dd4a105d1fe5cfff0ba78859a 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0  --  MGA2064W mode switching\r
+ * DOS/DJGPP device driver v1.3 for Mesa  --  MGA2064W mode switching\r
  *\r
  *  Copyright (c) 2003 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 73d22de2b877ca8a5a64434b4e970ff257db2730..4cd664ff967fa99072dcec0fbb4ecc5926e406ea 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0  --  MGA2064W register mnemonics\r
+ * DOS/DJGPP device driver v1.3 for Mesa  --  MGA2064W register mnemonics\r
  *\r
  *  Copyright (c) 2003 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index eebaa5006b9c6cc522298cae52d395b2b0cec371..cb8c29dfc71a4f446c962dbafb3535bd5ba0f538 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP device driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 369196f1443033bf12634ce6ec1cfa962e9bb124..030c816f080bc280bed68347e3c746a1c8a351de 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP device driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index ed899628405363f2bd8df2a53eb634fec5e3bf14..4fe8773243f6efbe5ad9ec656e983efba02e754e 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP device driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index d1047940418933011a5fc27a84ec8cf0f6bb74d3..f1bc62bbe73da44b5ab3ec43edb2beef8d040b02 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP device driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 3e93e6095a80440fc3a15e899e6409c6edeec4e9..297c9d566241614c2a221039c4b88d32b983017e 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP device driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index e908178ad4d257a6c6c24101d9aac9786dca161a..bb40fd00dfbe22378cf4c3959bbe24cda5830416 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP device driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 0605514b14a3b5beeb22bb89b12d3ba68cb25c18..0df584150f3f321c8046d7cf2134d173e8962668 100644 (file)
@@ -23,7 +23,7 @@
  */\r
 \r
 /*\r
- * DOS/DJGPP device driver v1.3 for Mesa 5.0\r
+ * DOS/DJGPP device driver v1.3 for Mesa\r
  *\r
  *  Copyright (C) 2002 - Borca Daniel\r
  *  Email : dborca@yahoo.com\r
index 2a3c6a79b7a42fb5e5242e0c9b6e48e3ec27b0c3..33e6ca5d4488dcef5184358aa0ffe0c4dfce75f2 100644 (file)
@@ -20,7 +20,7 @@
 # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
 # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
 \r
-# DOS/DJGPP core makefile v1.3 for Mesa 5.0\r
+# DOS/DJGPP core makefile v1.3 for Mesa\r
 #\r
 #  Copyright (C) 2002 - Borca Daniel\r
 #  Email : dborca@yahoo.com\r
@@ -130,6 +130,7 @@ CORE_SOURCES = \
        light.c \\r
        lines.c \\r
        matrix.c \\r
+       mmath.c \\r
        pixel.c \\r
        points.c \\r
        polygon.c \\r