⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vga13h.h

📁 这是过去自己编写的一个初级Dos程序
💻 H
字号:

/*                     VGA13H.h                       */

# if !defined(__DOS_DEF_)
#    include <dos.h>
# endif

# define BYTE  unsigned char
# define WORD  unsigned int
# define DWORD unsigned long
# define BOOL  BYTE
# define TRUE  1
# define FALSE !TRUE

WORD FONT_SEG;
WORD FONT_OFF;

void setmode();
void waitkey();
void closemode();
void GetFontAdd();
void locate(int Line,int Col);
void pset(int x,int y,BYTE color);
void setpal(int Color,BYTE r,BYTE g,BYTE b);
BYTE ScanKey(void);
BYTE point(int x,int y);

void GetFontAdd()
{
	struct REGPACK regs;
	regs.r_bx=0x0300;
	regs.r_ax=0x1130;
	intr(0x10,&regs);
	FONT_SEG=regs.r_es;
	FONT_OFF=regs.r_bp;
}

void waitkey()
{
	_AX=0;
	geninterrupt(0x16);
}
void setmode()
{
	_AX=0x13;
	geninterrupt(0x10);
	GetFontAdd();
}

void closemode()
{
	_AX=0x3;
	geninterrupt(0x10);
}

void setpal(int Color,BYTE r,BYTE g,BYTE b)
{
	outportb(0x3c8,Color);
	outportb(0x3c9,r);
	outportb(0x3c9,g);
	outportb(0x3c9,b);
}

void locate(int Line,int Col)
{
	_DH=Line;
	_DL=Col;
	_AH=2;
	_BX=0;
	geninterrupt(0x10);
}

BYTE ScanKey(void)
{
	int start,end;
	WORD key=0;
	start=peek(0,0x41a);
	end=peek(0,0x41c);
	if (start==end)
		return(0);
	else
	{
		key=peek(0x40,start);
		start+=2;
		if (start==0x3e) start=0x1e;
			poke(0x40,0x1a,start);
		return(key/256);
	}
}

void pset(int x,int y,BYTE color)
{
	pokeb(0xa000,y*320+x,color);
}

BYTE point(int x,int y)
{
	return peekb(0xa000,y*320+x);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -