]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/modex16.c
4 page system needs to be tested ^^
[16.git] / src / lib / modex16.c
index 9b61ed8ba4bb1f8d0bd0707cf5f0077d6a930eab..a4f1a16ca97e1a5a4e8b57f867cda2429cc1c8b3 100755 (executable)
@@ -188,7 +188,7 @@ modexDefaultPage(page_t *p)
        page.tilemidposscreenx = page.tw/2;\r
        page.tilemidposscreeny = (page.th/2)+1;\r
        page.stridew=page.width/4;\r
-       page.pagesize = (sdiword)(page.width/4)*page.height;\r
+       page.pagesize = (word)(page.width/4)*page.height;\r
        page.id = 0;\r
 \r
     return page;\r
@@ -238,7 +238,7 @@ modexNextPageFlexibleSize(page_t *p, word x, word y)
        result.tilesh=result.height/TILEWH;\r
        result.id = p->id+1;\r
        result.stridew=result.width/4;\r
-       result.pagesize = (sdiword)(result.width/4)*result.height;\r
+       result.pagesize = (word)(result.width/4)*result.height;\r
 \r
        return result;\r
 }\r
@@ -246,23 +246,24 @@ modexNextPageFlexibleSize(page_t *p, word x, word y)
 void modexCalcVmemRemain(video_t *video)\r
 {\r
        byte i;\r
-       //printf("\n\n  1st vmem_remain=%ld\n", video->vmem_remain);\r
-       for(i=0; i<=video->num_of_pages-1; i++)\r
+       //printf("\n\n  1st vmem_remain=%u\n", video->vmem_remain);\r
+       for(i=0; i<video->num_of_pages; i++)\r
        {\r
                video->vmem_remain-=video->page[i].pagesize;\r
-               //printf("              [%u], video->page[i].pagesize=%ld\n", i, video->page[i].pagesize);\r
-               //printf("              [%u], vmem_remain=%ld\n", i, video->vmem_remain);\r
+               //printf("              [%u], video->page[%u].pagesize=%u\n", i, i, video->page[i].pagesize);\r
+               //printf("              [%u], vmem_remain=%u\n", i, video->vmem_remain);\r
        }\r
 }\r
 \r
 void modexHiganbanaPageSetup(video_t *video)\r
 {\r
-       video->vmem_remain=262144L;\r
+       video->vmem_remain=65535U;\r
        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
        (video->page[2]) = modexNextPage(&(video->page[1]));    video->num_of_pages++;\r
-       //(video->page[2]) = modexNextPageFlexibleSize(&(video->page[1]), video->page[0].width, video->page[0].sh-40);  video->num_of_pages++;\r
+       (video->page[3]) = modexNextPage(&(video->page[2]));    video->num_of_pages++;\r
+//     (video->page[3]) = modexNextPageFlexibleSize(&(video->page[2]), video->page[0].width/8, video->page[0].height/8);       video->num_of_pages++;\r
        //(video->page[3]) = modexNextPageFlexibleSize(&(video->page[2]), TILEWH, TILEWH);      video->num_of_pages++;\r
        modexCalcVmemRemain(video);\r
        video->p=0;\r
@@ -1150,3 +1151,19 @@ void bios_cls() {
                printf("WARNING: bios cls no ptr\n");\r
        }\r
 }\r
+\r
+void modexprintmeminfo(video_t *v)\r
+{\r
+       byte i;\r
+       printf("video memory remaining: %u\n", v->vmem_remain);\r
+       printf("page ");\r
+       for(i=0; i<v->num_of_pages;i++)\r
+       {\r
+               printf("        [%u]=", i);\r
+               printf("(%Fp)", (v->page[i].data));\r
+               printf(" size=%u", v->page[i].pagesize);\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("\n");\r
+       }\r
+}\r