home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
games
/
volume6
/
ega-wanderer
/
patch1
/
venix286.c
< prev
Wrap
C/C++ Source or Header
|
1989-02-24
|
741b
|
48 lines
/*
* EGA init/reset for VENIX/286
*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/pc_csl.h>
typedef unsigned char uchar;
extern uchar *EGAaddr;
extern int EGAifd;
extern int EGAofd;
#define VIDFD 1
#define PHYS_SEL ((uchar *) 0x170000L)
#define EGA_PHYS ((unsigned) (0xA0000L/512))
egainit()
{
char *tty, *ttyname();
if ( (tty = ttyname(VIDFD)) == NULL || strncmp(tty,"/dev/scrn",9) != 0 )
return( 0 );
if (ioctl(VIDFD, PHYS_MEM, EGA_PHYS) != -1) {
EGAaddr = PHYS_SEL;
EGAifd = 0;
EGAofd = VIDFD;
write( EGAofd, "\033[16g", 5 );
Clear();
return( 1 );
}
EGAaddr = NULL;
return( 0 );
}
egareset()
{
if ( EGAaddr ) {
Clear();
write(EGAofd, "\033[0g", 4 );
ioctl(EGAofd, PHYS_MEM, -1);
}
}