home *** CD-ROM | disk | FTP | other *** search
- 'Sun Apr 23, 1989 2:19:55 pm
- '************************************************************************
- 'This routine returns the video monitor type.
- 'If VIDEO = 1 then monitor is 40 x 25 color.
- 'If VIDEO = 2 then monitor is 80 x 25 color.
- 'If VIDEO = 3 then monitor is 80 x 25 monochrome.
- '************************************************************************
- TYPE RegType
- ax AS INTEGER
- bx AS INTEGER
- cx AS INTEGER
- dx AS INTEGER
- bp AS INTEGER
- si AS INTEGER
- di AS INTEGER
- flags AS INTEGER
- END TYPE
- DIM SHARED inregs AS RegType, outregs AS RegType
- DECLARE FUNCTION video ()
- PRINT video
-
- FUNCTION video
- inregs.ax = 0: inregs.bx = 0: inregs.cx = 0: inregs.dx = 0
- CALL interrupt(&H11, inregs, outregs)
- reg = outregs.ax
- ah = FIX(reg / 256)
- al = reg - (ah * 256)
- bit7 = FIX(al / 128)
- bit6 = FIX((al - (bit7 * 128)) / 64)
- bit5 = FIX((al - (bit7 * 128) - (bit6 * 64)) / 32)
- bit4 = FIX((al - (bit7 * 128) - (bit6 * 64) - (bit5 * 32)) / 16)
- bit3 = FIX((al - (bit7 * 128) - (bit6 * 64) - (bit5 * 32) - (bit4 * 16)) / 8)
- bit2 = FIX((al - (bit7 * 128) - (bit6 * 64) - (bit5 * 32) - (bit4 * 16) - (bit3 * 8)) / 4)
- bit1 = FIX((al - (bit7 * 128) - (bit6 * 64) - (bit5 * 32) - (bit4 * 16) - (bit3 * 8) - (bit2 * 4)) / 2)
- bit0 = FIX((al - (bit7 * 128) - (bit6 * 64) - (bit5 * 32) - (bit4 * 16) - (bit3 * 8) - (bit2 * 4) - (bit1 * 2)))
- v = (bit3 * 10) + bit4
- SELECT CASE v
- CASE 1: v = 1
- CASE 10: v = 2
- CASE 11: v = 3
- END SELECT
- video = v
- END FUNCTION
-
-
-
-
-
-