]> 4ch.mooo.com Git - 16.git/commitdiff
modified: 16/DOS_GFX.OBJ
authorsparky4 <sparky4@4ch.maidlab.jp>
Wed, 21 May 2014 20:12:40 +0000 (15:12 -0500)
committersparky4 <sparky4@4ch.maidlab.jp>
Wed, 21 May 2014 20:12:40 +0000 (15:12 -0500)
modified:   16/dos_gfx.cpp
deleted:    16/error
new file:   16/error.txt
modified:   16/lib/x/MAKEFILE
modified:   16/lib/x/MODEX.OBJ
new file:   16/lib/x/modex.BAK
new file:   16/lib/x/modex.lib
new file:   16/q.bat
new file:   16/readme.txt
modified:   16/x.bat
new file:   16/xx.bat

12 files changed:
16/DOS_GFX.OBJ
16/dos_gfx.cpp
16/error [deleted file]
16/error.txt [new file with mode: 0644]
16/lib/x/MAKEFILE
16/lib/x/MODEX.OBJ
16/lib/x/modex.BAK [new file with mode: 0644]
16/lib/x/modex.lib [new file with mode: 0644]
16/q.bat [new file with mode: 0644]
16/readme.txt [new file with mode: 0644]
16/x.bat
16/xx.bat [new file with mode: 0644]

index fcb1a7ed572ef0bf8307aa48fc13a700efcd5b7b..dd4ed8e32bf240aa5ec9841d2fcf10878baf6d13 100644 (file)
Binary files a/16/DOS_GFX.OBJ and b/16/DOS_GFX.OBJ differ
index 2a4170a2507d8e513660047cd1d95a4984f0d865..631e72c655ba965867232edb45cb3f45d4677edb 100644 (file)
@@ -6,20 +6,20 @@
  *\r
  * Simple graphics library to accompany the article\r
  * \r
- *                                       INTRODUCTION TO MODE X.\r
+ *                                        INTRODUCTION TO MODE X.\r
  * \r
  * This library provides the basic functions for initializing and using\r
  * unchained (planar) 256-color VGA modes.  Currently supported are:\r
  *\r
- *       - 320x200\r
- *       - 320x240\r
+ *        - 320x200\r
+ *        - 320x240\r
  *\r
  * Functions are provided for:\r
  *\r
- *       - initializing one of the available modes\r
- *       - setting the start address of the VGA refresh data\r
- *       - setting active and visible display pages\r
- *       - writing and reading a single pixel to/from video memory\r
+ *        - initializing one of the available modes\r
+ *        - setting the start address of the VGA refresh data\r
+ *        - setting active and visible display pages\r
+ *        - writing and reading a single pixel to/from video memory\r
  *\r
  * The library is provided as a demonstration only, and is not claimed\r
  * to be particularly efficient or suited for any purpose.  It has only\r
@@ -76,10 +76,10 @@ byte coor;
 /*\r
  * Define the port addresses of some VGA registers.\r
  */\r
-#define CRTC_ADDR         0x3d4   /* Base port of the CRT Controller (color) */\r
+#define CRTC_ADDR          0x3d4   /* Base port of the CRT Controller (color) */\r
 \r
-#define SEQU_ADDR         0x3c4   /* Base port of the Sequencer */\r
-#define GRAC_ADDR         0x3ce   /* Base port of the Graphics Controller */\r
+#define SEQU_ADDR          0x3c4   /* Base port of the Sequencer */\r
+#define GRAC_ADDR          0x3ce   /* Base port of the Graphics Controller */\r
 #define STATUS_ADDR     0x3DA\r
 \r
 unsigned char *RowsX[600];\r
@@ -112,48 +112,48 @@ unsigned actStart, visStart;
 \r
 /*\r
  * set320x200x256_X()\r
- *       sets mode 13h, then turns it into an unchained (planar), 4-page\r
- *       320x200x256 mode.\r
+ *        sets mode 13h, then turns it into an unchained (planar), 4-page\r
+ *        320x200x256 mode.\r
  */\r
 void set320x200x256_X(void)\r
-               {\r
-               union REGS r;\r
+                {\r
+                union REGS r;\r
 \r
-               /* Set VGA BIOS mode 13h: */\r
-               r.x.ax = 0x0013;\r
-               int86(0x10, &r, &r);\r
+                /* Set VGA BIOS mode 13h: */\r
+                r.x.ax = 0x0013;\r
+                int86(0x10, &r, &r);\r
 \r
-               /* Turn off the Chain-4 bit (bit 3 at index 4, port 0x3c4): */\r
-               outpw(SEQU_ADDR, 0x0604);\r
+                /* Turn off the Chain-4 bit (bit 3 at index 4, port 0x3c4): */\r
+                outpw(SEQU_ADDR, 0x0604);\r
 \r
-               /* Turn off word mode, by setting the Mode Control register\r
-               of the CRT Controller (index 0x17, port 0x3d4): */\r
-               outpw(CRTC_ADDR, 0xE317);\r
+                /* Turn off word mode, by setting the Mode Control register\r
+                of the CRT Controller (index 0x17, port 0x3d4): */\r
+                outpw(CRTC_ADDR, 0xE317);\r
 \r
-               /* Turn off doubleword mode, by setting the Underline Location\r
-                  register (index 0x14, port 0x3d4): */\r
-               outpw(CRTC_ADDR, 0x0014);\r
+                /* Turn off doubleword mode, by setting the Underline Location\r
+                   register (index 0x14, port 0x3d4): */\r
+                outpw(CRTC_ADDR, 0x0014);\r
 \r
-               /* Clear entire video memory, by selecting all four planes, then\r
-                  writing 0 to entire segment. */\r
-               outpw(SEQU_ADDR, 0x0F02);\r
-               memset(vga+1, 0, 0xffff); /* stupid size_t exactly 1 too small */\r
-               vga[0] = 0;\r
+                /* Clear entire video memory, by selecting all four planes, then\r
+                   writing 0 to entire segment. */\r
+                outpw(SEQU_ADDR, 0x0F02);\r
+                memset(vga+1, 0, 0xffff); /* stupid size_t exactly 1 too small */\r
+                vga[0] = 0;\r
 \r
-               /* Update the global variables to reflect dimensions of this\r
-                  mode.  This is needed by most future drawing operations. */\r
-               width              = 320;\r
-               height  = 200;\r
+                /* Update the global variables to reflect dimensions of this\r
+                   mode.  This is needed by most future drawing operations. */\r
+                width              = 320;\r
+                height  = 200;\r
 \r
-               /* Each byte addresses four pixels, so the width of a scan line\r
-                  in *bytes* is one fourth of the number of pixels on a line. */\r
-               widthBytes = width / 4;\r
+                /* Each byte addresses four pixels, so the width of a scan line\r
+                   in *bytes* is one fourth of the number of pixels on a line. */\r
+                widthBytes = width / 4;\r
 \r
-               /* By default we want screen refreshing and drawing operations\r
-                  to be based at offset 0 in the video segment. */\r
-               actStart = visStart = 0;\r
+                /* By default we want screen refreshing and drawing operations\r
+                   to be based at offset 0 in the video segment. */\r
+                actStart = visStart = 0;\r
 \r
-               /*\r
+                /*\r
 --------------------\r
 HORIZONTAL SCROLLING\r
 --------------------\r
@@ -191,17 +191,16 @@ OUT value TO PORT 3C0H (where "value" is the
 -----------------------------------------------\r
 */\r
 \r
-//mxSetVirtualScreen(480,360);\r
-               }\r
+                }\r
 \r
 /*\r
  * setActiveStart() tells our graphics operations which address in video\r
  * memory should be considered the top left corner.\r
  */\r
 void setActiveStart(unsigned offset)\r
