+#define EINVFMT EMFILE\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
+#define farmalloc _fmalloc\r
+#define farfree _ffree\r
+#define nearmalloc _nmalloc\r
+#define nearfree _nfree\r
+\r
+//from http://www.verycomputer.com/3_65d875cc818b54ec_1.htm\r
+void clrscr(void);\r
+#pragma aux clrscr=\\r
+ " mov ah, 0fh "\\r
+ " int 10h "\\r
+ " xor ah, ah "\\r
+ " int 10h ";\r
+\r
+//from http://stackoverflow.com/questions/18425748/gotoxy-function-using-printf-s-position\r
+inline void gotoxy(int x,int y)\r
+{\r
+ printf("\x1B[%d;%df", y, x);\r
+ fflush(stdout); // @jxh\r
+}\r