//*************************************************************************//
// Filename:    global.h
// Autor:       Christian Taulien of Strange Intelligence
// Purpose:     base include file.
// Creation:    18. März 1998
//*************************************************************************//
#ifndef TAULIEN_GLOBAL_H
#define TAULIEN_GLOBAL_H

#ifndef VERSION_S
#define VERSION_S "39.7"
#endif

#ifndef VERSION
#define VERSION  39
#endif

#ifndef REVISION
#define REVISION 7
#endif

#ifdef __MAXON__
#define __HIMPEL__
#define SAVEDS
#endif

#ifdef __STORM__
#undef __HIMPEL__
#define __HIMPEL__
#define SAVEDS __saveds
#endif

#ifdef __SASC
#define __GNUORSAS__
#endif

#ifdef __GNUC__
#define __GNUORSAS__
#endif


#ifdef __HIMPEL__
#define ASM
#define LibCall
#endif

#ifdef __GNUORSAS__
#define ASM    __asm
#define SAVEDS __saveds
#define LibCall
#endif

#define REG(x) register __##x

#ifdef si_debug
extern "C" KPutStr(char*);
extern "C" KPrintF(char*, void*);
void* params[10];
#define TRACE(txt)\
   KPutStr(__FUNC__ "  [");\
   KPutStr(txt);\
   KPutStr("]\n");
#else
#define TRACE(txt)
#endif

#define SIFC_MAX(a,b) ((a)>(b) ? (a) : (b))
#define SIFC_MIN(a,b) ((a)<(b) ? (a) : (b))
#define SIFC_BETWEEN(v,a,b) ((v)>=SIFC_MIN((a),(b)) && (v)<=SIFC_MAX((a),(b)))

#endif // TAULIEN_GLOBAL_H

