mirror of
https://github.com/PCSX2/HardwareTests.git
synced 2026-01-31 01:15:17 +01:00
test(prog_field): Update to reflect more findings.
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
# Progressive Field
|
||||
|
||||
## Description
|
||||
Checks the behaviour of FIELD(in CSR) when the CMOD(in SMODE1)
|
||||
and VFP(in SYNCHV) bits are changed.
|
||||
Checks the behaviour of FIELD(in CSR) when the VFP(in SYNCHV) bits are changed.
|
||||
|
||||
## PCSX2 Behaviour
|
||||
PCSX2 would swap FIELD unconditionally, this caused some progressive games to
|
||||
@@ -16,20 +15,16 @@ This was later found to be incorrect behaviour.
|
||||
## Findings
|
||||
The original finding determined that when the video mode is set to progressive, FIELD is set.
|
||||
|
||||
|
||||
Turns out, the SMODE2 interlace bit has no control over FIELD behaviour.
|
||||
|
||||
The actual behaviour is determined by CMOD (bits 13 & 14 in SMODE1)
|
||||
and VFP (bottom bits in SYNCV)
|
||||
The actual behaviour is determined by VFP (bottom bits in SYNCV)
|
||||
|
||||

|
||||
|
||||
## Related PR(s) or Issue(s)
|
||||
https://github.com/PCSX2/pcsx2/pull/6256
|
||||
|
||||
https://github.com/PCSX2/pcsx2/pull/6342
|
||||
|
||||
## Expected Results
|
||||
|
||||
When testing CMOD 1, odd VFPs should say `FIELD IS CHANGING`
|
||||
|
||||
When testing CMOD 0, no matter the VFP, it should say `FIELD IS NOT CHANGING`
|
||||
When testing odd VFPs should say `FIELD IS CHANGING`, even VFPs should say `FIELD IS NOT CHANGING`
|
||||
|
||||
@@ -52,11 +52,6 @@ int main(void)
|
||||
// Enable VSYNC event
|
||||
GSCSR = 0x8;
|
||||
|
||||
printf("Checking FIELD when CMOD is set to 1\n");
|
||||
SMODE1 |= (1 << 13);
|
||||
test_gs_field();
|
||||
printf("Checking FIELD when CMOD is set to 0\n");
|
||||
SMODE1 &= ~(2 << 13);
|
||||
test_gs_field();
|
||||
|
||||
SleepThread();
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user