BBS: Inland Empire Archive Date: 03-04-93 (21:35) Number: 343 From: MIKE HEBERT Refer#: NONE To: ALL Recvd: NO Subj: Screen flickering Conf: (2) Quik_Bas
The following is a screen fader I made.. There is only one flaw.. If you try to fade more than about 30 colors at a time,the screen flickers, and I need to know how to suspend the vertical retracing (if possible), or some other way to help it... I've tried using WAIT &H3DA,8 just before the interrupt, but that causes the top 1/4 or so to black out. I've tried separating colors in to "blocks", but it goes too slow for my taste... (By the way, I'm using a 16MHz 286 with Trident 8900 SVGA card (512K) and an analog colour monitor, not capable of displaying SVGA graphics... The card was a little mistake by the manufacturer... SHHH!! :)) '------------------------------------------------ SUB FadeToBlack (SColor%, EColor%, FadeDelay!) DIM Value%(SColor% TO (EColor% * 1.5)) xreg.ax = &H1017: xreg.bx = SColor% xreg.cx = (EColor%) - SColor% xreg.dx = VARPTR(Value%(SColor%)) xreg.es = VARSEG(Value%(SColor%)) CALL INTERRUPTX(&H10, xreg, xreg) DEF SEG = VARSEG(Value%(SColor%)) offset = VARPTR(Value%(SColor%)) FOR T% = 1 TO 33 NextFadeDelay! = TIMER + FadeDelay! FOR Z% = SColor% + offset TO (EColor% * 3) + offset IF PEEK(Z%) > 1 THEN POKE Z%, PEEK(Z%) - 2 END IF NEXT Z% xreg.ax = &H1012: xreg.bx = SColor% xreg.cx = (EColor%) - SColor% xreg.dx = VARPTR(Value%(SColor%)) xreg.es = VARSEG(Value%(SColor%)) WAIT &H3DA,8 CALL INTERRUPTX(&H10, xreg, xreg) DO IF NextFadeDelay! <= TIMER THEN EXIT DO LOOP NEXT T% 'To clean up any left over colors . . . FOR T% = SColor% + offset TO EColor% + offset POKE (T%), 0 NEXT T% xreg.ax = &H1012: xreg.bx = SColor% xreg.cx = (EColor%) - SColor% xreg.dx = VARPTR(Value%(SColor%)) xreg.es = VARSEG(Value%(SColor%)) WAIT &H3DA, 8 CALL INTERRUPTX(&H10, xreg, xreg) DEF SEG END SUB '------------------------------------------------ --- Maximus/2 2.01wb * Origin: TeeWunKay (1:140/37)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET