U0 DrawIt(CTask *task, CDC *dc)
{

}

U0 AnimateTask(I64)
{
    while (TRUE)
    {
        Sleep(10);
    }
}

U0 Init()
{

}

U0 CleanUp()
{

}

U0 SongTask(I64)
{
    Fs->task_end_cb = &SoundTaskEndCB;
    MusicSettingsReset;
    while (TRUE)
    {
        Play("4AB5C");
    }
}

U0 MyGame()
{
    I64 sc;

    SettingsPush; //See SettingsPush
    Fs->text_attr = YELLOW << 4 + BLUE;
    Fs->song_task = Spawn(&SongTask, NULL, "Song",, Fs);
    AutoComplete;
    WinBorder;
    WinMax;
    DocCursor;
    DocClear;

    MenuPush(   "File {"
                "  Abort(,CH_SHIFT_ESC);"
                "  Exit(,CH_ESC);"
                "}"
                "Play {"
                "  Restart(,'\n');"
                "  Up(,,SC_CURSOR_UP);"
                "  Down(,,SC_CURSOR_DOWN);"
                "  Left(,,SC_CURSOR_LEFT);"
                "  Right(,,SC_CURSOR_RIGHT);"
                "}"
                );

    Init;
    Fs->animate_task = Spawn(&AnimateTask, NULL, "Animate",, Fs);
    Fs->draw_it      = &DrawIt;

    try
    {
        while (TRUE)
            switch (KeyGet(&sc))
            {
                case 0:
                    switch (sc.u8[0])
                    {
                        case SC_CURSOR_LEFT:
                            break;

                        case SC_CURSOR_RIGHT:
                            break;

                        case SC_CURSOR_UP:
                            break;

                        case SC_CURSOR_DOWN:
                            break;
                    }
                    break;

                case '\n':
                    CleanUp;
                    Init;
                    break;

                case CH_SHIFT_ESC:
                case CH_ESC:
                    goto mg_done;
            }
mg_done: //Don't goto out of try
    }
    catch
        PutExcept;
    SettingsPop;
    CleanUp;
    MenuPop;
}

MyGame;