home *** CD-ROM | disk | FTP | other *** search
- '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- '% (C) 1987 HUMBLEWARE Custom Programming Author: Lawrence A. Westhaver %
- '% 247 Paul Martin Drive, Baltimore MD 21227 (301) 799-1975 %
- '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- '% %
- '% FILENAME: VPAGE.SUB LAST UPDATE: 05-24-1987 %
- '% %
- '% DESCRIPTION: Sets the "Visual" page of the CGA. This subroutine is an %
- '% adjunct to the QuickBASIC SCREEN statement. QuickBASIC %
- '% version 2.0 has a bug that causes the "Visual page" %
- '% parameter of the SCREEN statement to be ignored. %
- '% %
- '% CALL: CALL VPAGE(PAGE%) %
- '% %
- '% INPUTS: PAGE% = Video page, 0-4 for 80 column mode or 0-8 for 40 %
- '% column mode. %
- '% %
- '% OUTPUTS: None. %
- '% %
- '% NOTE: The Microsoft QuickBASIC INT86 assembly routine must be %
- '% linked into your program at compile time or it must be %
- '% present in the QuickBASIC USERLIB.EXE file before this %
- '% routine can be used. %
- '% %
- '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
- SUB VPAGE(PAGE%) Static
-
-
- 'dim parameter storage for INT86 call
-
- DIM PARMIN%(7),PARMOUT%(7)
-
-
- 'declare indexes for INT86 calls
-
- AXREG%=0 'AX register
- BXREG%=1 'BX register
- CXREG%=2 'CX register
- DXREG%=3 'DX register
- BPREG%=4 'BP register
- SIREG%=5 'SI register
- DIREG%=6 'DI register
- FLAGS%=7 'Flags
-
-
- 'set visual page
-
- POKE VARPTR(PARMIN%(AXREG%))+0,PAGE% 'set visual page
- POKE VARPTR(PARMIN%(AXREG%))+1,&H05 'set DOS function
- CALL INT86(&H10,VARPTR(PARMIN%(0)),VARPTR(PARMOUT%(0)))
-
-
- END SUB 'vpage
-