democrap={ patterns={ 0b1111111111111111, 0b1111111111111111, 0b1111111111111111, 0b1111111111111111, 0b1111111111111111, 0b1111111111111111, 0b1111111111111111, 0b1111111111111100, 0b1111111111110000, 0b1111110011110000, 0b1111000011110000, 0b1111000011000000, 0b1111000000000000, 0b1100000000000000, 0b0000000000000000 } } function democrap:distort_screen(progress) if (progress <= 0) return progress=min(progress,1) for src=0x6004,0x7fc4,64 do dst=src+sin(t()+src/0x800)*(4*progress)+0.5 memcpy(dst,src,56) end local ps=democrap.patterns local p=ps[1+flr(progress*#ps)] or ps[#ps] fillp(p) local old=@0x5333 poke(0x5f33,1) rectfill(0,0,127,127,13) poke(0x5f33,old) fillp() end