+#ifdef __DEBUG_CA__\r
+ if(dbg_debugca>0){\r
+ printf("===============================================================================\n");\r
+ printf(" CA_ReadFile\n");\r
+ printf("===============================================================================\n");\r
+ //%04x\r
+ printf(" ptr=%Fp\n", ptr);\r
+ printf(" *ptr=%Fp\n", *ptr);\r
+ printf(" &ptr=%Fp\n", &ptr);\r
+ }\r
+#endif\r
+ if(!CA_FarRead(handle,*ptr,size, gvar))\r
+ {\r
+ close(handle);\r
+ return false;\r
+ }\r
+ close(handle);\r
+ return true;\r
+}\r
+\r
+\r
+/*\r
+==========================\r
+=\r
+= CA_WriteFile\r
+=\r
+= Writes a file from a memory buffer\r
+=\r
+==========================\r
+*/\r
+\r
+boolean CA_WriteFile (char *filename, void far *ptr, long length, global_game_variables_t *gvar)\r
+{\r
+ int handle;\r
+ //sdword size;\r
+ //long size;\r
+\r
+ handle = open(filename,O_CREAT | O_BINARY | O_WRONLY,\r
+ S_IREAD | S_IWRITE | S_IFREG);\r
+\r
+ if (handle == -1)\r
+ return false;\r
+\r
+ if (!CA_FarWrite (handle,ptr,length, gvar))\r