
FB II Compiler
PG PRO
Debugging
Memory
System
Mathematics
Resources
Disk I/O
Windows
Controls
Menus
Mouse
Keyboard
Text
Fonts
Drawing
Sound
Clipboard
Printing
Communication
ASM
|
MATHEMATICS
Implement VBL Task
I don't know whether this is what you're asking for or not but it does work and you might be able to use it.
'
' fbII VBL task example
' by l. frank turovich
' copyright copyright1996 sentient fruit
' all rights reserved worldwide
'
' Email: turovich@earthlink.net
' Web: http://home.earthlink.net/~turovich/
'
' demonstrates how to implement a VBL task in FBII
'
' ----------------------------------------------
' assign an interval for VBL task
_kInterval = 6
' setup VBL record to use for task
DIM gVblPtr&, gVblRecord.16
DIM gCount%
END GLOBALS
' make sure to jump over procs
GOTO "End of Procs"
' this simple VBL task simply increments a variable
' and prints it to the window, note that we reset the
' vblCount% each time we exit the task in order for it
' to be called again
"VBLTask"
ENTERPROC
INC( gCount% )
PRINT gCount%
gVblRecord.vblCount% = _kInterval
EXITPROC
"End of Procs"
LOCAL FN SetupVBL
' get pointer to VBL record
gVblPtr& = @gVblRecord
' setup record for VBL task
gVblRecord.vblType% = 1
gVblRecord.vblAddr& = LINE "VBLTask"
gVblRecord.vblCount% = _kInterval
gVblRecord.vblPhase% = 0
' install VBL task
err% = FN VINSTALL( gVblPtr& )
END FN = err%
LOCAL FN RemoveVBL
' make sure VBL task got installed, then remove
LONG IF gVblPtr& <> _nil
err% = FN VREMOVE( gVblPtr& )
gVblPtr& = _nil
END IF
END FN
WINDOW #1
TEXT _applFont, 10
' setup our VBL task
err% = FN SetupVBL
LONG IF err% = 0
DO
UNTIL gCount% = 25
' make sure to remove VBL task when finished
FN RemoveVBL
XELSE
BEEP
END IF
STOP
|