DECLARE SUB Solarize (r!, g!, b!) DECLARE SUB ChangePal (Red%, Green%, Blue%, syscolor%) DECLARE FUNCTION FillIn$ (t$, Num!) DECLARE SUB ReadPal (Red%, Green%, Blue%) DECLARE FUNCTION Exist! (fle$) DIM Scren(8000) AS DOUBLE SCREEN 12 ChangePal 0, 0, 160, 1 ChangePal 0, 0, 255, 9 Cnt = 1: Cntr = 1: Stp = 21: NumOfPics = 1 LINE (0, 0)-(640, 160), 9, BF LINE (0, 160)-(640, 320), 1, BF LINE (0, 320)-(640, 480), 0, BF 'GET (0, 0)-(320, 240), Scren 'FOR q = 0 TO 8000 'PRINT Scren(q) 'NEXT q FOR y = 0 TO 480 IF y / 160 = 0 THEN Fc = 9: Bc = 1: NumOfPics = 1 IF y / 160 = 1 THEN Fc = 1: Bc = 0: NumOfPics = 1 IF y / 160 = 2 THEN EXIT FOR Cntr = Cntr + Cnt FOR m = 0 TO 640 STEP INT(640 / NumOfPics) 'PSET (INT(640 / (NumOfPics + 1)) * m, y), Bc PSET (m, y), Bc NEXT m NumOfPics = NumOfPics + 2 NEXT y SUB ChangePal (Red%, Green%, Blue%, syscolor%) palmask = &H3C6 palregrd = &H3CF palregwr = &H3C8 paldata = &H3C9 OUT palmask, &HFF OUT palregwr, syscolor% OUT paldata, Red% OUT paldata, Green% OUT paldata, Blue% END SUB SUB ColorBar (Stp) FOR q = 0 TO 15 * Stp STEP Stp LINE (q, 0)-(q + Stp, Stp), q / Stp, BF NEXT q END SUB FUNCTION Exist (fle$) OPEN fle$ FOR BINARY AS #4 IF LOF(4) = 0 THEN Exist = 0 ELSE Exist = 1 CLOSE 4 END FUNCTION SUB Negative Solarize 255, 255, 255 END SUB SUB ReadPal (Red%, Green%, Blue%) palmask = &H3C6 paldata = &H3C9 IF INT(Colr% / 2) = Colr% / 2 THEN Red% = INP(paldata): Green% = INP(paldata): Blue% = INP(paldata) Red% = INP(paldata) Green% = INP(paldata) Blue% = INP(paldata) END SUB SUB Solarize (r, g, b) FOR i% = 0 TO 255 ReadPal CCHex3%, CCHex2%, CCHex1% ChangePal ABS(CCHex3% - r), ABS(CCHex2% - g), ABS(CCHex1% - b), i% NEXT i% END SUB