Japanese
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 Mode Register (FBCR) controls switching between drawing and displaying the frame buffer and drawing double-dense interlacing. This is a 16-bit write-only register located at address 100002H. After the power is turned on or reset, the value becomes undefined, so be sure to set the switching mode. Set unused bits 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 bit: 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
 Changes every 1/60 seconds
 0
 0
 1
 Setting prohibited
 0
 1
 0
 Manual mode (erase)
 Erase in next field
 0
 1
 1
 Manual mode (change)
 Change in 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 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 CPU, etc. to finish processing without setting TV mode selection or FB switching mode.

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

  4. After the V blank IN interrupt ends, the V blank erase starts.

  5. At the end of the V blank, the erase write is interrupted and a frame change is performed.

  6. If the erase write is not completed, please erase the unerased area using polygons.

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

  8. Return to (2).

●Usage example
Here is an example using framebuffer switching mode.

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

[note]
*1 This is the value written to the register immediately after the V blank OUT interrupt.
*2 Switches from the beginning of the field
*3 changes switches from 1 cycle mode to manual mode
*4Erase and change must be specified consecutively.
*5 Please 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)

Double interlace enable bit: double interlace enable (DIE), bit3
Double interlace plot line: double interlace plot line(DIL), bit2

 D.I.E.
 DIL
 interlaced mode
 Drawing after next frame change
 0
 0
 Non-interlaced/
Single dense interlace
 Full line drawing
 0
 1
 Setting prohibited
 1
 0
 double dense interlace
 Draw only even numbered (EVEN) lines
 1
 1
 double dense interlace
 Draw only odd number (ODD) lines

Figure 4.1 Displaying single-dense and double-dense interlacing
●Single-dense interlace display                ●Double-dense interlace display 
┌────────┐                                     ┌────────┐ 
│ 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│
         └────────┘                                     └────────┘
・Appears to be 256 vertical lines              ・Appears to be 512 vertical lines 
・Frame changes every 1/60 seconds              ・Only even (or odd) lines are drawn in each frame buffer.
・Either change the frame every 1/60 seconds
 and draw the same thing twice, or change
 the frame every 1/30 seconds
 (instructed by the CPU using a 1/60 second
 signal)

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

 EOS
 Even/odd coordinate selection bit
 0
 Sample only pixels with even coordinates
 1
 Sample only pixels with odd coordinates


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