Posted: 7th Dec 2002 0:54
This was included in the last DarkBASIC compendium.
Now it will compile and run in DBPro.
(Although it still runs a little smoother in DB1X)

+ Code Snippet
Rem  Icandipro.dba  © 2002 Michael L. Clayton  December 5, 2002 version
Rem  snippet to make color cycling pusling balls, rotating $s
Rem  with $ cursor and twinkling stars
Rem  System initializations
Cls 80 : Hide Mouse : Sync On : Position Mouse 319,239
Rem  Dollar plot angles, 20 star active on screen flags, x & y coordinates
Dim DA(7) : Dim SA(19) : Dim SAX(19) : Dim SAY(19)
Rem  Setup yellow ball graphics(51x51)
Ink Rgb(255,255,0),0 : BD= 52 : Create Bitmap 4,BD,BD
For I= 1 to 24 : Circle 24,24,I : Circle 24,26,I : Circle 25,25,I : Circle 26,24,I : Circle 26,26,I : Next I
Get Image 260,0,0,BD,BD,1
Rem  Setup star, $ & backwards $
Create Bitmap 2,218,100 : Create Bitmap 1,150,100
Ink Rgb(255,255,255),0 : Set Text Font "Verdana" : Set Text Size 72
Text 5,0,"+" : Text 11,0,"¤" : Text 13,1,"•"
Text 14,1,"•" : Text 16,0,"|" : Text 0,0,"—"
Ink Rgb(0,240,128),0 : Text 54,0,"$" : Text 55,0,"$" : Text 94,0,"$" : Text 93,0,"$"
Ink Rgb(0,164,99),0 : Text 56,0,"$" : Text 57,0,"$" : Text 92,0,"$": Text 91,0,"$"
Ink Rgb(64,128,64),0 : Text 58,0,"$" : Text 59,0,"$" : Text 90,0,"$" : Text 89,0,"$"
Copy Bitmap 1,3,13,127,71,2,0,0,217,99
Set Current Bitmap 2
Get Image 264,96,2,155,97,1 : Get Image 266,0,1,93,97,1
Mirror Bitmap 2
Get Image 265,1,2,60,97,1
Mirror Bitmap 2
Rem  Get 5 stars fading out
X= 284 : For I= 80 to 40 Step -10
Fade Bitmap 2,I : Inc X : Get Image X,0,1,93,97,1 : Next I
Rem  Make 10 Yellow balls with colored square centers
Create Bitmap 3,BD,BD : Set Current Bitmap 3 : Paste Image 260,0,0
C1R= 16 : C1G= 240 : C1B= 128
Gosub FILBALL_ : Get Image 275,0,0,BD,BD,1
C1R= 240 : C1G= 160 : C1B= 0
Gosub FILBALL_ : Get Image 269,0,0,BD,BD
C1R= 255 : C1G= 0 : C1B= 0
Gosub FILBALL_ : Get Image 270,0,0,BD,BD
C1R= 255 : C1G= 0 : C1B= 160
Gosub FILBALL_ : Get Image 271,0,0,BD,BD
C1R= 160 : C1G= 0 : C1B= 255
Gosub FILBALL_ : Get Image 272,0,0,BD,BD
C1R= 80 : C1G= 80 : C1B= 255
Gosub FILBALL_ : Get Image 273,0,0,BD,BD
C1R= 0 : C1G= 255 : C1B= 0
Gosub FILBALL_ : Get Image 276,0,0,BD,BD
C1R= 120 : C1G= 64 : C1B= 0
Gosub FILBALL_ : Get Image 268,0,0,BD,BD
C1R= 0 : C1G= 255 : C1B= 255
Gosub FILBALL_ : Get Image 274,0,0,BD,BD
C1R= 240 : C1G= 240 : C1B= 96
Gosub FILBALL_ : Get Image 277,0,0,BD,BD
For I= 1 to 4 : Delete Bitmap I : Next I
If File Exist("C:\Program Files\Dark Basic Software\Dark Basic Professional\Media\Textures\grass_T.BMP")
   Load Bitmap "C:\Program Files\Dark Basic Software\Dark Basic Professional\Media\Textures\grass_T.BMP",1
   Copy Bitmap 1,0,0,511,511,0,0,0,639,479
   Wait 1 : Delete Bitmap 1
Else
   If File Exist("C:\Program Files\Dark Basic Software\Dark Basic\media\bitmaps\photos\skyscap\blue05.bmp")
       Load Bitmap "C:\Program Files\Dark Basic Software\Dark Basic\media\bitmaps\photos\skyscap\blue05.bmp"
   Else
      If File Exist("C:\Windows\Logow.sys")
         Copy File "C:\Windows\Logow.sys","MPKJX"
         Rename File "MPKJX","MPKJX.bmp"
         Load Bitmap "MPKJX.bmp",1
         Copy Bitmap 1,0,0,319,399,0,0,0,639,479
         Delete File "MPKJX.bmp" : Wait 1 : Delete Bitmap 1
      Endif
   Endif
