📄 mode.c
字号:
#define _MODE_C_
#include "types.h"
#include "board.h"
#include "mode.h"
#include "ms_reg.h"
#include "panel.h"
InputResolutionType code tStandardModeResolution[]=
{
#if VGA_ENABLE
{ 640, 350}, // Res_640x350,
{ 640, 400}, // Res_640x400,
{ 720, 400}, // Res_720x400,
{ 640, 480}, // Res_640x480,
{ 800, 600}, // Res_800x600,
{ 832, 624}, // Res_832x624,
{1024, 768}, // Res_1024x768,
{1280, 1024}, // Res_1280x1024,
{1600, 1200}, // Res_1600x1200,
{1152, 864}, // Res_1152x864,
{1152, 870}, // Res_1152x870,
{1280, 960}, // Res_1280x960,
{1280, 720}, //Res_1280x720
{1920, 1080}, // Res_1920x1080
#endif
{720, 480}, //Res_720x480
{720, 576}, //Res_720x576
};
//for display info
BYTE code StandardResolutionIndexText[Max_Res][11]=
{//123456789012345678901234567890
#if VGA_ENABLE
{"640X350"},
{"640X400"},
{"720X400"},
{"640X480"},
{"800X600"},
{"832X624"},
{"1024X768"},
{"1280X1024"},
{"1600X1200"},
{"1152X864"},
{"1152X870"},
{"1280X960"},
{"1280X720"},
{"1920X1080"},
#endif
{"720X480"},
{"720X576"},
};
#define HFreq_Torlance 25 // 1.5 KHz
#define VFreq_Torlance 30 // 1.5 Hz
InputModeType code tStandardMode[]=
{
#if VGA_ENABLE
// 640x350 70Hz (IMB VGA)//0
{ SyncHpVn, // Flags
Res_640x350, // ResIndex
315, 700, // HFreq, VFreq
800, 449, // HTotal, VTotal
144, 62, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 640x350 85Hz (VESA)//1
{ SyncHpVn, // Flags
// Res_640x350, // ResIndex
Res_640x400, // ResIndex
379, 851, // HFreq, VFreq
832, 445, // HTotal, VTotal
160, 63, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 640x400 70Hz (IMB VGA)//2
{ SyncHpVp | SyncHnVp | SyncHnVn, // Flags
Res_640x400, // ResIndex
315, 700, // HFreq, VFreq
800, 449, // HTotal, VTotal
144, 37, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 640x400 85Hz (VESA)//3
{ SyncHpVp | SyncHnVp | SyncHnVn, // Flags
Res_640x400, // ResIndex
379, 851, // HFreq, VFreq
832, 445, // HTotal, VTotal
160, 44, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 720x400 70Hz (VGA)//4
{ SyncHpVp | SyncHnVp | SyncHnVn, // Flags
Res_720x400, // ResIndex
315, 700, // HFreq, VFreq
900, 449, // HTotal, VTotal
162, 37, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 720x400 85Hz (VESA)//5
{ SyncHpVp | SyncHnVp | SyncHnVn, // Flags
Res_720x400, // ResIndex
379, 850, // HFreq, VFreq
936, 446, // HTotal, VTotal
180, 45, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
#ifdef D800480PANEL
// 640x480 60Hz (VESA)//6
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_640x480, // ResIndex
315, 599, // HFreq, VFreq
1056, 525, // HTotal, VTotal
144, 35, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 640x480 66Hz (MAC)//7
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_640x480, // ResIndex
350, 667, // HFreq, VFreq
864, 525, // HTotal, VTotal
160, 42, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 640x480 72Hz (VESA)//8
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_640x480, // ResIndex
379, 728, // HFreq, VFreq
1056, 520, // HTotal, VTotal
168, 31, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 640x480 75Hz (VESA)//9
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_640x480, // ResIndex
375, 750, // HFreq, VFreq
840, 500, // HTotal, VTotal
184, 19, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
#else
// 640x480 60Hz (VESA)//6
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_640x480, // ResIndex
315, 599, // HFreq, VFreq
800, 525, // HTotal, VTotal
144, 35, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 640x480 66Hz (MAC)//7
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_640x480, // ResIndex
350, 667, // HFreq, VFreq
864, 525, // HTotal, VTotal
160, 42, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 640x480 72Hz (VESA)//8
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_640x480, // ResIndex
379, 728, // HFreq, VFreq
832, 520, // HTotal, VTotal
168, 31, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 640x480 75Hz (VESA)//9
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_640x480, // ResIndex
375, 750, // HFreq, VFreq
840, 500, // HTotal, VTotal
184, 19, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
#endif
// 640x480 85Hz (VESA)//10
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_640x480, // ResIndex
433, 850, // HFreq, VFreq
832, 509, // HTotal, VTotal
136, 28, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 800x600 56Hz (VESA)//11
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_800x600, // ResIndex
352, 562, // HFreq, VFreq
1024, 625, // HTotal, VTotal
200, 24, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 800x600 60Hz (VESA)//12
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_800x600, // ResIndex
379, 603, // HFreq, VFreq
1056, 628, // HTotal, VTotal
216, 27, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 800x600 72Hz (VESA)//13
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_800x600, // ResIndex
481, 722, // HFreq, VFreq
1040, 666, // HTotal, VTotal
184, 29, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 800x600 75Hz (VESA)//14
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_800x600, // ResIndex
469, 750, // HFreq, VFreq
1056, 625, // HTotal, VTotal
240, 24, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 800x600 85Hz (VESA)//15
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_800x600, // ResIndex
537, 851, // HFreq, VFreq
1048, 631, // HTotal, VTotal
216, 30, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 832x624 75Hz (MAC)//16
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_832x624, // ResIndex
497, 746, // HFreq, VFreq
1152, 667, // HTotal, VTotal
288, 42, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
#if 1
// 1024x768 43i (VESA)//17
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn | bInterlaceMode, // Flags
Res_1024x768, // ResIndex
355, 868,// HFreq, VFreq
1264, 817, // HTotal, VTotal
232, 24, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
#endif
// 1024x768 60Hz (VESA)//18
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_1024x768, // ResIndex
484, 600, // HFreq, VFreq
1344, 806, // HTotal, VTotal
295, 35, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 1024x768 70Hz (VESA)//19
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_1024x768, // ResIndex
565, 700, // HFreq, VFreq
1328, 806, // HTotal, VTotal
280, 35, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 1024x768 75Hz (VESA)//20
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_1024x768, // ResIndex
600, 750, // HFreq, VFreq
1312, 800, // HTotal, VTotal
272, 31, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 1024x768 75Hz (MAC)//21
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_1024x768, // ResIndex
602, 749, // HFreq, VFreq
1326, 804, // HTotal, VTotal
270, 33, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
#endif
// 720x576i 50Hz (YCbCr)//22
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn | bInterlaceMode, // Flags
Res_720x576, // ResIndex
156, 500, // HFreq, VFreq
864, 625, // HTotal, VTotal
174, 68, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 720x480i 60Hz (YCbCr) //23
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn | bInterlaceMode, // Flags
Res_720x480, // ResIndex
156, 600, // HFreq, VFreq
858, 525, // HTotal, VTotal
169, 43,//37, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 720x576p 50Hz (YPbPr) //24
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_720x576, // ResIndex
315, 500, // HFreq, VFreq
864, 625, // HTotal, VTotal
0x9a, 0x31, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
// 720x480p 60Hz (YPbPr) //25
{ SyncHpVp | SyncHpVn | SyncHnVp | SyncHnVn, // Flags
Res_720x480, // ResIndex
315, 600, // HFreq, VFreq
858, 525, // HTotal, VTotal
0x8d, 0x28, // HStart, VStart
HFreq_Torlance,VFreq_Torlance, // HSyncTolerence // VSyncTolerence
},
//=-===IMPORTANT DON'T DELETE IT, OR IT WILL CAUSE LOOP INIFINITE//40
{ 0, // Flags
0, // ResIndex
0, 0, // HFreq, VFreq
0, 0, // HTotal, VTotal
0, 0, // HStart, VStart
0, 0, // HSyncTolerence // VSyncTolerence
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -