vbdpss.hlp (Table of Contents; Topic list)
Article Q78888, Example 4
                                                 Contents  Index  Back
─────────────────────────────────────────────────────────────────────────────
                           Knowledge Base Contents  Knowledge Base Index
 
 How to Save Color Registers After BSAVE of (PICEM) Graphics, Example 4
 
 Example 4: (LOD13.BAS)
 ----------------------
 
 To try this example in VBDOS.EXE:
 
   1. From the File menu, choose New Project.
   2. Copy the code example to the Code window.
   3. Press F5 to run the program.
 
 ' To run this program in the environment, you must invoke the
 ' environment with the /L switch to load the default Quick library:
 ' VBDOS.EXE /L for Visual Basic 1.0 for MS-DOS
 '
 ' This program loads BSAVEd files from disk into video
 ' memory and restores the graphics image's registers
 ' for screen 13. It assumes the picture files were BSAVEd
 ' using code from SAV13.BAS. The value of the variable
 ' YOURFILE must be written into the code. The graphics image
 ' files should be in the default directory.
 
 DECLARE SUB ConvrtPic ()
 TYPE ColorType
         red AS STRING * 1
         green AS STRING * 1
         blue AS STRING * 1
 END TYPE
 
 ' Use the following include file for Visual Basic 1.0 for MS-DOS:
 REM $INCLUDE: 'VBDOS.BI'
 CALL ConvrtPic()
 END
 
 SUB Convrt Pic()
 
 DIM inregx AS RegTypeX
 DIM outregx AS RegTypeX
 DIM colorbuf(255) AS ColorType
 
 SCREEN 13
 CLS
 
 ' If necessary, save the current color registers of the
 ' existing screen using code from SAV13.BAS before changing
 ' colors to the graphics image's palette.
 
 ' BLOAD the picture's palette.
 DEF SEG = VARSEG(colorbuf(0))
 
 BLOAD "YOURFILE.reg", VARPTR(colorbuf(0))
 ' Where YOURFILE is the filename containing the graphics
 ' image's color registers.
 DEF SEG
 
 ' Call interrupt to restore graphics image's palette.
 inregx.ax = &H1012
 inregx.bx = 0
 inregx.cx = 256
 inregx.es = VARSEG(colorbuf(0))
 inregx.dx = VARPTR(colorbuf(0))
 CALL INTERRUPTX(&H10, inregx, outregx)
 
 ' BLOAD picture.
 DEF SEG = &HA000
 BLOAD "YOURFILE.sav", 0
 ' Where YOURFILE is the filename of the converted graphics image.
 DEF SEG
 END SUB