--- /dev/null
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "src\lib\ems.c"
+ /*\r
+ Test function for the EMM routines\r
+ */\r
+ \r
+ void main()\r
+ {\r
+ long emmhandle;\r
+ long avail;\r
+ char teststr[80];\r
+ int i;\r
+ \r
+ if(!emmtest())\r
+ {\r
+ printf("Expanded memory is not present\n");\r
+ exit(0);\r
+ }\r
+ \r
+ if(!emmok())\r
+ {\r
+ printf("Expanded memory manager is not present\n");\r
+ exit(0);\r
+ }\r
+ \r
+ avail = emmavail();\r
+ if (avail == -1)\r
+ {\r
+ printf("Expanded memory manager error\n");\r
+ exit(0);\r
+ }\r
+ printf("There are %ld pages available\n",avail);\r
+ \r
+ /* Request 10 pages of expanded memory */\r
+ if((emmhandle = emmalloc(avail)) < 0)\r
+ {\r
+ printf("Insufficient pages available\n");\r
+ exit(0);\r
+ }\r
+ \r
+ for (i = 0; i < avail; i++)\r
+ {\r
+ sprintf(teststr,"%02d This is a test string\n",i);\r
+ emmmap(emmhandle,i,0);\r
+ emmmove(0,teststr,strlen(teststr) + 1);\r
+ }\r
+ \r
+ for (i = 0; i < avail; i++)\r
+ {\r
+ emmmap(emmhandle,i,0);\r
+ emmget(0,teststr,strlen(teststr) + 1);\r
+ printf("READING BLOCK %d: %s\n",i,teststr);\r
+ }\r
+ \r
+ emmclose(emmhandle);\r
+ }