-               {\r
-               actStart = offset;\r
-               }\r
+                {\r
+                actStart = offset;\r
+                }\r
 \r
 /*\r
  * setVisibleStart() tells the VGA from which byte to fetch the first\r
@@ -212,13 +211,13 @@ void setActiveStart(unsigned offset)
  * set, but before the low byte is set, which produces a bad flicker.\r
  */\r
 void setVisibleStart(unsigned offset)\r
-               {\r
-               visStart = offset;\r
-               outpw(CRTC_ADDR, 0x0C);          /* set high byte */\r
-               outpw(CRTC_ADDR+1, visStart >> 8);\r
-               outpw(CRTC_ADDR, 0x0D);          /* set low byte */\r
-               outpw(CRTC_ADDR+1, visStart & 0xff);\r
-               }\r
+                {\r
+                visStart = offset;\r
+                outpw(CRTC_ADDR, 0x0C);          /* set high byte */\r
+                outpw(CRTC_ADDR+1, visStart >> 8);\r
+                outpw(CRTC_ADDR, 0x0D);          /* set low byte */\r
+                outpw(CRTC_ADDR+1, visStart & 0xff);\r
+                }\r
 \r
 /*\r
  * setXXXPage() sets the specified page by multiplying the page number\r
@@ -227,68 +226,70 @@ void setVisibleStart(unsigned offset)
  * function.  The first page is number 0.\r
  */\r
 void setActivePage(int page)\r
-               {\r
-               setActiveStart(page * widthBytes * height);\r
-               }\r
+                {\r
+                setActiveStart(page * widthBytes * height);\r
+                }\r
 \r
 void setVisiblePage(int page)\r
-               {\r
-               setVisibleStart(page * widthBytes * height);\r
-               }\r
+                {\r
+                setVisibleStart(page * widthBytes * height);\r
+                }\r
 \r
 void putPixel_X(int x, int y, byte color)\r
-               {\r
-               /* Each address accesses four neighboring pixels, so set\r
-                  Write Plane Enable according to which pixel we want\r
-                  to modify.  The plane is determined by the two least\r
-                  significant bits of the x-coordinate: */\r
-               outp(0x3c4, 0x02);\r
-               outp(0x3c5, 0x01 << (x & 3));\r
-\r
-               /* The offset of the pixel into the video segment is\r
-                  offset = (width * y + x) / 4, and write the given\r
-                  color to the plane we selected above.  Heed the active\r
-                  page start selection. */\r
-               vga[(unsigned)(widthBytes * y) + (x / 4) + actStart] = color;\r
-\r
-               }\r
+                {\r
+                /* Each address accesses four neighboring pixels, so set\r
+                   Write Plane Enable according to which pixel we want\r
+                   to modify.  The plane is determined by the two least\r
+                   significant bits of the x-coordinate: */\r
+                outp(0x3c4, 0x02);\r
+                outp(0x3c5, 0x01 << (x & 3));\r
+\r
+                /* The offset of the pixel into the video segment is\r
+                   offset = (width * y + x) / 4, and write the given\r
+                   color to the plane we selected above.  Heed the active\r
+                   page start selection. */\r
+                vga[(unsigned)(widthBytes * y) + (x / 4) + actStart] = color;\r
+\r
+                }\r
 \r
 byte getPixel_X(int x, int y)\r
-               {\r
-               /* Select the plane from which we must read the pixel color: */\r
-               outpw(GRAC_ADDR, 0x04);\r
-               outpw(GRAC_ADDR+1, x & 3);\r
+                {\r
+                /* Select the plane from which we must read the pixel color: */\r
+                outpw(GRAC_ADDR, 0x04);\r
+                outpw(GRAC_ADDR+1, x & 3);\r
 \r
-               return vga[(unsigned)(widthBytes * y) + (x / 4) + actStart];\r
+                return vga[(unsigned)(widthBytes * y) + (x / 4) + actStart];\r
 \r
-               }\r
+                }\r
 \r
 void set320x240x256_X(void)\r
-               {\r
-               /* Set the unchained version of mode 13h: */\r
-               set320x200x256_X();\r
-\r
-               /* Modify the vertical sync polarity bits in the Misc. Output\r
-                  Register to achieve square aspect ratio: */\r
-               outp(0x3C2, 0xE3);\r
-\r
-               /* Modify the vertical timing registers to reflect the increased\r
-                  vertical resolution, and to center the image as good as\r
-                  possible: */\r
-               outpw(0x3D4, 0x2C11);              /* turn off write protect */\r
-               outpw(0x3D4, 0x0D06);              /* vertical total */\r
-               outpw(0x3D4, 0x3E07);              /* overflow register */\r
-               outpw(0x3D4, 0xEA10);              /* vertical retrace start */\r
-               outpw(0x3D4, 0xAC11);              /* vertical retrace end AND wr.prot */\r
-               outpw(0x3D4, 0xDF12);              /* vertical display enable end */\r
-               outpw(0x3D4, 0xE715);              /* start vertical blanking */\r
-               outpw(0x3D4, 0x0616);              /* end vertical blanking */\r
-\r
-               /* Update mode info, so future operations are aware of the\r
-                  resolution */\r
-               height = 240;\r
-\r
-               }\r
+                {\r
+                /* Set the unchained version of mode 13h: */\r
+                set320x200x256_X();\r
+\r
+                /* Modify the vertical sync polarity bits in the Misc. Output\r
+                   Register to achieve square aspect ratio: */\r
+                outp(0x3C2, 0xE3);\r
+\r
+                /* Modify the vertical timing registers to reflect the increased\r
+                   vertical resolution, and to center the image as good as\r
+                   possible: */\r
+                outpw(0x3D4, 0x2C11);              /* turn off write protect */\r
+                outpw(0x3D4, 0x0D06);              /* vertical total */\r
+                outpw(0x3D4, 0x3E07);              /* overflow register */\r
+                outpw(0x3D4, 0xEA10);              /* vertical retrace start */\r
+                outpw(0x3D4, 0xAC11);              /* vertical retrace end AND wr.prot */\r
+                outpw(0x3D4, 0xDF12);              /* vertical display enable end */\r
+                outpw(0x3D4, 0xE715);              /* start vertical blanking */\r
+                outpw(0x3D4, 0x0616);              /* end vertical blanking */\r
+\r
+                /* Update mode info, so future operations are aware of the\r
+                   resolution */\r
+                height = 240;\r
+\r
+*$pragma aux mxSetVirtualScreen "MXSETVIRTUALSCREEN"\r
+mxSetVirtualScreen(480,360);\r
+                }\r
 \r
 \r
 /*-----------XXXX-------------*/\r
