home *** CD-ROM | disk | FTP | other *** search
- ; display specific definitions follow. You will need to add to these to
- ; configure for unsupported display controllers.
-
- ; default generic graphics. USE THESE AS "TEMPLATES"
- gmode_test macro isgraphic
- ; This macro is to jump if display is in an EGA/VGA 16 color
- ; "compatible" mode -- this means one which is a simple extension
- ; (more rows and/or columns) than modes 10h or 12h. At minimum
- ; modes 10h and 12h themselves qualify.
- ; No registers may be altered.
- ; Byte location "cs:video_mode" is a copy of byte 40:49H.
- cmp cs:video_mode, 10h ; 640x350, 16 color mode
- je isgraphic
- cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
- je isgraphic
- endm
- gmode_code macro
- ; this macro is used to tell if display is in graphics
- ; mode by looking at the byte 40:49H, which is in
- ; register AL at the start of the macro.
- ; It is to set location cs:gmode_flag non-zero if in a graphics mode.
- ; Value of 7 is reserved for the monochrome adapter.
- ; No registers may be altered.
- ; *NOTE* users of Paradise and possibly other VGA
- ; cards will need to modifify this routine because
- ; Paradise extended character modes set this byte to
- ; to the value of the mode you selected. Nicer cards
- ; (Genoa and VEGA, that I know of) leave this byte at
- ; "3" and all works fine!
- mov cs:gmode_flag,0 ; assume character mode (zero flag)
- cmp al, 4
- jb not_graphics ; modes =>4 are assumed to be graphic
- mov cs:gmode_flag,al ; non-zero value
- not_graphics:
- endm
-
- IF PARA480
- ; From Arend van den Brug
- card_id macro
- db 'Paradise EGA 480'
- endm
-
- gmode_test macro isgraphic
- cmp cs:video_mode, 10h ; 640x350, 16 color mode
- je isgraphic
- cmp cs:video_mode, 50h ; 640x480, 16 color EGA mode
- je isgraphic
- endm
- gmode_code macro
- mov cs:gmode_flag,0 ; assume character mode (zero flag)
- cmp al, 4
- jb not_graphics ; modes =>4 are assumed to be graphic
- cmp al, 51h ; 51: 80x30 text 16 colors
- je not_graphics
- cmp al, 54h ; 54: 132x43 text 16 colors
- je not_graphics
- cmp al, 55h ; 55: 132x25 text 16 colors
- je not_graphics
- mov cs:gmode_flag,al ; non-zero value
- not_graphics:
- endm
- ENDIF
-
- IF PARADISE
- card_id macro
- db 'Paradise VGA'
- endm
- gmode_test macro isgraphic
- cmp cs:video_mode, 10h ; 640x350, 16 color mode
- je isgraphic
- cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
- je isgraphic
- cmp cs:video_mode, 58h ; 800x600, 16 color
- je isgraphic
- endm
- gmode_code macro
- mov cs:gmode_flag,0 ; assume character mode (zero flag)
- cmp al, 4
- jb not_graphics ; modes =>4 are assumed to be graphic
- cmp al, 54h ; modes 54 and 55 are text!
- je not_graphics
- cmp al, 55h
- je not_graphics
- mov cs:gmode_flag,al ; non-zero value
- not_graphics:
- endm
- ENDIF
-
- IF TSENG4000
- card_id macro
- db 'TSENG LABS 4000'
- endm
-
- gmode_test macro isgraphic
- cmp cs:video_mode, 10h ; 640x350, 16 color mode
- je isgraphic
- cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
- je isgraphic
- cmp cs:video_mode, 29h ; 800x600, 16 color
- je isgraphic
- endm
- gmode_code macro
- mov cs:gmode_flag,0 ; assume character mode (zero flag)
- cmp al, 4
- jb not_graphics ; modes =>4 are assumed to be graphic
- cmp al, 22h ; 132x44, 25, 28
- jb is_graphics
- cmp al, 24h
- jbe not_graphics
- cmp al, 26h ; 80x60
- je not_graphics
- cmp al, 2Ah ; 100x40
- je not_graphics
- is_graphics:
- mov cs:gmode_flag,al ; non-zero value
- not_graphics:
- endm
- ENDIF
-
-
- IF ATT600
- card_id macro
- db 'AT&T VDC600'
- endm
- gmode_test macro isgraphic
- cmp cs:video_mode, 10h ; 640x350, 16 color mode
- je isgraphic
- cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
- je isgraphic
- cmp cs:video_mode, 47h ; 800x600, 16 color
- je isgraphic
- endm
- gmode_code macro
- mov cs:gmode_flag,0 ; assume character mode (zero flag)
- cmp al, 4
- jb not_graphics ; modes >=4 are assumed to be graphic
- cmp al, 54h ; modes 54 and 55 are text!
- je not_graphics
- cmp al, 55h
- je not_graphics
- mov cs:gmode_flag,al ; non-zero value
- not_graphics:
- endm
- ENDIF
-
- IF STBVGA
- card_id macro
- db 'STB VGA Extra'
- endm
- gmode_test macro isgraphic
- cmp cs:video_mode, 10h ; 640x350, 16 color mode
- je isgraphic
- cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
- je isgraphic
- endm
- gmode_code macro
- mov cs:gmode_flag,0 ; assume character mode (zero flag)
- cmp al, 4
- jb not_graphics ; modes >=4 are assumed to be graphic
- cmp al, 22h ; modes 22 and 23 are text!
- je not_graphics
- cmp al, 23h
- je not_graphics
- mov cs:gmode_flag,al ; non-zero value
- not_graphics:
- endm
- ENDIF
-
- IF TVGA16
- card_id macro
- db 'Tatung VGA-16'
- endm
- gmode_test macro isgraphic
- cmp cs:video_mode, 10h ; 640x350, 16 color mode
- je isgraphic
- cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
- je isgraphic
- endm
- gmode_code macro
- mov cs:gmode_flag,0 ; assume character mode (zero flag)
- cmp al, 4
- jb not_graphics ; modes >=4 are assumed to be graphic
- cmp al, 56h ; modes 56 and 57 are text!
- jb not_graphics
- cmp al, 57h
- jb not_graphics
- mov cs:gmode_flag,al ; non-zero value
- not_graphics:
- endm
- ENDIF
-
-
- IF VEGA
- card_id macro
- db 'Video-Seven/Headland VGA'
- endm
- gmode_test macro isgraphic
- cmp cs:video_mode, 10h ; 640x350, 16 color mode
- je isgraphic
- cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
- je isgraphic
- cmp cs:video_mode, 14h ; 752x410
- je isgraphic
- cmp cs:video_mode, 15h ; 720x540
- je isgraphic
- cmp cs:video_mode, 16h ; 800x600
- je isgraphic
- endm
- gmode_code macro
- mov cs:gmode_flag,0 ; assume character mode (zero flag)
- cmp al, 4
- jb not_graphics ; modes >=4 are assumed to be graphic
- mov cs:gmode_flag,al ; non-zero value
- not_graphics:
- endm
- ENDIF
-
-
- IF EGAWIZ
- card_id macro
- db 'EGA Wizard Deluxe'
- endm
- gmode_test macro isgraphic
- cmp cs:video_mode, 10h ; 640x350, 16 color mode
- je isgraphic
- cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
- je isgraphic
- cmp cs:video_mode, 26h ; 640x480, 60 line
- je isgraphic
- cmp cs:video_mode, 70h ; 740x396
- je isgraphic
- cmp cs:video_mode, 71h ; 800x600
- je isgraphic
- endm
- gmode_code macro
- mov cs:gmode_flag,0 ; assume character mode (zero flag)
- cmp al, 4
- jb not_graphics ; modes >=4 are assumed to be graphic
- cmp al, 22h ; 22-24 are nongraphic
- jb is_graphics
- cmp al, 24h
- jbe not_graphics
- cmp al, 32h ; 32-34 are nongraphic
- jb is_graphics
- cmp al, 34h
- jbe not_graphics
- cmp al, 38h ; 38 is nongraphic
- je not_graphics
- is_graphics:
- mov cs:gmode_flag,al ; non-zero value
- not_graphics:
- endm
- ENDIF
-
- IF TridentVGA
- card_id macro
- db 'Trident VGA'
- endm
- ; contributed by Nadav Horesh CFNADAV%WEIZMANN.BITNET@CUNYVM.CUNY.EDU
- gmode_test macro isgraphic
- cmp cs:video_mode, 10h ; 640x350, 16 color mode
- je isgraphic
- cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
- je isgraphic
- cmp cs:video_mode, 5bh ; 800x600, 16 color TVGA mode
- je isgraphic
- cmp cs:video_mode, 5fH ; 1024x768 16 color TVGA mode
- jnb isgraphic
- endm
- gmode_code macro
- mov cs:gmode_flag,0 ; assume character mode (zero flag)
- cmp al, 4
- jb not_graphics ; modes >=4 are assumed to be graphic
- cmp al, 050H
- jb is_graphics
- cmp al, 5Bh
- jb not_graphics
- is_graphics:
- mov cs:gmode_flag,al ; non-zero value
- not_graphics:
- endm
- ENDIF
-
- IF MAGICVGA
- ; Contributed by:
-
-
-
- ;In-Real-Life: Andrew A. Chernov | Domain: ache@hq.demos.su,
- ;Zodiac-Sign: Virgo | ache%hq.demos.su@relay.eu.net
- ;Organization: DEMOS Coop., | Phone: +7 095 2312129
- ; Moscow, Russia | Fax: +7 095 2335016
-
- card_id macro
- db 'Magic VGA'
- endm
- gmode_test macro isgraphic
- cmp cs:video_mode, 10h ; 640x350, 16 color mode
- je isgraphic
- cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
- je isgraphic
- cmp cs:video_mode, 63h ; 720x540, 16 color
- je isgraphic
- cmp cs:video_mode, 64h ; 800x600, 16 color
- je isgraphic
- endm
- gmode_code macro
- mov cs:gmode_flag,0 ; assume character mode (zero flag)
- cmp al, 4
- jb not_graphics ; modes =>4 are assumed to be graphic
- cmp al, 40h ; modes 40-43 are text!
- je not_graphics
- cmp al, 41h
- je not_graphics
- cmp al, 42h
- je not_graphics
- cmp al, 43h
- je not_graphics
- cmp al, 50h ; modes 50-53 are text!
- je not_graphics
- cmp al, 51h
- je not_graphics
- cmp al, 52h
- je not_graphics
- cmp al, 53h
- je not_graphics
- mov cs:gmode_flag,al ; non-zero value
- not_graphics:
- endm
- ENDIF
- IF CHIPS
- ; From Arend van den Brug
- card_id macro
- db 'Chips SVGA'
- endm
-
- gmode_test macro isgraphic
- cmp cs:video_mode, 10h ; 640x350, 16 color mode
- je isgraphic
- cmp cs:video_mode, 12h ; 640x480, 16 color VGA mode
- je isgraphic
- cmp cs:video_mode, 6Ah ; 800x600, 16 color
- je isgraphic
- cmp cs:video_mode, 70h ; 800x600, 16 color
- je isgraphic
- endm
- gmode_code macro
- mov cs:gmode_flag,0 ; assume character mode (zero flag)
- cmp al, 4
- jb not_graphics ; modes >=4 are assumed to be graphic
- cmp al, 60h ; 60: 132x25 text 16 colors (char 8x14)
- jb is_graphics ; 61: 132x50 text 16 colors (char 8x8)
- cmp al, 62h ; 62: 132x43 text 16 colors (char 8x8)
- jbe not_graphics
- cmp al, 64h ; 80x43 text 16 colors (char 9x8)
- je not_graphics
- cmp al, 65h ; 80x50 text 16 colors (char 9x8)
- je not_graphics
- is_graphics:
- mov cs:gmode_flag,al ; non-zero value
- not_graphics:
- endm
- ENDIF
-
-