Home | Forums | What's new | Resources | |
VDP1 manual errata |
fafling - Apr 9, 2020 |
mrkotfw | Apr 9, 2020 | |||
Thank you for this. Curious, how were the errors regarding the frame erase/change found? |
fafling | Apr 9, 2020 | |||
Explanations in the same order as the table : p. 39 : incoherent with tables on p. 38 and 41. p. 40 : erase/write during the display period is possible for frame buffer of type normal or high resolution and doesn't depend on interlacing as explained on p. 49. Erase & change is V-blank erase, so it only erases during V-blank, not during the display period. To do that, you have to alternate between erase setting then change setting as illustrated in table p. 41. p. 40 : setting VBE to 0 after V-blank OUT doesn't stop V-blank erase, it's already stopped by the beginning of the display period. But if it remains at 1, V-blank erase will start again when the display period ends as explained in the paragraph "Erase & Change (Manual Mode)" on the same page. p. 46 : Sega failing to explain why Erase/write is called that way. VDP1 controls 2 frame buffer buses as can be seen on the service manual of the console : one bus writes on the draw frame buffer, while the other reads and optionally erases the display frame buffer. The result of that read is streamed to VDP2, in sync with the display, via the VDP1/VDP2 communication channel also visible in the service manual. This hardware configuration also explains why it is VDP1 that performs the affine transformation of the display frame buffer if specified on VDP2 and if the frame buffer is of type rotation 8 or 16 : VDP2 has no bus that connects to VDP1 frame buffers. VDP2 sends the transformation parameters via the communication channel, and VPD1 reads the display framebuffer accordingly. In that case, the read is no longer sequential and probably slower, explaining why VDP1 can't erase a frame buffer of type rotation during the display period, only during V-blank. |
mrkotfw | Apr 11, 2020 | |||
pg. 39 where it says "Set the value of the VBE and FCT bits to "0.", it should be "Set the value of the VBE, FCM, and FCT bits to "0." |
mrkotfw | Apr 11, 2020 | |||
Shouldn't the correction on pg. 40 where it's written: "If the timing for frame change is known in advance in normal or high resolution screen modes, specify erase then change and perform erase/write during the display period. In this case, erase/write of the entire display screen is possible." Shouldn't that be erase & change? What it's saying is to specify erase & change at VBLANK, then at VBLANK-OUT, specify just erase/write. |
fafling | Apr 11, 2020 | |||
I add this to the errata :
Since Erase & Change setting only erases the display frame buffer during v-blank, it will not always erase the whole display area of the frame buffer (although it is possible for an rotation 8 framebuffer). Only the 1-Cycle Mode or Erase settings guarantee the complete erasure of the display area of non rotation frame buffers, but Erase setting has to be set 2 frames before the frame buffer switch. |
fafling | Aug 28, 2020 | |||
Added TVMR register misspelled as TVHR on p. 23 and 58. |
fafling | Oct 17, 2021 | |||
VDP1 and VDP2 manuals with fixes : Sega Saturn Technicals Docs Fixed... |