Endif
Goto FINGL_
FILBALL_:
X1= 8 : Y1= 8 : OS= 34
C1= Rgb(C1R,C1G,C1B) : Gosub REDCOL_ : C2= Rgb(C1R,C1G,C1B)
For I= 1 To 4
   Ink C1,0 : Box X1,Y1,X1+OS,Y1+OS
   Ink C2,0 : Box X1+2,Y1+2,X1+(OS-2),Y1+(OS-2)
   If I  180
   CSCA= 175 : SCIN= -5
Else
   If CSCA  277 Then IMNU= IMNU- 10
   If I  0
         If SA(STIN) > 70
            SPIM= 266
         Else
            SPIM= 285+((70-SA(STIN))/15)
         Endif
         Sprite 421+STIN,SAX(STIN)+((46-SA(STIN))/2),SAY(STIN)+((46-SA(STIN))/2),SPIM
         Scale Sprite 421+STIN,SA(STIN)
      Else
         Sprite 421+STIN,639,479,266 : Scale Sprite 421+STIN,100
      Endif
   Else
      If Rnd(15)= 8
         SA(STIN)= 100 : SAX(STIN)= Rnd(649) : SAY(STIN)= Rnd(479)
         If SA(STIN) > 70
            SPIM= 266
         Else
            SPIM= 285+((70-SA(STIN))/15)
         Endif
         Sprite 421+STIN,SAX(STIN)+((46-SA(STIN))/2),SAY(STIN)+((46-SA(STIN))/2),SPIM
         Scale Sprite 421+STIN,SA(STIN)
      Endif
   Endif
Next STIN
Rem  8 Dollar manuipulations
If ATLI Then Dec ATLI : If ATLI = 0 Then DINC= (0-SAVD)
For I= 0 to 7
   Sprite I+441,290+Int(Cos(DA(I))*DRAD),190+Int(Sin(DA(I))*DRAD),264
   DA(I)= DA(I)+ 1 : IF DA(I) > 359 Then DA(I)= DA(I)- 360
