home *** CD-ROM | disk | FTP | other *** search
-
- include model.h
-
- ;
- ; VGAKIT Version 3.4
- ;
- ; Copyright 1988,89,90 John Bridges
- ; Free for use in commercial, shareware or freeware applications
- ;
- ; SVGAMODE.ASM
- ;
- ;
- .data
- extrn cirrus:byte,video7:byte,paradise:byte,tseng:byte
- extrn tseng4:byte,chipstech:byte,trident:byte,ativga:byte
- extrn everex:byte,aheada:byte,aheadb:byte,oaktech:byte
- extrn vga512:byte
-
- extrn curbk:word
-
- public maxx,maxy
-
- maxx dw ?
- maxy dw ?
-
- .code
-
- public svgamode
- public txtmode
- public setmany
-
- svgamode proc ;Set 640x480x256 on most SVGA cards
- cmp [oaktech],0
- jz noak
- mov ax,53h
- jmp short godo
- noak: cmp [aheada],0
- jnz skp
- cmp [aheadb],0
- jz noab
- skp: mov ax,61h
- jmp short godo
- noab: cmp [everex],0
- jz noev
- mov ax,70h
- mov bl,30h
- jmp short godo
- noev: cmp [ativga],0
- jz noati
- mov ax,62h
- jmp short godo
- noati: cmp [trident],0
- jz notr
- mov ax,5dh
- jmp short godo
- notr: cmp [video7],0
- jz nov7
- mov ax,6f05h
- mov bl,67h
- jmp short godo
- nov7: cmp [chipstech],0
- jz noct
- mov ax,79h
- jmp short godo
- noct: cmp [paradise],0
- jz nopd
- mov ax,5fh
- jmp short godo
- nopd: cmp [tseng],0
- jz nots
- mov ax,2eh
- godo: int 10h
-
- mov [curbk],-1
- mov [maxx],640 ;default width to 640 for now
- mov ax,40h
- mov es,ax
- mov al,es:[84h] ;get height of screen
- mul byte ptr es:[85h]
- mov [maxy],ax
-
- nots: ret
- svgamode endp
-
- txtmode proc
- mov ax,3
- int 10h
- ret
- txtmode endp
-
- setmany proc palbuf:ptr byte,begcol:word,numcol:word
- if @Datasize
- les dx,[palbuf]
- else
- mov ax,ds
- mov es,ax
- mov dx,[palbuf]
- endif
- mov bx,[begcol]
- mov cx,[numcol]
- mov ax,1012h
- int 10h
- ret
- setmany endp
-
- end
-