HARDWARE ManualVDP1 User's Manual
BackForward
VDP1 User's Manual / Chapter 4 System Registers

■ 4.2 Frame buffer switching mode register

The frame buffer change register (FBCR) controls the drawing and display switching of the frame buffer and the drawing of the double-dense interlace. A write-only 16-bit register located at address 100002H. After turning on the power or resetting, the value will be undefined, so be sure to set the switching mode. Set the unused bit to 0.

 FBCR
100002H
(W)
 bit15
 bit14
 bit13
 bit12
 bit11
 bit10
 bit9
 bit8
 bit7
 bit6
 bit5
 bit4
 bit3
 bit2
 bit1
 bit0
0 0 0 0 0 0 0 0 0 0 0 EOS DIE DIL FCM FCT

Frame buffer change mode bits: frame buffer change mode (FCM), bit1
Frame buffer change trigger bit: frame buffer change trigger (FCT), bit0

 VBE
 FCM
 FCT
 Switching mode
 Switching time
 0
 0
 0
 1 cycle mode
 Change every 1/60 second
 0
 0
 1
 Setting prohibited
 0
 1
 0
 Manual mode (erase)
 Erase in the next field
 0
 1
 1
 Manual mode (change)
 Change in the next field
 1
 0
 0
 Setting prohibited
 1
 0
 1
 Setting prohibited
 1
 1
 0
 Setting prohibited
 1
 1
 1
 Manual mode (erase & change)
 Erase with V blank,
Change in the next field

1 cycle mode

Erase (manual mode)

Change (manual mode)

Erase & Change (Manual Mode)

● Sequence when using erase & change

  1. Set VBE = 0, FCM = 1, FCT = 1.

  2. Wait for the end of processing such as CPU without setting TV mode selection and FB switching mode.

  3. If CPU processing is completed by the H blank IN interrupt (224th line when displaying 224 lines, 240th line when displaying 240 lines) immediately before V blank, VBE = 1, FCM = 1, FCT = 1 ( Erase & Change) is set. Set the erase and change immediately after the V blank IN interrupt.

  4. After the V-blank IN interrupt is complete, V-blank erase will begin.

  5. At the end of the V blank, the erase light is interrupted and the frame is changed.

  6. If the erase light is not completed, erase the unerased part with polygons.

  7. Immediately after the V blank OUT interrupt, return VBE to 0 and stop the V blank erase.

  8. Return to (2).

● Usage example
The following is an example of using the framebuffer switching mode.

Table 4.3 (a) Example of using frame buffer switching mode (fixed to VBE = 0)
 Set value * 1
 * 2
Framebuffer 0
 * 2
Framebuffer 1
 Frame buffer switching mode
 Switching time
 FCM
 FCT
 0
 0
 drawing
 Display + erase light
 1 cycle mode
 60 frames / sec
 Display + erase light
 drawing
 drawing
 Display + erase light
 Display + erase light
 drawing
 1
 1
 drawing
 Display + erase light
 Manual mode (change) * 3
 display
 drawing
 20 frames / sec
 1
 0
 display
 drawing
 Manual mode (erase) * 4
 1
 1
 Display + erase light
 drawing
 Manual mode (change) * 4
 drawing
 display
 1
 0
 drawing
 display
 Manual mode (erase) * 5
 0
 0
 drawing
 Display + erase light
 1 cycle mode
 Display + erase light
 drawing
 60 frames / sec
 drawing
 Display + erase light

[note]
* 1 V Blank OUT This is the value to be written to the register immediately after the interrupt.
* 2 Switches from the beginning of the field
* 3 Change to switch from 1 cycle mode to manual mode.
* 4 Please be sure to specify erase and change in succession.
* 5 Specify erase in the field immediately before switching to 1-cycle mode.

Table 4.3 (b) Example of using frame buffer switching mode (using VBE)

Dense interlace enable bits: double interlace enable (DIE), bit3
Double-density interlaced drawing line: double interlace plot line (DIL) , bit2

 DIE
 DIL
 Interlaced mode
 Drawing after the next frame change
 0
 0
 Non-interlaced /
Monodense interlacing
 All line drawing
 0
 1
 Setting prohibited
 1
 0
 Dense interlace
 Draw only even (EVEN) lines
 1
 1
 Dense interlace
 Draw only odd (ODD) lines

Figure 4.1 Display of single-dense interlace and double-dense interlace
● Display of single-dense interlace ● Display of double-dense interlace 
┌────────┐ ┌────────┐ 
│ 0 line ├────────┐ │ 0 line ├────────┐
├────────┤ 0 line │ ├────────┤ 1 line │
│ 1 line ├────────┤ │ 2 lines ├────────┤
├────────┤ 1 line │ ├────────┤ 3 lines │
│ 2 lines ├────────┤ │ 4 lines ├────────┤
├────────┤ 2 lines │ ├────────┤ 5 lines │
│ 3 lines ├────────┤ │ 6 lines ├────────┤
└────────┤ 3 lines │ └────────┤ 7 lines │
└────────┘ └────────┘
・ It looks like 256 lines vertically ・ It looks like 512 lines vertically 
・ Frame change every 1/60 second ・ Even number in each frame buffer 
Draw the same twice or draw only (or odd) lines 
Frame change every 1/30 second 
(Instructed by the CPU using a 1/60 second signal) 

Even / odd coordinate selection bit: even / odd coordinate select bit ( EOS), bit4

 EOS
 Even / odd coordinate selection bits
 0
 Sampling only even-coordinated pixels
 1
 Sampling only odd-numbered pixels


BackForward
HARDWARE ManualVDP1 User's Manual
Copyright SEGA ENTERPRISES, LTD., 1997