DEFINT A-Z DECLARE SUB mouse (Funcode%, result%, P2%, p3%, p4%) TYPE regtype ax AS INTEGER bx AS INTEGER cx AS INTEGER dx AS INTEGER bp AS INTEGER si AS INTEGER di AS INTEGER flags AS INTEGER END TYPE DIM regs AS regtype RANDOMIZE TIMER SCREEN 12 'FOR Red = 0 TO 15 'PALETTE Red, Red * 4 'NEXT Red mouse 0, amouse%, 0, 0, 0: 'Initialize mouse driver IF amouse% THEN Mstatus = 3 mousebutton = 0 mouse Mstatus, 0, mousebutton, mouseX, mouseY END IF prior.x = mouseX prior.Y = mouseY FOR Bl = 0 TO 15 red% = 6 green% = 25 + offset% blue% = 29 + offset% a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE Bl, a& offset% = offset% + 2 NEXT Bl GOTO DOIT red% = 6: green% = 34: blue% = 38 a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE 1, a& 'display the new palette 'red% = 80 / 4 - 1: green% = 127 / 4: blue% = 144 / 4 + 5 red% = 6: green% = 38: blue% = 40 a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE 2, a& red% = 6: green% = 40: blue% = 42 a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE 3, a& red% = 6: green% = 42: blue% = 44 a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE 4, a& red% = 6: green% = 44: blue% = 46 a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE 5, a& red% = 6: green% = 46: blue% = 48 a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE 6, a& red% = 6: green% = 48: blue% = 50 a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE 7, a& red% = 6: green% = 50: blue% = 52 a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE 8, a& red% = 6: green% = 52: blue% = 54 a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE 9, a& red% = 6: green% = 54: blue% = 58 a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE 10, a& red% = 6: green% = 58: blue% = 60 a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE 11, a& red% = 6: green% = 60: blue% = 61 a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE 12, a& red% = 6: green% = 61: blue% = 62 a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE 13, a& red% = 6: green% = 62: blue% = 62 a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE 14, a& red% = 6: green% = 63: blue% = 63 a& = (65536 * blue%) + (256 * green%) + red% 'calc the new palette PALETTE 15, a& DOIT: DO Row = INT(RND * 639) Col = INT(RND * 479) Rad = INT(RND * 63) + 1 FOR Var1 = 1 TO Rad CIRCLE (Row, Col), Var1, INT(Var1 / 4) NEXT Var1 IF amouse% THEN ' Mstatus = 3 mousebutton = 0 mouse Mstatus, 0, mousebutton, mouseX, mouseY END IF IF mouseX <> prior.x OR mouseY <> prior.Y THEN EXIT DO LOOP WHILE INKEY$ = "" SUB mouse (Funcode, result, P2, p3, p4) SHARED regs AS regtype regs.ax = Funcode regs.bx = P2 sav.p3 = p3: sav.p4 = p4 regs.cx = p3 regs.dx = p4 CALL interrupt(&H33, regs, regs) result = regs.ax P2 = regs.bx p3 = regs.cx p4 = regs.dx END SUB