Asm Fader/fix 2

 BBS: Inland Empire Archive
Date: 11-21-92 (23:12)             Number: 347
From: RICH GELDREICH               Refer#: NONE
  To: ALL                           Recvd: NO  
Subj: Asm Fader/fix 2                Conf: (2) Quik_Bas
To execute this script, save it to a file and type DEBUG < filename
where "filename" is the name of this script file.
E165"FADEIT.LZH" 0
E200"XcK9gVKBhoK....W/...uWJRN.G.8MIE2JIGItmH0dY8Mo2..2EEW7qk2luCj"
E23D"jjztZC5Bsl1Kc.SmKO2t.OSnLBMZeYtcaMGaWGDeLkKQoJ//u//ctc6gI/M6i"
E27A"M3VRO/oIGBCMElJM6eG6Y2DQ.gsqHrjTkXVV8.G8NFOMMaMZTAnAmqX2MTKh2"
E2B7"Q06b61vQEM2hcy3GzWLIEAUFYXNqNa3OQhxKma.gCdivVWQwzK457fagSl0MN"
E2F4"kqOjZddVEBtGBAXTDv77qiPAtd81dEnjImHFoo2MuU/cQga6Ll0StISrvXy1J"
E331"XBBRgzAKI4S2YaRGyKoxa2BG1x.Pjj55cTBtv47HCIf0fKPgU./3obnn4gkX9"
E36E"kLwZfnbdYiywKIehfehzZWIhQwZ8B/cq03gOOSQeY8ozyJZRSh2wQA3v.MJd4"
E3AB"HUrjSG9TZzw5txbme4RNac7jUkXzSjzV6m4i5rykLbP13KkSwvuk/lgfHOS.6"
E3E8"Xwd5zgeOhYdxxahgIw.U7Nzb0ZVDZ16mQV0OjOVacvCZzitF.."
E100 B8 0 3C BA 65 1 33 C9 CD "!rC" BE 0 2 50 BD 93 1 55 BF 88 90
E117 "W3" DB B1 FA 8A F0 80 C1 6 32 E4 AC "<9v" 8 "<Zv" 2 2C 6 2C
E12F 7 2C 2E E3 E8 D3 E0 A C6 AA 2 D8 92 "IIMu" E0 80 FB 97 75 9 5A
E147 59 5B B4 40 CD 21 73 7 B4 9 BA 58 1 CD 21 CD 20 7 "Error!$"
G
Q

And finally, here is the test program:

'A small demonstration of how to use the noiseless palette routine
'by Rich Geldreich
'to link the OBJ file into a QLB & LIB use:
'LINK /Q fadeit,,,bqlb45.lib (QB4.5)
'LINK /Q fadeit,,,qbxqlb,;   (PDS)
'LIB fadeit+fadeit,,,;
'Load QB with QB/lfadeit
DEFINT A-Z

DECLARE SUB GetPalette ()
DECLARE SUB SetPalette (BYVAL Brightness, BYVAL StartC, BYVAL NumC)
'Brightness, ranges from 0-128 where 128 is max.
'StartC, ranges from 0-255
'NumC, ranges from 1-256
'Before calling SetPalete, GetPalette must be called so SetPalette
'has something to work with.
SCREEN 13
'draw some garbage
RANDOMIZE TIMER 'wow the circles are different every time
FOR A = 1 TO 100
    x = RND * 320
    y = RND * 200
    C = RND * 256
    CIRCLE (x, y), RND * 50, C
    PAINT (x, y), RND * 256, C
NEXT
GetPalette  'Retrieve the screen's palette
DO
    FOR A = 128 TO 0 STEP -2 'Fade the palette down
        SetPalette A, 0, 256
    NEXT
    FOR A = 1 TO 128 STEP 2  'Fade it up
        SetPalette A, 0, 256
    NEXT
LOOP

    That should do it! Remind me to think twice before posting an early
version of a routine... [hate when that happens]

    Rich

--- MsgToss 2.0b
 * Origin: Computer Co-Op - Voorhees, NJ | Ted Hare (1:266/29)
Outer Court
Echo Basic Postings

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