Next I
DRAD= DRAD+ DINC : If ( DRAD > 190 Or DRAD 0 Then Goto OFBUT_
Stretch Sprite 449,100,100 : Sprite 449,XPOS,YPOS,264
For I= 401 To 448 : Sprite I,639,479,277 : Next I
Sync : Set Sprite 449,0,1
FINAWARD_:
XPOS= Mousex()- 32 : YPOS= Mousey()-50 : Sprite 449,XPOS,YPOS,264 : Sync
If Mouseclick() = 0 Then Goto FINAWARD_
Set Sprite 449,1,1 : Sprite 449,639,479,264 : Cls 0 : End
Posted: 7th Dec 2002 5:50
The first snippit is somehow corrupted.
That cut and paste didn't work correctly.
So I'm trying it again. Probably with the same results.
(Crossing my fingers)

+ Code Snippet
Rem  Icandipro.dba  © 2002 Michael L. Clayton  December 5, 2002 version
Rem  snippet to make color cycling pusling balls, rotating $s
Rem  with $ cursor and twinkling stars
Rem  System initializations
Cls 80 : Hide Mouse : Sync On : Position Mouse 319,239
Rem  Dollar plot angles, 20 star active on screen flags, x & y coordinates
Dim DA(7) : Dim SA(19) : Dim SAX(19) : Dim SAY(19)
Rem  Setup yellow ball graphics(51x51)
Ink Rgb(255,255,0),0 : BD= 52 : Create Bitmap 4,BD,BD
For I= 1 to 24 : Circle 24,24,I : Circle 24,26,I : Circle 25,25,I : Circle 26,24,I : Circle 26,26,I : Next I
Get Image 260,0,0,BD,BD,1
Rem  Setup star, $ & backwards $
Create Bitmap 2,218,100 : Create Bitmap 1,150,100
Ink Rgb(255,255,255),0 : Set Text Font "Verdana" : Set Text Size 72
Text 5,0,"+" : Text 11,0,"¤" : Text 13,1,"•"
Text 14,1,"•" : Text 16,0,"|" : Text 0,0,"—"
Ink Rgb(0,240,128),0 : Text 54,0,"$" : Text 55,0,"$" : Text 94,0,"$" : Text 93,0,"$"
Ink Rgb(0,164,99),0 : Text 56,0,"$" : Text 57,0,"$" : Text 92,0,"$": Text 91,0,"$"
Ink Rgb(64,128,64),0 : Text 58,0,"$" : Text 59,0,"$" : Text 90,0,"$" : Text 89,0,"$"
Copy Bitmap 1,3,13,127,71,2,0,0,217,99
Set Current Bitmap 2
Get Image 264,96,2,155,97,1 : Get Image 266,0,1,93,97,1
Mirror Bitmap 2
Get Image 265,1,2,60,97,1
Mirror Bitmap 2
Rem  Get 5 stars fading out
X= 284 : For I= 80 to 40 Step -10
Fade Bitmap 2,I : Inc X : Get Image X,0,1,93,97,1 : Next I
Rem  Make 10 Yellow balls with colored square centers
Create Bitmap 3,BD,BD : Set Current Bitmap 3 : Paste Image 260,0,0
C1R= 16 : C1G= 240 : C1B= 128
Gosub FILBALL_ : Get Image 275,0,0,BD,BD,1
C1R= 240 : C1G= 160 : C1B= 0
Gosub FILBALL_ : Get Image 269,0,0,BD,BD
C1R= 255 : C1G= 0 : C1B= 0
Gosub FILBALL_ : Get Image 270,0,0,BD,BD
C1R= 255 : C1G= 0 : C1B= 160
Gosub FILBALL_ : Get Image 271,0,0,BD,BD
C1R= 160 : C1G= 0 : C1B= 255
Gosub FILBALL_ : Get Image 272,0,0,BD,BD
C1R= 80 : C1G= 80 : C1B= 255
Gosub FILBALL_ : Get Image 273,0,0,BD,BD
C1R= 0 : C1G= 255 : C1B= 0
Gosub FILBALL_ : Get Image 276,0,0,BD,BD
C1R= 120 : C1G= 64 : C1B= 0
Gosub FILBALL_ : Get Image 268,0,0,BD,BD
C1R= 0 : C1G= 255 : C1B= 255
Gosub FILBALL_ : Get Image 274,0,0,BD,BD
C1R= 240 : C1G= 240 : C1B= 96
Gosub FILBALL_ : Get Image 277,0,0,BD,BD
For I= 1 to 4 : Delete Bitmap I : Next I
If File Exist("C:\Program Files\Dark Basic Software\Dark Basic Professional\Media\Textures\grass_T.BMP")
   Load Bitmap "C:\Program Files\Dark Basic Software\Dark Basic Professional\Media\Textures\grass_T.BMP",1
   Copy Bitmap 1,0,0,511,511,0,0,0,639,479
   Wait 1 : Delete Bitmap 1
Else
   If File Exist("C:\Program Files\Dark Basic Software\Dark Basic\media\bitmaps\photos\skyscap\blue05.bmp")
       Load Bitmap "C:\Program Files\Dark Basic Software\Dark Basic\media\bitmaps\photos\skyscap\blue05.bmp"
   Else
      If File Exist("C:\Windows\Logow.sys")
         Copy File "C:\Windows\Logow.sys","MPKJX"
         Rename File "MPKJX","MPKJX.bmp"
         Load Bitmap "MPKJX.bmp",1
         Copy Bitmap 1,0,0,319,399,0,0,0,639,479
         Delete File "MPKJX.bmp" : Wait 1 : Delete Bitmap 1
      Endif
   Endif
Endif
Goto FINGL_
FILBALL_:
X1= 8 : Y1= 8 : OS= 34
C1= Rgb(C1R,C1G,C1B) : Gosub REDCOL_ : C2= Rgb(C1R,C1G,C1B)
For I= 1 To 4
   Ink C1,0 : Box X1,Y1,X1+OS,Y1+OS
   Ink C2,0 : Box X1+2,Y1+2,X1+(OS-2),Y1+(OS-2)
   If I < 4
      X1= X1+ 4 : Y1= Y1+ 4 : OS= OS- 8
      Gosub REDCOL_ : C1= Rgb(C1R,C1G,C1B)
      Gosub REDCOL_ : C2= Rgb(C1R,C1G,C1B)
   Endif
Next I
Return
REDCOL_:
C1R= (C1R*86)/100 : C1G= (C1G*86)/100 : C1B= (C1B*86)/100
Return
FINGL_:
Rem  Now have Images  266 STAR ;  268-277 BALLS,
Rem  285-289 5 STARS .8 bright to dim ; 264 large $ ; 265  \$
Rem  From those will make screen sprites
Rem  Sprites 401-420  20 colored balls - Sprites 421-428  8 Rotating $s  441-448
Rem  Sprite  449 Center twirling $ - Sprites 429-448  20 Stars 421-440
For I= 401 to 449 : Set Sprite I,1,1 : Next I
Rem  Pre loop initializations, assign yellow ball variables
STNU= 277 : CSCA= 98 : SCIN= 5 : IMCT= 7
Rem  Dollar initial angle variables
For I= 0 to 7 : DA(I)= I*45 : Next I
DRAD= 190 : DINC= -1 : ATLI= 0
Rem Twirling $ variables
TWIM= 264 : TWA= 90 : TWAI= -5
Rem  Star variable initialization
For I= 0 To 19 : SA(I)= 0 : Next I
Rem  Award loop start
ICANDI_:
Rem  Ball manipulations
CSCA= CSCA+ SCIN
If CSCA > 180
   CSCA= 175 : SCIN= -5
Else
   If CSCA < 20 Then CSCA= 25 : SCIN= 5
Endif
For I= 0 to 9
   CSCA= 200- CSCA : OC= (25*(100-CSCA))/100
   IMNU= STNU+ I : IF IMNU > 277 Then IMNU= IMNU- 10
   If I < 7
      Sprite 401+I,22+(I*91)+OC,15+OC,IMNU
      Sprite 411+I,22+((6-I)*91)+OC,420+OC,IMNU
   Else
      Sprite 401+I,568+OC,15+((I-6)*101)+OC,IMNU
      Sprite 411+I,22+OC,15+((10-I)*101)+OC,IMNU
   Endif
   Scale Sprite 401+I,CSCA : Scale Sprite 411+I,CSCA
Next I
Dec IMCT
If IMCT = 0
   IMCT= 7 : Dec STNU : If STNU < 268 Then STNU= 277
Endif
Rem  20 Random Star generations
For STIN= 0 To 19
   If SA(STIN)
      SA(STIN)= SA(STIN)- 10
      If SA(STIN) > 0
         If SA(STIN) > 70
            SPIM= 266
         Else
            SPIM= 285+((70-SA(STIN))/15)
         Endif
         Sprite 421+STIN,SAX(STIN)+((46-SA(STIN))/2),SAY(STIN)+((46-SA(STIN))/2),SPIM
         Scale Sprite 421+STIN,SA(STIN)
      Else
         Sprite 421+STIN,639,479,266 : Scale Sprite 421+STIN,100
      Endif
   Else
      If Rnd(15)= 8
         SA(STIN)= 100 : SAX(STIN)= Rnd(649) : SAY(STIN)= Rnd(479)
         If SA(STIN) > 70
            SPIM= 266
         Else
            SPIM= 285+((70-SA(STIN))/15)
         Endif
         Sprite 421+STIN,SAX(STIN)+((46-SA(STIN))/2),SAY(STIN)+((46-SA(STIN))/2),SPIM
         Scale Sprite 421+STIN,SA(STIN)
      Endif
   Endif
Next STIN
Rem  8 Dollar manuipulations
If ATLI Then Dec ATLI : If ATLI = 0 Then DINC= (0-SAVD)
For I= 0 to 7
   Sprite I+441,290+Int(Cos(DA(I))*DRAD),190+Int(Sin(DA(I))*DRAD),264
   DA(I)= DA(I)+ 1 : IF DA(I) > 359 Then DA(I)= DA(I)- 360
Next I
DRAD= DRAD+ DINC : If ( DRAD > 190 Or DRAD < 135 ) And ATLI = 0 Then ATLI= 75 : SAVD= DINC : DINC= 0
Rem  Twirling dollar tracks mouse
XPOS= Mousex()- 30 : YPOS= Mousey()- 48 : TWSC= Sin(TWA)*100 : IF TWSC= 0 Then TWSC= 1
TWA= TWA+ TWAI
IF ( TWA = 0 Or TWA = 90 ) Then TWAI= (0-TWAI) : If TWA = 0 Then TWIM= 529- TWIM
Sprite 449,XPOS,YPOS+((96-TWSC)/2),TWIM : Stretch Sprite 449,100,TWSC : Sync
Rem  Another loop?
If Scancode() = 0 And Mouseclick() = 0 Then Goto ICANDI_
Rem  User Signaled end of attract
OFBUT_:
Wait 1 : If Mouseclick()>0 Then Goto OFBUT_
Stretch Sprite 449,100,100 : Sprite 449,XPOS,YPOS,264
For I= 401 To 448 : Sprite I,639,479,277 : Next I
Sync : Set Sprite 449,0,1
FINAWARD_:
XPOS= Mousex()- 32 : YPOS= Mousey()-50 : Sprite 449,XPOS,YPOS,264 : Sync
If Mouseclick() = 0 Then Goto FINAWARD_
Set Sprite 449,1,1 : Sprite 449,639,479,264 : Cls 0 : End
Posted: 7th Dec 2002 5:52
Thats much better.
I don't know what happened before.
The second posted snippit works fine.
Posted: 8th Dec 2002 3:30
I just got a NVIDIA PCI MX200, and on this video card the snippit runs significantly faster in DBPro than in DB1.

DB1x executables run significantly better on the AGP SIS630/730. That is probably because my motherboard is setup for an AGP implementation and the NVIDIA is a PCI. The SIS 630/730 (onboard an ASUS V7SVM mobo) really does not like DBPro and it runs DBPro very poorly when they run at all.