psx.wiki

GTE Input Timing and I/O Load Pairs: Difference between revisions

Revision as of 05:11, 23 October 2026
RemmyLee
(Hardware tests: 72 more test pages, listed on the main page by area; RUN.toml no longer published)
Revision as of 05:49, 23 October 2026
RemmyLee
(Hardware tests: the last 15 test pages (timers, SPU, CPU, GPU, DMA, CD-ROM, GTE), See also links both ways; uncited clock claim removed)
Line 14:Line 14:
The GTE groups sweep each input of each [GTE](/hardware/gte/) command. In the "before" rows the input changes from its old value 00010002h to its new value 00030004h up to two NOPs before the command. In the "after" rows the command is issued with the old value in place and the new value is written zero to twelve NOPs after it. Every input is set again before each pass, and each row runs cold from RAM and then cached.[^runh]The GTE groups sweep each input of each [GTE](/hardware/gte/) command. In the "before" rows the input changes from its old value 00010002h to its new value 00030004h up to two NOPs before the command. In the "after" rows the command is issued with the old value in place and the new value is written zero to twelve NOPs after it. Every input is set again before each pass, and each row runs cold from RAM and then cached.[^runh]
+See also:
+
+- [GTE Register Writes and Expansion Reads](/tests/gte-register-writes-expansion-reads/)
+- [GTE Input Timing and CD-ROM Queries](/tests/gte-input-timing-cd-rom-queries/)
+
## Results## Results
### GTE Inputs### GTE Inputs
−The table gives, for each input whose old and new values lead to different results, how many NOPs must come between a write and the command for the command to use it. It also gives the latest write after the command that still reached it. A dagger (†) marks a row in which the cold and the cached runs differed, and the figure is then the latest gap at which either run took the write.[^runh]+The table gives, for each input whose old and new values lead to different results, how many NOPs must come between a write and the command for the command to use it. It also gives the latest write after the command that still reached it. A dagger (†) marks a row in which the cold and the cached runs differed, and the figure is then the latest gap at which either run took the write.[^runh] The "after" rows step in 1 to 8 NOPs, a different step for each input, so a figure is the last step tested that reached the command. For NCDT and NCCT the step after 0 was 8 NOPs, and for NCT it was 4. [GTE Lighting Input Latency](/tests/gte-latency/) steps NCT, NCCT and NCDT one NOP at a time, and there a write to VXY2 three NOPs after any of the three commands no longer reached it.[^runh]
Table: When each GTE command reads its inputsTable: When each GTE command reads its inputs
Line 44:Line 49:
| NCDS, NCCS | RGBC | 0 | 8 NOPs after † || NCDS, NCCS | RGBC | 0 | 8 NOPs after † |
| NCT | VXY2 | 0 | 4 NOPs after † || NCT | VXY2 | 0 | 4 NOPs after † |
−| NCDT, NCCT | VXY2 | 0 | at once |+| NCDT, NCCT | VXY2 | 0 | at once (next step 8 NOPs) |
| CC | RGBC | 0 | 2 NOPs after † || CC | RGBC | 0 | 2 NOPs after † |
| CC | IR1 | 2 † | || CC | IR1 | 2 † | |