word far* clock= (word far*) 0x046C; /* 18.2hz clock */\r
\r
void main() {\r
- int plane;\r
- int x, y, i;\r
+ int i, j;\r
word start, end;\r
page_t page, page2;\r
- word far* ptr;\r
- float elapsed;\r
+ byte *pal, *pal2=NULL;\r
+\r
+ /* load our palette */\r
+ modexLoadPalFile("gfx.pal", &pal2);\r
+\r
+ /* save the palette */\r
+ pal = modexNewPal();\r
+ modexPalSave(pal);\r
+ modexFadeOff(1, pal);\r
+ modexPalBlack();\r
\r
modexEnter();\r
+ modexPalBlack();\r
+\r
+ /* set up the page, but with 16 pixels on all borders in offscreen mem */\r
+ page=modexDefaultPage();\r
+ page2 = modexNextPage(&page);\r
+ page.width += 32;\r
+ page.height += 32;\r
+\r
\r
- page= VGA;\r
- page2=VGA+PAGE_SIZE;\r
+ /* fill the page with one color, but with a black border */\r
+ modexShowPage(&page2);\r
+ modexClearRegion(&page, 16, 16, SCREEN_WIDTH, SCREEN_HEIGHT, 128);\r
+ modexClearRegion(&page, 32, 32, SCREEN_WIDTH-32, SCREEN_HEIGHT-32, 42);\r
+ modexClearRegion(&page, 48, 48, SCREEN_WIDTH-64, SCREEN_HEIGHT-64, 128);\r
+ modexShowPage(&page);\r
+\r
+ /* fade in */\r
+ modexFadeOn(1, pal2);\r
\r
- /* fill the page with one color */\r
- modexShowPage(page2);\r
- modexClearRegion(page, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 42);\r
- modexClearRegion(page, 17, 12, 30, 30, 19);\r
- modexShowPage(page);\r
\r
start = *clock;\r
- for(i=0; i<500; i++) {\r
- modexShowPage(page);\r
- page+=SCREEN_WIDTH/4;\r
+ for(i=0; i<5; i++) {\r
+ /* go right */\r
+ for(j=0; j<32; j++) {\r
+ page.dx++;\r
+ modexShowPage(&page);\r
+ }\r
+ /* go left */\r
+ for(j=0; j<32; j++) {\r
+ page.dx--;\r
+ modexShowPage(&page);\r
+ }\r
+ /* go up */\r
+ for(j=0; j<32; j++) {\r
+ page.dy++;\r
+ modexShowPage(&page);\r
+ }\r
+\r
+ /* go down */\r
+ for(j=0; j<32; j++) {\r
+ page.dy--;\r
+ modexShowPage(&page);\r
+ }\r
}\r
+\r
end = *clock;\r
\r
+ /* fade back to text mode */\r
+ modexFadeOff(1, pal2);\r
+ modexPalBlack();\r
modexLeave();\r
- elapsed = (end-start)/18.2;\r
- printf("500 frames in %f seconds for %f fps\n", elapsed, 500.0/elapsed);\r
+ modexPalBlack();\r
+ modexFadeOn(1, pal);\r
}\r