amd64 fixes
[btb/d2x.git] / arch / dos / mono.h
1 /*
2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
11 COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
12 */
13 /*
14  * $Source: /cvs/cvsroot/d2x/arch/dos/mono.h,v $
15  * $Revision: 1.2 $
16  * $Author: schaffner $
17  * $Date: 2004-08-28 23:17:45 $
18  *
19  * Header for monochrome/mprintf functions
20  *
21  * $Log: not supported by cvs2svn $
22  * Revision 1.1.1.1  2001/01/19 03:30:15  bradleyb
23  * Import of d2x-0.0.8
24  *
25  * Revision 1.1.1.1  1999/06/14 21:58:40  donut
26  * Import of d1x 1.37 source.
27  *
28  */
29
30 #ifndef _MONO_H
31 #define _MONO_H
32
33 #if !(defined(NDEBUG) || defined(NMONO))                //normal, functioning versions
34
35 //==========================================================================
36 // Open and close the mono screen.  close(0) clears it.
37 extern int minit();     //returns true if mono card, else false
38
39 // Use n = 0 to clear the entire screen, any other number just closes the
40 // specific window.
41 extern void mclose(int n);
42
43 //==========================================================================
44 // Opens a scrollable window on the monochrome screen.
45 extern void mopen( int n, int row, int col, int width, int height, char * title );
46
47 //==========================================================================
48 // Displays a integer variable and what it is equal to on window n.
49 // ie.. if john=5,  then mDumpInt(1,john); would print "john=5" to window 1.
50 #define mDumpD(window, int_var) mprintf( window, #int_var"=%d\n", int_var)
51 // Does the same thing only prints out in 8 hexidecimal places
52 #define mDumpX(window, int_var) mprintf( window, #int_var"=%08X\n", int_var)
53
54 //==========================================================================
55 // Clears a window
56 extern void mclear( int n );
57
58 //==========================================================================
59 // Prints a formatted string on window n
60 extern void _mprintf( int n, char * format, ... );
61
62 #define mprintf(args) _mprintf args
63
64 //==========================================================================
65 // Prints a formatted string on window n at row, col.
66 extern void _mprintf_at( int n, int row, int col, char * format, ... );
67
68 #define mprintf_at(args) _mprintf_at args
69
70 //==========================================================================
71 // Puts a char in window n at current cursor position
72 extern void mputc( int n, char c );
73
74 //==========================================================================
75 // Puts a char in window n at specified location
76 extern void mputc_at( int n, int row, int col, char c );
77
78 //==========================================================================
79 // Moves the cursor... doesn't work.
80 extern void msetcursor( int row, int col );
81
82 //==========================================================================
83 // Refreshes a window
84 void mrefresh(short n);
85
86 #else                   //null versions for when debugging turned off
87
88 #define minit()
89 #define mclose(n)
90 #define mopen( n, row, col, width, height, title )
91 #define mDumpD(window, int_var) 
92 #define mDumpX(window, int_var) 
93 #define mclear( n )
94 #define mprintf(args) 
95 #define mprintf_at(args)
96 #define mputc( n, c )
97 #define mputc_at( n, row, col, c )
98 #define msetcursor( row, col )
99 #define mrefresh(n)
100
101 #endif
102 #endif
103
104