home *** CD-ROM | disk | FTP | other *** search
- name _L33set
- ; void L33set(void);
- extrn _EGA12set:FAR
- L33_TEXT segment byte public 'CODE'
- org 100h
- assume cs:L33_TEXT
- _L33set proc near
- push ds
-
- mov ax,1202h ; next scanline = 400
- mov bl,30h
- int 10h
- cmp al,12h
- jne @out ; VGA not active: bailout
-
- 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
- @out:
- pop ds
- mov ax,4c00h
- int 21h
- _L33set endp
- L33_TEXT ends
- end _L33set
-
-