10
|
1 /*
|
|
2 FILE : TIMER.H
|
|
3
|
|
4 DOS-based Timer Interrupt functions
|
|
5 Includes defines for TIMER.C and VTIMER.C
|
|
6 */
|
|
7
|
|
8 #ifndef VTIMER_H
|
|
9 #define VTIMER_H
|
|
10
|
|
11 #include "tdefs.h"
|
|
12
|
|
13 #define VT_VRSYNC 1
|
|
14 #define VT_CALLOLD 2
|
|
15
|
|
16 #ifdef __cplusplus
|
|
17 extern "C" {
|
|
18 #endif
|
|
19
|
|
20 // Defined in TIMER.C
|
|
21
|
|
22 void Timer_Exit(void);
|
|
23 void Timer_Init(int rate, void (*handler)(void));
|
|
24 void Timer_SetSpeed(UWORD rate);
|
|
25 void Timer_Start(void);
|
|
26 void Timer_Stop(void);
|
|
27
|
|
28
|
|
29 // Defined in VTIMER.C
|
|
30 void VT_Exit(void);
|
|
31 void VT_Init(void);
|
|
32 SWORD VT_Alloc(void);
|
|
33 void VT_Free(SWORD handle);
|
|
34 void VT_SetHandler(SWORD handle,void (*handler)(void));
|
|
35 void VT_SetSpeed(SWORD handle,SLONG speed);
|
|
36 void VT_SetBPM(SWORD handle,UBYTE bpm);
|
|
37 void VT_Start(SWORD handle);
|
|
38 void VT_Stop(SWORD handle);
|
|
39 void VT_Mode(UBYTE flags);
|
|
40 void VT_V0Handler(void (*handler)(void));
|
|
41 void VT_V1Handler(void (*handler)(void));
|
|
42
|
|
43 #ifdef __cplusplus
|
|
44 }
|
|
45 #endif
|
|
46
|
|
47
|
|
48 extern volatile int framecount;
|
|
49 void framecounter(void);
|
|
50
|
|
51 // COUNTER.C defnitions
|
|
52 // (ObjectGraphics Library)
|
|
53
|
|
54 #define CNT_ACTIVE 16
|
|
55 #define CNT_VALUE 0
|
|
56 #define CNT_POINTER 1
|
|
57 #define CNT_FUNCTION 2
|
|
58 #define CNT_TYPE 15
|
|
59
|
|
60 typedef struct COUNTER
|
|
61 { struct COUNTER *next, *prev;
|
|
62 UBYTE flags;
|
|
63 ULONG counter;
|
|
64 ULONG resetcount;
|
|
65 int increment;
|
|
66 int value;
|
|
67 int stopvalue;
|
|
68 } COUNTER;
|
|
69
|
|
70
|
|
71 // Defined in COUNTER.C
|
|
72 // (ObjectGraphics Library)
|
|
73
|
|
74 COUNTER *RegisterCounter(ULONG initcount, ULONG resetcount, int value, int increment, int stopvalue, UBYTE flags);
|
|
75 void RemoveCounter(COUNTER *counter);
|
|
76 void StartCounter(COUNTER *counter);
|
|
77 void StopCounter(COUNTER *counter);
|
|
78
|
|
79 #ifdef DJGPP
|
|
80 #include <dpmi.h>
|
|
81 typedef void (*PVI)();
|
|
82 #define interrupt
|
|
83 #define far
|
|
84 void _dos_setvect(unsigned vector, PVI handler);
|
|
85 PVI _dos_getvect(unsigned vector);
|
|
86 #endif
|
|
87
|
|
88 #endif
|