Sharper frames
2026-10-24, the frame scaler.

One button of the ATI build's main menu through each filter, all blown up to the same size: nearest and scale2x at 2×, crt at 3×, smooth at 2×.
The ATI and S3 builds draw their textured scene in software at 640 × 480 (see the previous entry), so the picture cannot gain detail. What a wrapper can still do is scale it well. Until now ddraw.dll stretched the frame with Windows' own StretchDIBits, which is either blocky at uneven sizes or soft.
Four filters
The new scalers crate scales the finished frame on the CPU to a whole multiple of its size, and the result is drawn pixel for pixel, centred in the window. DDRAW_FILTER chooses:
nearest, the default: the largest whole multiple that fits, each pixel a sharp square block. At a whole multiple, nothing is lost or invented.scale2x: Scale2x, also called EPX. Where two neighbouring pixels that meet at a corner agree, the corner takes their colour. Stair steps on edges become diagonals and nothing is blurred; the letters of the menus come out rounder. It runs once per doubling, andnearestdoes the rest.crt:nearest, then a darker last row in each pixel (a scanline) and, from 3×, a faint red/green/blue column mask. It is a look chosen by eye, not a model of a measured monitor.smooth: Windows' halftone stretch, as before, for window sizes that are not a whole multiple.
The request was for an "xBR-style" filter. xBR and xBRZ are large pieces of code with many cases; Scale2x is the small classic of the same idea. Scale2x is what is here, and it is called by its own name.

The ATI build's main menu through crt at 3× (1920 × 1440), shown at 960 pixels wide; at this size the scanlines blend into a darker picture.
How it is known
- That the filters do what they say: measured, the crate's tests (whole blocks, flat areas kept, a diagonal edge rounded, the scanline darker), and the captures above from the ATI build in the emulated PC.
- That they look right in a race and in the S3 build: not checked yet; only the main menu was captured.
- How a 1997 monitor looked: not measured; the CRT filter is a look.
What is next
- A capture of a race through each filter, and the S3 build.
- The same DirectDraw and filters for
WINPOD.EXEandPODMMX.EXE.