Here's the DBC version - haven't got time to convert it to DBP.
If you've got DBC you cab convert it yourself.
DispTopLeftX = 100
DispTopLeftY = 100
DispWidth = 600
DispHeight = 100
DispVCentre = DispTopLeftY + (DispHeight/2)
HeartRate = 72: Rem BPM
HRInterval = 60000 / HeartRate
RiseSpeed = 4
Peak = 32
True = 1: False = 0
Rising = True
Set Display Mode 800,600,32
Sync On: Sync Rate 0
Ink RGB(255,255,255),0: Box DispTopLeftX-1, DispTopLeftY-1, DispTopLeftX+DispWidth+2, DispTopLeftY+DispHeight+2
Ink 0,0: Box DispTopLeftX, DispTopLeftY, DispTopLeftX+DispWidth+1, DispTopLeftY+DispHeight+1
Get Image 1001,DispTopLeftX+DispWidth+1,DispTopLeftY+1,DispTopLeftX+DispWidth+2,DispTopLeftY+DispHeight+2,1
Ink RGB(255,255,255),0
T = Timer()
Do
Elapsed = Timer()-T
If Elapsed >= HRInterval Then Beat = True: T = Timer()
If Beat = True
Inc Pressure,RiseSpeed
If Pressure >= Peak
RiseSpeed = 0-RiseSpeed
Rising = False
Endif
If Pressure <= 0-(Peak/4*3)
RiseSpeed = 0-RiseSpeed
Rising = True
Endif
If Pressure = 0 and Rising = True Then Beat = False: rem T = Timer()
Endif
Dot DispTopLeftX+DispWidth+1,DispVCentre-Pressure
Get Image 1000,DispTopLeftX+2,DispTopLeftY+1,DispTopLeftX+DispWidth+2,DispTopLeftY+DispHeight+2,1
Paste Image 1000,DispTopLeftX+1,DispTopLeftY+1
Paste Image 1001,DispTopLeftX+DispWidth+1,DispTopLeftY+1
Sync
Loop
TDK_Man