# poke

## Parameters:

• val : the value to write to the specified address

## Description:

This function allows you to write to the virtual RAM of TIC.
The address should be specified in hexadecimal format, and values should be given in decimal.

## Example of poke

```-- demo poke
function TIC()

--Make some video noise
for i=0,(240*136)/2-1 do
poke(0x0000+i,(i*i*time())/3000000000%2+1)
end

--Sound it
m=0
for i=30,80 do
m=m+peek(0x0000+6000+i)
end
f=math.floor((10+((1+m)/20))*400)
poke(0xFF80+0,f&0XFF)
poke(0xFF80+2,(f&0XFF00)>>8)
poke(0xFF80+8,f&0XFF)
poke(0xFF80+10,(f&0XFF00)>>8)

end```

## Example poke (2 player mode)

```-- demo poke
l1=49
w1=18
l2=21
w2=12

function TIC()

--Video noise
for i=0,(240*136)/2-1 do
poke(0x0000+i,(i*i*time())/3000000000%2+1)
end

--Sounds
if btnp(0,3,3)then l1=l1-1 end
if btnp(1,3,3)then l1=l1+1 end
if btnp(2,3,3)then w1=w1-1 end
if btnp(3,3,3)then w1=w1+1 end

l1=l1<136 and l1 or 135
l1=l1>0 and l1 or 0
w1=w1<120 and w1 or 112
w1=w1>2 and w1 or 2

if btnp(8,3,3)then l2=l2-1 end
if btnp(9,3,3)then l2=l2+1 end
if btnp(10,3,3)then w2=w2-1 end
if btnp(11,3,3)then w2=w2+1 end

l2=l2<136 and l2 or 135
l2=l2>0 and l2 or 0
w2=w2<120 and w2 or 112
w2=w2>2 and w2 or 2

--S1
off1=l1*120
m=0
for i=60-w1/2,60+w1/2 do
m=m+peek(0x0000+off1+i)
end

f=(10+((1+m)/w1))*800
f=math.floor(f)
print(l1..'-'..w1..'-'..f,0,0)
poke(0xFF80+0,f&0XFF)
poke(0xFF80+2,(f&0XFF00)>>8)

--Draw line
for i=60-w1/2,60+w1/2 do
poke(0x0000+off1+i,136)
end

--S2
off2=l2*120
m=0
for i=60-w2/2,60+w2/2 do
m=m+peek(0x0000+off2+i)
end

f=(10+((1+m)/w2))*800
f=math.floor(f)
print(l2..'-'..w2..'-'..f,0,10)
poke(0xFF80+8,f&0XFF)
poke(0xFF80+10,(f&0XFF00)>>8)

--Draw line
for i=60-w2/2,60+w2/2 do
poke(0x0000+off2+i,102)
end

end```
##### Clone this wiki locally
You can’t perform that action at this time.