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;