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: |