#include <stdlib.h>\r
#include "src\lib\dos_kb.h"\r
#include "src\lib\wtest\wtest.c"\r
-#include "src\lib\xms.c"\r
+#include "src\lib\ems.c"\r
\r
//word far *clock= (word far*) 0x046C; /* 18.2hz clock */\r
\r
void main() {\r
bitmap_t ptmp;//, npctmp; // player sprite\r
const char *cpus;\r
- static int persist_aniframe = 0; /* gonna be increased to 1 before being used, so 0 is ok for default */\r
+ static int persist_aniframe = 0; /* gonna be increased to 1 before being used, so 0 is ok for default */
+ int emmhandle;\r
page_t screen, screen2, screen3;\r
map_t map;\r
map_view_t mv, mv2, mv3;\r
byte *pal;\r
byte *ptr;\r
actor_t player;\r
- //actor_t npc0;\r
+ //actor_t npc0;
+
+ if(isEMS()) printf("%d\n", coretotalEMS());
+ if(isEMS())
+ {
+ emmhandle = alloc_emem(1024);
+ move_emem((XMOVE *)&map);
+// printf("%d\n", emmhandle);
+ printf("%d\n", coretotalEMS());
+ }\r
\r
/* create the map */\r
map = allocMap(MAPX,MAPY); //20x15 is the resolution of the screen you can make maps smaller than 20x15 but the null space needs to be drawn properly\r
initMap(&map);\r
mv.map = ↦\r
mv2.map = ↦\r
- mv3.map = ↦\r
-\r
+ mv3.map = ↦
+
/* draw the tiles */\r
ptr = map.data;\r
/* data */\r
printf("player.d: %d\n", player.d);\r
printf("temporary player sprite 0: http://www.pixiv.net/member_illust.php?mode=medium&illust_id=45556867\n");\r
printf("temporary player sprite 1: http://www.pixiv.net/member_illust.php?mode=medium&illust_id=44606385\n");\r
- printf("\n");\r
- xmsfree(&map);\r
+ printf("\n");
+ //xmsfree(&map);
+ //xmsfree(bg);
+ //xmsfree(spri);
+ //xmsfree(mask);
+ //xmsreport();
+ if(isEMS())
+ {
+ printf("%d\n", coretotalEMS());
+ dealloc_emem(emmhandle);
+ printf("%d\n", coretotalEMS());
+ }\r
switch(detectcpu())\r
{\r
case 0: cpus = "8086/8088 or 186/88"; break;\r
\r
result.width =w;\r
result.height=h;\r
- if(initxms()>0)\r
- result.data = malloc(sizeof(byte) * w * h);\r
- else (void huge*)result.data = xmsmalloc(sizeof(byte) * w * h);\r
+ //if(!isEMS() || !checkEMS())\r
+ result.data = malloc(sizeof(byte) * w * h);\r
+ //else
+ // result.data = (byte *)alloc_emem(sizeof(byte) * w * h);
\r
return result;\r
}\r
int x, y;\r
int i;\r
int tile = 1;\r
- if(initxms()>0)\r
- map->tiles = malloc(sizeof(tiles_t));\r
- else (void huge*)map->tiles = xmsmalloc(sizeof(tiles_t));\r
+ //if(!isEMS() || !checkEMS())\r
+ map->tiles = malloc(sizeof(tiles_t));\r
+ //else
+ // map->tiles = (tiles_t *)alloc_emem(sizeof(tiles_t));\r
\r
/* create the tile set */\r
- if(initxms()>0)\r
- map->tiles->data = malloc(sizeof(bitmap_t));\r
- else (void huge*)map->tiles->data = xmsmalloc(sizeof(bitmap_t));\r
+ //if(!isEMS() || !checkEMS())\r
+ map->tiles->data = malloc(sizeof(bitmap_t));\r
+ //else
+ // map->tiles->data = (bitmap_t *)alloc_emem(sizeof(bitmap_t));\r
map->tiles->data->width = (TILEWH*2);\r
map->tiles->data->height= TILEWH;\r
- if(initxms()>0)\r
- map->tiles->data->data = malloc((TILEWH*2)*TILEWH);\r
- else (void huge*)map->tiles->data->data = xmsmalloc((TILEWH*2)*TILEWH);\r
+ //if(!isEMS() || !checkEMS())\r
+ map->tiles->data->data = malloc((TILEWH*2)*TILEWH);\r
+ //else
+ // map->tiles->data->data = (byte *)alloc_emem((TILEWH*2)*TILEWH);\r
map->tiles->tileHeight = TILEWH;\r
map->tiles->tileWidth =TILEWH;\r
map->tiles->rows = 1;\r