home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FreeWare Collection 3
/
FreeSoftwareCollection3pd199x-jp.img
/
oh_fm
/
inkyoku
/
escreen.c
< prev
next >
Wrap
Text File
|
1980-01-02
|
1KB
|
59 lines
#include <stdio.h>
#include <egb.h>
#include "crtc.h"
struct CRTCSET { /* 各モード毎のCRTC設定値 */
int HSW1,HSW2,HST ;
int CR1 ;
int HDS,HDE ;
} crtc[] = { { 96,704,799,2, 138,778 }, /* 640 x 480 */
{ 80,590,669,3, 130,642 }, /* 512 x 480 */
{ 94,686,779,1, 127,767 }, /* 640 x 480 */
{110,802,909,0, 130,898 } } ;/* 768 x 480 */
char work[1536] ;
main(int ac, char **av)
{
int l,mode = 0 ;
struct CRTCSET *p ;
if( ac > 1 ) mode = atoi( av[1] ) ;
EGB_init( work, 1536 ) ; /* 画面のイニシャライズ */
EGB_displayPage( work, 0, 3 ) ;
EGB_writePage( work, 0 ) ;
p = &crtc[mode] ; /* CRTCをいじる */
CRTC( CA_HSW1, p->HSW1 ) ;
CRTC( CA_HSW2, p->HSW2 ) ;
CRTC( CA_HST, p->HST ) ;
CRTC( CA_CR1, p->CR1 ) ;
CRTC( CA_HDS0, p->HDS ) ;
CRTC( CA_HAJ0, p->HDS ) ;
CRTC( CA_HDE0 , p->HDE ) ;
for( l = 0 ; l < 1024 ; l += 10 ) { /* draw grid */
if( l % 100 == 0 ) EGB_color( work, 0, 10 ) ;
else EGB_color( work, 0, 15 ) ;
EGB_singleLine( work, 0,l,1023,l ) ;
EGB_singleLine( work, l,0,l,479 ) ;
}
getchar() ; /* pause */
screenterm( work ) ; /* MS-DOSに戻る */
}
/* draw single line */
EGB_singleLine( work, sx,sy,ex,ey ) /* 一本の線を描く */
char *work ;
int sx,sy,ex,ey ;
{
short param[5] ;
param[0] = 2 ;
param[1] = sx ;
param[2] = sy ;
param[3] = ex ;
param[4] = ey ;
EGB_connect( work, (char *)param ) ;
}