]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/modex16/256x192.h
got 8086 port of wolf3d to work and sod to work
[16.git] / src / lib / modex16 / 256x192.h
index b1f9c79a80a3495bbbab33fb7faf2b6c71bf4900..f7263a33fb3cf39920c740bf214d5232788ad7e0 100755 (executable)
@@ -1,5 +1,5 @@
 /* Project 16 Source Code~\r
- * Copyright (C) 2012-2015 sparky4 & pngwen & andrius4669\r
+ * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
  *\r
  * This file is part of Project 16.\r
  *\r
 \r
 #include "src/lib/types.h"\r
 \r
-static const word ModeX_256x224regs[75] =\r
+/*static const word ModeX_256x224regs[75] =\r
 {\r
-    0x3c2, 0x00, 0xe3,\r
-    0x3d4, 0x00, 0x5f,\r
-    0x3d4, 0x01, 0x3f,\r
-    0x3d4, 0x02, 0x40,\r
-    0x3d4, 0x03, 0x82,\r
-    0x3d4, 0x04, 0x4a,\r
-    0x3d4, 0x05, 0x9a,\r
-    0x3d4, 0x06, 0x0b,\r
-    0x3d4, 0x07, 0x3e,\r
-    0x3d4, 0x08, 0x00,\r
-    0x3d4, 0x09, 0x41,\r
-    0x3d4, 0x10, 0xda,\r
-    0x3d4, 0x11, 0x9c,\r
-    0x3d4, 0x12, 0xbf,\r
-    0x3d4, 0x13, 0x20,\r
-    0x3d4, 0x14, 0x00,\r
-    0x3d4, 0x15, 0xc7,\r
-    0x3d4, 0x16, 0x04,\r
-    0x3d4, 0x17, 0xe3,\r
-    0x3c4, 0x01, 0x01,\r
-    0x3c4, 0x04, 0x06,\r
-    0x3ce, 0x05, 0x40,\r
-    0x3ce, 0x06, 0x05,\r
-    0x3c0, 0x10, 0x41,\r
-    0x3c0, 0x13, 0x00\r
+       0x3c2, 0x00, 0xe3,\r
+       0x3d4, 0x00, 0x5f,\r
+       0x3d4, 0x01, 0x3f,\r
+       0x3d4, 0x02, 0x40,\r
+       0x3d4, 0x03, 0x82,\r
+       0x3d4, 0x04, 0x4a,\r
+       0x3d4, 0x05, 0x9a,\r
+       0x3d4, 0x06, 0x0b,\r
+       0x3d4, 0x07, 0x3e,\r
+       0x3d4, 0x08, 0x00,\r
+       0x3d4, 0x09, 0x41,\r
+       0x3d4, 0x10, 0xda,\r
+       0x3d4, 0x11, 0x9c,\r
+       0x3d4, 0x12, 0xbf,\r
+       0x3d4, 0x13, 0x20,\r
+       0x3d4, 0x14, 0x00,\r
+       0x3d4, 0x15, 0xc7,\r
+       0x3d4, 0x16, 0x04,\r
+       0x3d4, 0x17, 0xe3,\r
+       0x3c4, 0x01, 0x01,\r
+       0x3c4, 0x04, 0x06,\r
+       0x3ce, 0x05, 0x40,\r
+       0x3ce, 0x06, 0x05,\r
+       0x3c0, 0x10, 0x41,\r
+       0x3c0, 0x13, 0x00\r
+};*/\r
+\r
+static const word ModeX_256x192regs[] = {\r
+       0x3200,         /* Horizontal total */\r
+       0x2701,         /* horizontal display enable end */\r
+       0x2802,         /* Start horizontal blanking */\r
+       0x2003,         /* End horizontal blanking */\r
+       0x2b04,         /* Start horizontal retrace */\r
+       0x7005,         /* End horizontal retrace */\r
+       0x0d06,          /* vertical total */\r
+       0x3e07,          /* overflow (bit 8 of vertical counts) */\r
+       0x4309,          /* cell height (2 to double-scan */\r
+       0xea10,          /* v sync start */\r
+       0xac11,          /* v sync end and protect cr0-cr7 */\r
+       0xdf12,          /* vertical displayed */\r
+       0x1413,         /* offset/logical width */\r
+       0x0014,          /* turn off dword mode */\r
+       0xe715,          /* v blank start */\r
+       0x0616,          /* v blank end */\r
+       0xe317            /* turn on byte mode */\r
 };\r
 \r
 #endif /*_DIX_H_*/\r
