]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/modex16.c
failed fontgfxtest.exe
[16.git] / src / lib / modex16.c
index 6f8d64fa64a8810526e373e10e6a203cc9ff9849..6a4fbe1c5f819bfa01246b98a5d9438435143ad3 100755 (executable)
@@ -115,6 +115,10 @@ void modexEnter(sword vq, boolean cmem, global_game_variables_t *gv)
                        cm.clock_select = 0; /* misc register = 0xE3  25MHz */\r
                        cm.vsync_neg = 1;\r
                        cm.hsync_neg = 1;\r
+\r
+                       cm.scanline_div2=1;     /* CRTC[0x17] bit 2 */\r
+                       cm.scan_double=0;               /* CRTC[0x09] bit 7 */\r
+                       cm.max_scanline=4;              /* CRTC[0x09] bit 4-0 */\r
                        break;\r
                case 2: // TODO: 160x120 according to ModeX_160x120regs\r
                        return;\r
@@ -1045,3 +1049,30 @@ modexWaitBorder() {
        // spin\r
     }\r
 }*/\r
+\r
+void bios_cls() {\r
+       VGA_ALPHA_PTR ap;\r
+       VGA_RAM_PTR rp;\r
+       unsigned char m;\r
+\r
+       m = int10_getmode();\r
+       if ((rp=vga_state.vga_graphics_ram) != NULL && !(m <= 3 || m == 7)) {\r
+               unsigned int i,im;\r
+\r
+               im = (FP_SEG(vga_state.vga_graphics_ram_fence) - FP_SEG(vga_state.vga_graphics_ram));\r
+               if (im > 0xFFE) im = 0xFFE;\r
+               im <<= 4;\r
+               for (i=0;i < im;i++) vga_state.vga_graphics_ram[i] = 0;\r
+       }\r
+       else if ((ap=vga_state.vga_alpha_ram) != NULL) {\r
+               unsigned int i,im;\r
+\r
+               im = (FP_SEG(vga_state.vga_alpha_ram_fence) - FP_SEG(vga_state.vga_alpha_ram));\r
+               if (im > 0x7FE) im = 0x7FE;\r
+               im <<= 4 - 1; /* because ptr is type uint16_t */\r
+               for (i=0;i < im;i++) vga_state.vga_alpha_ram[i] = 0x0720;\r
+       }\r
+       else {\r
+               printf("WARNING: bios cls no ptr\n");\r
+       }\r
+}\r