]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/modex16.c
optimize for XT i did ww
[16.git] / src / lib / modex16.c
index e3e557bf7f4ee949c3cd433df5766eb8e33f7ddf..2ed2e9839b9c3cffe6647063eafe83e3ab9ea012 100755 (executable)
@@ -199,6 +199,7 @@ modexDefaultPage(page_t *p)
        page.tilemidposscreeny = (page.th/2)+1;\r
        page.stridew=page.width/4;\r
        page.pagesize = (word)(page.width/4)*page.height;\r
+       page.pi=4;\r
        page.id = 0;\r
 \r
     return page;\r
@@ -222,9 +223,10 @@ modexNextPage(page_t *p) {
        result.th = p->th;\r
        result.tilesw = p->tilesw;\r
        result.tilesh = p->tilesh;\r
-       result.id = p->id+1;\r
        result.stridew=p->stridew;\r
        result.pagesize = p->pagesize;\r
+       result.pi=4;\r
+       result.id = p->id+1;\r
 \r
        return result;\r
 }\r
@@ -249,6 +251,9 @@ modexNextPageFlexibleSize(page_t *p, word x, word y)
        result.id = p->id+1;\r
        result.stridew=result.width/4;\r
        result.pagesize = (word)(result.width/4)*result.height;\r
+       if(result.id==2)\r
+               result.pi=p->width*p->pi;\r
+       else if(result.id==3)   result.pi=p->pi;\r
 \r
        return result;\r
 }\r
@@ -271,7 +276,10 @@ void modexHiganbanaPageSetup(video_t *video)
        video->num_of_pages=0;\r
        (video->page[0]) = modexDefaultPage(&(video->page[0])); video->num_of_pages++;  //video->page[0].width += (TILEWHD); video->page[0].height += (TILEWHD);\r
        (video->page[1]) = modexNextPage(&(video->page[0]));    video->num_of_pages++;\r
+//0000 (video->page[2]) = modexNextPageFlexibleSize(&(video->page[1]), (video->page[0]).width, TILEWH*4);              video->num_of_pages++;\r
+//0000 (video->page[3]) = (video->page[2]);            video->num_of_pages++;\r
        (video->page[2]) = modexNextPageFlexibleSize(&(video->page[1]), TILEWH*4, TILEWH*4);            video->num_of_pages++;\r
+//     (video->page[3]) = modexNextPageFlexibleSize(&(video->page[2]), video->page[0].width, 176);     video->num_of_pages++;\r
        (video->page[3]) = modexNextPageFlexibleSize(&(video->page[2]), video->page[0].sw, 208);        video->num_of_pages++;\r
 //     (video->page[2]) = modexNextPageFlexibleSize(&(video->page[1]), video->page[0].width, 172);     video->num_of_pages++;\r
 //     (video->page[3]) = modexNextPageFlexibleSize(&(video->page[2]), 72, 128);               video->num_of_pages++;\r
@@ -1140,36 +1148,9 @@ modexWaitBorder() {
        // spin\r
        }\r
 \r
-       while(!(inp(INPUT_STATUS_1)  & 8))  {\r
-       //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
+//     while(!(inp(INPUT_STATUS_1)  & 8))  {\r
+//     //spin\r
+//     }\r
 }\r
 \r
 void modexprintmeminfo(video_t *v)\r
@@ -1182,8 +1163,9 @@ void modexprintmeminfo(video_t *v)
                printf("        [%u]=", i);\r
                printf("(%Fp)", (v->page[i].data));\r
                printf(" size=%u        ", v->page[i].pagesize);\r
+               printf("w=%lu  h=%lu ", (unsigned long)v->page[i].width, (unsigned long)v->page[i].height);\r
                printf("sw=%lu  sh=%lu ", (unsigned long)v->page[i].sw, (unsigned long)v->page[i].sh);\r
-               printf(" width=%lu  height=%lu", (unsigned long)v->page[i].width, (unsigned long)v->page[i].height);\r
+               printf("pi=%u", v->page[i].pi);\r
                printf("\n");\r
        }\r
 }\r