'
' Random Pixels Experiment with Future Composer
' Freebasic Version 18
Option Explicit
Option Static
#Include "tinyPTC.bi"' "TinyPTC_Ext.bi"
#include "tiny_fc.bi"
Const XRES=640
Const YRES=480
Const ARES=XRES*YRES
Dim Shared ScreenBuffer( ARES )
dim shared dummy as integer
Declare Sub FeedPixels ( Byval X As Integer, ByVal Y As Integer, Byval Col As Integer )
Declare Sub InitializeExperiment()
Declare Sub RunExperiment()
Declare Sub ShutDownExperiment()
Declare Function Randd(ByVal lower as integer, ByVal upper as integer) As Integer
InitializeExperiment()
RunExperiment()
ShutDownExperiment()
Sub FeedPixels ( Byval X As Integer, ByVal Y As Integer, Byval Col As Integer )
If X>0 And X<XRES-1 And Y>0 And Y<YRES-1 And Col<>0 Then
ScreenBuffer( X + ( Y * XRES) ) = Col
End If
End Sub
Sub InitializeExperiment()
initFC(0, @dummy, 0, "slipstream2.fc")
startFC()
If( ptc_open( "testing", XRES, YRES ) = 0 ) Then
End -1
End if
End Sub
Sub RunExperiment()
Dim Key As String
Dim x,y
While Key<>Chr(27)
For y=0 To YRES-1
For x=0 To XRES-1
FeedPixels(x,y,Randd(0,&HFFFFFF))
Next
Next
PTC_Update @ScreenBuffer(0)
key=Inkey
Wend
End Sub
Sub ShutDownExperiment()
stopFC()
PTC_Close()
End Sub
Function Randd(ByVal lower as integer, ByVal upper as integer) As Integer
Dim temp as integer
If upper < lower then
temp=upper
upper=lower
lower=temp
End If
Dim value As integer
Dim dist As integer
value=lower
dist = Abs(lower-upper)
Return ( Rnd(1)*dist) + value
End function