on usage where you need pointer convert memseg type (segment) to far pointer by\r
MK_FP(segment value, 0)*/\r
#ifdef __WATCOMC__\r
+//typedef void __based( void ) * memptr; ////old //----typedef void __based(__self) * memptr;\r
//typedef unsigned short _seg; // it will contains segment value (as Borland _seg)\r
#define _seg __based( void )\r
-#define __SEGA __segment\r
+// #define __SEGA __segment\r
#endif\r
#ifdef __BORLANDC__\r
-//typedef void _seg * memptr;\r
-#define __SEGA _seg\r
+#define _memavl() coreleft()\r
+// #define __SEGA _seg\r
#endif\r
\r
-typedef void _seg * memptr;//typedef void __based( void ) * memptr; ////old //----typedef void __based(__self) * memptr;\r
+typedef void _seg * memptr;\r
\r
-#ifdef __WATCOMC__\r
+#define MEMPTR (memptr *)&//old is &(memptr)\r
+\r
+#ifdef __WATCOMC__ //functions found in borland c but not watcom c\r
#define _argv __argv\r
#define _argc __argc\r
+#define geninterrupt(n) int86(n,&CPURegs,&CPURegs);\r
+\r
+#define peekb(segm,ofs) (*(byte far*)MK_FP((segm),(ofs)))\r
+#define peek(segm,ofs) (*(word far*)MK_FP((segm),(ofs)))\r
+#define pokeb(segm,ofs,value) (peekb((segm),(ofs)) = (byte)(value))\r
+#define poke(segm,ofs,value) (peek((segm),(ofs)) = (word)(value))\r
+\r
+#define inportb(port) inp(port)\r
+#define inport(port) inpw(port)\r
+#define outportb(port, val) outp(port, val)\r
+#define outport(port, val) outpw(port, val)\r
+\r
+//#define asm __asm\r
+#define getvect _dos_getvect\r
+#define setvect _dos_setvect\r
\r
//from http://www.verycomputer.com/3_65d875cc818b54ec_1.htm\r
void clrscr(void);\r