GP0(E1h) Draw Mode: Difference between revisions
| Revision as of 04:48, 23 October 2026 RemmyLee (Main page: drop the Hardware Tests lede) | 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) | ||
| Line 1: | Line 1: | ||
| + | --- | ||
| + | title: GP0(E1h) Draw Mode | ||
| + | type: test | ||
| + | summary: Checks which bits of GP0(E1h) reach GPUSTAT and how textured polygons change them. | ||
| + | category: Hardware tests | ||
| + | info: Machine = SCPH-5501 | ||
| + | info: Program = gpu/gp0-e1 (ps1-tests) | ||
| + | --- | ||
| + | |||
| + | ## Overview | ||
| + | |||
| + | The program writes zeros and ones to the [draw mode command GP0(E1h)](/hardware/gpu/gp0-environment/) and reads the result in [GPUSTAT](/hardware/gpu/gpustat/). It then draws textured polygons, whose texpage attribute also sets the draw mode, and checks the texture disable bit with GP1(09h) allowing and forbidding it.[^src] | ||
| + | |||
| + | ## Results | ||
| + | |||
| + | The SCPH-5501 passed all 10 checks in every run.[^run] | ||
| + | |||
| + | Table: GP0(E1h) checks | ||
| + | |||
| + | | Check | Result | | ||
| + | | --- | --- | | ||
| + | | Write zeros to E1h | pass | | ||
| + | | Write ones to E1h | pass | | ||
| + | | Write ones with texture disable | pass | | ||
| + | | Textured polygons set the texpage bits | pass | | ||
| + | | Textured polygons with texture disable | pass | | ||
| + | | Textured polygons leave the other bits alone | pass | | ||
| + | | Texture disable bit ignored when not allowed | pass | | ||
| + | | Texture disable bit written when allowed | pass | | ||
| + | | Clearing the allow bit keeps the disable bit | pass | | ||
| + | | Clearing the allow bit clears the disable bit after a write | pass | | ||
| + | |||
| + | ## Runs | ||
| + | |||
| + | ### 25 September 2026 | ||
| + | |||
| + | [13GE1.txt](/tests/raw/20260925T0000Z-5501a-card-main/main/13GE1.txt) | ||
| + | |||
| + | ``` | ||
| + | ===== 13 GE1 GPU GP0 E1 | BIOS 19951204 System ROM Version 3.0 11/18/96 A | ||
| + | |||
| + | gpu/gp0-e1 | ||
| + | pass - testWriteZerosToE1 | ||
| + | pass - testWriteOnesToE1 | ||
| + | pass - testWriteOnesToE1WithTextureDisable | ||
| + | pass - testTexturedPolygons | ||
| + | pass - testTexturedPolygonsTextureDisable | ||
| + | pass - testTexturedPolygonsDoesNotChangeOtherBits | ||
| + | pass - testTextureDisableBitIsIgnoredWhenNotAllowed | ||
| + | pass - testTextureDisableBitIsWrittenWhenAllowed | ||
| + | pass - testUnsetAllowTextureDisablePreservesBit | ||
| + | pass - testUnsetAllowTextureDisableClearsBitAfterWrite | ||
| + | Done. | ||
| + | ``` | ||
| + | |||
| + | ### 27 September 2026 | ||
| + | |||
| + | [13GE1.txt](/tests/raw/20260927T0000Z-5501a-card-2/main/s025/13GE1.txt) | ||
| + | |||
| + | ``` | ||
| + | ===== 13 GE1 GPU GP0 E1 | BIOS 19951204 System ROM Version 3.0 11/18/96 A | ||
| + | |||
| + | gpu/gp0-e1 | ||
| + | pass - testWriteZerosToE1 | ||
| + | pass - testWriteOnesToE1 | ||
| + | pass - testWriteOnesToE1WithTextureDisable | ||
| + | pass - testTexturedPolygons | ||
| + | pass - testTexturedPolygonsTextureDisable | ||
| + | pass - testTexturedPolygonsDoesNotChangeOtherBits | ||
| + | pass - testTextureDisableBitIsIgnoredWhenNotAllowed | ||
| + | pass - testTextureDisableBitIsWrittenWhenAllowed | ||
| + | pass - testUnsetAllowTextureDisablePreservesBit | ||
| + | pass - testUnsetAllowTextureDisableClearsBitAfterWrite | ||
| + | Done. | ||
| + | ``` | ||
| + | |||
| + | ### 27 September 2026 run 2 | ||
| + | |||
| + | [13GE1.txt](/tests/raw/20260927T0000Z-5501a-card-b/main/s035/13GE1.txt) | ||
| + | |||
| + | ``` | ||
| + | ===== 13 GE1 GPU GP0 E1 | BIOS 19951204 System ROM Version 3.0 11/18/96 A | ||
| + | |||
| + | gpu/gp0-e1 | ||
| + | pass - testWriteZerosToE1 | ||
| + | pass - testWriteOnesToE1 | ||
| + | pass - testWriteOnesToE1WithTextureDisable | ||
| + | pass - testTexturedPolygons | ||
| + | pass - testTexturedPolygonsTextureDisable | ||
| + | pass - testTexturedPolygonsDoesNotChangeOtherBits | ||
| + | pass - testTextureDisableBitIsIgnoredWhenNotAllowed | ||
| + | pass - testTextureDisableBitIsWrittenWhenAllowed | ||
| + | pass - testUnsetAllowTextureDisablePreservesBit | ||
| + | pass - testUnsetAllowTextureDisableClearsBitAfterWrite | ||
| + | Done. | ||
| + | ``` | ||
| + | |||
| + | ### 27 September 2026 run 3 | ||
| + | |||
| + | [13GE1.txt](/tests/raw/20260927T0000Z-5501a-card-g/main/13GE1.txt) | ||
| + | |||
| + | ``` | ||
| + | ===== 13 GE1 GPU GP0 E1 | BIOS 19951204 System ROM Version 3.0 11/18/96 A | ||
| + | |||
| + | gpu/gp0-e1 | ||
| + | pass - testWriteZerosToE1 | ||
| + | pass - testWriteOnesToE1 | ||
| + | pass - testWriteOnesToE1WithTextureDisable | ||
| + | pass - testTexturedPolygons | ||
| + | pass - testTexturedPolygonsTextureDisable | ||
| + | pass - testTexturedPolygonsDoesNotChangeOtherBits | ||
| + | pass - testTextureDisableBitIsIgnoredWhenNotAllowed | ||
| + | pass - testTextureDisableBitIsWrittenWhenAllowed | ||
| + | pass - testUnsetAllowTextureDisablePreservesBit | ||
| + | pass - testUnsetAllowTextureDisableClearsBitAfterWrite | ||
| + | Done. | ||
| + | ``` | ||
| + | |||
| + | ### 27 September 2026 run 4 | ||
| + | |||
| + | [13GE1.txt](/tests/raw/20260927T0000Z-5501a-card-g3/main/13GE1.txt) | ||
| + | |||
| + | ``` | ||
| + | ===== 13 GE1 GPU GP0 E1 | BIOS 19951204 System ROM Version 3.0 11/18/96 A | ||
| + | |||
| + | gpu/gp0-e1 | ||
| + | pass - testWriteZerosToE1 | ||
| + | pass - testWriteOnesToE1 | ||
| + | pass - testWriteOnesToE1WithTextureDisable | ||
| + | pass - testTexturedPolygons | ||
| + | pass - testTexturedPolygonsTextureDisable | ||
| + | pass - testTexturedPolygonsDoesNotChangeOtherBits | ||
| + | pass - testTextureDisableBitIsIgnoredWhenNotAllowed | ||
| + | pass - testTextureDisableBitIsWrittenWhenAllowed | ||
| + | pass - testUnsetAllowTextureDisablePreservesBit | ||
| + | pass - testUnsetAllowTextureDisableClearsBitAfterWrite | ||
| + | Done. | ||
| + | ``` | ||
| + | |||
| + | ### 28 September 2026 | ||
| + | |||
| + | [13GE1.txt](/tests/raw/20260928T0000Z-5501a-card-h/main/13GE1.txt) | ||
| + | |||
| + | ``` | ||
| + | ===== 13 GE1 GPU GP0 E1 | BIOS 19951204 System ROM Version 3.0 11/18/96 A | ||
| + | |||
| + | gpu/gp0-e1 | ||
| + | pass - testWriteZerosToE1 | ||
| + | pass - testWriteOnesToE1 | ||
| + | pass - testWriteOnesToE1WithTextureDisable | ||
| + | pass - testTexturedPolygons | ||
| + | pass - testTexturedPolygonsTextureDisable | ||
| + | pass - testTexturedPolygonsDoesNotChangeOtherBits | ||
| + | pass - testTextureDisableBitIsIgnoredWhenNotAllowed | ||
| + | pass - testTextureDisableBitIsWrittenWhenAllowed | ||
| + | pass - testUnsetAllowTextureDisablePreservesBit | ||
| + | pass - testUnsetAllowTextureDisableClearsBitAfterWrite | ||
| + | Done. | ||
| + | ``` | ||
| + | |||
| + | ## References | ||
| + | |||
| + | [^src]: ps1-tests, gpu/gp0-e1. https://github.com/JaCzekanski/ps1-tests. | ||
| + | [^run]: SCPH-5501 output: [main/13GE1.txt](/tests/raw/20260925T0000Z-5501a-card-main/main/13GE1.txt) and the files beside it, with the other runs listed under Runs. | ||