@@ -313,8 +314,8 @@ void wait_for_retrace(void)
 /*\r
 void MoveTo (word X, word Y) {\r
 \r
-//     word O = Y*SIZE*2+X;\r
-       word O = Y*widthBytes*2+X;\r
+//      word O = Y*SIZE*2+X;\r
+        word O = Y*widthBytes*2+X;\r
 \r
   asm {\r
     mov    bx, [O]\r
@@ -414,8 +415,8 @@ void Play()
 //   ch=0x0;\r
 //   xpos=rand (78)+1;\r
 //   ypos=rand (198)+1; // { Random start positions for the view }\r
-       xpos=0;\r
-       ypos=0;\r
+        xpos=0;\r
+        ypos=0;\r
    xdir=1;\r
    ydir=1;\r
 //   while(1)\r
@@ -428,59 +429,59 @@ void Play()
      if( (ypos>199) || (ypos<1))ydir=-ydir; // { Hit a boundry, change\r
                                             //    direction! }\r
 //     if(_bios_keybrd(_KEYBRD_READY))ch=getch();\r
-//      if(ch==0x71)break; // 'q'\r
-//      if(ch==0x1b)break; // 'ESC'\r
+//       if(ch==0x71)break; // 'q'\r
+//       if(ch==0x1b)break; // 'ESC'\r
 //   }\r
 }\r
 */\r
 /*tile*/\r
 //king_crimson's code\r
 void putColorBox_X(int x, int y, int w, int h, byte color) {\r
-       outp(0x3c4, 0x02);\r
-\r
-       int curx, cury;\r
-       unsigned drawptr;\r
-       for (curx=x; curx<(x+w); curx++) {\r
-               outp(0x3c5, 0x01 << (curx & 3));\r
-               drawptr = (unsigned)(widthBytes * y) + (curx / 4) + actStart;\r
-               for (cury=0; cury<h; cury++) {\r
-                       vga[drawptr] = color;\r
-                       drawptr += widthBytes;\r
-               }\r
-       }\r
+        outp(0x3c4, 0x02);\r
+\r
+        int curx, cury;\r
+        unsigned drawptr;\r
+        for (curx=x; curx<(x+w); curx++) {\r
+                outp(0x3c5, 0x01 << (curx & 3));\r
+                drawptr = (unsigned)(widthBytes * y) + (curx / 4) + actStart;\r
+                for (cury=0; cury<h; cury++) {\r
+                        vga[drawptr] = color;\r
+                        drawptr += widthBytes;\r
+                }\r
+        }\r
 }\r
 \r
 void vScroll(int rows)\r
 {\r
-       // Scrolling = current start + (rows * bytes in a row)\r
-       setVisibleStart(visStart + (rows * width));\r
+        // Scrolling = current start + (rows * bytes in a row)\r
+        setVisibleStart(visStart + (rows * width));\r
 }\r
 \r
 void scrolly(int bongy)\r
 {\r
-       int boingy=0;\r
-       if(bongy<0)\r
-               boingy=-1;\r
-       else if(bongy>0)\r
-               boingy=1;\r
-\r
-       for(int ti=0;ti<TILEWH;ti++)\r
-       {\r
-               delay(1);\r
-               vScroll(boingy);\r
-       }\r
+        int boingy=0;\r
+        if(bongy<0)\r
+                boingy=-1;\r
+        else if(bongy>0)\r
+                boingy=1;\r
+\r
+        for(int ti=0;ti<TILEWH;ti++)\r
+        {\r
+                delay(1);\r
+                vScroll(boingy);\r
+        }\r
 }\r
 \r
 //king_crimson's code\r
 void hScroll(int Cols) {\r
-       wait_for_retrace();\r
-       outp(0x3C0, 0x13);\r
-       outp(0x3C0, Cols & 3);\r
-       outp(0x3D4, 0x13);\r
-       outp(0x3D5, Cols >> 2);\r
-       outp(0x3D4, Cols);\r
-       //setVisibleStart(visStart + (Cols * height));\r
-       setVisibleStart(visStart + (Cols * width));\r
+        wait_for_retrace();\r
+        outp(0x3C0, 0x13);\r
+        outp(0x3C0, Cols & 3);\r
+        outp(0x3D4, 0x13);\r
+        outp(0x3D5, Cols >> 2);\r
+        outp(0x3D4, Cols);\r
+        //setVisibleStart(visStart + (Cols * height));\r
+        setVisibleStart(visStart + (Cols * width));\r
 }\r
 \r
 /*To implement smooth horizontal scrolling, you would do the following:\r
@@ -580,297 +581,297 @@ I'm sorry about this being so confusing but it's a bit difficult to explain.
 */\r
 int loadfontX(char *fname)\r
 {\r
-       FILE *fp;\r
+        FILE *fp;\r
 \r
-       fp = fopen(fname, "rb");\r
+        fp = fopen(fname, "rb");\r
 \r
-       if (fp == NULL) {\r
-               return 0;\r
-       } else {\r
-               fread(Xfont, 8, 256, fp);\r
-               fclose(fp);\r
-               return 1;\r
-       }\r
+        if (fp == NULL) {\r
+                return 0;\r
+        } else {\r
+                fread(Xfont, 8, 256, fp);\r
+                fclose(fp);\r
+                return 1;\r
+        }\r
 }\r
 \r
 void putchX(cord x, cord y, char c, byte color)\r
 {\r
-       int i;\r
-       byte *vga_ptr;\r
-       byte *font_ptr;\r
-       byte temp;\r
-\r
-       // 8x8 font\r
-       vga_ptr = RowsX[y << 3] + (x << 1) + actStart;\r
-       write_plane = -1;\r
-\r
-       font_ptr = Xfont + (c << 3);\r
-\r
-       i=8;\r
-       while (i--) {\r
-               temp = *font_ptr++;\r
-               outpw(SEQU_ADDR, text_mask[temp & 0x0F]);\r
-               *vga_ptr++ = color;\r
-\r
-               outpw(SEQU_ADDR, text_mask[temp >> 4]);\r
-               *vga_ptr-- = color;\r
-               vga_ptr += widthBytes;\r
-       }\r
+        int i;\r
+        byte *vga_ptr;\r
+        byte *font_ptr;\r
+        byte temp;\r
+\r
+        // 8x8 font\r
+        vga_ptr = RowsX[y << 3] + (x << 1) + actStart;\r
+        write_plane = -1;\r
+\r
+        font_ptr = Xfont + (c << 3);\r
+\r
+        i=8;\r
+        while (i--) {\r
+                temp = *font_ptr++;\r
+                outpw(SEQU_ADDR, text_mask[temp & 0x0F]);\r
+                *vga_ptr++ = color;\r
+\r
+                outpw(SEQU_ADDR, text_mask[temp >> 4]);\r
+                *vga_ptr-- = color;\r
+                vga_ptr += widthBytes;\r
+        }\r
 }\r
 \r
 void putstringX(cord x, cord y, char *str, byte color)\r
 {\r
-       int i, skip;\r
-       byte *vga_ptr;\r
-       byte *font_ptr;\r
-       byte c, temp;\r
+        int i, skip;\r
+        byte *vga_ptr;\r
+        byte *font_ptr;\r
+        byte c, temp;\r
 \r
-       // 8x8 font\r
-       vga_ptr = RowsX[y << 3] + (x << 1) + actStart;\r
-       write_plane = -1;\r
+        // 8x8 font\r
+        vga_ptr = RowsX[y << 3] + (x << 1) + actStart;\r
+        write_plane = -1;\r
 \r
-       skip = 2 - (widthBytes << 3);\r
+        skip = 2 - (widthBytes << 3);\r
 \r
-       while (c = *str++) {\r
-               font_ptr = Xfont + (c << 3);\r
+        while (c = *str++) {\r
+                font_ptr = Xfont + (c << 3);\r
 \r
-               i=8;\r
-               while (i--) {\r
-                       temp = *font_ptr++;\r
-                       outpw(SEQU_ADDR, text_mask[temp & 0x0F]);\r
-                       *vga_ptr++ = color;\r
+                i=8;\r
+                while (i--) {\r
+                        temp = *font_ptr++;\r
+                        outpw(SEQU_ADDR, text_mask[temp & 0x0F]);\r
+                        *vga_ptr++ = color;\r
 \r
-                       outpw(SEQU_ADDR, text_mask[temp >> 4]);\r
-                       *vga_ptr-- = color;\r
-                       vga_ptr += widthBytes;\r
-               }\r
+                        outpw(SEQU_ADDR, text_mask[temp >> 4]);\r
+                        *vga_ptr-- = color;\r
+                        vga_ptr += widthBytes;\r
+                }\r
 \r
-               vga_ptr += skip;\r
-       }\r
+                vga_ptr += skip;\r
+        }\r
 }\r
 \r
 /////////////////////////////////////////////////////////////////////////////\r
 //                                                                         //\r
