]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_vl.c
16_ca needs huge amounts of work and I should remember what needs to be done soon...
[16.git] / src / lib / 16_vl.c
index 2c3fc766df37efe84f32ee076e86372e2cedf9b8..1f5754d9c2edcca74ddca917b6900ccf7df8e781 100755 (executable)
@@ -545,6 +545,9 @@ void modexHiganbanaPageSetup(global_game_variables_t *gvar)
                gvar->video.page[1].dx=gvar->video.page[1].dy=TILEWH;   // 1 tile size buffer\r
        gvar->video.page[2].dx=gvar->video.page[2].dy=\r
                gvar->video.page[3].dx=gvar->video.page[3].dy=0;                // cache pages are buffer wwww\r
+\r
+       gvar->video.page[0].tlx=gvar->mv[0].tx*TILEWH;\r
+       gvar->video.page[0].tly=gvar->mv[0].ty*TILEWH;\r
 }\r
 \r
 //\r
@@ -567,14 +570,14 @@ modexShowPage(page_t *page) {
        low_address  = LOW_ADDRESS  | (offset << 8);\r
 \r
        /* wait for appropriate timing and then program CRTC */\r
-//+=+=                                                                         while ((inp(INPUT_STATUS_1) & DISPLAY_ENABLE));\r
+//+=+=                                                                         while ((inp(STATUS_REGISTER_1) & DISPLAY_ENABLE));\r
        outpw(CRTC_INDEX, high_address);\r
        outpw(CRTC_INDEX, low_address);\r
        outp(CRTC_INDEX, 0x13);\r
        outp(CRTC_DATA, crtcOffset);\r
 \r
        /* wait for one retrace */\r
-//+=+=                                                                         while (!(inp(INPUT_STATUS_1) & VRETRACE));\r
+//+=+=                                                                         while (!(inp(STATUS_REGISTER_1) & VRETRACE));\r
 \r
        /* do PEL panning here */\r
        outp(AC_INDEX, 0x33);\r
@@ -609,14 +612,14 @@ VL_ShowPage(page_t *page, boolean vsync, boolean sr)
        low_address  = LOW_ADDRESS  | (offset << 8);\r
 \r
        // wait for appropriate timing and then program CRTC\r
-       if(vsync) while ((inp(INPUT_STATUS_1) & DISPLAY_ENABLE));\r
+       if(vsync) while ((inp(STATUS_REGISTER_1) & DISPLAY_ENABLE));\r
        outpw(CRTC_INDEX, high_address);\r
        outpw(CRTC_INDEX, low_address);\r
        outp(CRTC_INDEX, 0x13);\r
        outp(CRTC_DATA, crtcOffset);\r
 \r
        // wait for one retrace\r
-       if(vsync) while (!(inp(INPUT_STATUS_1) & VRETRACE));\r
+       if(vsync) while (!(inp(STATUS_REGISTER_1) & VRETRACE));\r
 \r
        // do PEL panning here\r
        outp(AC_INDEX, 0x33);\r
@@ -916,6 +919,8 @@ modexLoadPalFile(byte *filename, byte *palette) {
        fclose(file);\r
 }\r
 \r
+#define COREPALSIZE 9//27      //3*9\r
+\r
 void VLL_LoadPalFilewithoffset(const char *filename, byte *palette, word o, word palsize, global_game_variables_t *gvar)\r
 {\r
        int fd;\r
@@ -923,36 +928,36 @@ void VLL_LoadPalFilewithoffset(const char *filename, byte *palette, word o, word
 \r
        fd = open(filename,O_RDONLY|O_BINARY);\r
        if (fd >= 0) {\r
-               read(fd,palette,        palsize);\r
+               read(fd,palette,        palsize*3);\r
                close(fd);\r
 \r
-               if(palsize==27) newpalette = palette; else{     //if core then load it\r
+               if(palsize==COREPALSIZE) newpalette = palette; else{    //if core then load it\r
                newpalette = &palette[3];                       //skip overscan color\r
                if(!o) o++;\r
                }\r
-               VL_UpdatePaletteWrite(newpalette, o, gvar);\r
+               VL_UpdatePaletteWrite(newpalette, o, palsize, gvar);\r
        }\r
 }\r
 \r
 void VL_LoadPalFile(const char *filename, byte *palette, global_game_variables_t *gvar)\r
 {\r
        VLL_LoadPalFilewithoffset(filename, palette,\r
-               0,      //overwrite core/system palette\r
-//             9,      //preserved core/system palette\r
-               PAL_SIZE, gvar);\r
+               0,                      //overwrite core/system palette\r
+//             COREPALSIZE,    //preserved core/system palette\r
+               PAL_SIZE/3, gvar);\r
 }\r
 \r
 void VL_LoadPalFileCore(byte *palette, global_game_variables_t *gvar)\r
 {\r
-       VLL_LoadPalFilewithoffset("data/16.pal", palette, 0, 27, gvar);\r
+       VLL_LoadPalFilewithoffset("data/16.pal", palette, 0, COREPALSIZE, gvar);\r
 }\r
 \r
-void VL_UpdatePaletteWrite(byte *palette, word o, global_game_variables_t *gvar)\r
+void VL_UpdatePaletteWrite(byte *palette, word o, word p, global_game_variables_t *gvar)\r
 {\r
        word i;\r
 \r
        vga_palette_lseek(o);\r
-       for (i=0;i < 255-o;i++)\r
+       for (i=0;i < p-o;i++)\r
                vga_palette_write(palette[(i*3)+0]>>2,palette[(i*3)+1]>>2,palette[(i*3)+2]>>2);\r
 \r
        VL_PaletteSync(gvar);\r
@@ -1346,11 +1351,11 @@ void VL_PatternDraw(video_t *video, word pn, boolean sw, boolean allsw)
 \r
 void\r
 modexWaitBorder() {\r
-       while(inp(INPUT_STATUS_1)  & 8)  {\r
+       while(inp(STATUS_REGISTER_1)  & 8)  {\r
        // spin\r
        }\r
 \r
-       while(!(inp(INPUT_STATUS_1)  & 8))  {\r
+       while(!(inp(STATUS_REGISTER_1)  & 8))  {\r
        //spin\r
        }\r
 }\r
@@ -1358,7 +1363,7 @@ modexWaitBorder() {
 void\r
 modexWaitBorder_start()\r
 {\r
-       while(inp(INPUT_STATUS_1)  & 8)  {\r
+       while(inp(STATUS_REGISTER_1)  & 8)  {\r
        // spin\r
        }\r
 \r
@@ -1367,7 +1372,7 @@ modexWaitBorder_start()
 void\r
 modexWaitBorder_end()\r
 {\r
-       while(!(inp(INPUT_STATUS_1)  & 8))  {\r
+       while(!(inp(STATUS_REGISTER_1)  & 8))  {\r
        // spin\r
        }\r
 \r