|
pico9918-core 1.3.0
TMS9918A / F18A video display processor emulation in C99
|
the host's mutable vertical display parameters, as the end-of-frame geometry sees them More...
#include <pico9918_frame.h>
Data Fields | |
| int | displayPixels |
| vertical active lines of the host's mode (in) | |
| bool | interlaced |
| (in) | |
| uint8_t | vPixelScale |
| (in, and out when yScale > 1) | |
| uint16_t | vVirtualPixels |
| (in, and out when yScale > 1) | |
the host's mutable vertical display parameters, as the end-of-frame geometry sees them
FIELD WIDTHS ARE DELIBERATE and must not be widened for tidiness. They mirror the host's own declarations because the arithmetic below NARROWS through them: SCART NTSC in row-30 mode computes a negative border, which the uint32_t in pico9918_frame_geometry_t then converts to 4294967286. That conversion is the shipping behaviour and is pinned by the golden frame surface (geom-scart-ntsc-row30); a model using int throughout would compute -10, a value no device ever produces.
Ownership split, which is the whole reason this is in/out rather than in: displayPixels host-owned input - the mode's vertical active line count interlaced host-owned input - selects the scale the geometry runs at vPixelScale host-owned under interlace; REWRITTEN by the library when the vVirtualPixels build is progressive (yScale > 1). See pico9918_frame_geometry.
Definition at line 102 of file pico9918_frame.h.
| int pico9918_frame_display_t::displayPixels |
vertical active lines of the host's mode (in)
Definition at line 104 of file pico9918_frame.h.
| bool pico9918_frame_display_t::interlaced |
(in)
Definition at line 105 of file pico9918_frame.h.
| uint8_t pico9918_frame_display_t::vPixelScale |
(in, and out when yScale > 1)
Definition at line 106 of file pico9918_frame.h.
| uint16_t pico9918_frame_display_t::vVirtualPixels |
(in, and out when yScale > 1)
Definition at line 107 of file pico9918_frame.h.
Referenced by pico9918_frame_end().