Jspice3
mfbflood.c
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 #include "mfb.h"
8 #include "mfbP.h"
9 #include <dos.h>
10 
11 #ifdef __STDC__
12 static void mode_1_flood(void);
13 static void mode_2_flood(void);
14 #else
15 static void mode_1_flood();
16 static void mode_2_flood();
17 #endif
18 
19 
20 void
22 {
23  if (pc.mfbMODE & 2)
24  mode_2_flood();
25  else
26  mode_1_flood();
27 }
28 
29 
30 static void
32 
33 {
34  int alu;
35  long i;
36  vidmptr rgen;
37 
38  outpw(0x3ce,0xff08); /* set bit mask */
39  outpw(0x3ce,0x0205); /* write mode 2 */
40  outpw(0x3ce,0x3); /* set alu mode */
41  rgen = pc.base;
42  for (i = (long)pc.ysize*pc.bytpline; i; i--)
43  *rgen++ = pc.curcolor;
44  outpw(0x3ce,0x5); /* write mode 1 */
45 }
46 
47 
48 #ifndef __GNUC__
49 
50 
51 static void
53 
54 {
55  union { unsigned short o[2]; long l; } p;
56  int i;
57  unsigned j;
58  unsigned color2;
59 
60  outpw(0x3ce,0xff08); /* set bit mask */
61  outpw(0x3ce,0x3); /* set alu mode */
62 
63  color2 = (pc.curcolor << 8) | pc.curcolor;
64  p.l = (long) pc.ysize*pc.xsize;
65  for (i = 0; i <= p.o[1]; i++) {
66  outp(0x3cd,i);
67  for (j = 0; j < (unsigned)0x8000; j++)
68  *(((short far *)pc.base) + j) = color2;
69  }
70 }
71 
72 
73 #else
74 
75 
76 static void
78 
79 {
80  int j;
81  unsigned color2;
82  short *rgen;
83 
84  outpw(0x3ce,0xff08); /* set bit mask */
85  outpw(0x3ce,0x3); /* set alu mode */
86 
87  color2 = (pc.curcolor << 8) | pc.curcolor;
88  j = ((long) pc.ysize*pc.xsize) >> 1;
89  rgen = (short*)pc.base;
90  while (j--) {
91  *rgen++ = color2;
92  }
93 }
94 
95 #endif
int mfbMODE
Definition: mfbp.h:41
FILE * p
Definition: proc2mod.c:48
Definition: cddefs.h:312
Definition: cddefs.h:215
char * vidmptr
Definition: mfbp.h:17
int ysize
Definition: mfbp.h:54
void MFBFlood()
Definition: mfbflood.c:21
vidmptr base
Definition: mfbp.h:38
Definition: cddefs.h:142
int xsize
Definition: mfbp.h:53
while(TDesc->tSucc!=NULL)
Definition: cd.c:1335
int bytpline
Definition: mfbp.h:39
static void mode_2_flood()
Definition: mfbflood.c:52
int curcolor
Definition: mfbp.h:46
static void mode_1_flood()
Definition: mfbflood.c:31
struct mfbpc pc
Definition: mfbopen.c:14