1 ;-----------------------------------------------------------
\r
3 ; MXSS.ASM - Split screen function
\r
4 ; Copyright (c) 1993,1994 by Alessandro Scotti
\r
6 ;-----------------------------------------------------------
\r
10 PUBLIC mxSplitScreen
\r
12 MX_TEXT SEGMENT USE16 PARA PUBLIC 'CODE'
\r
13 ASSUME cs:MX_TEXT, ds:NOTHING, es:NOTHING
\r
15 ;-----------------------------------------------------------
\r
17 ; Splits the screen.
\r
20 ; Line = scan line at which screen has to be splitted
\r
24 mxSplitScreen PROC FAR
\r
25 ARG Line:WORD = ARG_SIZE
\r
29 ; Modify the line compare value: bits 0-7 are in the Line Compare
\r
30 ; register (CRTC #18), bit 8 is in the Overflow Low register (CRTC #7)
\r
31 ; and bit 9 is in the Maximum Row Address register (CRTC #9)
\r
33 shl ax, 1 ; Adjust line for mode "X"
\r
41 ; Write bits 0-7 to line compare register
\r
45 ; Write bit 8 to overflow register
\r
56 ; Write bit 9 to maximum row address register
\r