FAQ  •  Register  •  Login

Space Worm

Moderator: nitrofurano

<<

emook

Posts: 28

Joined: Tue Dec 06, 2016 1:23 am

Post Thu Nov 15, 2018 12:32 am

Space Worm

Just some fun little code.


  Code:
' SpaceWorm - em00k
' David Saphier 2018

paper 0 : ink 0: cls :border 0
dim c,sc as uinteger
dim a as float

' Fill screen with some Graphics

for n=1 to 192

   print inverse 0;"\.' ";
   print inverse 1;"\.' ";
   
Next

a=1 : ad=1

do
   
   ' draws a line of attribs at X=26 Y+7 colour blue (1)
   for y=1 to 7
      poke 22528+26+(y<<5),1
   next
   
   ' reads the sin data from sinpos+c and pops into cc
   cc=peek(@sinpos+c)+1
   
   ' get the current colour and make sure its *8 so it affects the paper
   ic=i<<3
   
   ' draw the colour ic at X=26 and Y+cc
   poke 22528+26+((15-cc)<<5),ic
   poke 22528+26+((16-cc)<<5),ic
   
   ' increase c to for reading sintable
   c=c+ad
   
   ' if its bigger than 60, reset the position
   if c>60
      c=0
   endif
   
   ' increase mc, used for setting speed
   mc=mc+1

   if mc>10
      ' mc was 10 to now we make ad = (speed+sc)
      ad=peek(@speed+sc) : sc=sc+1 : mc=0
      
      if sc>13 : sc=0 :   endif    
      
   endif
   
   ' fractional for slower colour changes
   a=a+.75
   
   if a>1
      i=i+1 : a=0
      if i>7 : i=1 : endif      
   endif

   pause 2

   asm
      ; code for copying the attribs from right to left
      lin equ 4
      len equ 26
      
      ld hl,22529+lin+32
      ld de,22528+lin+32
      ld bc,len
      ldir
      
      ld hl,22529+lin+32+32
      ld de,22528+lin+32+32
      ld bc,len
      ldir
      
      ld hl,22529+lin+32+32+32
      ld de,22528+lin+32+32+32
      ld bc,len
      ldir
      
      ld hl,22529+lin+32+32+32+32
      ld de,22528+lin+32+32+32+32
      ld bc,len
      ldir
      
      ld hl,22529+lin+32+32+32+32+32
      ld de,22528+lin+32+32+32+32+32
      ld bc,len
      ldir
      ld hl,22529+lin+32+32+32+32+32+32
      ld de,22528+lin+32+32+32+32+32+32
      ld bc,len
      ldir
      
      ld hl,22529+lin+32+32+32+32+32+32+32
      ld de,22528+lin+32+32+32+32+32+32+32
      ld bc,len
      ldir
   end asm

loop

cols:
asm
   db 6,6,6,6,6,2
   db 70,68,6,6,6,2
   db 3,4,5,6,6,2
   db 6,6,6,6,6,2
   db 3,4,5,6,6,2   
end asm
 
sinpos:
asm
   db 2,2,2,1,1,1,1,1,0,0,0,0,0,0,0,0
   db 0,0,0,0,0,0,0,0,0,1,1,1,1,1,2,2
   db 2,2,3,3,3,3,3,4,4,4,4,4,4,4,4,4
   db 4,4,4,4,4,4,4,4,3,3,3,3,3,2,2,2
end asm

speed:
asm
   db 1,1,2,3,4,5,6,5,4,3,2,1,1
end asm
 
<<

oblo

Posts: 96

Joined: Tue Jul 12, 2011 5:23 pm

Post Thu Nov 15, 2018 8:07 am

Re: Space Worm

Nice effect, thanks for sharing!

Cheers

Return to Gallery

Who is online

Users browsing this forum: No registered users and 1 guest

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by Vjacheslav Trushkin for Free Forums/DivisionCore.

phpBB SEO