+/*\r
+voidtg::mode160x120(){\r
+       int crtc11;     outp(CRTC_INDEX, 0x11); // unlock crtc\r
+       crtc11 = inp(CRTC_DATA) & 0x7f;\r
+       outp(CRTC_INDEX, 0x11);\r
+       outp(CRTC_DATA, crtc11);\r
+       width   = 160;\r
+       height  = 120;\r
+       maxx    = 159;\r
+       maxy    = 119;\r
+       pages   = 13;\r
+       lineSize = 40;\r
+       pageSize = 19200;\r
+       modeName = "160x120";\r
+       outp(MISC_OUTPUT, 0xe3);   // mor\r
+\r
+       outp(CRTC_INDEX, 0x00); outp(CRTC_DATA, 0x32);\r
+       outp(CRTC_INDEX, 0x01); outp(CRTC_DATA, 0x27);\r
+       outp(CRTC_INDEX, 0x02); outp(CRTC_DATA, 0x28);\r
+       outp(CRTC_INDEX, 0x03); outp(CRTC_DATA, 0x20);\r
+       outp(CRTC_INDEX, 0x04); outp(CRTC_DATA, 0x2b);\r
+       outp(CRTC_INDEX, 0x05); outp(CRTC_DATA, 0x70);\r
+       outp(CRTC_INDEX, 0x06); outp(CRTC_DATA, 0x0d);\r
+       outp(CRTC_INDEX, 0x07); outp(CRTC_DATA, 0x3e);\r
+       outp(CRTC_INDEX, 0x08); outp(CRTC_DATA, 0x00);\r
+       outp(CRTC_INDEX, 0x09); outp(CRTC_DATA, 0x43);\r
+       outp(CRTC_INDEX, 0x10); outp(CRTC_DATA, 0xea);\r
+       outp(CRTC_INDEX, 0x11); outp(CRTC_DATA, 0xac);\r
+       outp(CRTC_INDEX, 0x12); outp(CRTC_DATA, 0xdf);\r
+       outp(CRTC_INDEX, 0x13); outp(CRTC_DATA, 0x14);\r
+       outp(CRTC_INDEX, 0x14); outp(CRTC_DATA, 0x00);\r
+       outp(CRTC_INDEX, 0x15); outp(CRTC_DATA, 0xe7);\r
+       outp(CRTC_INDEX, 0x16); outp(CRTC_DATA, 0x06);\r
+       outp(CRTC_INDEX, 0x17); outp(CRTC_DATA, 0xe3);\r
+\r
+       outp(0xSC_INDEX, 0x01); // seq\r
+       outp(0xSC_DATA, 0x01);\r
+       outp(0xSC_INDEX, 0x03); // seq\r
+       outp(0xSC_DATA, 0x00);\r
+       outp(0xSC_INDEX, 0x04); // seq\r
+       outp(0xSC_DATA, 0x06);\r
+\r
+       outp(GC_INDEX, 0x05); // gcr\r
+       outp(0x3cf, 0x40);\r
+       outp(GC_INDEX, 0x06); // gcr\r
+       outp(0x3cf, 0x05);\r
+\r
+       inp(0x3da);               // acr\r
+       outp(0x3c0, 0x10 | 0x20);\r
+       outp(0x3c0, 0x41);\r
+       inp(0x3da);               // acr\r
+       outp(0x3c0, 0x11 | 0x20);\r
+       outp(0x3c0, 0x00);\r
+       inp(0x3da);               // acr\r
+       outp(0x3c0, 0x12 | 0x20);\r
+       outp(0x3c0, 0x0f);\r
+       inp(0x3da);               // acr\r
+       outp(0x3c0, 0x13 | 0x20);\r
+       outp(0x3c0, 0x00);\r
+       inp(0x3da);               // acr\r
+       outp(0x3c0, 0x14 | 0x20);\r
+       outp(0x3c0, 0x00);\r
+\r
+       outp(CRTC_INDEX, 0x11); // lock crtc\r
+       crtc11 = inp(CRTC_DATA) | 0x80;\r
+       outp(CRTC_INDEX, 0x11);\r
+       outp(CRTC_DATA, crtc11);\r
+}\r
+*/\r