        name    _L33set
        ;   void L33set(void);
        extrn   _EGA12set:FAR
L33_TEXT       segment byte public 'CODE'
        public  _L33set
        assume  cs:L33_TEXT
_L33set         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     dx,03d4h
        mov     al,09h
        out     dx,al
        inc     dx
        in      al,dx
        and     al,0e0h
        or      al,0bh
        out     dx,al

        mov     dx,03d4h
        mov     al,12h
        out     dx,al
        inc     dx
        mov     al,8bh
        out     dx,al

        XOR     AX,AX   
        MOV     DS,AX   
        MOV     AL,0ch   
        MOV     ds:[0485h],AL           ; update BIOScrtpoints 
        MOV     AL,20h
        MOV     ds:[0484h],AL           ; update BIOScrtrows

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

        mov     ax,seg _EGA12set
        mov     es,ax
        mov     bp,offset _EGA12set
        mov     ax,1100h
        mov     bx,0c00h
        mov     cx,0100h
        mov     dx,0
        int     10h                    ; load custom character generator

        pop     ds
        ret
_L33set         endp
L33_TEXT        ends
        end

