Epson S1D13503 Series Technical Manual page 140

Dot matrix graphics lcd controller
Hide thumbs Also See for S1D13503 Series:
Table of Contents

Advertisement

EPSON
//
// Calculate starting video memory location for image 2 by finding the
// last location of image 1
//
ImageSize = (unsigned long) BytesPerScanLine * PanelY;
//
// Because the image size is limited to a maximum of 320 x 240, and there
// is 128K of video memory, there is enough memory available.
//
FP_SEG(pVideoImage2) = 0xd000;
FP_OFF(pVideoImage2) = (unsigned int) (ImageSize & 0xffff);
if (ImageSize & 0xffff0000)
Image2Bank = BANK1;
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;
2-64
S18A-G-002-02

Advertisement

Table of Contents
loading

This manual is also suitable for:

S1d13503d00aS1d13503f00aS1d13503f01aS1d13503p00c

Table of Contents