pico9918-core 1.3.0
TMS9918A / F18A video display processor emulation in C99
Loading...
Searching...
No Matches
pico9918_frame_display_t Struct Reference

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)
 

Detailed Description

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.

Field Documentation

◆ displayPixels

int pico9918_frame_display_t::displayPixels

vertical active lines of the host's mode (in)

Definition at line 104 of file pico9918_frame.h.

◆ interlaced

bool pico9918_frame_display_t::interlaced

(in)

Definition at line 105 of file pico9918_frame.h.

◆ vPixelScale

uint8_t pico9918_frame_display_t::vPixelScale

(in, and out when yScale > 1)

Definition at line 106 of file pico9918_frame.h.

◆ vVirtualPixels

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().


The documentation for this struct was generated from the following file: