Add some missing render modes

This commit is contained in:
wiidev 2023-01-01 17:00:27 +00:00
parent 39eed7d098
commit 09ae27a9c9
1 changed files with 529 additions and 34 deletions

View File

@ -1141,6 +1141,39 @@ static GXRModeObj TVPal524ProgAa_RVL = {
}
};
static GXRModeObj TVPal528Int_RVL = {
4, // viDisplayMode
640, // fbWidth
528, // efbHeight
528, // xfbHeight
40, // viXOrigin (720 - 640)/2
23, // viYOrigin (574 - 528)/2
640, // viWidth
528, // viHeight
VI_XFBMODE_DF, // xFBmode
GX_FALSE, // field_rendering
GX_FALSE, // aa
// sample points arranged in increasing Y order
{
{6, 6}, {6, 6}, {6, 6}, // pix 0, 3 sample points, 1/12 units, 4 bits each
{6, 6}, {6, 6}, {6, 6}, // pix 1
{6, 6}, {6, 6}, {6, 6}, // pix 2
{6, 6}, {6, 6}, {6, 6} // pix 3
},
// vertical filter[7], 1/64 units, 6 bits each
{
0, // line n-1
0, // line n-1
21, // line n
22, // line n
21, // line n
0, // line n+1
0 // line n+1
}
};
static GXRModeObj TVPal528IntDf_RVL = {
4, // viDisplayMode
640, // fbWidth
@ -1164,13 +1197,442 @@ static GXRModeObj TVPal528IntDf_RVL = {
// vertical filter[7], 1/64 units, 6 bits each
{
8, // line n-1
8, // line n-1
8, // line n-1
8, // line n-1
10, // line n
12, // line n
10, // line n
8, // line n+1
8 // line n+1
8, // line n+1
8 // line n+1
}
};
static GXRModeObj TVEurgb60Hz480Prog_RVL = {
22, // viDisplayMode
640, // fbWidth
480, // efbHeight
480, // xfbHeight
40, // viXOrigin (720 - 640)/2
0, // viYOrigin (480 - 480)/2
640, // viWidth
480, // viHeight
VI_XFBMODE_SF, // xFBmode
GX_FALSE, // field_rendering
GX_FALSE, // aa
// sample points arranged in increasing Y order
{
{6, 6}, {6, 6}, {6, 6}, // pix 0, 3 sample points, 1/12 units, 4 bits each
{6, 6}, {6, 6}, {6, 6}, // pix 1
{6, 6}, {6, 6}, {6, 6}, // pix 2
{6, 6}, {6, 6}, {6, 6} // pix 3
},
// vertical filter[7], 1/64 units, 6 bits each
{
0, // line n-1
0, // line n-1
21, // line n
22, // line n
21, // line n
0, // line n+1
0 // line n+1
}
};
static GXRModeObj TVEurgb60Hz480ProgSoft_RVL = {
22, // viDisplayMode
640, // fbWidth
480, // efbHeight
480, // xfbHeight
40, // viXOrigin (720 - 640)/2
0, // viYOrigin (480 - 480)/2
640, // viWidth
480, // viHeight
VI_XFBMODE_SF, // xFBmode
GX_FALSE, // field_rendering
GX_FALSE, // aa
// sample points arranged in increasing Y order
{
{6, 6}, {6, 6}, {6, 6}, // pix 0, 3 sample points, 1/12 units, 4 bits each
{6, 6}, {6, 6}, {6, 6}, // pix 1
{6, 6}, {6, 6}, {6, 6}, // pix 2
{6, 6}, {6, 6}, {6, 6} // pix 3
},
// vertical filter[7], 1/64 units, 6 bits each
{
8, // line n-1
8, // line n-1
10, // line n
12, // line n
10, // line n
8, // line n+1
8 // line n+1
}
};
static GXRModeObj TVEurgb60Hz480ProgAa_RVL = {
22, // viDisplayMode
640, // fbWidth
242, // efbHeight
480, // xfbHeight
40, // viXOrigin (720 - 640)/2
0, // viYOrigin (480 - 480)/2
640, // viWidth
480, // viHeight
VI_XFBMODE_SF, // xFBmode
GX_FALSE, // field_rendering
GX_TRUE, // aa
// sample points arranged in increasing Y order
{
{3, 2}, {9, 6}, {3, 10}, // pix 0, 3 sample points, 1/12 units, 4 bits each
{3, 2}, {9, 6}, {3, 10}, // pix 1
{9, 2}, {3, 6}, {9, 10}, // pix 2
{9, 2}, {3, 6}, {9, 10} // pix 3
},
// vertical filter[7], 1/64 units, 6 bits each
{
4, // line n-1
8, // line n-1
12, // line n
16, // line n
12, // line n
8, // line n+1
4 // line n+1
}
};
static GXRModeObj TVPal524IntAa_RVL = {
4, // viDisplayMode
640, // fbWidth
264, // efbHeight
524, // xfbHeight
40, // viXOrigin (720 - 640)/2
23, // viYOrigin (574 - 528)/2 //574 instead of 576
640, // viWidth
524, // viHeight
VI_XFBMODE_DF, // xFBmode
GX_FALSE, // field_rendering
GX_TRUE, // aa
// sample points arranged in increasing Y order
{
{3, 2}, {9, 6}, {3, 10}, // pix 0, 3 sample points, 1/12 units, 4 bits each
{3, 2}, {9, 6}, {3, 10}, // pix 1
{9, 2}, {3, 6}, {9, 10}, // pix 2
{9, 2}, {3, 6}, {9, 10} // pix 3
},
// vertical filter[7], 1/64 units, 6 bits each
{
4, // line n-1
8, // line n-1
12, // line n
16, // line n
12, // line n
8, // line n+1
4 // line n+1
}
};
static GXRModeObj TVPal264Int_RVL = {
4, // viDisplayMode
640, // fbWidth
264, // efbHeight
264, // xfbHeight
40, // viXOrigin (720 - 640)/2
23, // viYOrigin (574 - 528)/2
640, // viWidth
528, // viHeight
VI_XFBMODE_SF, // xFBmode
GX_TRUE, // field_rendering
GX_FALSE, // aa
// sample points arranged in increasing Y order
{
{6, 6}, {6, 6}, {6, 6}, // pix 0, 3 sample points, 1/12 units, 4 bits each
{6, 6}, {6, 6}, {6, 6}, // pix 1
{6, 6}, {6, 6}, {6, 6}, // pix 2
{6, 6}, {6, 6}, {6, 6} // pix 3
},
// vertical filter[7], 1/64 units, 6 bits each
{
0, // line n-1
0, // line n-1
21, // line n
22, // line n
21, // line n
0, // line n+1
0 // line n+1
}
};
static GXRModeObj TVPal264IntAa_RVL = {
4, // viDisplayMode
640, // fbWidth
264, // efbHeight
264, // xfbHeight
40, // viXOrigin (720 - 640)/2
23, // viYOrigin (574 - 528)/2
640, // viWidth
528, // viHeight
VI_XFBMODE_SF, // xFBmode
GX_TRUE, // field_rendering
GX_TRUE, // aa
// sample points arranged in increasing Y order
{
{3, 2}, {9, 6}, {3, 10}, // pix 0, 3 sample points, 1/12 units, 4 bits each
{3, 2}, {9, 6}, {3, 10}, // pix 1
{9, 2}, {3, 6}, {9, 10}, // pix 2
{9, 2}, {3, 6}, {9, 10} // pix 3
},
// vertical filter[7], 1/64 units, 6 bits each
{
0, // line n-1
0, // line n-1
21, // line n
22, // line n
21, // line n
0, // line n+1
0 // line n+1
}
};
static GXRModeObj TVPal264Ds_RVL = {
5, // viDisplayMode
640, // fbWidth
264, // efbHeight
264, // xfbHeight
40, // viXOrigin (720 - 640)/2
11, // viYOrigin (572/2 - 528/2)/2
640, // viWidth
528, // viHeight
VI_XFBMODE_SF, // xFBmode
GX_FALSE, // field_rendering
GX_FALSE, // aa
// sample points arranged in increasing Y order
{
{6, 6}, {6, 6}, {6, 6}, // pix 0, 3 sample points, 1/12 units, 4 bits each
{6, 6}, {6, 6}, {6, 6}, // pix 1
{6, 6}, {6, 6}, {6, 6}, // pix 2
{6, 6}, {6, 6}, {6, 6} // pix 3
},
// vertical filter[7], 1/64 units, 6 bits each
{
0, // line n-1
0, // line n-1
21, // line n
22, // line n
21, // line n
0, // line n+1
0 // line n+1
}
};
static GXRModeObj TVPal264DsAa_RVL = {
5, // viDisplayMode
640, // fbWidth
264, // efbHeight
264, // xfbHeight
40, // viXOrigin (720 - 640)/2
11, // viYOrigin (572/2 - 528/2)/2
640, // viWidth
528, // viHeight
VI_XFBMODE_SF, // xFBmode
GX_FALSE, // field_rendering
GX_TRUE, // aa
// sample points arranged in increasing Y order
{
{3, 2}, {9, 6}, {3, 10}, // pix 0, 3 sample points, 1/12 units, 4 bits each
{3, 2}, {9, 6}, {3, 10}, // pix 1
{9, 2}, {3, 6}, {9, 10}, // pix 2
{9, 2}, {3, 6}, {9, 10} // pix 3
},
// vertical filter[7], 1/64 units, 6 bits each
{
0, // line n-1
0, // line n-1
21, // line n
22, // line n
21, // line n
0, // line n+1
0 // line n+1
}
};
static GXRModeObj TVMpal240Int_RVL = {
8, // viDisplayMode
640, // fbWidth
240, // efbHeight
240, // xfbHeight
40, // viXOrigin (720 - 640)/2
0, // viYOrigin (480 - 480)/2
640, // viWidth
480, // viHeight
VI_XFBMODE_SF, // xFBmode
GX_TRUE, // field_rendering
GX_FALSE, // aa
// sample points arranged in increasing Y order
{
{6, 6}, {6, 6}, {6, 6}, // pix 0, 3 sample points, 1/12 units, 4 bits each
{6, 6}, {6, 6}, {6, 6}, // pix 1
{6, 6}, {6, 6}, {6, 6}, // pix 2
{6, 6}, {6, 6}, {6, 6} // pix 3
},
// vertical filter[7], 1/64 units, 6 bits each
{
0, // line n-1
0, // line n-1
21, // line n
22, // line n
21, // line n
0, // line n+1
0 // line n+1
}
};
static GXRModeObj TVMpal240IntAa_RVL = {
8, // viDisplayMode
640, // fbWidth
240, // efbHeight
240, // xfbHeight
40, // viXOrigin (720 - 640)/2
0, // viYOrigin (480 - 480)/2
640, // viWidth
480, // viHeight
VI_XFBMODE_SF, // xFBmode
GX_TRUE, // field_rendering
GX_TRUE, // aa
// sample points arranged in increasing Y order
{
{3, 2}, {9, 6}, {3, 10}, // pix 0, 3 sample points, 1/12 units, 4 bits each
{3, 2}, {9, 6}, {3, 10}, // pix 1
{9, 2}, {3, 6}, {9, 10}, // pix 2
{9, 2}, {3, 6}, {9, 10} // pix 3
},
// vertical filter[7], 1/64 units, 6 bits each
{
0, // line n-1
0, // line n-1
21, // line n
22, // line n
21, // line n
0, // line n+1
0 // line n+1
}
};
static GXRModeObj TVMpal480Int_RVL = {
8, // viDisplayMode
640, // fbWidth
480, // efbHeight
480, // xfbHeight
40, // viXOrigin (720 - 640)/2
0, // viYOrigin (480 - 480)/2
640, // viWidth
480, // viHeight
VI_XFBMODE_DF, // xFBmode
GX_FALSE, // field_rendering
GX_FALSE, // aa
// sample points arranged in increasing Y order
{
{6, 6}, {6, 6}, {6, 6}, // pix 0, 3 sample points, 1/12 units, 4 bits each
{6, 6}, {6, 6}, {6, 6}, // pix 1
{6, 6}, {6, 6}, {6, 6}, // pix 2
{6, 6}, {6, 6}, {6, 6} // pix 3
},
// vertical filter[7], 1/64 units, 6 bits each
{
0, // line n-1
0, // line n-1
21, // line n
22, // line n
21, // line n
0, // line n+1
0 // line n+1
}
};
static GXRModeObj TVMpal480ProgSoft_RVL = {
10, // viDisplayMode
640, // fbWidth
480, // efbHeight
480, // xfbHeight
40, // viXOrigin (720 - 640)/2
0, // viYOrigin (480 - 480)/2
640, // viWidth
480, // viHeight
VI_XFBMODE_SF, // xFBmode
GX_FALSE, // field_rendering
GX_FALSE, // aa
// sample points arranged in increasing Y order
{
{6, 6}, {6, 6}, {6, 6}, // pix 0, 3 sample points, 1/12 units, 4 bits each
{6, 6}, {6, 6}, {6, 6}, // pix 1
{6, 6}, {6, 6}, {6, 6}, // pix 2
{6, 6}, {6, 6}, {6, 6} // pix 3
},
// vertical filter[7], 1/64 units, 6 bits each
{
8, // line n-1
8, // line n-1
10, // line n
12, // line n
10, // line n
8, // line n+1
8 // line n+1
}
};
static GXRModeObj TVMpal480ProgAa_RVL = {
10, // viDisplayMode
640, // fbWidth
242, // efbHeight
480, // xfbHeight
40, // viXOrigin (720 - 640)/2
0, // viYOrigin (480 - 480)/2
640, // viWidth
480, // viHeight
VI_XFBMODE_SF, // xFBmode
GX_FALSE, // field_rendering
GX_TRUE, // aa
// sample points arranged in increasing Y order
{
{3, 2}, {9, 6}, {3, 10}, // pix 0, 3 sample points, 1/12 units, 4 bits each
{3, 2}, {9, 6}, {3, 10}, // pix 1
{9, 2}, {3, 6}, {9, 10}, // pix 2
{9, 2}, {3, 6}, {9, 10} // pix 3
},
// vertical filter[7], 1/64 units, 6 bits each
{
4, // line n-1
8, // line n-1
12, // line n
16, // line n
12, // line n
8, // line n+1
4 // line n+1
}
};
@ -1185,14 +1647,23 @@ static GXRModeObj *vmodes[] = {
&TVNtsc480Prog,
&TVNtsc480ProgSoft,
&TVNtsc480ProgAa,
&TVMpal240Int_RVL,
&TVMpal240IntAa_RVL,
&TVMpal240Ds,
&TVMpal240DsAa,
&TVMpal480Int_RVL,
&TVMpal480IntAa,
&TVMpal480IntDf,
&TVPal264Ds,
&TVPal264DsAa,
&TVPal264Int,
&TVPal264IntAa,
&TVMpal480Prog,
&TVMpal480ProgSoft_RVL,
&TVMpal480ProgAa_RVL,
&TVPal264Ds_RVL,
&TVPal264DsAa_RVL,
&TVPal264Int_RVL,
&TVPal264IntAa_RVL,
&TVPal524IntAa_RVL,
&TVPal524ProgAa_RVL,
&TVPal524IntAa,
&TVPal528Int,
&TVPal528Int_RVL,
&TVPal528IntDf_RVL,
&TVPal528Prog_RVL,
&TVPal528ProgSoft_RVL,
@ -1204,9 +1675,9 @@ static GXRModeObj *vmodes[] = {
&TVEurgb60Hz480Int,
&TVEurgb60Hz480IntDf,
&TVEurgb60Hz480IntAa,
&TVEurgb60Hz480Prog,
&TVEurgb60Hz480ProgSoft,
&TVEurgb60Hz480ProgAa};
&TVEurgb60Hz480Prog_RVL,
&TVEurgb60Hz480ProgSoft_RVL,
&TVEurgb60Hz480ProgAa_RVL};
static const char *vmodes_name[] = {
"TVNtsc240Ds",
@ -1219,17 +1690,26 @@ static const char *vmodes_name[] = {
"TVNtsc480Prog",
"TVNtsc480ProgSoft",
"TVNtsc480ProgAa",
"TVMpal240Int",
"TVMpal240IntAa",
"TVMpal240Ds",
"TVMpal240DsAa",
"TVMpal480Int",
"TVMpal480IntAa",
"TVMpal480IntDf",
"TVMpal480Prog",
"TVMpal480ProgSoft",
"TVMpal480ProgAa",
"TVPal264Ds",
"TVPal264DsAa",
"TVPal264Int",
"TVPal264IntAa",
"TVPal524ProgAa_RVL",
"TVPal524IntAa",
"TVPal524ProgAa",
"TVPal528Int",
"TVPal528IntDf_RVL",
"TVPal528Prog_RVL",
"TVPal528ProgSoft_RVL",
"TVPal528IntDf",
"TVPal528Prog",
"TVPal528ProgSoft",
"TVPal576IntDfScale",
"TVEurgb60Hz240Ds",
"TVEurgb60Hz240DsAa",
@ -1243,15 +1723,26 @@ static const char *vmodes_name[] = {
"TVEurgb60Hz480ProgAa"};
static GXRModeObj *PAL2NTSC[] = {
&TVMpal240Int_RVL, &TVNtsc240Int,
&TVMpal240IntAa_RVL, &TVNtsc240IntAa,
&TVMpal240Ds, &TVNtsc240Ds,
&TVMpal240DsAa, &TVNtsc240DsAa,
&TVMpal480Int_RVL, &TVNtsc480Int,
&TVMpal480IntAa, &TVNtsc480IntAa,
&TVMpal480IntDf, &TVNtsc480IntDf,
&TVPal264Ds, &TVNtsc240Ds,
&TVPal264DsAa, &TVNtsc240DsAa,
&TVPal264Int, &TVNtsc240Int,
&TVPal264IntAa, &TVNtsc240IntAa,
&TVPal524IntAa, &TVNtsc480IntAa,
&TVPal528Int, &TVNtsc480Int,
&TVMpal480Prog, &TVNtsc480Prog,
&TVMpal480ProgSoft_RVL, &TVNtsc480ProgSoft,
&TVMpal480ProgAa_RVL, &TVNtsc480ProgAa,
&TVPal264Ds_RVL, &TVNtsc240Ds,
&TVPal264DsAa_RVL, &TVNtsc240DsAa,
&TVPal264Int_RVL, &TVNtsc240Int,
&TVPal264IntAa_RVL, &TVNtsc240IntAa,
&TVPal524IntAa_RVL, &TVNtsc480IntAa,
&TVPal524ProgAa_RVL, &TVNtsc480ProgAa,
&TVPal528Int_RVL, &TVNtsc480Int,
&TVPal528IntDf_RVL, &TVNtsc480IntDf,
&TVPal528Prog_RVL, &TVNtsc480Prog,
&TVPal528ProgSoft_RVL, &TVNtsc480ProgSoft,
&TVPal576IntDfScale, &TVNtsc480IntDf,
&TVEurgb60Hz240Ds, &TVNtsc240Ds,
&TVEurgb60Hz240DsAa, &TVNtsc240DsAa,
@ -1260,20 +1751,22 @@ static GXRModeObj *PAL2NTSC[] = {
&TVEurgb60Hz480Int, &TVNtsc480Int,
&TVEurgb60Hz480IntDf, &TVNtsc480IntDf,
&TVEurgb60Hz480IntAa, &TVNtsc480IntAa,
&TVEurgb60Hz480Prog, &TVNtsc480Prog,
&TVEurgb60Hz480ProgSoft, &TVNtsc480ProgSoft,
&TVEurgb60Hz480ProgAa, &TVNtsc480ProgAa,
&TVEurgb60Hz480Prog_RVL, &TVNtsc480Prog,
&TVEurgb60Hz480ProgSoft_RVL, &TVNtsc480ProgSoft,
&TVEurgb60Hz480ProgAa_RVL, &TVNtsc480ProgAa,
0, 0};
static GXRModeObj *NTSC2PAL[] = {
&TVNtsc240Ds, &TVPal264Ds,
&TVNtsc240DsAa, &TVPal264DsAa,
&TVNtsc240Int, &TVPal264Int,
&TVNtsc240IntAa, &TVPal264IntAa,
&TVNtsc480Int, &TVPal528Int,
&TVNtsc240Ds, &TVPal264Ds_RVL,
&TVNtsc240DsAa, &TVPal264DsAa_RVL,
&TVNtsc240Int, &TVPal264Int_RVL,
&TVNtsc240IntAa, &TVPal264IntAa_RVL,
&TVNtsc480Int, &TVPal528Int_RVL,
&TVNtsc480IntAa, &TVPal524IntAa_RVL,
&TVNtsc480IntDf, &TVPal528IntDf_RVL,
&TVNtsc480IntAa, &TVPal524IntAa,
&TVNtsc480Prog, &TVPal528Prog_RVL,
&TVNtsc480ProgSoft, &TVPal528ProgSoft_RVL,
&TVNtsc480ProgAa, &TVPal524ProgAa_RVL,
0, 0};
static GXRModeObj *NTSC2PAL60[] = {
@ -1282,9 +1775,11 @@ static GXRModeObj *NTSC2PAL60[] = {
&TVNtsc240Int, &TVEurgb60Hz240Int,
&TVNtsc240IntAa, &TVEurgb60Hz240IntAa,
&TVNtsc480Int, &TVEurgb60Hz480Int,
&TVNtsc480IntDf, &TVEurgb60Hz480IntDf,
&TVNtsc480IntAa, &TVEurgb60Hz480IntAa,
&TVNtsc480Prog, &TVEurgb60Hz480Prog,
&TVNtsc480IntDf, &TVEurgb60Hz480IntDf,
&TVNtsc480Prog, &TVEurgb60Hz480Prog_RVL,
&TVNtsc480ProgSoft, &TVEurgb60Hz480ProgSoft_RVL,
&TVNtsc480ProgAa, &TVEurgb60Hz480ProgAa_RVL,
0, 0};
static u8 PATTERN[12][2] = {