5748120 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n example.bas
   1: DECLARE SUB changepalette (red%, blue%, green%, syscolor%)
   2: SCREEN 13
   3: 
   4: TYPE rgbcolor              'Array to store color values
   5:      red AS INTEGER   ' 0 to 63
   6:      blue AS INTEGER  ' 0 to 63
   7:      green AS INTEGER ' 0 to 63
   8: END TYPE
   9: filename$ = "test1"  ' Try test2 too
  10: OPEN filename$ + ".dat" FOR INPUT AS #1 ' disk palette name
  11: DO                             'Swap systems colors with colors on disk
  12: INPUT #1, r%, g%, b%
  13: changepalette r%, b%, g%, c%   ' Sub for doing all the work
  14: c% = c% + 1                      'you can also use qbasic palette command to
  15: LOOP UNTIL EOF(1) = -1
  16: CLOSE #1
  17: 
  18: 
  19: 
  20: 
  21: SIZE% = 4 + INT(((84 - 11 + 1) * (8) + 7) / 8) * 1 * ((179 - 116) + 1)
  22: 
  23: DIM loadbsv(1 TO SIZE%) '
  24: DEF SEG = VARSEG(loadbsv(1))
  25: BLOAD filename$ + ".bsv", VARPTR(loadbsv(1))
  26: DEF SEG               ' Restore default BASIC segment.
  27: PRINT "Use Keypad to move image around screen"
  28: CLS
  29: 
  30: 
  31: 
  32: PUT (1, 1), loadbsv, PSET
  33: 
  34: '  LOOP
  35: SYSTEM
  36: END
  37: 
  38: SUB changepalette (red%, blue%, green%, syscolor%)
  39: 
  40: rgbcolor.red = red%
  41: rgbcolor.blue = blue%
  42: rgbcolor.green = green%
  43: 'Set port variables
  44: palmask = &H3C6
  45: palregrd = &H3CF
  46: palregwr = &H3C8
  47: paldata = &H3C9
  48: 'get port ready
  49: OUT palmask, &HFF
  50: ' write to reg
  51: OUT palregwr, syscolor%
  52: OUT paldata, rgbcolor.red   'SENT VALUE OUT TO PORT
  53: OUT paldata, rgbcolor.blue    '^
  54: OUT paldata, rgbcolor.green   '^
  55: END SUB
  56: 
5748121 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2000-05-09 21:02:28