-// setvideo() - This function Manages the video modes                                    //\r
+// setvideo() - This function Manages the video modes                                     //\r
 //                                                                         //\r
 /////////////////////////////////////////////////////////////////////////////\r
 void setvideo(/*byte mode, */int vq){\r
-               union REGS in, out;\r
-\r
-               if(!vq){ // deinit the video\r
-                               // change to the video mode we were in before we switched to mode 13h\r
-                               in.h.ah = 0x00;\r
-                               in.h.al = old_mode;\r
-                               int86(0x10, &in, &out);\r
-\r
-               }else if(vq == 1){ // init the video\r
-                               // get old video mode\r
-                               in.h.ah = 0xf;\r
-                               int86(0x10, &in, &out);\r
-                               old_mode = out.h.al;\r
-\r
-                               // enter mode\r
-                               set320x240x256_X();\r
-               }\r
+                union REGS in, out;\r
+\r
+                if(!vq){ // deinit the video\r
+                                // change to the video mode we were in before we switched to mode 13h\r
+                                in.h.ah = 0x00;\r
+                                in.h.al = old_mode;\r
+                                int86(0x10, &in, &out);\r
+\r
+                }else if(vq == 1){ // init the video\r
+                                // get old video mode\r
+                                in.h.ah = 0xf;\r
+                                int86(0x10, &in, &out);\r
+                                old_mode = out.h.al;\r
+\r
+                                // enter mode\r
+                                set320x240x256_X();\r
+                }\r
 }\r
 \r
 /////////////////////////////////////////////////////////////////////////////\r
-//                                                                                                                                              //\r
+//                                                                                                                                               //\r
 // cls() - This clears the screen to the specified color, on the VGA or on //\r
