;        name    _L40set
;        void L40set(void);
L40_TEXT       segment para public 'CODE'
        public  _L40set
        assume  cs:L40_TEXT
_L40set         proc    far
        push    ds

        MOV     AX,0003         ; textmode 0x03
        INT     10h      

        MOV     AX,1111h        ; 8x14 char set & video parameters
        MOV     BL,00   
        INT     10h      

        MOV     AX,1102h        ; set 8 point font
        MOV     BL,00   
        INT     10h      

        mov     dx,03d4h        ; update CRTC register 9
        mov     al,09h
        out     dx,al
        inc     dx
        in      al,dx
        and     al,0e0h
        or      al,09h
        out     dx,al

        mov     dx,03d4h        ; update CRTC register 12h
        mov     al,12h
        out     dx,al
        inc     dx
        mov     al,90h
        out     dx,al

        XOR     AX,AX   
        MOV     DS,AX   
        MOV     AL,09   
        MOV     ds:[0485h],AL           ; update BIOScrtpoints 
        MOV     AL,27h
        MOV     ds:[0484h],AL           ; update BIOScrtrows

        mov     ah,1
        mov     ch,7
        mov     cl,9
        int     10h     ; set cursor size

        xor     ax,ax
        pop     ds
        ret
_L40set         endp
L40_TEXT        ends
        end

