#include "modex16.h"\r
#include <stdio.h>\r
#include <stdlib.h>\r
+#include "dos_kb.h"\r
\r
-word far *clock= (word far*) 0x046C; /* 18.2hz clock */\r
+//word far *clock= (word far*) 0x046C; /* 18.2hz clock */\r
\r
typedef struct {\r
bitmap_t *data;\r
int show1=1;\r
int tx, ty;\r
int x, y;\r
+ //int ch=0x0;\r
+ byte ch;\r
+ int q=0;\r
page_t screen,screen2;\r
map_t map;\r
map_view_t mv, mv2;\r
byte *ptr;\r
\r
/* create the map */\r
- map = allocMap(80,60);\r
+ map = allocMap(40,30);\r
initMap(&map);\r
mv.map = ↦\r
mv2.map = ↦\r
/* set up paging */\r
show = &mv;\r
draw = &mv2;\r
- /* scroll all the way to the right */\r
- for(x=0; x<(map.width*16-SCREEN_WIDTH); x++) {\r
- mapScrollRight(draw, 1);\r
- modexShowPage(draw->page);\r
- mapScrollRight(show, 1);\r
- //SWAP(draw, show);\r
- }\r
\r
- /* scroll all the way to the left */\r
- for(; x>0; x--) {\r
- mapScrollLeft(&mv, 1);\r
- modexShowPage(mv.page);\r
- }\r
+ while(!keyp(1)) {\r
+ if(keyp(77)){\r
+ for(q=0; q<16; q++) {\r
+ mapScrollRight(draw, 1);\r
+ modexShowPage(draw->page);\r
+ SWAP(draw, show);\r
+ }\r
+ }\r
\r
- /* scroll all the way down */\r
- for(y=0; y<(map.height*16-SCREEN_HEIGHT); y++) {\r
- mapScrollDown(&mv, 1);\r
- modexShowPage(mv.page);\r
- }\r
+ if(keyp(75)){\r
+ for(q=0; q<16; q++) {\r
+ mapScrollLeft(draw, 1);\r
+ modexShowPage(draw->page);\r
+ SWAP(draw, show);\r
+ }\r
+ }\r
\r
- /* scroll all the way up */\r
- for(; y>0; y--) {\r
- mapScrollUp(&mv, 1);\r
- modexShowPage(mv.page);\r
- }\r
+ if(keyp(80)){\r
+ for(q=0; q<16; q++) {\r
+ mapScrollDown(draw, 1);\r
+ modexShowPage(draw->page);\r
+ SWAP(draw, show);\r
+ }\r
+ }\r
+\r
+\r
+ if(keyp(72)){\r
+ for(q=0; q<16; q++) {\r
+ mapScrollUp(draw, 1);\r
+ modexShowPage(draw->page);\r
+ SWAP(draw, show);\r
+\r
+ }\r
+ }\r
+\r
+ keyp(ch);\r
\r
- /* spin for a time */\r
- for(x=0; x<500; x++) {\r
- modexWaitBorder();\r
}\r
\r
modexLeave();\r
+ setkb(0);\r
}\r
\r
\r
map_t\r
allocMap(int w, int h) {\r
map_t result;\r
- \r
+\r
result.width =w;\r
result.height=h;\r
result.data = malloc(sizeof(byte) * w * h);\r