- if (length>0xffffl)\r
- printf("CA_FarRead doesn't support 64K reads yet!\n");\r
-\r
-asm push ds\r
-asm mov bx,[handle]\r
-asm mov cx,[WORD PTR length]\r
-asm mov dx,[WORD PTR dest]\r
-asm mov ds,[WORD PTR dest+2]\r
-asm mov ah,0x3f // READ w/handle\r
-asm int 21h\r
-asm pop ds\r
-asm jnc good\r
- errno = _AX;\r
- return false;\r
+ boolean flag;\r
+ //dword fat=0;\r
+ //word segm=0;\r
+ //if(mm->EMSVer<0x40)\r
+ if(length>0xfffflu)\r
+ {\r
+ printf("File is a fat bakapee\n");\r
+ //segm=(length%0xfffflu)-1;\r
+ //fat=segm*0xfffflu;\r
+ //length-=fat;\r
+// printf("CA_FarRead doesn't support 64K reads yet!\n");\r
+ return 0;//todo: EXPAND!!!\r
+ }\r
+\r
+ //if(!fat&&!segm)\r
+ //{\r
+ __asm {\r
+ push ds\r
+ mov bx,[handle]\r
+ mov cx,[WORD PTR length]\r
+ mov dx,[WORD PTR dest]\r
+ mov ds,[WORD PTR dest+2]\r
+ mov ah,0x3f // READ w/handle\r
+ int 21h\r
+ pop ds\r
+ jnc good\r
+ mov errno,ax\r
+ mov flag,0\r
+ jmp End\r
+#ifdef __BORLANDC__\r
+ }\r
+#endif\r