 |
PicoVGA
1.0-cmake
VGA/TV display on Raspberry Pico
|
Go to the documentation of this file.
28 #define VIDEO_NAME_LEN 5
275 void Video(u8 dev, u8 res, u8 form, u8* buf,
const void* buf2 = FontBoldB8x16);
280 #endif // _VGA_VMODE_H
@ RES_HD
1280x960 (not for TV device)
Definition: vga_vmode.h:198
u16 htot
Total state machine clocks per line.
Definition: vga_vmode.h:140
float hsync
Horizontal sync pulse in [us].
Definition: vga_vmode.h:35
u16 vmax
Vertical maximal height.
Definition: vga_vmode.h:41
u16 wfull
Width of full screen, corresponding to 'hfull' time (0=use 'width' parameter)
Definition: vga_vmode.h:107
bool odd
First sub-frame is odd lines 1, 3, 5,... (PAL)
Definition: vga_vmode.h:177
@ FORM_TILE32
32x32 tiles
Definition: vga_vmode.h:212
u16 vpre2
V sync pre half-pulses on subframe 2.
Definition: vga_vmode.h:166
@ RES_QVGA
320x240
Definition: vga_vmode.h:193
u16 vpost1
V sync post half-pulses on subframe 1.
Definition: vga_vmode.h:45
@ RES_EGA
512x400
Definition: vga_vmode.h:194
void VgaPrintCfg(const sVmode *vmode)
Debug print videomode setup.
Definition: vga_vmode.cpp:485
bool lockfreq
Lock current frequency, do not change it.
Definition: vga_vmode.h:173
@ FORM_RLE
images with RLE compression (on overlapped layer 1)
Definition: vga_vmode.h:219
const char * name
Video timing name (VIDEO_NAME_LEN characters + terminating 0)
Definition: vga_vmode.h:170
@ DEV_VGA
VGA monitor.
Definition: vga_vmode.h:184
u8 pd1
postdiv1
Definition: vga_vmode.h:130
Video timings structure.
Definition: vga_vmode.h:31
u16 vpost1
V sync post (half-)pulses on subframe 1.
Definition: vga_vmode.h:153
u16 vsync1
V sync (half-)pulses on subframe 1.
Definition: vga_vmode.h:152
u32 freq
system clock frequency in kHz
Definition: vga_vmode.h:127
u16 vfront2
V front porch (after image, before VSYNC) on subframe 2.
Definition: vga_vmode.h:165
@ FORM_TILE16
16x16 tiles
Definition: vga_vmode.h:210
u16 vact2
active visible scanlines, subframe 2
Definition: vga_vmode.h:164
bool psync
Positive synchronization.
Definition: vga_vmode.h:176
u32 vco
VCO frequency in kHz.
Definition: vga_vmode.h:128
u16 vfirst1
first active scanline, subframe 1
Definition: vga_vmode.h:158
u16 vpost2
V sync post half-pulses on subframe 2.
Definition: vga_vmode.h:162
float hback
Horizontal back porch (after HSYNC, before image) in [us].
Definition: vga_vmode.h:36
@ DEV_PAL
PAL TV.
Definition: vga_vmode.h:182
u32 fmax
Maximal system frequency in kHz (limit resolution if needed)
Definition: vga_vmode.h:110
@ FORM_MONO
1-bit pixel graphics
Definition: vga_vmode.h:207
u16 vact2
active visible scanlines, subframe 2
Definition: vga_vmode.h:55
u16 vfront1
V front porch (after image, before VSYNC) on subframe 1.
Definition: vga_vmode.h:156
@ FORM_TILE64
64x64 tiles
Definition: vga_vmode.h:214
u16 vfront2
V front porch (after image, before VSYNC) on subframe 2.
Definition: vga_vmode.h:56
const char * name
video timing name (VIDEO_NAME_LEN characters + terminating 0)
Definition: vga_vmode.h:60
u16 div
PIO divide base state machine clock.
Definition: vga_vmode.h:134
void VgaCfg(const sVgaCfg *cfg, sVmode *vmode)
Calculate the structure for setting up the video mode.
Definition: vga_vmode.cpp:502
u16 vfirst2
first active scanline, subframe 2
Definition: vga_vmode.h:167
u16 vpre1
V sync pre half-pulses on subframe 1.
Definition: vga_vmode.h:49
void Video(u8 dev, u8 res, u8 form, u8 *buf, const void *buf2=FontBoldB8x16)
Simplified initialization of the video mode.
Definition: vga_vmode.cpp:770
void VgaCfgDef(sVgaCfg *cfg)
Initialize configuration structure to VGA defaults.
Definition: vga_vmode.cpp:468
u16 vmax
Maximal height.
Definition: vga_vmode.h:148
u16 vpre2
V sync pre half-pulses on subframe 2.
Definition: vga_vmode.h:57
@ FORM_MTEXT8
mono text with font 8x8
Definition: vga_vmode.h:215
u16 vback1
V back porch (after VSYNC, before image) on subframe 1.
Definition: vga_vmode.h:46
u16 vback2
V back porch (after VSYNC, before image) on subframe 2.
Definition: vga_vmode.h:163
u16 vfront1
V front porch (after image, before VSYNC) on subframe 1.
Definition: vga_vmode.h:48
bool odd
first sub-frame is odd lines 1, 3, 5,... (PAL)
Definition: vga_vmode.h:65
@ FORM_TEXT16
attribute text with font 8x16
Definition: vga_vmode.h:218
u16 height
Height in lines.
Definition: vga_vmode.h:106
const sVideo VideoNTSC
TV NTSC interlaced 4:3 640x480 (5:4 600x480, 16:9 848x480)
Definition: vga_vmode.cpp:161
@ RES_SVGA
800x600 (not for TV device)
Definition: vga_vmode.h:196
@ DEV_NTSC
NTSC TV.
Definition: vga_vmode.h:183
@ RES_CGA
320x200
Definition: vga_vmode.h:192
@ RES_XGA
1024x768 (not for TV device)
Definition: vga_vmode.h:197
const sVideo VideoXGA
XGA 4:3 1024x768 (16:9 1360x768), vert. 60 Hz, hor. 48.36310 kHz, pixel clock 65 MHz.
Definition: vga_vmode.cpp:353
u16 vsync2
V sync half-pulses on subframe 2.
Definition: vga_vmode.h:52
const sVideo VideoVGA
VGA 4:3 640x480 (16:9 848x480), vert. 60 Hz, hor. 31.4685 kHz, pixel clock 25.175 MHz.
Definition: vga_vmode.cpp:277
@ FORM_TILE48
48x48 tiles
Definition: vga_vmode.h:213
const sVideo VideoPALp
TV PAL progressive 5:4 360x288 (4:3 384x288, 16:9 512x288)
Definition: vga_vmode.cpp:120
const sVideo VideoEGA
EGA 8:5 640x400 (5:4 500x400, 4:3 528x400, 16:9 704x400), vert. 70 Hz, hor. 31.4685 kHz,...
Definition: vga_vmode.cpp:239
@ FORM_4BIT
4-bit pixel graphics (up to SVGA graphics)
Definition: vga_vmode.h:206
u16 wfull
Screen width of full screen (corresponding to 'hfull' time)
Definition: vga_vmode.h:123
bool inter
Interlaced (use sub-frames)
Definition: vga_vmode.h:175
u16 vsync2
V sync half-pulses on subframe 2.
Definition: vga_vmode.h:161
float htot
Horizontal total scanline in [us].
Definition: vga_vmode.h:33
bool psync
positive synchronization
Definition: vga_vmode.h:64
u16 width
Screen width in pixels.
Definition: vga_vmode.h:121
u16 vact1
active visible scanlines, subframe 1
Definition: vga_vmode.h:155
u16 Pal16Trans[256]
16-color palette translation table
Definition: vga_vmode.cpp:19
u8 pd2
postdiv2
Definition: vga_vmode.h:131
u16 hback
H back porch in state machine clocks (min. 13)
Definition: vga_vmode.h:143
sVmode Vmode
Videomode setup.
Definition: vga_vmode.cpp:14
@ FORM_TILE8
8x8 tiles
Definition: vga_vmode.h:208
u16 cpp
State machine clocks per pixel.
Definition: vga_vmode.h:135
const sVideo VideoSVGA
SVGA 4:3 800x600 (16:9 1064x600), vert. 60 Hz, hor. 37.897 kHz, pixel clock 40 MHz.
Definition: vga_vmode.cpp:315
u16 vtot
Total scanlines (both sub-frames)
Definition: vga_vmode.h:147
u16 vback2
V back porch (after VSYNC, before image) on subframe 2.
Definition: vga_vmode.h:54
const sVideo VideoPAL
TV PAL interlaced 5:4 720x576 (4:3 768x576, 16:9 1024x576)
Definition: vga_vmode.cpp:82
const sVideo VideoHD
HD 4:3 1280x960, vert. 53 Hz, hor. 51.858 kHz, pixel clock 102.1 MHz.
Definition: vga_vmode.cpp:430
float vfreq
Vertical frequency in [Hz].
Definition: vga_vmode.h:149
u16 height
Screen height in lines.
Definition: vga_vmode.h:122
Canvas descriptor.
Definition: canvas.h:41
Required configuration to initialize VGA output.
Definition: vga_vmode.h:104
@ RES_VGA
640x480
Definition: vga_vmode.h:195
bool dbly
Double scanlines.
Definition: vga_vmode.h:174
u16 fbdiv
fbdiv PLL divider
Definition: vga_vmode.h:129
@ FORM_8BIT
8-bit pixel graphics (up to EGA resolution)
Definition: vga_vmode.h:205
u16 vtot
Vertical total scanlines (both subframes)
Definition: vga_vmode.h:40
u16 wmax
Screen maximal width (corresponding to 'hmax' time)
Definition: vga_vmode.h:124
@ FORM_TILE24
24x24 tiles
Definition: vga_vmode.h:211
@ RES_ZX
256x192
Definition: vga_vmode.h:191
u16 width
Width in pixels.
Definition: vga_vmode.h:105
@ FORM_TILE12
12x12 tiles
Definition: vga_vmode.h:209
u8 prog
Layer program LAYERPROG_*.
Definition: vga_vmode.h:136
bool lockfreq
Lock required frequency, do not change it.
Definition: vga_vmode.h:115
sCanvas Canvas
Canvas of draw box.
Definition: vga_vmode.cpp:16
@ FORM_MTEXT16
mono text with font 8x16
Definition: vga_vmode.h:216
const sVideo VideoVESA
VESA 4:3 1152x864, vert. 60 Hz, hor. 53.697 kHz, pixel clock 81.62 MHz.
Definition: vga_vmode.cpp:391
@ FORM_TEXT8
attribute text with font 8x8
Definition: vga_vmode.h:217
float hfront
Horizontal front porch (after image, before HSYNC) in [us].
Definition: vga_vmode.h:34
Videomode table - used to setup video driver.
Definition: vga_vmode.h:119
u16 vback1
V back porch (after VSYNC, before image) on subframe 1.
Definition: vga_vmode.h:154
u16 vact1
active visible scanlines, subframe 1
Definition: vga_vmode.h:47
u32 freq
Required minimal system frequency in kHz (real frequency can be higher)
Definition: vga_vmode.h:109
u16 vpost2
V sync post half-pulses on subframe 2.
Definition: vga_vmode.h:53
bool inter
interlaced (use subframes)
Definition: vga_vmode.h:63
const sVideo VideoNTSCp
TV NTSC progressive 4:3 320x240 (5:4 300x240, 16:9 424x240)
Definition: vga_vmode.cpp:199
u16 hsync
H sync pulse in state machine clocks (min. 4)
Definition: vga_vmode.h:142
sVgaCfg Cfg
Required configuration.
Definition: vga_vmode.cpp:15
float hfull
Horizontal full visible in [us] (corresponding to 'wfull' pixels)
Definition: vga_vmode.h:37
u16 vsync1
V sync (half-)pulses on subframe 1.
Definition: vga_vmode.h:44
const sVideo * video
Used video timings.
Definition: vga_vmode.h:108
u16 hfront
H front porch in state machine clocks (min. 2)
Definition: vga_vmode.h:141
u16 vpre1
V sync pre (half-)pulses on subframe 1.
Definition: vga_vmode.h:157
float hfreq
Horizontal frequency in [Hz].
Definition: vga_vmode.h:144