home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
FSGFX.ZIP
/
G_SETGPH.C
< prev
next >
Wrap
C/C++ Source or Header
|
1990-03-06
|
22KB
|
1,004 lines
/* g_setgph.c */
/* set graphics mode, initialize threads */
/* this also contains external variables for other modules */
#include <stdio.h>
#include <malloc.h>
#include <memory.h>
#include "mygraph.h"
#include "mymouse.h"
#define STK_SIZE 32768
/* external variables, initialized bye g_setgph */
int oldtextx = 0;
int oldtexty = 0;
char *screenbuffer;
char *pchscreen;
struct _VIOPHYSBUF viopbBuf;
struct _VIOMODEINFO oldconfig;
struct _VIOMODEINFO newconfig;
struct _VIOCONFIGINFO vioconfig;
int redrawmode = OR;
/* and the font */
unsigned char alphabet[128][8][8] =
/* */ {
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 } },
/* ! */
{ { 0,0,0,1,1,0,0,0 },
{ 0,0,0,1,1,0,0,0 },
{ 0,0,0,1,1,0,0,0 },
{ 0,0,0,1,1,0,0,0 },
{ 0,0,0,1,1,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,1,1,0,0,0 },
{ 0,0,0,1,1,0,0,0 } },
/* " */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,1,1,0,0,0 },
{ 0,0,0,1,1,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 } },
/* # */
{ { 0,0,1,0,0,1,0,0 },
{ 0,0,1,0,0,1,0,0 },
{ 1,1,1,1,1,1,1,1 },
{ 0,0,1,0,0,1,0,0 },
{ 0,0,1,0,0,1,0,0 },
{ 1,1,1,1,1,1,1,1 },
{ 0,0,1,0,0,1,0,0 },
{ 0,0,1,0,0,1,0,0 } },
/* $ */
{ { 0,0,0,1,1,0,0,0 },
{ 0,0,1,1,1,1,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,0,1,1,1,0,0,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,1,1,1,1,0,0 },
{ 0,0,0,1,1,0,0,0 } },
/* % */
{ { 1,1,0,0,0,0,0,1 },
{ 1,1,0,0,0,0,1,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,1,0,0,0,0,1,1 },
{ 1,0,0,0,0,0,1,1 } },
/* & */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 } },
/* ` */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 } },
/* ( */
{ { 0,0,0,0,1,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,0,1,0,0,0 } },
/* ) */
{ { 0,0,0,1,0,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,1,0,0,0,0 } },
/* * */
{ { 1,0,0,0,0,0,0,1 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,1,1,1,1,0,0 },
{ 0,0,1,1,1,1,1,1 },
{ 1,1,1,1,1,1,0,0 },
{ 0,0,1,1,1,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 1,0,0,0,0,0,0,1 } },
/* + */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,1,1,1,1,1,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 } },
/* 0,0 */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,1,0,0,0,0 } },
/* - */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 1,1,1,1,1,1,1,1 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 } },
/* . */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 } },
/* / */
{ { 0,0,0,0,0,0,0,1 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0 } },
/* 0 */
{ { 0,0,0,1,1,0,0,0 },
{ 0,0,1,0,0,1,0,0 },
{ 0,1,0,0,1,0,1,0 },
{ 1,0,0,1,0,0,0,1 },
{ 1,0,1,0,0,0,0,1 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,1,0,0,1,0,0 },
{ 0,0,0,1,1,0,0,0 } },
/* 1 */
{ { 0,0,0,1,1,0,0,0 },
{ 0,0,1,0,1,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,1,1,1,1,1,0 } },
/* 2 */
{ { 0,0,1,1,1,0,0,0 },
{ 0,1,0,0,0,1,0,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,1,1,1,1,1,0 } },
/* 3 */
{ { 0,0,1,1,1,0,0,0 },
{ 0,1,0,0,0,1,0,0 },
{ 1,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,1,1,1,0,0 },
{ 1,0,0,0,0,1,1,0 },
{ 0,1,0,0,0,1,0,0 },
{ 0,0,1,1,1,0,0,0 } },
/* 4 */
{ { 0,0,0,1,1,0,0,0 },
{ 0,0,1,0,1,0,0,0 },
{ 0,1,0,0,1,0,0,0 },
{ 1,0,0,0,1,0,0,0 },
{ 1,1,1,1,1,1,1,1 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,0,1,0,0,0 } },
/* 5 */
{ { 0,1,1,1,1,1,1,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,1,1,1,0,0,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,1,1,1,1,1,0,0 } },
/* 6 */
{ { 0,0,0,1,1,1,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,1,1,1,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,1,1,1,1,0,0 } },
/* 7 */
{ { 0,1,1,1,1,1,1,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 } },
/* 8 */
{ { 0,0,1,1,1,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,1,1,1,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,1,1,1,1,0,0 } },
/* 9 */
{ { 0,0,1,1,1,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,1,1,1,1,1,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,1,1,0,0,0,0,0 } },
/* : */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 } },
/* ; */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 } },
/* < */
{ { 0,0,0,1,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 } },
/* = */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,1,1,1,1,1,1,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,1,1,1,1,1,1,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 } },
/* > */
{ { 0,0,0,0,1,0,0,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,0,0,1 },
{ 0,0,0,0,0,0,0,1 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,1,0,0,0 } },
/* ? */
{ { 0,0,0,1,1,0,0,0 },
{ 0,0,1,0,0,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,1,0,0,0 } },
/* @ */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 } },
/* A */
{ { 0,0,0,1,1,0,0,0 },
{ 0,0,1,0,0,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,1,1,1,1,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 } },
/* B */
{ { 0,1,1,1,1,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,1,1,1,1,0,0 },
{ 0,1,0,0,0,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,1,1,1,1,0,0 } },
/* C */
{ { 0,0,1,1,1,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,1,1,1,1,0,0 } },
/* D */
{ { 0,1,1,1,1,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,1,1,1,1,0,0 } },
/* E */
{ { 0,1,1,1,1,1,1,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,1,1,1,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,1,1,1,1,1,0 } },
/* F */
{ { 0,1,1,1,1,1,1,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,1,1,1,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 } },
/* G */
{ { 0,0,0,1,1,0,0,0 },
{ 0,0,1,0,0,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,1,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,1,0,0,1,1,0 },
{ 0,0,0,1,1,0,1,0 } },
/* H */
{ { 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,1,1,1,1,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 } },
/* I */
{ { 0,0,1,1,1,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,1,1,1,0,0,0 } },
/* J */
{ { 0,0,0,0,1,1,1,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,1,0,0,0,1,0,0 },
{ 0,1,0,0,0,1,0,0 },
{ 0,0,1,1,1,0,0,0 } },
/* K */
{ { 0,1,0,0,0,1,0,0 },
{ 0,1,0,0,1,0,0,0 },
{ 0,1,0,1,0,0,0,0 },
{ 0,1,1,0,0,0,0,0 },
{ 0,1,1,1,0,0,0,0 },
{ 0,1,0,0,1,0,0,0 },
{ 0,1,0,0,0,1,0,0 },
{ 0,1,0,0,0,0,1,0 } },
/* L */
{ { 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,1,1,1,1,1,0 } },
/* M */
{ { 0,1,0,0,0,0,1,0 },
{ 0,1,1,0,0,1,1,0 },
{ 0,1,0,1,1,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 } },
/* N */
{ { 0,1,0,0,0,0,1,0 },
{ 0,1,1,0,0,0,1,0 },
{ 0,1,1,0,0,0,1,0 },
{ 0,1,0,1,0,0,1,0 },
{ 0,1,0,0,1,0,1,0 },
{ 0,1,0,0,0,1,1,0 },
{ 0,1,0,0,0,1,1,0 },
{ 0,1,0,0,0,0,1,0 } },
/* O */
{ { 0,0,0,1,1,0,0,0 },
{ 0,0,1,0,0,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 1,0,0,0,0,0,0,1 },
{ 1,0,0,0,0,0,0,1 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,1,0,0,1,0,0 },
{ 0,0,0,1,1,0,0,0 } },
/* P */
{ { 0,1,1,1,1,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,1,1,1,1,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 } },
/* Q */
{ { 0,0,0,1,1,0,0,0 },
{ 0,0,1,0,0,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 1,0,0,0,0,0,0,1 },
{ 1,0,0,0,0,0,0,1 },
{ 0,1,0,0,1,0,1,0 },
{ 0,0,1,0,0,1,0,0 },
{ 0,0,0,1,1,0,1,1 } },
/* R */
{ { 0,1,1,1,1,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,1,1,1,1,0,0 },
{ 0,1,0,0,0,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 } },
/* S */
{ { 0,0,1,1,1,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,0,1,1,1,1,0,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,1,1,1,1,0,0 } },
/* T */
{ { 1,1,1,1,1,1,1,0 },
{ 1,0,0,1,0,0,1,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,1,1,1,0,0,0 } },
/* U */
{ { 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,1,1,1,1,0,0 } },
/* V */
{ { 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,1,0,0,1,0,0 },
{ 0,0,0,1,1,0,0,0 } },
/* W */
{ { 0,1,0,0,0,0,0,1 },
{ 0,1,0,0,0,0,0,1 },
{ 0,1,0,0,0,0,0,1 },
{ 0,1,0,0,0,0,0,1 },
{ 0,1,0,0,0,0,0,1 },
{ 0,1,0,0,1,0,0,1 },
{ 0,1,0,1,0,1,0,1 },
{ 0,0,1,0,0,0,1,0 } },
/* X */
{ { 1,0,0,0,0,0,0,1 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,1,0,0,1,0,0 },
{ 0,0,0,1,1,0,0,0 },
{ 0,0,0,1,1,0,0,0 },
{ 0,0,1,0,0,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 1,0,0,0,0,0,0,1 } },
/* Y */
{ { 1,0,0,0,0,0,1,0 },
{ 1,0,0,0,0,0,1,0 },
{ 0,1,0,0,0,1,0,0 },
{ 0,0,1,0,1,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 } },
/* Z */
{ { 1,1,1,1,1,1,1,0 },
{ 1,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 1,1,1,1,1,1,1,0 } },
/* [ */
{ { 1,1,1,1,0,0,0,0 },
{ 1,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0 },
{ 1,1,1,1,0,0,0,0 } },
/* \ */
{ { 1,0,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,0,0,1 } },
/* ] */
{ { 0,0,0,1,1,1,1,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,0,0,1,1,1,1,0 } },
/* ^ */
{ { 0,0,0,1,0,0,0,0 },
{ 0,0,1,0,1,0,0,0 },
{ 0,1,0,0,0,1,0,0 },
{ 1,0,0,0,0,0,1,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 } },
/* _ */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 1,1,1,1,1,1,1,1 } },
/* ` */
{ { 0,0,1,0,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 } },
/* a */
{ { 0,0,0,0,0,0,0,0 },
{ 0,1,1,1,1,0,0,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,0,0,1,0 },
{ 0,1,1,1,1,1,1,0 },
{ 1,0,0,0,0,0,1,0 },
{ 1,0,0,0,0,1,1,0 },
{ 0,1,1,1,1,0,1,0 } },
/* b */
{ { 1,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,1,1,1,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,1,0,0,0,1,0 },
{ 1,1,0,1,1,1,0,0 } },
/* c */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,1,1,1,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 1,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,0,1,1,1,1,0,0 } },
/* d */
{ { 0,0,0,0,0,1,1,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,1,1,1,1,1,0,0 },
{ 1,0,0,0,0,1,0,0 },
{ 1,0,0,0,1,1,0,0 },
{ 0,1,1,1,0,1,1,0 } },
/* e */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,1,1,1,0,0,0 },
{ 0,1,0,0,0,1,0,0 },
{ 1,1,1,1,1,1,1,0 },
{ 1,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,1,0 },
{ 0,1,1,1,1,1,0,0 } },
/* f */
{ { 0,0,0,1,1,0,0,0 },
{ 0,0,1,0,0,1,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 1,1,1,1,1,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,1,1,1,0,0,0,0 } },
/* g */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,1,1,1,0,0,0 },
{ 0,1,0,0,0,1,1,0 },
{ 0,1,0,0,0,1,0,0 },
{ 0,0,1,1,1,1,0,0 },
{ 0,0,0,0,0,1,0,0 },
{ 0,1,0,0,0,1,0,0 },
{ 0,0,1,1,1,0,0,0 } },
/* h */
{ { 1,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,1,1,0,0,0 },
{ 0,1,1,0,0,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 0,1,0,0,0,0,1,0 },
{ 1,1,0,0,0,0,1,0 } },
/* i */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,1,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,1,1,1,0,0,0 } },
/* j */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,1,1,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 1,0,0,0,1,0,0,0 },
{ 0,1,1,1,0,0,0,0 } },
/* k */
{ { 1,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,1,0,0,0,0 },
{ 0,1,1,0,0,0,0,0 },
{ 0,1,1,0,0,0,0,0 },
{ 0,1,0,1,0,0,0,0 },
{ 1,1,0,0,1,0,0,0 } },
/* l */
{ { 1,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 1,1,1,0,0,0,0,0 } },
/* m */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 1,0,1,0,0,1,0,0 },
{ 1,1,0,1,1,0,1,0 },
{ 1,0,0,1,0,0,1,0 },
{ 1,0,0,1,0,0,1,0 },
{ 1,0,0,1,0,0,1,0 } },
/* n */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 1,0,1,1,0,0,0,0 },
{ 0,1,0,0,1,0,0,0 },
{ 0,1,0,0,1,0,0,0 },
{ 0,1,0,0,1,0,0,0 },
{ 0,1,0,0,1,0,0,0 } },
/* o */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,1,1,1,0,0,0 },
{ 0,1,0,0,0,1,0,0 },
{ 1,0,0,0,0,0,1,0 },
{ 1,0,0,0,0,0,1,0 },
{ 0,1,0,0,0,1,0,0 },
{ 0,0,1,1,1,0,0,0 } },
/* p */
{ { 0,0,0,0,0,0,0,0 },
{ 1,0,1,1,1,0,0,0 },
{ 0,1,0,0,0,1,0,0 },
{ 0,1,0,0,0,1,0,0 },
{ 0,1,1,1,1,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 1,1,1,0,0,0,0,0 } },
/* q */
{ { 0,0,0,0,0,0,0,0 },
{ 0,1,1,1,0,1,0,0 },
{ 1,0,0,0,1,0,0,0 },
{ 1,0,0,0,1,0,0,0 },
{ 0,1,1,1,1,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,1,1,1,0,0 } },
/* r */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 1,1,0,1,1,0,0,0 },
{ 0,1,1,0,0,1,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 0,1,0,0,0,0,0,0 },
{ 1,1,1,0,0,0,0,0 } },
/* s */
{ { 0,0,0,0,0,0,0,0 },
{ 0,1,1,1,0,0,0,0 },
{ 1,0,0,0,1,0,0,0 },
{ 1,0,0,0,0,0,0,0 },
{ 0,1,1,1,0,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 1,0,0,0,1,0,0,0 },
{ 0,1,1,1,0,0,0,0 } },
/* t */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 1,1,1,1,1,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,0,1,0,0,1,0,0 },
{ 0,0,0,1,1,0,0,0 } },
/* u */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,1,0,0 },
{ 1,0,0,0,0,1,0,0 },
{ 1,0,0,0,0,1,0,0 },
{ 1,0,0,0,1,1,0,0 },
{ 0,1,1,1,0,1,1,0 } },
/* v */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,1,0 },
{ 1,0,0,0,0,0,1,0 },
{ 0,1,0,0,0,1,0,0 },
{ 0,0,1,0,1,0,0,0 },
{ 0,0,0,1,0,0,0,0 } },
/* w */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,1,0 },
{ 1,0,0,0,0,0,1,0 },
{ 1,0,0,1,0,0,1,0 },
{ 1,0,0,1,0,0,1,0 },
{ 0,1,1,0,1,1,0,0 } },
/* x */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 1,0,0,0,1,0,0,0 },
{ 0,1,0,1,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,1,0,1,0,0,0,0 },
{ 1,0,0,0,1,0,0,0 } },
/* y */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 1,0,0,0,1,0,0,0 },
{ 1,0,0,0,1,0,0,0 },
{ 0,1,1,1,1,0,0,0 },
{ 0,0,0,0,1,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,1,1,0,0,0,0,0 } },
/* z */
{ { 0,0,0,0,0,0,0,0 },
{ 0,0,0,0,0,0,0,0 },
{ 1,1,1,1,1,1,0,0 },
{ 1,0,0,0,1,0,0,0 },
{ 0,0,0,1,0,0,0,0 },
{ 0,0,1,0,0,0,0,0 },
{ 0,1,0,0,0,1,0,0 },
{ 1,1,1,1,1,1,0,0 } } };
/* end external variables */
static int sorid;
static int restoremodeid;
int g_setgph(void)
{
register int i,j;
char *sorstack;
char *restoremodestack;
int fstatus;
int hmou;
oldconfig.cb = 14;
g_doscall(VioGetMode(&oldconfig,0));
viopbBuf.pBuf = (char *) 0xA0000L;
viopbBuf.cb = 0x10000L;
g_doscall(VioScrLock(LOCKIO_WAIT, (char *) &fstatus, 0));
g_doscall(VioGetPhysBuf(&viopbBuf,0));
pchscreen = MAKEP(viopbBuf.asel[0],0);
msinitgraphics();
/* this is for EGA full screen graphics */
newconfig.cb = 14;
newconfig.fbType = 0x03;
newconfig.color = 0x04;
newconfig.col = 80;
newconfig.row = 25;
newconfig.hres = 640;
newconfig.vres = 350;
g_doscall(VioSetMode(&newconfig,0)); /* set graphics mode */
screenbuffer = (char *) malloc(28000);
sorstack = (char *) malloc(STK_SIZE); /* allocate stack for thread */
if(sorstack == NULL || screenbuffer == NULL)
{
printf("allocation error, aborting sorstack");
exit(1);
}
restoremodestack = (char *) malloc(STK_SIZE); /* allocate stack for thread */
if(restoremodestack == NULL )
{
printf("allocation error, aborting restoremodestack");
exit(1);
}
g_doscall(DosCreateThread(g_rdrwth,&sorid,sorstack+STK_SIZE));
g_doscall(DosCreateThread(g_rmdth,&restoremodeid,
restoremodestack+STK_SIZE));
g_doscall(VioScrUnLock(0));
g_clrscn();
}