X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_t.h;h=764bf51e7d5387e979d18d8dc36eaa5a50ad0eb2;hb=adb425e17c32e33e71670dd69c909717f1d65acb;hp=4c5abf5f142bea6c431c9a8e470c77956898eb62;hpb=fa252ebd82649e4f3bab4a53228828766713ad6c;p=16.git diff --git a/src/lib/16_t.h b/src/lib/16_t.h index 4c5abf5f..764bf51e 100755 --- a/src/lib/16_t.h +++ b/src/lib/16_t.h @@ -53,20 +53,57 @@ memptr should be replaced by memseg in code. on usage where you need pointer convert memseg type (segment) to far pointer by MK_FP(segment value, 0)*/ #ifdef __WATCOMC__ +//typedef void __based( void ) * memptr; ////old //----typedef void __based(__self) * memptr; //typedef unsigned short _seg; // it will contains segment value (as Borland _seg) #define _seg __based( void ) -#define __SEGA __segment +// #define __SEGA __segment #endif #ifdef __BORLANDC__ -//typedef void _seg * memptr; -#define __SEGA _seg +#define _memavl() coreleft() +// #define __SEGA _seg #endif -typedef void _seg * memptr;//typedef void __based( void ) * memptr; ////old //----typedef void __based(__self) * memptr; +typedef void _seg * memptr; + +#define MEMPTRCONV (memptr *)& + +//bcc +#ifdef __BORLANDC__ +#define MEMPTRANDPERCONV & +//#define BYTEFARPTRCONV (unsigned char far *) +//#define SMDPTRANDPERCONV & +//#define SDFPTRANDPERCONV & +//#define OBTPTRANDPERCONV & +//#define SDTPTRANDPERCONV & +#endif +// + +//wcc +#ifdef __WATCOMC__ //functions found in borland c but not watcom c +#define MEMPTRANDPERCONV +//#define BYTEFARPTRCONV +//#define SMDPTRANDPERCONV (void *)& +//#define SDFPTRANDPERCONV (struct diskfree_t *)& +//#define OBTPTRANDPERCONV (void const *)& +//#define SDTPTRANDPERCONV (struct dostime_t *)& -#ifdef __WATCOMC__ #define _argv __argv #define _argc __argc +#define geninterrupt(n) int86(n,&CPURegs,&CPURegs); + +#define peekb(segm,ofs) (*(byte far*)MK_FP((segm),(ofs))) +#define peek(segm,ofs) (*(word far*)MK_FP((segm),(ofs))) +#define pokeb(segm,ofs,value) (peekb((segm),(ofs)) = (byte)(value)) +#define poke(segm,ofs,value) (peek((segm),(ofs)) = (word)(value)) + +#define inportb(port) inp(port) +#define inport(port) inpw(port) +#define outportb(port, val) outp(port, val) +#define outport(port, val) outpw(port, val) + +#define asm __asm +#define getvect _dos_getvect +#define setvect _dos_setvect //from http://www.verycomputer.com/3_65d875cc818b54ec_1.htm void clrscr(void);