Skip to content

Commit 8892e26

Browse files
committed
test(prog_field): Update to reflect more findings.
1 parent 883437d commit 8892e26

File tree

3 files changed

+4
-14
lines changed

3 files changed

+4
-14
lines changed

progressive_field/README.md

+4-9
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
# Progressive Field
22

33
## Description
4-
Checks the behaviour of FIELD(in CSR) when the CMOD(in SMODE1)
5-
and VFP(in SYNCHV) bits are changed.
4+
Checks the behaviour of FIELD(in CSR) when the VFP(in SYNCHV) bits are changed.
65

76
## PCSX2 Behaviour
87
PCSX2 would swap FIELD unconditionally, this caused some progressive games to
@@ -16,20 +15,16 @@ This was later found to be incorrect behaviour.
1615
## Findings
1716
The original finding determined that when the video mode is set to progressive, FIELD is set.
1817

19-
2018
Turns out, the SMODE2 interlace bit has no control over FIELD behaviour.
2119

22-
The actual behaviour is determined by CMOD (bits 13 & 14 in SMODE1)
23-
and VFP (bottom bits in SYNCV)
20+
The actual behaviour is determined by VFP (bottom bits in SYNCV)
2421

25-
![img](https://i.imgur.com/dsFYHm5.jpg)
2622

2723
## Related PR(s) or Issue(s)
2824
https://github.com/PCSX2/pcsx2/pull/6256
2925

3026
https://github.com/PCSX2/pcsx2/pull/6342
31-
## Expected Results
3227

33-
When testing CMOD 1, odd VFPs should say `FIELD IS CHANGING`
28+
## Expected Results
3429

35-
When testing CMOD 0, no matter the VFP, it should say `FIELD IS NOT CHANGING`
30+
When testing odd VFPs should say `FIELD IS CHANGING`, even VFPs should say `FIELD IS NOT CHANGING`

progressive_field/prog_field.c

-5
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,6 @@ int main(void)
5252
// Enable VSYNC event
5353
GSCSR = 0x8;
5454

55-
printf("Checking FIELD when CMOD is set to 1\n");
56-
SMODE1 |= (1 << 13);
57-
test_gs_field();
58-
printf("Checking FIELD when CMOD is set to 0\n");
59-
SMODE1 &= ~(2 << 13);
6055
test_gs_field();
6156

6257
SleepThread();

progressive_field/prog_field.elf

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)