-
-
Notifications
You must be signed in to change notification settings - Fork 492
Josh Goebel edited this page Jan 27, 2021
·
14 revisions
The SCN callback allows you to execute code between the rendering of each scan line; for example, to manipulate the palette. This makes it theoretically possible to use a different palette for every scan line.
function SCN(scanline)
-- your code here
end
- scanline The scan line about to be drawn (0..135)
The following example displays all 256 possible shades of gray. This can be done with any color.
-- title: 256 shades of gray
-- author: Marcuss2, fixed by nesbox
-- desc: Showoff of grayscale
-- script: lua
-- input: mouse
ADDR = 0x3FC0
palette = 0
function addLight()
for i=0, 15 do
for j=0, 2 do
poke(ADDR+(i*3)+j, palette)
end
palette = palette + 1
end
end
function SCN(scnline)
if scnline % 8 == 0 then
addLight()
end
end
function init()
for i=0, 16 do
rect(i*15, 0, 15, 240, i)
end
end
init()
function TIC()
palette = 0
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)