Casio PV-1000/Video: Difference between revisions
(Created page with "The PV-1000's video timing divides a frame into 288 pixels horizontally by 262 scanlines. The pixel clock is the crystal divided by 4, or roughly 4.47MHz. This corresponds to an exact pixel aspect ratio of 48:35, or approximately 4:3. This makes the horizontal sync rate the quite-slow 15536Hz and the vertical sync rate the almost-normal 59.299Hz Of those 288 pixels, 224 contain actual video content. These 224 pixels are already significantly wider than the majority of c...") |
(adapt NESwiki video timing diagram) |
||
(One intermediate revision by the same user not shown) | |||
Line 3: | Line 3: | ||
Of those 288 pixels, 224 contain actual video content. These 224 pixels are already significantly wider than the majority of contemporary or even modern TVs can display. | Of those 288 pixels, 224 contain actual video content. These 224 pixels are already significantly wider than the majority of contemporary or even modern TVs can display. | ||
Of the 262 scanlines, 192 contain actual video content. This is significantly shorter than the majority of TVs display. The | Of the 262 scanlines, 192 contain actual video content. This is significantly shorter than the majority of TVs display. The ASIC draws a solid color of the programmers' choice for 26 scanlines each above and below. | ||
On | On the 192 active scanlines, the ASIC asserts /BUSREQ for 248 pixels so that the Z80 gets out of the way in time for the ASIC to drive the video, starting 32px before. | ||
[[File:Casio PV-1000 Video Timing (only).png|right|frame|A visualization of the tables to the left, starts with black for horizontal sync]] | |||
Rendering scanlines (n=244; 0-217 and 236-261): | |||
{| class="wikitable" | |||
! ■ !! name !! start !! duration !! notes | |||
|- | |||
| style="color:#000" | ■ || horizontal sync || 0 || 22 | |||
|- | |||
| style="color:#ff0" | ■ || colorburst || 22 || 14 | |||
|- | |||
| style="color:#333" | ■ || back porch, continued (black) || 36 || 16 | |||
|- | |||
| style="color:#0f0" | ■ || active ||rowspan=2| 52 ||rowspan=2| 224 || On scanlines 0-191, contents drawn according to fetches. | |||
|- | |||
| style="color:#080" | ■ || border || On scanlines 192-217 and 236-261, contents drawn according to border color register. | |||
|- | |||
| style="color:#333" | ■ || front porch (black) || 276 || 12 | |||
|} | |||
Post-render blanking scanlines (n=3; 218-220): | |||
{| class="wikitable" | |||
! ■ !! name !! start !! duration !! notes | |||
|- | |||
| style="color:#000" | ■ || horizontal sync || 0 || 22 | |||
|- | |||
| style="color:#ff0" | ■ || colorburst || 22 || 14 | |||
|- | |||
| style="color:#333" | ■ || blanking || 36 || 252 | |||
|} | |||
Vertical sync scanlines (n=3; 221-223): | |||
{| class="wikitable" | |||
! ■ !! name !! start !! duration !! notes | |||
|- | |||
| style="color:#000" | ■ || horizontal sync || 0 || 22 | |||
|- | |||
| style="color:#000" | ■ || vertical sync and colorburst (but colorburst ignored by component-to-chroma modulator) || 22 || 14 | |||
|- | |||
| style="color:#000" | ■ || vertical sync || 36 || 230 | |||
|- | |||
| style="color:#333" | ■ || vertical sync separator (black) || 266 || 22 | |||
|} | |||
Pre-render blanking scanlines (n=12; 224-235): | |||
{| class="wikitable" | |||
! ■ !! name !! start !! duration !! notes | |||
|- | |||
| style="color:#000" | ■ || horizontal sync || 0 || 22 | |||
|- | |||
| style="color:#ff0" | ■ || colorburst || 22 || 14 | |||
|- | |||
| style="color:#333" | ■ || blanking || 36 || 252 | |||
|} |
Latest revision as of 01:26, 24 May 2023
The PV-1000's video timing divides a frame into 288 pixels horizontally by 262 scanlines. The pixel clock is the crystal divided by 4, or roughly 4.47MHz. This corresponds to an exact pixel aspect ratio of 48:35, or approximately 4:3. This makes the horizontal sync rate the quite-slow 15536Hz and the vertical sync rate the almost-normal 59.299Hz
Of those 288 pixels, 224 contain actual video content. These 224 pixels are already significantly wider than the majority of contemporary or even modern TVs can display.
Of the 262 scanlines, 192 contain actual video content. This is significantly shorter than the majority of TVs display. The ASIC draws a solid color of the programmers' choice for 26 scanlines each above and below.
On the 192 active scanlines, the ASIC asserts /BUSREQ for 248 pixels so that the Z80 gets out of the way in time for the ASIC to drive the video, starting 32px before.
Rendering scanlines (n=244; 0-217 and 236-261):
■ | name | start | duration | notes |
---|---|---|---|---|
■ | horizontal sync | 0 | 22 | |
■ | colorburst | 22 | 14 | |
■ | back porch, continued (black) | 36 | 16 | |
■ | active | 52 | 224 | On scanlines 0-191, contents drawn according to fetches. |
■ | border | On scanlines 192-217 and 236-261, contents drawn according to border color register. | ||
■ | front porch (black) | 276 | 12 |
Post-render blanking scanlines (n=3; 218-220):
■ | name | start | duration | notes |
---|---|---|---|---|
■ | horizontal sync | 0 | 22 | |
■ | colorburst | 22 | 14 | |
■ | blanking | 36 | 252 |
Vertical sync scanlines (n=3; 221-223):
■ | name | start | duration | notes |
---|---|---|---|---|
■ | horizontal sync | 0 | 22 | |
■ | vertical sync and colorburst (but colorburst ignored by component-to-chroma modulator) | 22 | 14 | |
■ | vertical sync | 36 | 230 | |
■ | vertical sync separator (black) | 266 | 22 |
Pre-render blanking scanlines (n=12; 224-235):
■ | name | start | duration | notes |
---|---|---|---|---|
■ | horizontal sync | 0 | 22 | |
■ | colorburst | 22 | 14 | |
■ | blanking | 36 | 252 |