User`s manual

8: HARDWARE ABSTRACTION LAYER (HAL)
S1D13504 PROGRAMMING NOTES EPSON 2-31
AND EXAMPLES (S19A-G-002-06)
int seSplitInit(int device, DWORD Scrn1Addr, DWORD Scrn2Addr)
Description: Sets the relevant registers for split screen.
Parameter: device - registered device ID
Scrn1Addr - starting address of top image
(addr = 0 refers to beginning of the display buffer)
Scrn2Addr - starting address of bottom image
(addr = 0 refers to beginning of the display buffer)
Return Value: ERR_OK - operation completed with no problems.
ERR_INVALID_REG_DEVICE - device argument is not valid.
Note: seSetInit() must first be called before calling seSplitInit(). This is because the VNDP is used
for timing, and this would not be possible if the registers were not first initialized.
int seSplitScreen(int device, BYTE WhichScreen, int VisibleScanlines)
Description: Changes the relevant registers for moving the split screen up or down.
Parameter: device - registered device ID
WhichScreen - Use one of the following definitions: SCREEN1 or SCREEN2.
SCREEN1 is the top screen.
VisibleScanlines - number of lines to show for the selected screen
Return Value: ERR_OK - operation completed with no problems.
ERR_INVALID_REG_DEVICE - device argument is not valid.
ERR_HAL_BAD_ARG
-argument VisibleScanlines is negative or is greater than vertical
panel size.
Note: seSplitInit() must have been called once before calling seSplitScreen().
int seVirtInit(int device, int xVirt, long *yVirt)
Description: Creates a virtual display with the given horizontal size and determines the maximum
number of available lines.
Parameter: device - registered device ID
xVirt - horizontal size of virtual display in pixels. Must be greater or
equal to physical size of display.
yVirt - seVirtInit() calculates the maximum number of lines available for
virtual display and returns value in yVirt.
Return Value: ERR_OK - operation completed with no problems.
ERR_INVALID_REG_DEVICE - device argument is not valid.
ERR_HAL_BAD_ARG
- argument xVirt is too large. Select xVirt such that the Memory
Address Offset register does not exceed 0x3ff. The maximum
allowable xVirt is 0x3ff * (16 / bpp). If bppl is 15, use the above
equation with bpp = 16.
Note: seSetInit() must have been called before calling seVirtInit(). This is because the VNDP is used
for timing, and this would not be possible if the registers were not first initialized.