# Ch405 — authentic alpha-fan overlays (pre-fit gate) ## Objective Add the 53 chronological PSMT8 alpha-fan draws at capture indices 196494 through 198058 after the accepted 75-epoch Ch404 opaque composite. These are large translucent overlays using authentic `ZTE=1`, `GEQUAL`, `ZMSK=1`, and `PSMZ16S`: they test the accumulated depth buffer, blend on pass, and must not modify Z. ## RTL change - Carry architectural `TEST.ZTE` and `ZBUF.ZMSK` alongside each perspective fragment through `gs_stub` and `top_psmct32_raster_demo_bram` into the existing external LPDDR Z/color ROP. - Replace the de25 wrapper's former `ZTE=1/ZMSK=0` constants with those sidebands. - Increase the production async request FIFO from 4,096 to 16,384 entries. The alpha writer preserves exact destination order and can be slower than the unthrottled raster producer, so the fixture bounds each epoch to one triangle. Measured worst-triangle occupancy is 12,953 entries, leaving 3,431 entries of observed headroom. ## Fixture - `zsrt139c3`: 212 one-triangle alpha epochs, preserving all 212 triangles expanded from the 53 authentic fan draws. - `zsrt139c4`: Ch403 base + Ch404 detail tail + Ch405 alpha tail, 287 epochs. - Authentic TEST/ZBUF header words are restored in the accepted base fixtures; their geometry, colors, textures, palettes, and record counts are unchanged. - Host/testbench epoch ceilings rise from 128 to 512. ## Pre-fit evidence - The unbounded three-epoch diagnostic correctly failed closed at epoch 75: 169,213 request drops and FIFO high-water 4,096/4,096. It is retained only as the measurement that justified bounded bursts. - Worst-tail three-epoch test (empty Z): 43,680 fed/passed, zero drops, high-water 12,953/16,384, exact color and Z, PASS. - Checkerboard-Z test: 43,680 fed, 21,839 passed, zero drops, high-water 11,389/16,384, exact color, exact unchanged Z at all 307,200 pixels, PASS. - Full Ch404 baseline replay with authentic headers reached its exact accepted epoch-74 counts (667,279 fed / 351,074 passed) with zero drops before the intentionally unbounded diagnostic alpha epoch. - Host runner compiles cleanly; generated production assets total about 174 MiB. ## Status Ready for owner Quartus 26.1 GUI compile. Do not deploy the prior `28659ebf...` RBF as Ch405; the new RBF must contain the 16K request FIFO and TEST/ZMSK sidebands. After a timing/resource-clean fit, deploy and run `zsrt139c4`, then compare the board framebuffer byte-for-byte with RTL.