'=========================================================================== ' Subject: GET BIOS VIDEO INFORMATION Date: 09-01-98 (15:11) ' Author: Dave Navarro, Jr. Code: PB ' Origin: dave@powerbasic.com Packet: INTERRPT.ABC '=========================================================================== ' Return BIOS video information for the current display mode ' by Dave Navarro, Jr. (dave@powerbasic.com) ' Requires PowerBASIC 3.2 or later TYPE VideoInfoStruc TmpAddr AS DWORD VMode AS BYTE Cols AS WORD Regen AS WORD Start AS WORD Cur0 AS WORD Cur1 AS WORD Cur2 AS WORD Cur3 AS WORD Cur4 AS WORD Cur5 AS WORD Cur6 AS WORD Cur7 AS WORD CurType AS WORD Page AS BYTE CrtcPort AS WORD Reg3x8 AS BYTE Reg3x9 AS BYTE Rows AS BYTE BytsChar AS WORD Active AS BYTE DccAlt AS BYTE Colors AS WORD Pages AS BYTE Scanlines AS BYTE PrimChrBlk AS BYTE SecdChrBlk AS BYTE Flags AS BYTE Reserved1 AS STRING * 3 VidMem AS BYTE SavePtrFlag AS BYTE Reserved2 AS STRING * 13 END TYPE DIM VideoInfo AS VideoInfoStruc DIM x AS DWORD DIM z AS BYTE PTR x = VARPTR32(VideoInfo) ! push DS ! les DI, x ! mov AH, &H1B ! mov BX, 0 ! int &H10 ! pop DS PRINT "Video Mode :"; VideoInfo.Vmode PRINT "Columns :"; VideoInfo.Cols PRINT "Rows :"; VideoInfo.Rows PRINT "Active Page :"; VideoInfo.Page PRINT "Pages :"; VideoInfo.Pages PRINT "Bytes/Char :"; VideoInfo.BytsChar PRINT "Colors :"; VideoInfo.Colors PRINT "Display Type:"; VideoInfo.Active PRINT "Scanlines :"; VideoInfo.Scanlines PRINT "Reg3x8 :"; VideoInfo.Reg3x8 PRINT "Reg3x9 :"; VideoInfo.Reg3x9 PRINT "Flags : "; BIN$(VideoInfo.Flags) PRINT "Flags 2 : "; BIN$(VideoInfo.SavePtrFlag) z = VideoInfo.TmpAddr z = z + 7 PRINT "Scan Avail : "; BIN$(@z)