BBS: Inland Empire Archive Date: 05-19-92 (11:57) Number: 117 From: DON KROUSE Refer#: NONE To: JOHN GALLAS Recvd: NO Subj: Video Memory Segment Conf: (2) Quik_Bas
JG> Is there a way that I can determine wether to use &HB000 or &HB800 when
JG>doing stuff with the screen? And also, how do I save and load screens with
JG>BSAVE and BLOAD?
Hi John,
Below is an example of how to do what you asked. If you need further info
please ask.
Don
CLS
DEF SEG = &H40 '---- BIOS data area
'---- PEEK offsets in the BIOS segment for display info
Monitor% = PEEK(&H49)
ScrnCols% = PEEK(&H4A) + (PEEK(&H4B) * 256)
ScrnBytes% = PEEK(&H4C) + (PEEK(&H4D) * 256)
'---- Calculate screen rows
ScrnRows% = ScrnBytes% \ (ScrnCols% * 2)
DEF SEG '---- reset to default segment
IF Monitor% = 7 THEN
MonitorSeg% = &HB000 '---- mono
PRINT "This is a mono monitor"
ELSE
MonitorSeg% = &HB800 '---- color
PRINT "This is a color monitor"
END IF
PRINT "Columns "; ScrnCols%
PRINT "Rows "; ScrnRows%
PRINT "Screen Bytes "; ScrnBytes%
LOCATE 12, 22: PRINT "Press any key to continue"
SLEEP
'---- Make a test screen to BSAVE
FOR i = 1 TO 25
PRINT ; STRING$(80, "X");
NEXT i
LOCATE 12, 22: PRINT " Press any key to save the screen "
SLEEP
DEF SEG = MonitorSeg% '---- Define the video segment
'---- BSAVE the correct number of bytes starting at offset 0 of
' the video segment.
BSAVE "scrn1.dat", 0, ScrnBytes%
DEF SEG '---- Reset to the default segment
CLS
LOCATE 12, 22: PRINT " Press any key to restore the screen "
SLEEP
'---- Reload the saved screen to where it was saved from
BLOAD "scrn1.dat"
COLOR 0, 7
LOCATE 20, 13: PRINT " You should Delete scrn1.dat from
your default drive "
COLOR 7, 0
---
* Origin: Silver Lake Systems * Bothell, WA (1:343/58)

Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET