Page 82
Epson Research and Development
Vancouver Design Center
S1D13503
Programming Notes and Examples
X18A-G-002-06
Issue Date: 01/01/30
else
Image2Bank = BANK0;
ShowHorizontalBars(pVideoImage2, Image2Bank);
//
// Show text. The lightest color/gray shade is set to PanelGrayLevel-1.
//
ShowText(pVideoImage1, BANK0, "SPLIT SCREEN IMAGE ONE", PanelGrayLevel-1);
ShowText(pVideoImage2, Image2Bank, "SPLIT SCREEN IMAGE TWO", PanelGrayLevel-1);
//
// Set Screen 2 Display Start Address register to point to Image 2
//
// Adjust ImageSize to represent the size in words, not bytes.
// This is because the Memory Interface is set to 16 bits.
//
val = (unsigned int) (ImageSize / 2);
WriteRegister(8, (unsigned int) val & 0xff);
WriteRegister(9, (unsigned int) val >> 8);
SetDisplay(ON);
//
// If this is a dual panel, then the split screen has just been shown.
// Otherwise, set up the Screen 1 Display Line Count register for single
// panels.
//
if (PanelType == TYPE_SINGLE)
{
OriginalLineCount =
(unsigned int) ((ReadRegister(0x0b) & 0x03) << 8) | ReadRegister(0x0a);
// Only for 128k of memory
MaxVirtualScanLines = (unsigned int)
((unsigned long) 0x20000 / BytesPerScanLine);
MinLineCount = OriginalLineCount -
(MaxVirtualScanLines - OriginalLineCount) + 1;
if (MinLineCount < 0)
MinLineCount = 0;
//
// Scroll image 2 down
//
for (val = MinLineCount; val < OriginalLineCount; val += 1)
electronic components distributor