U0 Main()
{
        I64  x1 = 0, y1 = 0, x2 = 0, y2 = 0, i = 1, c = 0;
        I64  vx1 = 0, vy1 = 0, vx2 = 0, vy2 = 0;
        CDC *dc = DCAlias;

        while (!CharScan)
        {
                if (!--i)
                {
                        i = 1000;
                        dc->color = c++ & 15;
                }
                GrLine(dc, x1, y1, x2, y2);
                vx1 = ClampI64(vx1 + SignI64(RandI16), -5, 5);
                vy1 = ClampI64(vy1 + SignI64(RandI16), -5, 5);
                vx2 = ClampI64(vx2 + SignI64(RandI16), -5, 5);
                vy2 = ClampI64(vy2 + SignI64(RandI16), -5, 5);
                x1 = ClampI64(x1 + vx1, 0, Fs->pix_width  - 1);
                y1 = ClampI64(y1 + vy1, 0, Fs->pix_height - 1);
                x2 = ClampI64(x2 + vx2, 0, Fs->pix_width  - 1);
                y2 = ClampI64(y2 + vy2, 0, Fs->pix_height - 1);
                Sleep(1); //Replace this with Yield() or Sleep(0) and see what happens!
        }
        DCFill(dc);
        DCDel(dc);
}

Main;