ok, this is a cut and paste of the tutorial source code
Rem Project: QuickStart Tutorial 9 - Memblock Starfield
Rem Created: 06/02/2003 11:46:13
Rem ***** Main Source File *****
sync rate 0
sync on
hide mouse
load image "media/logo.png",1,1
starquantity = 3000
starlayers = 5
speedfactor# = 0.75
` Here we'll setup our starfield type
type starfield
X AS FLOAT
Y AS FLOAT
Z AS INTEGER
speed AS FLOAT
color AS DWORD
endtype
` Now let's create some stars
dim stars(starquantity) as starfield
` We need to give each star a location, colour and depth
for s=0 to starquantity
stars(s).x = rnd(800)
stars(s).y = rnd(600)
stars(s).z = int(s/(starquantity/starlayers))+1
stars(s).speed = stars(s).z * speedfactor#
temp_col = (255/starlayers) * stars(s).z
stars(s).color = rgb(temp_col, temp_col, temp_col)
next s
set sprite 1,0,1
` our memblock - this is calculated from the following: screen X * screen Y * 4 (bytes per pixel)
make memblock 1,1920000
mem_loc AS DWORD
mem_loc = get memblock ptr(1)
` Now our main loop!
repeat
` our CLS equivalent
fill memory mem_loc, 0, 1920000
for s=0 to starquantity
sx# = stars(s).x
` works out where in memory to plot our dot!
mem_y = int(stars(s).y)*(800*4)
mem_x = (int(sx#)*4)
mem_location = mem_x + mem_y
` plots
if mem_location > 1 and mem_location < 1920000
write memblock dword 1, mem_location, stars(s).color
endif
` moves the star
sx# = sx# - stars(s).speed
if sx# < 0 then sx# = 800
stars(s).x = sx#
next s
` This copies the pixel data from memory to the screen
lock pixels
copy memory get pixels pointer(), mem_loc, 1920000
unlock pixels
set cursor 0,0 : print screen fps()
sprite 1,200,182,1
sync
if controlkey()=1 then wait 20000
until spacekey()=1
end
The blackness I am referring to is not around the Dark Basic Pro Sprite, but the black strip and a half at the bottom of the screen (where I have added the "See what I Mean?" text and the hand drawn arrows
This is not the Sig you are looking for....