The NTSC 2600's pixel aspect ratio is x:y ≈ 5:3, i.e. 1 scanline height ≈ 0.6 color clocks. The following trajectory scaling factors account for the pixel aspect ratio and a given trajectory angle: .--------------------.----------------. | delta y | delta x | | (scanline heights) | (color clocks) | | .--------------+--------------------+----------------+ | Vertical | 1 | - | +--------------+--------------------+----------------+ | Horizontal | - | 0.6 | +--------------+--------------------+----------------+ | 45° Diagonal | 1/√2 | 0.6/√2 | '--------------'--------------------'----------------' In order to make use of the collision registers we'd like to cap visible player movement in a single frame to one scanline height vertically and one color clock horizontally. We've chosen to have six evenly spaced sailboats speeds, ranging from 0 to a maximum of 1 unit distance. The following summaries precalculate the binary scalings of the x and y deltas corresponding to each speed and trajectory angle combination. N.B. Binary scaled $0100 = 1 unit distance = 1 scanline height. Vertical Trajectory Summary --------------------------- .---------------------------------------. | delta y (in scanline heights) | .-----------------+-------+-------+-------+-------+-------+ | speed rating | 1 | 2 | 3 | 4 | 5 | +-----------------+-------+-------+-------+-------+-------+ | #unit distances | 1/5 | 2/5 | 3/5 | 4/5 | 1 | +=================+=======+=======+=======+=======+=======+ | x1 scaling | 0.20 | 0.40 | 0.60 | 0.80 | 1 | +-----------------+-------+-------+-------+-------+-------+ | binary scaling | 51.2 | 102.4 | 153.6 | 204.8 | 256 | +-----------------+-------+-------+-------+-------+-------+ | subpixel byte | $33 | $66 | $99 | $cc | $00 | '-----------------'-------'-------'-------'-------'-------' Horizontal Trajectory Summary ----------------------------- .---------------------------------------. | delta x (in color clocks) | .-----------------+-------+-------+-------+-------+-------+ | speed rating | 1 | 2 | 3 | 4 | 5 | +-----------------+-------+-------+-------+-------+-------+ | #unit distances | 1/5 | 2/5 | 3/5 | 4/5 | 1 | +=================+=======+=======+=======+=======+=======+ | x0.6 scaling | 0.12 | 0.24 | 0.36 | 0.48 | 0.6 | +-----------------+-------+-------+-------+-------+-------+ | binary scaling | 30.7 | 61.4 | 92.1 | 122.8 | 153.6 | +-----------------+-------+-------+-------+-------+-------+ | subpixel byte | $1e | $3d | $5c | $7a | $99 | '-----------------'-------'-------'-------'-------'-------' 45° Diagonal Trajectory Summary ------------------------------- .---------------------------------------. | delta x (in color clocks) | .-----------------+-------+-------+-------+-------+-------+ | speed rating | 1 | 2 | 3 | 4 | 5 | +-----------------+-------+-------+-------+-------+-------+ | #unit distances | 1/5 | 2/5 | 3/5 | 4/5 | 1 | +=================+=======+=======+=======+=======+=======+ | x0.6/√2 scaling | 0.084 | 0.169 | 0.254 | 0.339 | 0.424 | +-----------------+-------+-------+-------+-------+-------+ | binary scaling | 21.72 | 43.44 | 65.16 | 86.88 | 108.6 | +-----------------+-------+-------+-------+-------+-------+ | subpixel byte | $15 | $2b | $41 | $56 | $6c | '-----------------'-------'-------'-------'-------'-------' .---------------------------------------. | delta y (in scanline heights) | .-----------------+-------+-------+-------+-------+-------+ | speed rating | 1 | 2 | 3 | 4 | 5 | +-----------------+-------+-------+-------+-------+-------+ | #unit distances | 1/5 | 2/5 | 3/5 | 4/5 | 1 | +=================+=======+=======+=======+=======+=======+ | x1/√2 scaling | 0.141 | 0.282 | 0.424 | 0.565 | 0.707 | +-----------------+-------+-------+-------+-------+-------+ | binary scaling | 36.20 | 72.40 | 108.6 | 144.8 | 181.0 | +-----------------+-------+-------+-------+-------+-------+ | subpixel byte | $24 | $48 | $6c | $90 | $b5 | '-----------------'-------'-------'-------'-------'-------'