X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_t.h;h=268867f009db281e1dc771840ce13975c175af98;hb=a565be31ce92d6168ae6983042da75b0b683e52b;hp=d04b382d5df6b6e2306a5027201b6507361e034f;hpb=504952db812eb43b41636db1da125be946cfd35f;p=16.git diff --git a/src/lib/16_t.h b/src/lib/16_t.h index d04b382d..268867f0 100755 --- a/src/lib/16_t.h +++ b/src/lib/16_t.h @@ -1,5 +1,5 @@ /* Project 16 Source Code~ - * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover + * Copyright (C) 2012-2019 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover * * This file is part of Project 16. * @@ -49,33 +49,82 @@ typedef enum {ichi,ni,san,yon,go,roku,shichi,hachi,kyu,ju,juichi,juni,jusan,juyo /*typedef unsigned memseg; 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__ + #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 -#endif + #endif + +typedef void _seg * memptr; + +#define MEMPTRCONV (memptr *)& + +//bcc #ifdef __BORLANDC__ -#define _memavl() coreleft() -#define __SEGA _seg +#define MEMPTRANDPERCONV & +//#define BYTEFARPTRCONV (unsigned char far *) +//#define SMDPTRANDPERCONV & +//#define SDFPTRANDPERCONV & +//#define OBTPTRANDPERCONV & +//#define SDTPTRANDPERCONV & + +#define _nmalloc malloc +#define _nfree free + +#define _nheapwalk heapwalk +#define _fheapwalk farheapwalk + +//heapinfo vars +#define _heapinfo heapinfo +#define _pentry ptr +#define _size size +#define _useflag in_use #endif +// -typedef void _seg * memptr; +//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 EINVFMT EMFILE +#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 + +#define farmalloc _fmalloc +#define farfree _ffree +#define nearmalloc _nmalloc +#define nearfree _nfree //from http://www.verycomputer.com/3_65d875cc818b54ec_1.htm void clrscr(void); -#pragma aux clrscr= \ - " mov ah, 0fh " \ - " int 10h " \ - " xor ah, ah " \ - " int 10h " ; +#pragma aux clrscr=\ + " mov ah, 0fh "\ + " int 10h "\ + " xor ah, ah "\ + " int 10h "; + //from http://stackoverflow.com/questions/18425748/gotoxy-function-using-printf-s-position inline void gotoxy(int x,int y) { @@ -84,4 +133,6 @@ inline void gotoxy(int x,int y) } #endif +#define PFDT printf("."); + #endif/*_TYPE_H_*/