-//              the Virtual screen.                                                                                     //\r
-//                                                                                                                                              //\r
+//               the Virtual screen.                                                                                     //\r
+//                                                                                                                                               //\r
 /////////////////////////////////////////////////////////////////////////////\r
 void cls(byte color, byte *Where){\r
-               _fmemset(Where, color, width*(height*17));\r
+                _fmemset(Where, color, width*(height*17));\r
 }\r
 \r
 //color \82Ä\82·\82Æ\r
 int colortest(){\r
-               if(gq < NUM_COLORS){\r
-                               cls(gq, vga);\r
-                               gq++;\r
-               }else gq = 0;\r
-               return gq;\r
+                if(gq < NUM_COLORS){\r
+                                cls(gq, vga);\r
+                                gq++;\r
+                }else gq = 0;\r
+                return gq;\r
 }\r
 \r
 //color \82Ä\82·\82Æ\r
 int colorz(){\r
-               if(gq < HGQ){\r
-//----           cls(gq, vaddr);\r
-                               cls(gq, vga);\r
-                               gq++;\r
-               }else gq = LGQ;\r
-               return gq;\r
+                if(gq < HGQ){\r
+//----            cls(gq, vaddr);\r
+                                cls(gq, vga);\r
+                                gq++;\r
+                }else gq = LGQ;\r
+                return gq;\r
 }\r
 \r
 //slow spectrum down\r
 void ssd(int svq){\r
-               if(sy < height+1){\r
-                               if(sx < width+1){\r
-                                               //plotpixel(xx, yy, coor, vga);\r
-                                               //ppf(sx, sy, coor, vga);\r
-                                               putPixel_X(sx, sy, coor);\r
-                                               //printf("%d %d %d %d\n", sx, sy, svq, coor);\r
-                                               sx++;\r
-                               }else sx = 0;\r
-                               if(sx == width){\r
-                                               sy++;\r
-                                               if(svq == 7) coor++;\r
-                                               if(sy == height && svq == 8) coor = rand()%NUM_COLORS;\r
-                               }\r
-               }else sy = 0;\r
+                if(sy < height+1){\r
+                                if(sx < width+1){\r
+                                                //plotpixel(xx, yy, coor, vga);\r
+                                                //ppf(sx, sy, coor, vga);\r
+                                                putPixel_X(sx, sy, coor);\r
+                                                //printf("%d %d %d %d\n", sx, sy, svq, coor);\r
+                                                sx++;\r
+                                }else sx = 0;\r
+                                if(sx == width){\r
+                                                sy++;\r
+                                                if(svq == 7) coor++;\r
+                                                if(sy == height && svq == 8) coor = rand()%NUM_COLORS;\r
+                                }\r
+                }else sy = 0;\r
 }\r
 \r
 /*-----------ding-------------*/\r
 int ding(int q){\r
 \r
-//     if(yy<height){\r
-               setActivePage(0);\r
-               setVisiblePage(0);\r
-/*     }\r
-       if((height)<yy<(height*2)){\r
-               setActivePage(1);\r
-               setVisiblePage(1);\r
-       }\r
-       if((height*2)<yy<(height*3)){\r
-               setActivePage(2);\r
-               setVisiblePage(2);\r
-       }*/\r
-               int d3y;\r
+//      if(yy<height){\r
+                setActivePage(0);\r
+                setVisiblePage(0);\r
+/*      }\r
+        if((height)<yy<(height*2)){\r
+                setActivePage(1);\r
+                setVisiblePage(1);\r
+        }\r
+        if((height*2)<yy<(height*3)){\r
+                setActivePage(2);\r
+                setVisiblePage(2);\r
+        }*/\r
+                int d3y;\r
 \r
 //++++  if(q <= 4 && q!=2 && gq == BONK-1) coor = rand()%HGQ;\r
-               if((q == 2\r
-               ||q==4\r
-               ||q==16\r
-               ) && gq == BONK){\r
-                                               if(coor < HGQ && coor < LGQ) coor = LGQ;\r
-                                               if(coor < HGQ-1){\r
-                                                               coor++;\r
-                               }else{ coor = LGQ;\r
-                                               bakax = rand()%3; bakay = rand()%3;\r
-                               }\r
-               }\r
-\r
-               if(q==8){ colorz(); return gq; }else\r
-               if(q==10){ ssd(q); /*printf("%d\n", coor);*/ }else\r
-               if(q==5){ colortest(); return gq; }else\r
-               if(q==11){ colorz(); delay(100); return gq; }\r
-               if(q==6){\r
-                               coor = rand()%NUM_COLORS;\r
-//----           cls(coor, vaddr);\r
-                               cls(coor, vga);\r
-                               //updatevbuff();\r
-               }\r
-\r
-               if(q==7||q==9){\r
-                               if(gq < HGQ){\r
-                                               if(q == 7) ssd(q);\r
-                                               if(q == 9){ ssd(q); coor++; }\r
-                                               gq++;\r
-                               }else gq = LGQ;\r
-               }\r
-               if((q<5 && gq<BONK) || (q==16 && gq<BONK)){ // the number variable make the colors more noticable\r
-                               if(q==1){\r
-                                               if(xx==width){bakax=0;}\r
-                                               if(xx==0){bakax=1;}\r
-                                               if(yy==height){bakay=0;}\r
-                                               if(yy==0){bakay=1;}\r
-                               }else if(q==3){\r
-                                               if(xx!=width||yy!=height){\r
-                                                               if(xx==0){bakax=1;bakay=-1;d3y=1;}\r
-                                                               if(yy==0){bakax=1;bakay=0;d3y=1;}\r
-                                                               if(xx==width){bakax=-1;bakay=-1;d3y=1;}\r
-                                                               if(yy==height){bakax=1;bakay=0;d3y=1;}\r
-                                               }else if(xx==width&&yy==height) xx=yy=0;\r
-                               }\r
-                               if(q==3){\r
-                                               if(d3y){\r
-                                                               if(bakay<0){\r
-                                                                               yy--;\r
-                                                                               d3y--;\r
-                                                               }else\r
-                                                               if(bakay>0){\r
-                                                                               yy++;\r
-                                                                               d3y--;\r
-                                                               }\r
-                                               }\r
-                                               if(bakax<0){\r
-                                                               xx--;\r
-                                               }else\r
-                                               if(bakax>0){\r
-                                                               xx++;\r
-                                               }\r
-                               }else{\r
-                                               if(q==16)\r
-                                               {\r
-                                                               if(!bakax){\r
-                                                                               xx--;//=TILEWH;\r
-                                                               }else if(bakax>0){\r
-                                                                               xx++;//=TILEWH;\r
-                                                               }\r
-                                                               if(!bakay){\r
-                                                                               yy--;//=TILEWH;\r
-                                                               }else if(bakay>0){\r
-                                                                               yy++;//=TILEWH;\r
-                                                               }\r
-                                               }else{\r
-                                                               if(!bakax){\r
-//                                                                             xx-=TILEWH;\r
-                                                                               xx--;\r
-                                                               }else if(bakax>1){\r
-//                                                                             xx+=TILEWH;\r
-                                                                               xx++;\r
-                                                               }\r
-                                                               if(!bakay){\r
-//                                                                             yy-=TILEWH;\r
-                                                                               yy--;\r
-                                                               }else if(bakay>1){\r
-//                                                                             yy+=TILEWH;\r
-                                                                               yy++;\r
-                                                               }\r
-                                               }\r
-                               }\r
-                               // fixer\r
-//                             if(q!=16){\r
+                if((q == 2\r
+                ||q==4\r
+                ||q==16\r
+                ) && gq == BONK){\r
+                                                if(coor < HGQ && coor < LGQ) coor = LGQ;\r
+                                                if(coor < HGQ-1){\r
+                                                                coor++;\r
+                                }else{ coor = LGQ;\r
+                                                bakax = rand()%3; bakay = rand()%3;\r
+                                }\r
+                }\r
+\r
+                if(q==8){ colorz(); return gq; }else\r
+                if(q==10){ ssd(q); /*printf("%d\n", coor);*/ }else\r
+                if(q==5){ colortest(); return gq; }else\r
+                if(q==11){ colorz(); delay(100); return gq; }\r
+                if(q==6){\r
+                                coor = rand()%NUM_COLORS;\r
+//----            cls(coor, vaddr);\r
+                                cls(coor, vga);\r
+                                //updatevbuff();\r
+                }\r
+\r
+                if(q==7||q==9){\r
+                                if(gq < HGQ){\r
+                                                if(q == 7) ssd(q);\r
+                                                if(q == 9){ ssd(q); coor++; }\r
+                                                gq++;\r
+                                }else gq = LGQ;\r
+                }\r
+                if((q<5 && gq<BONK) || (q==16 && gq<BONK)){ // the number variable make the colors more noticable\r
+                                if(q==1){\r
+                                                if(xx==width){bakax=0;}\r
+                                                if(xx==0){bakax=1;}\r
+                                                if(yy==height){bakay=0;}\r
+                                                if(yy==0){bakay=1;}\r
+                                }else if(q==3){\r
+                                                if(xx!=width||yy!=height){\r
+                                                                if(xx==0){bakax=1;bakay=-1;d3y=1;}\r
+                                                                if(yy==0){bakax=1;bakay=0;d3y=1;}\r
+                                                                if(xx==width){bakax=-1;bakay=-1;d3y=1;}\r
+                                                                if(yy==height){bakax=1;bakay=0;d3y=1;}\r
+                                                }else if(xx==width&&yy==height) xx=yy=0;\r
+                                }\r
+                                if(q==3){\r
+                                                if(d3y){\r
+                                                                if(bakay<0){\r
+                                                                                yy--;\r
+                                                                                d3y--;\r
+                                                                }else\r
+                                                                if(bakay>0){\r
+                                                                                yy++;\r
+                                                                                d3y--;\r
+                                                                }\r
+                                                }\r
+                                                if(bakax<0){\r
+                                                                xx--;\r
+                                                }else\r
+                                                if(bakax>0){\r
+                                                                xx++;\r
+                                                }\r
+                                }else{\r
+                                                if(q==16)\r
+                                                {\r
+                                                                if(!bakax){\r
+                                                                                xx--;//=TILEWH;\r
+                                                                }else if(bakax>0){\r
+                                                                                xx++;//=TILEWH;\r
+                                                                }\r
+                                                                if(!bakay){\r
+                                                                                yy--;//=TILEWH;\r
+                                                                }else if(bakay>0){\r
+                                                                                yy++;//=TILEWH;\r
+                                                                }\r
+                                                }else{\r
+                                                                if(!bakax){\r
+//                                                                              xx-=TILEWH;\r
+                                                                                xx--;\r
+                                                                }else if(bakax>1){\r
+//                                                                              xx+=TILEWH;\r
+                                                                                xx++;\r
+                                                                }\r
+                                                                if(!bakay){\r
+//                                                                              yy-=TILEWH;\r
+                                                                                yy--;\r
+                                                                }else if(bakay>1){\r
+//                                                                              yy+=TILEWH;\r
+                                                                                yy++;\r
+                                                                }\r
+                                                }\r
+                                }\r
+                                // fixer\r
+//                              if(q!=16){\r
 //if(q!=16)\r
-//                                             if(xx<(0/*-(TILEWH/2)*/)) xx=(width/*+(TILEWH)*/);\r
-                                               if(yy<0) yy=(height*3);\r
-//                                             if(xx>(width/*+(TILEWH)*/)) xx=(0/*-(TILEWH/2)*/);\r
-                                               if(yy>(height*3)) yy=0;\r
-//                             }\r
+//                                              if(xx<(0/*-(TILEWH/2)*/)) xx=(width/*+(TILEWH)*/);\r
+                                                if(yy<0) yy=(height*3);\r
+//                                              if(xx>(width/*+(TILEWH)*/)) xx=(0/*-(TILEWH/2)*/);\r
+                                                if(yy>(height*3)) yy=0;\r
+//                              }\r
 \r
 //interesting effects\r
-                               if(q==16)\r
-                               {\r
-                               int tx=0,ty=0;\r
-                               tx+=xx+16;\r
-                               ty+=yy+16;\r
-                               putPixel_X(tx, ty, coor);\r
-                               //drawrect(tx, ty, tx+TILEWH, ty+TILEWH, coor);\r
-                               //printf("%d %d %d %d %d %d\n", xx, yy, tx, ty, TILEWH);\r
-\r
-                               // plot the pixel\r
-//----           ppf(xx, yy, coor, vga);\r
-                               }else /*if(xx>=0 && xx<width && yy>=0 && yy<(height*3))*/{\r
-//                                     putColorBox_X(xx, yy, TILEWH, TILEWH, coor);\r
+                                if(q==16)\r
+                                {\r
+                                int tx=0,ty=0;\r
+                                tx+=xx+16;\r
+                                ty+=yy+16;\r
+                                putPixel_X(tx, ty, coor);\r
+                                //drawrect(tx, ty, tx+TILEWH, ty+TILEWH, coor);\r
+                                //printf("%d %d %d %d %d %d\n", xx, yy, tx, ty, TILEWH);\r
+\r
+                                // plot the pixel\r
+//----            ppf(xx, yy, coor, vga);\r
+                                }else /*if(xx>=0 && xx<width && yy>=0 && yy<(height*3))*/{\r
+//                                      putColorBox_X(xx, yy, TILEWH, TILEWH, coor);\r
 //++++0000\r
-                                       putPixel_X(xx, yy, coor);\r
-                               } \r
+                                        putPixel_X(xx, yy, coor);\r
+                                \r
 \r
-//----           if(q==2) ppf(rand()%, rand()%height, 0, vga);\r
-//                             if(q==2) putColorBox_X(rand()%width, rand()%(height*3), TILEWH, TILEWH, 0);\r
+//----            if(q==2) ppf(rand()%, rand()%height, 0, vga);\r
+//                              if(q==2) putColorBox_X(rand()%width, rand()%(height*3), TILEWH, TILEWH, 0);\r
 //++++0000\r
-                               if(q==2) putPixel_X(rand()%width, rand()%(height*3), 0);\r
-                               if(q==16) putPixel_X(rand()%width, rand()%(height*3), 0);\r
-                               if(q==2||q==4||q==16){ bakax = rand()%3; bakay = rand()%3; }\r
-                               gq++;\r
+                                if(q==2) putPixel_X(rand()%width, rand()%(height*3), 0);\r
+                                if(q==16) putPixel_X(rand()%width, rand()%(height*3), 0);\r
+                                if(q==2||q==4||q==16){ bakax = rand()%3; bakay = rand()%3; }\r
+                                gq++;\r
 //if(xx<0||xx>320||yy<0||yy>(height*3))\r
-//       printf("%d %d %d %d %d %d\n", xx, yy, coor, bakax, bakay, getPixel_X(xx,yy));\r
-//       printf("%d\n", getPixel_X(xx,yy));\r
+//        printf("%d %d %d %d %d %d\n", xx, yy, coor, bakax, bakay, getPixel_X(xx,yy));\r
+//        printf("%d\n", getPixel_X(xx,yy));\r
 //0000\r
-//       drawText(0, 0, 15, getPixel_X(xx,yy));\r
-               }else gq = LGQ;\r
-               return gq;\r
+//        drawText(0, 0, 15, getPixel_X(xx,yy));\r
+                }else gq = LGQ;\r
+                return gq;\r
 }\r
 \r
 \r
@@ -885,123 +886,123 @@ int ding(int q){
 #include <conio.h>\r
 \r
 void doTest(void)\r
-               {\r
-               int p, x, y, pages;\r
-\r
-               /* This is the way to calculate the number of pages available. */\r
-               pages = 65536L/(widthBytes*height); // apparently this takes the A000 address\r
-//             if(height==240) pages++;\r
-\r
-//             printf("%d\n", pages);\r
-\r
-               for (p = 0; p <= pages; ++p)\r
-                               {\r
-                               setActivePage(p);\r
-\r
-                               /* On each page draw a single colored border, and dump the palette\r
-                                  onto a small square about the middle of the page. */\r
-\r
-                                  //{\r
-                                               for (x = 0; x <= width; ++x)\r
-                                                               {\r
-                                                               putPixel_X(x, 0, p+1);\r
-                                                               if(p!=pages) putPixel_X(x, height-1, p+1);\r
-                                                                               else if(height==240) putPixel_X(x, 99-1, p+1);\r
-                                                               }\r
-\r
-                                               for (y = 0; y <= height; ++y)\r
-                                                               {\r
-                                                               putPixel_X(0, y, p+1);\r
-                                                               if(p!=pages) putPixel_X(width-1, y, p+1);\r
-                                                                               else if(height==240) putPixel_X(width-1, y, p+1);\r
-                                                               }\r
-\r
-                                               for (x = 0; x < TILEWH; ++x)\r
-                                                               for (y = 0; y < TILEWH; ++y)\r
-                                                                               putPixel_X(x+(p+2)*16, y+(p+2)*TILEWH, x + y*TILEWH);\r
-                                               //}\r
-\r
-                               }\r
-\r
-               /* Each pages will now contain a different image.  Let the user cycle\r
-                  through all the pages by pressing a key. */\r
-               for (p = 0; p < pages; ++p)\r
-                               {\r
-                               setVisiblePage(p);\r
-                               getch();\r
-                               }\r
-\r
-               }\r
+                {\r
+                int p, x, y, pages;\r
+\r
+                /* This is the way to calculate the number of pages available. */\r
+                pages = 65536L/(widthBytes*height); // apparently this takes the A000 address\r
+//              if(height==240) pages++;\r
+\r
+//              printf("%d\n", pages);\r
+\r
+                for (p = 0; p <= pages; ++p)\r
+                                {\r
+                                setActivePage(p);\r
+\r
+                                /* On each page draw a single colored border, and dump the palette\r
+                                   onto a small square about the middle of the page. */\r
+\r
+                                   //{\r
+                                                for (x = 0; x <= width; ++x)\r
+                                                                {\r
+                                                                putPixel_X(x, 0, p+1);\r
+                                                                if(p!=pages) putPixel_X(x, height-1, p+1);\r
+                                                                                else if(height==240) putPixel_X(x, 99-1, p+1);\r
+                                                                }\r
+\r
+                                                for (y = 0; y <= height; ++y)\r
+                                                                {\r
+                                                                putPixel_X(0, y, p+1);\r
+                                                                if(p!=pages) putPixel_X(width-1, y, p+1);\r
+                                                                                else if(height==240) putPixel_X(width-1, y, p+1);\r
+                                                                }\r
+\r
+                                                for (x = 0; x < TILEWH; ++x)\r
+                                                                for (y = 0; y < TILEWH; ++y)\r
+                                                                                putPixel_X(x+(p+2)*16, y+(p+2)*TILEWH, x + y*TILEWH);\r
+                                                //}\r
+\r
+                                }\r
+\r
+                /* Each pages will now contain a different image.  Let the user cycle\r
+                   through all the pages by pressing a key. */\r
+                for (p = 0; p < pages; ++p)\r
+                                {\r
+                                setVisiblePage(p);\r
+                                getch();\r
+                                }\r
+\r
+                }\r
 \r
 /*\r
  * Library test (program) entry point.\r
  */\r
 \r
 int main(void)\r
-               {\r
-               int key,d;\r
-               //short int temp;\r
-               // main variables\r
-               d=1; // switch variable\r
-               key=4; // default screensaver number\r
-//       puts("First, have a look at the 320x200 mode.  I will draw some rubbish");\r
-//       puts("on all of the four pages, then let you cycle through them by");\r
-//       puts("hitting a key on each page.");\r
-//       puts("Press a key when ready...");\r
-//       getch();\r
-\r
-//       doTest();\r
-\r
-//       puts("Then, check out Mode X, 320x240 with 3 (and a half) pages.");\r
-//       puts("Press a key when ready...");\r
-//       getch();\r
+                {\r
+                int key,d;\r
+                //short int temp;\r
+                // main variables\r
+                d=1; // switch variable\r
+                key=4; // default screensaver number\r
+//        puts("First, have a look at the 320x200 mode.  I will draw some rubbish");\r
+//        puts("on all of the four pages, then let you cycle through them by");\r
+//        puts("hitting a key on each page.");\r
+//        puts("Press a key when ready...");\r
+//        getch();\r
+\r
+//        doTest();\r
+\r
+//        puts("Then, check out Mode X, 320x240 with 3 (and a half) pages.");\r
+//        puts("Press a key when ready...");\r
+//        getch();\r
 \r
 //++++0000\r
-               setvideo(1);\r
-               /*temp = loadfontX("vga8x8.fnt");\r
+                setvideo(1);\r
+                /*temp = loadfontX("vga8x8.fnt");\r
 \r
-               if (temp) {\r
-                       putstringX(0, 0, "bakapi!", 2);\r
-               }\r
-               getch();*/\r
+                if (temp) {\r
+                        putstringX(0, 0, "bakapi!", 2);\r
+                }\r
+                getch();*/\r
 // screen savers\r
 \r
 /*while(d!=0){ // on!\r
-                               if(!kbhit()){ // conditions of screen saver\r
-                                               ding(key);\r
-                               }else{\r
-                                               setvideo(0);\r
-                                               // user imput switch\r
-                                               printf("Enter 1, 2, 3, 4, or 6 to run a screensaver, or enter 5 to quit.\n", getch());  // prompt the user\r
-                                               scanf("%d", &key);\r
-                                               //if(key==3){xx=yy=0;} // crazy screen saver wwww\r
-                                               if(key==5) d=0;\r
-                                               setvideo(1);\r
-                               }\r
-               }*/ // else off\r
-               while(!kbhit()){ // conditions of screen saver\r
-                       ding(4);\r
-               }\r
-               //end of screen savers\r
-               doTest();\r
-//             getch();\r
-\r
-               while(!kbhit()){ // conditions of screen saver\r
-//                     hScroll(1);\r
-//                     scrolly(1);\r
-                       vScroll(1);\r
-//                     delay(100);\r
-//                     Play();\r
-               }\r
+                                if(!kbhit()){ // conditions of screen saver\r
+                                                ding(key);\r
+                                }else{\r
+                                                setvideo(0);\r
+                                                // user imput switch\r
+                                                printf("Enter 1, 2, 3, 4, or 6 to run a screensaver, or enter 5 to quit.\n", getch());  // prompt the user\r
+                                                scanf("%d", &key);\r
+                                                //if(key==3){xx=yy=0;} // crazy screen saver wwww\r
+                                                if(key==5) d=0;\r
+                                                setvideo(1);\r
+                                }\r
+                }*/ // else off\r
+                while(!kbhit()){ // conditions of screen saver\r
+                        ding(4);\r
+                }\r
+                //end of screen savers\r
+                doTest();\r
+//              getch();\r
+\r
+                while(!kbhit()){ // conditions of screen saver\r
+//                      hScroll(1);\r
+//                      scrolly(1);\r
+                        vScroll(1);\r
+//                      delay(100);\r
+//                      Play();\r
+                }\r
 //++++0000\r
-               setvideo(0);\r
-               printf("wwww\n[%d][%d]\n", width,height);\r
-//             setvideo(0);\r
+                setvideo(0);\r
+                printf("wwww\n[%d][%d]\n", width,height);\r
+//              setvideo(0);\r
 //mxTerm();\r
 //mxGetVersion();\r
-               puts("where to next?  It's your move! wwww");\r
-               printf("bakapi ver. 1.04.09.03\nis made by sparky4\81i\81\86\83Ö\81\85\81j feel free to use it ^^\nLicence: GPL v2\n");\r
-               return 0;\r
-               }\r
+                puts("where to next?  It's your move! wwww");\r
+                printf("bakapi ver. 1.04.09.03\nis made by sparky4\81i\81\86\83Ö\81\85\81j feel free to use it ^^\nLicence: GPL v2\n");\r
+                return 0;\r
+                }\r
 \r
 #endif\r
diff --git a/16/error b/16/error
deleted file mode 100644 (file)
index 589f324..0000000
--- a/16/error
+++ /dev/null
@@ -1 +0,0 @@
-file dos_gfx.obj(C:\Z\16\16\dos_gfx.cpp): undefined symbol\r
diff --git a/16/error.txt b/16/error.txt
new file mode 100644 (file)
index 0000000..a4f9aca
--- /dev/null
@@ -0,0 +1,3 @@
+Error! E2028: MXSETVIRTUALSCREEN is an undefined reference\r
+creating a DOS executable\r
+file dos_gfx.obj(C:\Z\16\16\dos_gfx.cpp): undefined symbol MXSETVIRTUALSCREEN
\ No newline at end of file
index 19175b7a8f0b5bd6cf4b7991af11d444b71de9d8..a84d9a4b5a632eb763a8a9e511e08269de0dbada 100644 (file)
@@ -27,7 +27,7 @@ LIBOBJS = MXBB.OBJ \
           MXPI.OBJ \\r
           MXPN.OBJ \\r
           MXPP.OBJ \\r
-         MXPT.OBJ \\r
+          MXPT.OBJ \\r
           MXRA.OBJ \\r
           MXRP.OBJ \\r
           MXSA.OBJ \\r
index 7b72fdba8b4d249dbe38efb07ea6a051cbb62dc7..91289955c58314f116d178524cfc372cec7f7830 100644 (file)
Binary files a/16/lib/x/MODEX.OBJ and b/16/lib/x/MODEX.OBJ differ
diff --git a/16/lib/x/modex.BAK b/16/lib/x/modex.BAK
new file mode 100644 (file)
index 0000000..0069d2e
Binary files /dev/null and b/16/lib/x/modex.BAK differ
diff --git a/16/lib/x/modex.lib b/16/lib/x/modex.lib
new file mode 100644 (file)
index 0000000..0069d2e
Binary files /dev/null and b/16/lib/x/modex.lib differ
diff --git a/16/q.bat b/16/q.bat
new file mode 100644 (file)
index 0000000..5d1b584
--- /dev/null
+++ b/16/q.bat
@@ -0,0 +1,5 @@
+call hres\r
+vi dos_gfx.cpp\r
+call x\r
+pause\r
+dos_gfx.exe\r
diff --git a/16/readme.txt b/16/readme.txt
new file mode 100644 (file)
index 0000000..306e8b9
--- /dev/null
@@ -0,0 +1,8 @@
+ModeX - A graphical library for DOS programs\r
+Copyright (c) 1993-1994 Alessandro Scotti\r
+http://www.ascotti.org/\r
+\r
+Please look at the above site in the "Art of..." and\r
+then in the "Old programs" section for more information.\r
+\r
+\r
index a6310e93e77ced96912ef4d8120e4040ec7c37fe..ccfde16607a2ad3543d312f387013de9a27c599f 100644 (file)
--- a/16/x.bat
+++ b/16/x.bat
@@ -1,3 +1,3 @@
 wpp /d1 /0 /ml dos_gfx\r
-wlink file dos_gfx,lib\x\*.obj name dos_gfx\r
-copy /y dos_gfx.exe c:\z\bakapi.exe \r
+wlink file dos_gfx,lib\x\*.obj LIBP lib\x LIBFILE modex name dos_gfx\r
+copy /y dos_gfx.exe c:\z\bakapi.exe\r
diff --git a/16/xx.bat b/16/xx.bat
new file mode 100644 (file)
index 0000000..b828bf1
--- /dev/null
+++ b/16/xx.bat
@@ -0,0 +1,6 @@
+cd lib\x\r
+call compile\r
+call make\r
+cd ..\r
+cd ..\r
+call x
\ No newline at end of file