-
-
Notifications
You must be signed in to change notification settings - Fork 500
poke
Josh Goebel edited this page Jan 25, 2021
·
25 revisions
poke addr val
- addr : the address in RAM
- val : the value to write
This function allows you to write a single byte to any address in TIC's RAM. The address should be specified in hexadecimal format, the value in decimal.
-- 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
-- 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
TIC-80 tiny computer https://tic80.com | Twitter | Telegram | Terms
Built-in Editors
Console
Platform
RAM & VRAM | Display | Palette | Bits per Pixel (BPP) |
.tic
Format | Supported Languages
Other
Tutorials | Code Snippets | Libraries | External Tools | FFT
API
- BDR (0.90)
- BOOT (1.0)
- MENU
- OVR (deprecated)
- SCN (deprecated)
- TIC
- btn & btnp
- circ & circb
- clip
- cls
- elli & ellib (0.90)
- exit
- fget & fset (0.80)
- font
- key & keyp
- line
- map
- memcpy & memset
- mget & mset
- mouse
- music
- peek, peek4
- peek1, peek2 (1.0)
- pix
- pmem
- poke, poke4
- poke1, poke2 (1.0)
- rect & rectb
- reset
- sfx
- spr
- sync
- ttri (1.0)
- time
- trace
- tri & trib (0.90)
- tstamp (0.80)
- vbank (1.0)