=> R1 = &50 (reason code)
R2 = mode number
R3 = monitor type or -1 for don't care
<= R1-R4 preserved to pass on else
<= R1 = 0 (to claim service)
R2 preserved
R3 = pointer to VIDC list
R4 = pointer to workspace list
This service is issued when a mode number that RISC OS does not provide is requested. Mode numbers are allocated by this scheme:
Mode Use
0-63 RISC OS
64-95 Third party applications (allocated centrally)
96-127 User defined modes
VIDC parameters may differ for the same mode depending on monitor type, but workspace parameters must be constant.
See PRM 1, page 620
VIDC list
VIDC list format 0:
Size Value
4 0 (list format)
4 VIDC base mode (default for parameters not explicitly specified)
4 VIDC parameter
(repeat)
4 -1 (terminator)
VIDC list format 1 (A540 and later):
Size Value
4 1 (list format)
4 VIDC base mode (default for parameters not explicitly specified)
4 VIDC parameter
(repeat)
4 -1 (terminator)
4 extended parameter
(repeat)
4 -1 (terminator)
VIDC list format 3 (Risc PC and later):
Size Value
4 3 (list format)
4 log2bpp
4 H sync width (in pixels)
4 H back porch (in pixels)
4 H left border (in pixels)
4 H display size (in pixels)
4 H right border (in pixels)
4 H front porch (in pixels)
4 V sync width (in rasters)
4 V back porch (in rasters)
4 V top border (in rasters)
4 V display size (in rasters)
4 V bottom border (in rasters)
4 V front porch (in rasters)
4 Pixel rate (in kHz)
4 Sync polarity, set to invert (b0 = H, b1 = V, b2-31 reserved)
(then)
8 extended parameter
(repeat)
4 -1 (terminator)
VIDC extended parameters
VIDC extended paramters are encoded as (n << 24 OR value)
n value bit meaning when set default
0 pixel rate (kHz) 24MHz
1 sync polarity 0 HSync -ve (else +ve) +ve
1 VSync -ve (else +ve) +ve
2 VIDC clock rate (kHz)
VIDC workspace list
Size Value
4 0 (list format)
4 Workspace base mode
8 Mode variable index
Mode variable value
(repeat)
4 -1 (terminator)
|
|
|