Jspice3
mfbp.h
Go to the documentation of this file.
1 /*************************************************************************
2  MFB graphics and miscellaneous library
3  Copyright (c) Stephen R. Whiteley 1992
4  Author: Stephen R. Whiteley
5  *************************************************************************/
6 
7 /* Private include file for graphics and miscellaneous routines */
8 
9 #include <math.h>
10 
11 /* define for Paradise card, otherwise support Tseng Labs */
12 /* #define PARADISE */
13 
14 /* where the mfb.rc file is located */
15 extern char *MFBRCD;
16 
17 typedef char * vidmptr;
18 
19 #if __GNUC__
20 #define inp inportb
21 #define outp outportb
22 #define outpw outportw
23 #endif
24 
25 /* This takes the char read from the adapter. Some compilers
26  * optimize out a local variable.
27  */
28 extern char mfb_trash;
29 
30 extern unsigned short mfb_8X14font[];
31 extern char dp_pointermap[];
32 extern unsigned short mfb_chartab[];
33 
34 /* structure used to store stuff */
35 /* Don't change this unless you want to fix the assembly code too. */
36 struct mfbpc {
37 
38  vidmptr base; /* video memory base address */
39  int bytpline; /* bytes per line */
40  int video_mode; /* video VGA mode */
41  int mfbMODE; /* display mode control */
42  int scan_height; /* scan lines per char in text */
43 
44  int curx; /* current x coordinate */
45  int cury; /* current y coordinate */
46  int curcolor; /* current color */
47  int curstyle; /* current line style */
48  int curfillpatt; /* current fillpattern */
49 
50  int cursor_color; /* current cursor color */
51  int cursx; /* cursor x coordinate */
52  int cursy; /* cursor y coordinate */
53  int xsize; /* screen width in pixels */
54  int ysize; /* screen height in pixels */
55 
56  int alumode; /* current ALU mode */
57  int curcolormap; /* current colormap (1 of 16) */
58  int curstep; /* cursor movement, arrow key */
59  int curleap; /* cursor movement, alt arrow */
60  int pointertype; /* graphic pointing device type */
61 
62  int pointerdelay; /* pointer debounce time msec */
63  unsigned short *chartab; /* pointer to current font */
64  int charheight; /* character height and width */
65  int charwidth;
66  int functkey_yband; /* Y value retrn from MFBPoint */
67  /* when function keys pressed */
68  unsigned char
69  linestyles[NSTYLES]; /* linestyle storage */
70  int stipples[10][8]; /* stipple pattern storage */
71  unsigned char colormap[256][3]; /* vga colormap */
72  /* ghost mode - XOR some drawing, attach to cursor */
73  int refx, refy; /* anchor for ghost mode */
74 #ifdef __STDC__
75  void (*drawghost)(int,int,int,int);/* function to draw ghost image */
76  /* args are (new x, new y, ref x, ref y) */
77 #else
78  void (*drawghost)();
79 #endif
80 };
81 extern struct mfbpc pc;
82 
83 struct vga_cursor {
84  unsigned char map[64];
85  unsigned char pbs[256];
86 };
87 extern struct vga_cursor vgacur; /* marker shape & bkgrnd storage*/
88 
89 /* values for pc.pointertype */
90 #define KBRD 1 /* keyboard arrow keys */
91 #define MSMOUSE 2 /* Microsoft mouse */
92 #define MMTAB 4 /* Seiko DT-3503 tablet in Summagraphics MM mode */
93 
94 
95 #ifdef __STDC__
96 
97 /* Microsoft mouse interface routines */
98 extern void ms_start(void); /* start mouse interface */
99 extern void ms_end(void); /* quit mouse */
100 extern int ms_hreset(void); /* hard reset */
101 extern void ms_pointer_on(void); /* display pointer */
102 extern void ms_pointer_off(void); /* hide pointer */
103 extern void ms_status(int*,int*,int*); /* return coordinates, buttons */
104 extern void ms_point(int*,int*,int*,int*); /* point loop */
105 
106 /* digitizing pad driver routines */
107 extern void dp_start(int,int); /* enable interface */
108 extern void dp_end(void); /* disable interface */
109 extern void dp_pointer_on(void); /* turn cursor on */
110 extern void dp_pointer_off(void); /* turn cursor off */
111 extern void dp_status(int*,int*,int*); /* return coords, buttons */
112 extern void dp_point(int*,int*,int*,int*); /* point loop */
113 
114 /* Hard copy support */
115 extern Bool makehpplot(void); /* screen dump driver */
116 extern Bool rasterize(FILE*); /* rasterize for laserjet */
117 extern void PrinterErrmsg(char*,char*); /* graphics print message */
118 extern Bool PrinterPortStatus(int); /* check port status */
119 extern void SetPrinterDevice(char*); /* store printer port */
120 
121 /* VGA supporting routines */
122 extern void vga_get_color(int,int*,int*,int*); /* get DAC register */
123 extern void vga_set_color(int,int,int,int); /* set DAC register */
124 extern void vga_get_cblock(char (*)[3],int,int);/* get DAC register block */
125 extern void vga_set_cblock(char (*)[3],int,int);/* set DAC register block */
126 extern void vga_get_cpblock(char*); /* get palette register block */
127 extern void vga_set_cpblock(char*); /* set palette register block */
128 
129 /* routines in mfbmark.c used by dpinterf.c */
130 extern void mode_1_mark(int,int);
131 extern void mode_2_mark(int,int);
132 extern void mode_1_clear(int,int);
133 extern void mode_2_clear(int,int);
134 
135 #else
136 
137 /* Microsoft mouse interface routines */
138 extern void ms_start(); /* start mouse interface */
139 extern void ms_end(); /* quit mouse */
140 extern int ms_hreset(); /* hard reset */
141 extern void ms_pointer_on(); /* display pointer */
142 extern void ms_pointer_off(); /* hide pointer */
143 extern void ms_status(); /* return coordinates, buttons */
144 extern void ms_point(); /* point loop */
145 
146 /* digitizing pad driver routines */
147 extern void dp_start(); /* enable interface */
148 extern void dp_end(); /* disable interface */
149 extern void dp_pointer_on(); /* turn cursor on */
150 extern void dp_pointer_off(); /* turn cursor off */
151 extern void dp_status(); /* return coords, buttons */
152 extern void dp_point(); /* point loop */
153 
154 /* Hard copy support */
155 extern Bool makehpplot(); /* screen dump driver */
156 extern Bool rasterize(); /* rasterize for laserjet */
157 extern void PrinterErrmsg(); /* graphics print message */
158 extern Bool PrinterPortStatus(); /* check port status */
159 extern void SetPrinterDevice(); /* store printer port */
160 
161 /* VGA supporting routines */
162 extern void vga_get_color(); /* get DAC register */
163 extern void vga_set_color(); /* set DAC register */
164 extern void vga_get_cblock(); /* get DAC register block */
165 extern void vga_set_cblock(); /* set DAC register block */
166 extern void vga_get_cpblock(); /* get palette register block */
167 extern void vga_set_cpblock(); /* set palette register block */
168 
169 /* routines in mfbmark.c used by dpinterf.c */
170 extern void mode_1_mark();
171 extern void mode_2_mark();
172 extern void mode_1_clear();
173 extern void mode_2_clear();
174 
175 #endif
void SetPrinterDevice()
int ms_hreset()
Definition: msinterf.c:71
int pointertype
Definition: mfbp.h:60
Bool makehpplot()
Definition: mkhpplot.c:26
int charwidth
Definition: mfbp.h:65
unsigned short * chartab
Definition: mfbp.h:63
void dp_pointer_off()
Definition: dpinterf.c:87
void ms_point()
void dp_start()
void mode_2_mark()
int curcolormap
Definition: mfbp.h:57
int curleap
Definition: mfbp.h:59
int mfbMODE
Definition: mfbp.h:41
int video_mode
Definition: mfbp.h:40
char mfb_trash
Definition: mfbopen.c:15
void(* drawghost)()
Definition: mfbp.h:78
unsigned char linestyles[NSTYLES]
Definition: mfbp.h:69
Definition: mfbp.h:36
char * MFBRCD
void vga_set_cblock()
void mode_1_clear()
void dp_status()
int stipples[10][8]
Definition: mfbp.h:70
char * vidmptr
Definition: mfbp.h:17
int ysize
Definition: mfbp.h:54
void vga_get_cblock()
int pointerdelay
Definition: mfbp.h:62
int cury
Definition: mfbp.h:45
Bool
Definition: mfb.h:18
vidmptr base
Definition: mfbp.h:38
Bool rasterize()
int curstep
Definition: mfbp.h:58
int charheight
Definition: mfbp.h:64
int alumode
Definition: mfbp.h:56
void dp_end()
Definition: dpinterf.c:62
int cursx
Definition: mfbp.h:51
unsigned short mfb_8X14font[]
Definition: 8x14font.c:11
void dp_pointer_on()
Definition: dpinterf.c:74
void ms_pointer_off()
Definition: msinterf.c:98
int functkey_yband
Definition: mfbp.h:66
void ms_end()
Definition: msinterf.c:62
int curstyle
Definition: mfbp.h:47
int xsize
Definition: mfbp.h:53
unsigned short mfb_chartab[]
void ms_start()
Definition: msinterf.c:15
char dp_pointermap[]
void mode_1_mark()
void ms_pointer_on()
Definition: msinterf.c:85
int bytpline
Definition: mfbp.h:39
void vga_get_color()
int cursor_color
Definition: mfbp.h:50
void mode_2_clear()
void ms_status()
struct vga_cursor vgacur
Definition: pointrmp.c:10
int curcolor
Definition: mfbp.h:46
void vga_get_cpblock()
Bool PrinterPortStatus()
int refx
Definition: mfbp.h:73
struct mfbpc pc
Definition: mfbopen.c:14
int curx
Definition: mfbp.h:44
unsigned char colormap[256][3]
Definition: mfbp.h:71
int refy
Definition: mfbp.h:73
void vga_set_color()
int cursy
Definition: mfbp.h:52
void dp_point()
void PrinterErrmsg()
int curfillpatt
Definition: mfbp.h:48
void vga_set_cpblock()
int scan_height
Definition: mfbp.h:42