📄 grtry.c
字号:
#include "MyType.h"
#include "GrTry.h"
/* 设置好寄存器,并完成初始化 */
void SetSVGAMode(INT16 vmode)
{
switch (vmode) /* 记录当前的分辨率 */
{
case TRY320X200X256:
COLS = 320;
ROWS = 200;
break;
case TRY640X480X256:
COLS = 640;
ROWS = 480;
break;
case TRY800X600X256:
COLS = 800;
ROWS = 600;
break;
case TRY1024X768X256:
COLS = 1024;
ROWS = 768;
break;
}
_AX = 0x4f02;
_BX = vmode;
__int__(0x10);
}
/* 获取当前模式 */
INT16 GetSVGAMode()
{
_AX = 0x4f03;
__int__(0x10);
return _BX;
}
/* 画点函数 */
void Dot(INT16 x, INT16 y, UINT8 color)
{
UINT32 PageAll1, PageAll2;
UINT8 PageIndex;
if (x > -1 && x < COLS && y > -1 && y < ROWS)
{
PageAll1 = PageAll2 = (UINT32)y*(UINT32)COLS+(UINT32)x;
PageIndex = PageAll1 >> 16;
SelectPage(PageIndex);
VideoBuffer[PageAll2] = color;
}
}
/* 图形初始化 */
void InitSVGA()
{
OldSMode = GetSVGAMode();
}
/* 回到原来模式 */
void ExitSVGA()
{
SetSVGAMode(OldSMode);
}
/* 换页函数 */
void SelectPage(register UINT8 page)
{
_BX = 0;
_DX = page;
_AX = 0x4f05;
__int__(0x10);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -