1 /* --------------- system.h -------------- */
11 #define swap(a,b){int x=a;a=b;b=x;}
12 /* ------- platform-dependent values ------ */
13 #define DF_KEYBOARDPORT 0x60
14 #define DF_FREQUENCY 100
15 #define DF_COUNT (1193280L / DF_FREQUENCY)
16 #define DF_ZEROFLAG 0x40
17 #define DF_MAXSAVES 50
19 //#define DF_SCREENWIDTH (80)
20 //#define DF_SCREENHEIGHT (25)
29 /* ---------- keyboard prototypes -------- */
30 int DfAltConvert(int);
31 void DfGetKey(PINPUT_RECORD
);
36 /* ---------- DfCursor prototypes -------- */
37 void DfCurrCursor(int *x
, int *y
);
38 void DfCursor(int x
, int y
);
39 void DfHideCursor(void);
40 void DfUnhideCursor(void);
41 void DfSaveCursor(void);
42 void DfRestoreCursor(void);
43 void DfNormalCursor(void);
44 void DfSetCursorSize(unsigned t
);
45 void DfVideoMode(void);
46 void DfSwapCursorStack(void);
48 /* ------------ timer macros -------------- */
49 #define DfTimedOut(timer) (timer==0)
50 #define DfSetTimer(timer, secs) timer=(secs)*182/10+1
51 #define DfDisableTimer(timer) timer = -1
52 #define DfTimerRunning(timer) (timer > 0)
53 #define DfCountdown(timer) --timer
54 #define DfTimerDisabled(timer) (timer == -1)
59 /* ============= Color Macros ============ */
73 #define LIGHTMAGENTA 13
76 #define DfKeyHit kbhit
80 typedef enum DfMessages
{
85 #define DFlatMsg(m) m,
90 typedef enum DfWindowClass
{
94 #define DfClassDef(c,b,p,a) c,