//This puts the cursor at the bottom Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL); "\n"; PopUpOk( "Now, we're going to demonstrate how to work\n" "with programs. We'll change to the\n" "$$FG,GREEN$$/TempleOS/Demo/Games$$FG$$ directory.\n\n" "Note, that directories are specified with\n" "a forward slash, not a backslash.\n" "Drives can be specified in a $$FG,GREEN$$Cd()$$FG$$ command\n" "and the boot drive is specified with \"$$FG,GREEN$$::$$FG$$\".\n\n" "$$FG,GREEN$$$$FG$$ to complete the command.\n"); AFDelayedPutS("Cd(\"::/TempleOS/Demo/Games\");Dir;",25); AFPmtStr("\n"); PopUpOk( "Now, we're going to edit a file. Normally,\n" "you'll probably left-click on a directory\n" "listing to edit a file, but we're going to\n" "type it on the command line.\n\n" "$$FG,GREEN$$$$FG$$ to complete the command.\n"); AFDelayedPutS("Ed(\"CastleFrankenstein.CPP.Z\");",25); AFPmtStr("\n"); Msg(MSG_KEY_DOWN_UP,0,SC_CURSOR_UP|SCF_CTRL); Sleep(1000); Msg(MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN|SCF_CTRL); PopUpOk( "This is a first-person-shooter.\n" "It quits when you press $$FG,GREEN$$$$FG$$.\n\n" "There is no \"$$FG,GREEN$$main()$$FG$$\" function in TempleOS\n" "programs. Any program statements outside\n" "functions get executed when you $$FG,GREEN$$#include$$FG$$\n" "them at the command line.\n\n" "The \"$$FG,GREEN$$CastleFrankenstein;$$FG$$\" statement at the\n" "bottom will run the program when we\n" "$$FG,GREEN$$#include$$FG$$ it.\n"); PopUpOk( "$$FG,GREEN$$$$FG$$ to abort the editor.\n" ); AFGetChar(CH_SHIFT_ESC,CH_ESC); PopUpOk( "Now, we'll run the CastleFrankenstein.CPP.Z\n" "program. Press $$FG,GREEN$$$$FG$$. Then, move around\n" "with cursor keys and $$FG,GREEN$$$$FG$$\n" "when you are done.\n"); AFDelayedPutS("#include \"CastleFrankenstein\";",25); AFPmtStr("\n"); AFUntilChar(CH_SHIFT_ESC,CH_ESC); PopUpOk( "The program is still in memory and we\n" "can start it again by typing\n" "\"$$FG,GREEN$$CastleFrankenstein;$$FG$$\".\n\n" "$$FG,GREEN$$$$FG$$ at the command line to\n" "run it again.\n"); AFDelayedPutS("CastleFrankenstein;",25); AFPmtStr("\n"); AFUntilChar(CH_SHIFT_ESC,CH_ESC); PopUpOk( "$$FG,GREEN$$$$FG$$\tExtended ASCII\n" "$$FG,GREEN$$$$FG$$\tBreak(interrupt) program\n" "$$FG,GREEN$$$$FG$$\tEnter debugger\n" "$$FG,GREEN$$$$FG$$\tSpawn new user terminal window\n" "$$FG,GREEN$$$$FG$$\tFlush screen VGA cache\n" "$$FG,GREEN$$$$FG$$\tMutes sound\n" "$$FG,GREEN$$$$FG$$\tSwitch tasks\n" "$$FG,GREEN$$$$FG$$\tKill task (window)\n" ); AFDelayedPutS("Ed(\"CastleFrankenstein.CPP.Z\");\n",50); PopUpOk( "$$FG,GREEN$$$$FG$$ in the editor to run the file being edited.\n" ); AFGetKey(SC_F5); Sleep(50); CTask *task=sys_focus_task; PopUpOk( "$$FG,GREEN$$$$FG$$ to abort the application.\n" "Then, $$FG,GREEN$$$$FG$$ to kill the task.\n" ); WinToTop(task); while (TaskValidate(task)) Sleep(10); PopUpOk( "$$FG,GREEN$$$$FG$$ to abort the editor.\n"); AFUntilChar(CH_SHIFT_ESC,CH_ESC); PopUpOk( "Explore the $$LK+PU,\"DemoIndex\",\"FI:::/TempleOS/Doc/DemoIndex.TXT\"$$. You'll find it\n" "on your menu. It's arranged by difficulty.\n" "Hit $$FG,GREEN$$$$FG$$ on a demo index listing\n" "and $$FG,GREEN$$$$FG$$ to run from the editor.\n" );