Files
TempleOS-Rijn/Misc/OSTestSuite.HC
T
2018-09-08 21:47:50 +02:00

1780 lines
45 KiB
HolyC

$PL,1000$I64 ts_num;
U0 TSStart()
{
ts_num=0;
}
U0 TS()
{
progress4=ts_num++;
progress4_max=169;
*progress4_desc=0;
}
U0 TSFile(U8 *name,I64 ms=750)
{
CTask *task=User("#include \"%s\";Sleep(%d);Exit;\n",name,ms);
DeathWait(&task);
}
U0 TSFileChar(U8 *name,I64 ms=750,I64 ch=CH_SPACE,Bool wait=TRUE)
{
CTask *task=User;
if (wait)
XTalkWait(task,"#include \"%s\";\n",name);
else
XTalk(task,"#include \"%s\";\n",name);
Sleep(ms);
PostMsgWait(task,MSG_KEY_DOWN_UP,ch,0);
XTalk(task,"Exit;\n");
// DeathWait(&task);
}
U0 TSEnd()
{
if (ts_num!=progress4_max)
ST_ERR_ST "Cnt %d should be %d.\n",ts_num,progress4_max;
else
"$$GREEN$$Test Suite Completed$$FG$$\n";
ProgressBarsRst;
}
U0 DoRandDemo()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/RandDemo\";\n");
XTalkWait(task," ");
XTalkWait(task," ");
Sleep(750);
XTalk(task,"Exit;\n");
}
U0 DoLowPassFilter()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/LowPassFilter\";\n");
Sleep(300);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(300);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(300);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(300);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(300);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
U0 DoMathAudioDemo()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/MathAudioDemo\";\n");
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
U0 DoMsgLoop()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/MsgLoop\";\n");
Sleep(300);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(300);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoASCIIOrgan()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Snd/ASCIIOrgan\";\n");
Sleep(100);
PostMsgWait(task,MSG_KEY_DOWN_UP,'A',0);
Sleep(200);
PostMsgWait(task,MSG_KEY_DOWN_UP,'B',0);
Sleep(200);
PostMsgWait(task,MSG_KEY_DOWN_UP,'C',0);
Sleep(200);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoDoodle()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/Doodle\";\n");
PostMsgWait(task,MSG_IP_L_DOWN,10,10);
PostMsgWait(task,MSG_IP_L_UP,100,200);
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoSpeedLine()
{
I64 i=PURPLE;
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/Speedline\";\n");
PostMsgWait(task,MSG_IP_L_DOWN,10,10);
PostMsgWait(task,MSG_IP_L_UP,100,200);
PostMsg(task,MSG_IP_R_DOWN_UP,0,0);
BirthWait(&task->popup_task);
while (i--)
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
Sleep(100);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_ESC,0);
TaskWait(task);
PostMsgWait(task,MSG_IP_L_DOWN,50,10);
PostMsgWait(task,MSG_IP_L_UP,150,200);
Sleep(1000);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoKeyBitMap()
{
I64 i_sc=Char2ScanCode('i');
CTask *task=User;
XTalk(task,"#include \"::/Demo/KeyBitMap\";\n");
Sleep(50);
LBts(kbd.down_bitmap,i_sc);
Sleep(500);
LBtr(kbd.down_bitmap,i_sc);
Sleep(50);
XTalk(task,"Exit;\n");
}
U0 DoMountain()
{
CTask *task=User("#include \"::/Demo/Graphics/Mountain\";\n");
Sleep(1500);
Kill(task);
}
U0 DoDigits()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/Digits\";\n");
Sleep(100);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(100);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(250);
PostMsgWait(task,MSG_KEY_DOWN_UP,'1',0);
Sleep(250);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoSymmetry()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/Symmetry\";\n");
PostMsgWait(task,MSG_IP_R_DOWN,100,100);
PostMsgWait(task,MSG_IP_R_UP,200,200);
Sleep(100);
PostMsgWait(task,MSG_IP_L_DOWN,10,10);
PostMsgWait(task,MSG_IP_L_UP,100,200);
Sleep(250);
PostMsgWait(task,MSG_IP_L_DOWN,100,200);
PostMsgWait(task,MSG_IP_L_UP,400,400);
Sleep(250);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoBSpline()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/BSpline\";\n");
PostMsgWait(task,MSG_IP_L_DOWN_UP,50,50);
PostMsgWait(task,MSG_IP_L_DOWN_UP,300,100);
PostMsgWait(task,MSG_IP_L_DOWN_UP,150,300);
PostMsgWait(task,MSG_IP_R_DOWN_UP,0,0);
Sleep(1500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
U0 DoScreenCapture()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/ScreenCapture\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(750);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
Del("~/DemoScreenShot.GRA*");
}
/*
U0 DoPullDownMenu()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/PullDownMenu\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
*/
U0 DoStadium()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/Stadium/Stadium\";\n");
Sleep(50);
PostMsgWait(task,MSG_IP_L_DOWN_UP,100,10);
Sleep(300);
PostMsgWait(task,MSG_IP_L_DOWN_UP,320,20);
Sleep(300);
PostMsgWait(task,MSG_IP_L_DOWN_UP,520,10);
Sleep(300);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoPalette()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/Palette\";\n");
Sleep(400);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(400);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
U0 DoElephantWalk()
{
I64 i;
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/ElephantWalk\";\n");
for (i=0;i<15;i++) {
PostMsgWait(task,MSG_KEY_DOWN,0,SC_CURSOR_RIGHT);
Sleep(50);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoHalogen()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/Halogen\";\n");
PostMsgWait(task,MSG_KEY_DOWN,0,SC_CURSOR_UP);
Sleep(1000);
PostMsgWait(task,MSG_KEY_UP,0,SC_CURSOR_UP);
PostMsgWait(task,MSG_KEY_DOWN,0,SC_CURSOR_RIGHT);
Sleep(333);
PostMsgWait(task,MSG_KEY_UP,0,SC_CURSOR_RIGHT);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoTheDead()
{
I64 i;
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/TheDead\";\n");
for (i=0;i<15;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(50);
}
for (i=0;i<15;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_UP);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(50);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoBomberGolf()
{
I64 i;
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/BomberGolf\";\n");
for (i=0;i<7;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_UP);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_RIGHT);
Sleep(100);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
for (i=0;i<7;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_UP);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_LEFT);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_LEFT);
Sleep(200);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoZoneOut()
{
I64 i;
CTask *task=User;
XTalk(task,"#include \"::/Demo/Games/ZoneOut\";\n");
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
for (i=0;i<15;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_RIGHT);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(100);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoVaroom()
{
I64 i;
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/Varoom\";\n");
for (i=0;i<10;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_UP);
Sleep(50);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_UP);
Sleep(50);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_UP);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_LEFT);
Sleep(50);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoFlatTops()
{
CTask *task=User;
XTalk(task,"#include \"::/Demo/Games/FlatTops\";\n");
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
DeathWait(&task->popup_task);
PostMsgWait(task,MSG_IP_R_DOWN_UP,RandI16%400+200,RandI16%300+150);
Sleep(1500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoWenceslas()
{
I64 i;
CTask *task=User;
XTalk(task,"#include \"::/Demo/Games/Wenceslas\";\n");
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(100);
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(100);
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(100);
for (i=0;i<25;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_RIGHT);
Sleep(25);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoTreeCheckers()
{
I64 task_num;
CTask *task=User;
XTalk(task,"#include \"::/Demo/Games/TreeCheckers\";\n");
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
task_num=task->popup_task->task_num;
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
BirthWait(&task->popup_task,task_num);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,'\n',0);
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoMorseCode()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Snd/MorseCode\";\n");
Sleep(50);
PostMsg(task,MSG_KEY_DOWN,CH_SPACE,0);
Sleep(200);
PostMsg(task,MSG_KEY_UP,CH_SPACE,0);
Sleep(350);
PostMsg(task,MSG_KEY_DOWN,CH_SPACE,0);
Sleep(50);
PostMsg(task,MSG_KEY_UP,CH_SPACE,0);
Sleep(350);
PostMsg(task,MSG_KEY_DOWN,CH_SPACE,0);
Sleep(50);
PostMsg(task,MSG_KEY_UP,CH_SPACE,0);
Sleep(25);
PostMsg(task,MSG_KEY_DOWN,CH_SPACE,0);
Sleep(200);
PostMsg(task,MSG_KEY_UP,CH_SPACE,0);
Sleep(25);
PostMsg(task,MSG_KEY_DOWN,CH_SPACE,0);
Sleep(50);
PostMsg(task,MSG_KEY_UP,CH_SPACE,0);
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoPixCollision()
{
I64 w,h;
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/Collision\";\n");
w=task->pix_width>>1 +task->pix_left+task->scroll_x;
h=task->pix_height>>1+task->pix_top +task->scroll_y;
IPSet(w-35,h-35);
AFSetIP(10,w+35,w+35);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
U0 DoBlackDiamond()
{
I64 i;
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/BlackDiamond\";\n");
for (i=0;i<15;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_RIGHT);
Sleep(75);
}
for (i=0;i<12;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
Sleep(75);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoCtrlR1()
{
I64 i,task_num=-1;
CTask *task=User;
XTalkWait(task,"//");
PostMsg(task,MSG_KEY_DOWN_UP,CH_CTRLR,0);
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
task_num=task->popup_task->task_num;
for (i=0;i<1;i++)
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsg(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
DeathWait(&task->popup_task);
//Color
BirthWait(&task->popup_task,task_num);
TaskWait(task->popup_task);
task_num=task->popup_task->task_num;
for (i=0;i<2;i++)
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsg(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
BirthWait(&task->popup_task,task_num);
TaskWait(task->popup_task);
for (i=0;i<2;i++)
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
task_num=task->popup_task->task_num;
PostMsg(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
//Width
BirthWait(&task->popup_task,task_num);
TaskWait(task->popup_task);
task_num=task->popup_task->task_num;
for (i=0;i<4;i++)
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsg(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
BirthWait(&task->popup_task,task_num);
TaskWait(task->popup_task);
for (i=0;i<4;i++)
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
task_num=task->popup_task->task_num;
PostMsg(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
//Line
BirthWait(&task->popup_task,task_num);
TaskWait(task->popup_task);
task_num=task->popup_task->task_num;
for (i=0;i<7;i++)
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsg(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
DeathWait(&task->popup_task);
PostMsgWait(task,MSG_IP_L_DOWN,150,150);
PostMsgWait(task,MSG_IP_L_UP,150,95);
Sleep(250);
PostMsgWait(task,MSG_IP_L_DOWN,150,150);
PostMsgWait(task,MSG_IP_L_UP,190,190);
Sleep(250);
PostMsgWait(task,MSG_IP_L_DOWN,150,150);
PostMsgWait(task,MSG_IP_L_UP,110,190);
Sleep(250);
PostMsg(task,MSG_IP_R_DOWN_UP,100,100);
//Color
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
task_num=task->popup_task->task_num;
for (i=0;i<2;i++)
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsg(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
BirthWait(&task->popup_task,task_num);
TaskWait(task->popup_task);
for (i=0;i<3;i++)
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
task_num=task->popup_task->task_num;
PostMsg(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
//Circle
BirthWait(&task->popup_task,task_num);
TaskWait(task->popup_task);
task_num=task->popup_task->task_num;
for (i=0;i<10;i++)
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsg(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
DeathWait(&task->popup_task);
PostMsgWait(task,MSG_IP_L_DOWN,150,150);
PostMsgWait(task,MSG_IP_L_UP,190,190);
Sleep(250);
PostMsg(task,MSG_IP_R_DOWN_UP,100,100);
//Exit
BirthWait(&task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN+SCF_CTRL);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_UP);
PostMsg(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
DeathWait(&task->popup_task);
Sleep(1000);
XTalk(task,"\nExit;\n");
}
U0 DoF2Macro()
{
I64 i;
U8 *ptr="\"Boo!\\n\";\n";
CTask *task=User;
DeathWait(&sys_macro_task);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_F2);
BirthWait(&sys_macro_task);
TaskWait(sys_macro_task);
PostMsgWait(sys_macro_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_RIGHT|SCF_CTRL);
PostMsgWait(sys_macro_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(sys_macro_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_RIGHT);
PostMsgWait(sys_macro_task,MSG_KEY_DOWN_UP,CH_SPACE,0); //Press RECORD
while (!Bt(&sys_semas[SYS_SEMA_RECORD_MACRO],0))
Yield;
while (*ptr)
PostMsgWait(task,MSG_KEY_DOWN,*ptr++,0);
PostMsgWait(sys_macro_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(sys_macro_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(sys_macro_task,MSG_KEY_DOWN_UP,CH_SPACE,0); //Press STOP
for (i=0;i<10;i++)
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_F2|SCF_SHIFT);
PostMsg(sys_macro_task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
DeathWait(&sys_macro_task);
Sleep(1000);
XTalk(task,"\nExit;\n");
}
/*
U0 DoTicTacToe()
{
}
*/
U0 DoPredatorPrey()
{
CTask *task=User;
XTalk(task,"#include \"::/Demo/Graphics/PredatorPrey\";\n");
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(1500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
U0 DoCharDemo()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/CharDemo\";\n");
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_UP);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_LEFT);
Sleep(750);
PostMsg(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoLattice()
{
I64 i;
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/Lattice\";\n");
for (i=0;i<20;i++)
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_UP);
for (i=0;i<6;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,'+',0);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_LEFT);
}
for (i=0;i<6;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_LEFT);
}
for (i=0;i<16;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_RIGHT);
}
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
/*
U0 Do()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Apps/Psalmody/Examples\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
U0 DoLife()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/Life\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
U0 DoZing()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/Zing\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
U0 Do()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/Slider\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
U0 Do()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/ScrollBars\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
*/
U0 DoCartesian()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/Cartesian\";\n");
XTalkWait(task,"0.2*x`1.5\n");
Sleep(750);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoMPAdd()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/MultiCore/MPAdd\";\n");
Sleep(750);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(750);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
U0 DoFlapBat()
{
I64 i;
CTask *task=User;
XTalk(task,"#include \"::/Demo/Games/FlapBat\";\n");
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(500);
for (i=0;i<4;i++) {
PostMsgWait(task,MSG_KEY_DOWN,CH_SPACE,0);
Sleep(100);
PostMsgWait(task,MSG_KEY_UP,CH_SPACE,0);
Sleep(100);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoBattleLines()
{
CTask *task=User;
XTalk(task,"#include \"::/Demo/Games/BattleLines\";\n");
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
DeathWait(&task->popup_task);
IPSet(430,300,,TRUE);
AFSetIP(10,530,400);
IPSet(,,,FALSE);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoBigGuns()
{
I64 i,task_num;
CTask *task=User;
XTalk(task,"#include \"::/Demo/Games/BigGuns\";\n");
BirthWait(&task->popup_task);
task_num=task->popup_task->task_num;
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
BirthWait(&task->popup_task,task_num);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
for (i=0;i<5;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_LEFT);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_LEFT);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_LEFT);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_LEFT);
Sleep(200);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoDunGen()
{
I64 i;
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/DunGen\";\n");
for (i=0;i<10;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_RIGHT);
Sleep(100);
}
for (i=0;i<12;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
Sleep(100);
}
for (i=0;i<6;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_RIGHT);
Sleep(100);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoTimeOut()
{
I64 i;
CTask *task=User;
XTalkWait(task,"#include \"::/Apps/TimeOut/Run\";\n");
Sleep(200);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
for (i=0;i<3;i++) {
PostMsgWait(task,MSG_KEY_DOWN,CH_SPACE,0);
LBts(kbd.down_bitmap,SC_CURSOR_RIGHT);
Sleep(200);
PostMsgWait(task,MSG_KEY_UP,CH_SPACE,0);
LBtr(kbd.down_bitmap,SC_CURSOR_RIGHT);
Sleep(200);
PostMsgWait(task,MSG_KEY_DOWN,CH_SPACE,0);
LBts(kbd.down_bitmap,SC_CURSOR_LEFT);
Sleep(200);
PostMsgWait(task,MSG_KEY_UP,CH_SPACE,0);
LBtr(kbd.down_bitmap,SC_CURSOR_LEFT);
Sleep(200);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoSpan()
{
CTask *task=User;
XTalk(task,"#include \"::/Apps/Span/Run\";\n");
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(1500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoStrut()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Apps/Strut/Run\";\n");
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
IPSet(200,200,,TRUE);
PostMsgWait(task,MSG_IP_L_DOWN,0,0);
WinMgrSync(2);
IPSet(GR_WIDTH-200,200,,TRUE);
PostMsgWait(task,MSG_IP_L_DOWN,0,0);
IPSet(GR_WIDTH/2,400,,TRUE);
PostMsgWait(task,MSG_IP_L_DOWN,0,0);
PostMsgWait(task,MSG_KEY_DOWN_UP,'s',0);
IPSet(200,200,,TRUE);
PostMsgWait(task,MSG_IP_L_DOWN,0,0);
IPSet(GR_WIDTH-200,200,,TRUE);
PostMsgWait(task,MSG_IP_L_UP,0,0);
IPSet(200,200,,TRUE);
PostMsgWait(task,MSG_IP_L_DOWN,0,0);
IPSet(GR_WIDTH/2,400,,TRUE);
PostMsgWait(task,MSG_IP_L_UP,0,0);
IPSet(GR_WIDTH-200,200,,TRUE);
PostMsgWait(task,MSG_IP_L_DOWN,0,0);
IPSet(GR_WIDTH/2,400,,TRUE);
PostMsgWait(task,MSG_IP_L_UP,0,0);
IPSet(GR_WIDTH/2,GR_HEIGHT/2,,TRUE);
PostMsgWait(task,MSG_IP_L_DOWN,0,0);
IPSet(GR_WIDTH-200,200,,TRUE);
PostMsgWait(task,MSG_IP_L_UP,0,0);
IPSet(GR_WIDTH/2,GR_HEIGHT/2,,TRUE);
PostMsgWait(task,MSG_IP_L_DOWN,0,0);
IPSet(GR_WIDTH/2,400,,TRUE);
PostMsgWait(task,MSG_IP_L_UP,0,0);
IPSet(GR_WIDTH/2,GR_HEIGHT/2,,TRUE);
PostMsgWait(task,MSG_IP_L_DOWN,0,0);
IPSet(200,200,,TRUE);
PostMsgWait(task,MSG_IP_L_UP,0,0);
PostMsgWait(task,MSG_KEY_DOWN_UP,'t',0);
IPSet(GR_WIDTH/2,400,,TRUE);
PostMsgWait(task,MSG_IP_L_DOWN,0,0);
IPSet(GR_WIDTH-200,200,,TRUE);
PostMsgWait(task,MSG_IP_L_UP,0,0);
IPSet(GR_WIDTH/2,400,,TRUE);
PostMsgWait(task,MSG_IP_L_DOWN,0,0);
IPSet(200,200,,TRUE);
PostMsgWait(task,MSG_IP_L_UP,0,0);
IPSet(,,,FALSE);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
LBts(kbd.down_bitmap,Char2ScanCode('1'));
Sleep(600);
LBtr(kbd.down_bitmap,Char2ScanCode('1'));
PostMsgWait(task,MSG_KEY_DOWN_UP,'Z',0);
Sleep(200);
PostMsgWait(task,MSG_KEY_DOWN_UP,'Z',0);
Sleep(200);
PostMsgWait(task,MSG_KEY_DOWN_UP,'Z',0);
Sleep(200);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoRawHide()
{
CTask *task=User;
XTalk(task,"#include \"::/Demo/Games/RawHide\";\n");
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(2500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoAfterEgypt()
{
CTask *task=User;
XTalk(task,"#include \"::/Apps/AfterEgypt/Run\";\n");
BirthWait(&task->popup_task);
Sleep(600); //It flushes messages!
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
DeathWait(&task->popup_task);
TaskWait(task);
Sleep(1000);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0); //Camp
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0); //Map
Sleep(1000);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0); //Map
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0); //Camp
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0); //Main Menu
XTalk(task,"Exit;\n");
}
U0 DoPoleZeros()
{
CTask *task=User;
XTalk(task,"#include \"::/Demo/Graphics/PoleZeros\";\n");
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(750);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoWhap()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/Whap\";\n");
IPSet(300,200);
Sleep(500);
AFSetIP(3,350,300);
Sleep(500);
AFSetIP(3,450,200);
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoGrid()
{
CTask *task=User;
XTalk(task,"#include \"::/Demo/Graphics/Grid\";\n");
IPSet(200,200);
Sleep(150);
AFSetIP(2,400,400);
AFSetIP(2,200,400);
AFSetIP(2,200,200);
IPSet(,,,TRUE);
Sleep(50);
IPSet(,,,FALSE);
DocBottom(DocPut(task));
XTalk(task,"Exit;\n");
}
U0 DoPick()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/Pick\";\n");
IPSet(200,200);
Sleep(500);
IPSet(,,,TRUE);
AFSetIP(4,400,400);
IPSet(,,,FALSE);
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoPick3D()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Graphics/Pick3D\";\n");
IPSet(200,200);
Sleep(500);
IPSet(,,,TRUE);
AFSetIP(4,400,400);
IPSet(,,,FALSE);
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
/*
U0 Do()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Apps/ToTheFront\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
*/
U0 DoGrModels()
{
CTask *task=User;
I64 i,j,task_num=-1;
XTalkWait(task,"#include \"::/Apps/GrModels/Run\";\n");
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
PostMsg(task,MSG_KEY_DOWN_UP,CH_ESC,0);
for (i=0;i<4;i++) {
BirthWait(&task->popup_task,task_num);
TaskWait(task->popup_task);
task_num=task->popup_task->task_num;
for (j=0;j<=i;j++)
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
}
Sleep(1000);
PostMsgWait(task,MSG_KEY_DOWN_UP,'n',0);
XTalk(task,"Exit;\n");
}
U0 DoKeepAway()
{
CTask *task=User;
XTalk(task,"#include \"::/Apps/KeepAway/Run\";\n");
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
IPSet(100,100);
Sleep(1500);
PostMsgWait(task,MSG_IP_R_DOWN_UP,ip.pos.x,ip.pos.y);
Sleep(1000);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoRocket()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/Rocket\";\n");
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_UP);
Bts(kbd.down_bitmap,SC_CURSOR_UP);
Sleep(1000);
Btr(kbd.down_bitmap,SC_CURSOR_UP);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_RIGHT);
Bts(kbd.down_bitmap,SC_CURSOR_RIGHT);
Sleep(1000);
Btr(kbd.down_bitmap,SC_CURSOR_RIGHT);
Sleep(1000);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoRocketScience()
{
CTask *task=User;
XTalk(task,"#include \"::/Demo/Games/RocketScience\";\n");
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(750);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(2000);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoMassSpring()
{
CTask *task=User;
XTalk(task,"#include \"::/Demo/Games/MassSpring\";\n");
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
DeathWait(&task->popup_task);
PostMsgWait(task,MSG_IP_L_DOWN_UP,50,50); //#1
PostMsgWait(task,MSG_IP_L_DOWN_UP,50,200); //#2
PostMsgWait(task,MSG_IP_L_DOWN_UP,210,50); //#3
PostMsgWait(task,MSG_IP_L_DOWN_UP,310,200);//#4
Sleep(500);
PostMsgWait(task,MSG_IP_R_DOWN,50,50); //1-2
PostMsgWait(task,MSG_IP_R_UP,50,200);
Sleep(500);
PostMsgWait(task,MSG_IP_R_DOWN,210,50);//3-4
PostMsgWait(task,MSG_IP_R_UP,310,200);
Sleep(500);
PostMsgWait(task,MSG_IP_R_DOWN,50,200);//2-4
PostMsgWait(task,MSG_IP_R_UP,310,200);
Sleep(500);
PostMsgWait(task,MSG_IP_R_DOWN,50,50); //1-3
PostMsgWait(task,MSG_IP_R_UP,210,50);
Sleep(1500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
/*
U0 Do()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/Whap\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
*/
U0 DoSquirt()
{
I64 i;
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/Squirt\";\n");
for (i=0;i<5;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_UP);
Sleep(100);
}
for (i=0;i<5;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_LEFT);
Sleep(100);
}
for (i=0;i<5;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
Sleep(100);
}
for (i=0;i<5;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_RIGHT);
Sleep(100);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoXCaliber()
{
I64 i;
CTask *task=User;
XTalkWait(task,"#include \"::/Apps/X-Caliber/Run\";\n");
for (i=0;i<5;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SCF_SHIFT|SC_CURSOR_UP);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SCF_SHIFT|SC_CURSOR_RIGHT);
}
for (i=0;i<10;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
PostMsgWait(task,MSG_KEY_DOWN,0,SC_CURSOR_RIGHT,0);
Sleep(100);
PostMsgWait(task,MSG_KEY_UP,0,SC_CURSOR_RIGHT,0);
Sleep(50);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoFPS()
{
I64 i;
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/CastleFrankenstein\";\n");
for (i=0;i<15;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_UP);
Sleep(50);
}
for (i=0;i<8;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_RIGHT);
Sleep(50);
}
for (i=0;i<9;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_UP);
Sleep(50);
}
for (i=0;i<6;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_RIGHT);
Sleep(50);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoEagleDive()
{
I64 i;
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Games/EagleDive\";\n");
Sleep(500);
for (i=0;i<10;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_UP);
Sleep(50);
}
for (i=0;i<10;i++) {
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
Sleep(50);
}
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
/*
U0 Do()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Apps/Psalmody\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
*/
U0 DoPhoneNumWords()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/PhoneNumWords\";\n");
XTalkWait(task,"702-254-4223\n\n");
Sleep(750);
XTalk(task,"Exit;\n");
}
U0 DoSuggestedSpelling()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/SuggestSpelling\";\n");
XTalkWait(task,"effecient\n\n");
Sleep(750);
XTalk(task,"Exit;\n");
}
U0 DoFPrintF()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Dsk/FPrintF\";\n");
XTalkWait(task,"~/DemoFPrintF.DD.Z");
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_ESC,0);
XTalkWait(task,"Type(\"~/DemoFPrintF.DD.Z\");\n");
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_CTRLO,0);
XTalkWait(task,"Del(\"~/DemoFPrintF.DD*\");\n");
Sleep(500);
XTalk(task,"Exit;\n");
}
/*
U0 Do()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Dsk/DataBase\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
U0 DoRaw()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Dsk/Raw\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
*/
U0 DoLastClass()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/LastClass\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(500);
XTalk(task,"Exit;\n");
}
U0 DoMiniCompiler()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Lectures/MiniCompiler\";\n");
XTalkWait(task,"1+2*(3+4)\n");
Sleep(750);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoWebLog()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/WebLogDemo/WebLogRep\";\n");
PostMsgWait(task,MSG_KEY_DOWN_UP,'\n',0);
PostMsgWait(task,MSG_KEY_DOWN_UP,'\n',0);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_ESC,0);
Sleep(750);
XTalk(task,"Exit;\n");
}
U0 DoRevFile()
{
CTask *task;
Del("~/DemoPoemFwd.DD*");
task=User("#include \"::/Demo/RevFileDemo/Rev\";"
"Type(\"~/DemoPoemFwd.DD.Z\");Sleep(750);Exit;\n");
DeathWait(&task);
}
U0 DoSortFile()
{
CTask *task=User("#include \"::/Demo/SortFileDemo/F64FileGen\";"
"#include \"::/Demo/SortFileDemo/F64FileSort\";Sleep(750);Exit;\n");
DeathWait(&task);
}
U0 DoToHtmlToTXT()
{
CTask *task=User("#include \"::/Demo/ToHtmlToTXTDemo/HtmlGen\";"
"#include \"::/Demo/ToHtmlToTXTDemo/TXTGen\";Sleep(750);Exit;\n");
DeathWait(&task);
}
/*
U0 Do()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Apps/TimeClock\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
*/
U0 DoLogic()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Apps/Logic/Run\";\n");
XTalkWait(task,"NAND\nNOR\n\n0x100\n0xF0\n0xCC\n0xAA\n\n0x12\n\n");
Sleep(750);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
/*
U0 Do()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Lectures\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
U0 Do()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/AutoFile\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
*/
U0 DoPrompt()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Prompt\";\n");
XTalkWait(task,"1+2*3<<4\n");
XTalkWait(task,"1.0+2*3`2\n");
XTalkWait(task,"Terry Davis\n");
XTalkWait(task,"*-1\n");
Sleep(750);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
U0 DoNumBible()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/DolDoc/NumBible\";\n");
Del("~/DemoNumBible.DD*");
XTalk(task,"Exit;\n");
}
U0 DoForm()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/DolDoc/Form\";\n");
Sleep(250);
XTalk(task,"54321");
Sleep(250);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
Sleep(250);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SCF_CTRL|SC_CURSOR_LEFT);
XTalk(task,"77777");
Sleep(250);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
Sleep(250);
XTalk(task,"MyName");
Sleep(750);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_ESC,0);
Sleep(750);
XTalk(task,"Exit;\n");
}
U0 DoClickCallBack()
{
I64 i;
CTask *task=User;
XTalk(task,"#include \"::/Demo/DolDoc/ClickCallBack\";\n");
for (i=0;i<3;i++) {
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(250);
}
Sleep(500);
XTalk(task,"Exit;\n");
}
U0 DoMenuButton()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/DolDoc/MenuButton\";\n");
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN,0);
Sleep(500);
PostMsg(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
BirthWait(&task->popup_task);
TaskWait(task->popup_task);
Sleep(500);
PostMsgWait(sys_focus_task,MSG_KEY_DOWN_UP,0,SC_CURSOR_RIGHT);
Sleep(500);
PostMsgWait(task->popup_task,MSG_KEY_DOWN_UP,CH_SPACE,0);
DeathWait(&task->popup_task);
Sleep(750);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoMenuSprite()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/DolDoc/MenuSprite\";\n");
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN,0);
Sleep(50);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(300);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN,0);
Sleep(50);
PostMsgWait(task,MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN,0);
Sleep(50);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(300);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
U0 DoExceptions()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Exceptions\";\n");
XTalkWait(task,"yy");
Sleep(750);
XTalk(task,"Exit;\n");
}
U0 DoDemoDoc()
{
CTask *task=User;
XTalkWait(task,"Ed(\"::/Demo/DolDoc/DemoDoc.DD\");\n");
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_CTRLG,0);
XTalkWait(task,"100");
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_ESC,0);
Sleep(750);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SHIFT_ESC,0);
XTalk(task,"Exit;\n");
}
/*
U0 Do()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Spy\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
*/
U0 DoFileRead()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/DolDoc/FileRead\";\n");
Sleep(750);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
Sleep(750);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
U0 DoDefine()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Define\";\n");
XTalkWait(task,"YS\n");
Sleep(750);
XTalk(task,"Exit;\n");
}
/*
U0 Do()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/DolDoc/UnusedDefine\";\n");
Sleep(500);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
XTalk(task,"Exit;\n");
}
*/
U0 DoAsmAndC1()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Asm/AsmAndC1\";\n2\n");
XTalk(task,"Exit;\n");
DeathWait(&task);
}
U0 DoAsmAndC2()
{
CTask *task=User;
XTalkWait(task,"#include \"::/Demo/Asm/AsmAndC2\";\n2\n");
XTalk(task,"Exit;\n");
DeathWait(&task);
}
U0 DoReps()
{
CTask *task=User;
TS; XTalkWait(task,"DocMax;Prof;HeapLog(ON);\n");
TS; XTalkWait(task,"PCIRep;Sleep(750);\n");
TS; XTalkWait(task,"MemBIOSRep;Sleep(750);\n");
TS; XTalkWait(task,"MemRep;Sleep(750);\n");
TS; XTalkWait(task,"ZipRep;Sleep(750);\n");
TS; XTalkWait(task,"ProfRep;Sleep(750);\n");
TS; XTalkWait(task,"HeapLogSizeRep;Sleep(750);\n");
TS; if (mp_cnt>1) XTalkWait(task,"CPURep(TRUE);Sleep(750);\n");
TS; if (DrvIsWritable(':')) XTalkWait(task,"ChkDsk;Sleep(750);\n");
TS; if (DrvIsWritable(':')) {
XTalkWait(task,"DrvView;\n");
Sleep(750);
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
}
TS; if (DrvIsWritable(':')) {
XTalkWait(task,"DskView;\n");
Sleep(250); //Short because ATARep takes time.
PostMsgWait(task,MSG_KEY_DOWN_UP,CH_SPACE,0);
}
TS; XTalkWait(task,"ATARep;\npSleep(750);\n");
TS; XTalkWait(task,"HashDepthRep(adam_task->hash_table);Sleep(750);\n");
TS; XTalkWait(task,"Who;Sleep(750);\n");
TS; XTalkWait(task,"DrvRep;Sleep(750);\n");
TS; XTalkWait(task,"TaskRep;Sleep(750);\n");
XTalk(task,"Exit;\n");
}
U0 OSTestSuite()
{
TSStart;
TS; DoBlackDiamond;
TS; DoEagleDive;
TS; DoFlatTops;
TS; DoDunGen;
TS; DoFPS;
TS; DoZoneOut;
TS; DoVaroom;
TS; DoRocket;
TS; DoRocketScience;
TS; DoBattleLines;
TS; DoBigGuns;
TS; DoFlapBat;
TS; DoTimeOut;
TS; if (!sys_heap_init_flag) /* FloodFill */ DoSpan;
TS; DoStrut;
TS; DoRawHide;
TS; DoKeepAway;
TS; DoAfterEgypt;
TS; DoXCaliber;
TS; DoWenceslas;
TS; DoBomberGolf;
TS; DoTheDead;
TS; DoTreeCheckers;
TS; DoMPAdd;
TS; TSFile("::/Demo/MultiCore/Primes");
TS; if (FileFind(BIBLE_FILENAME)) TSFile("::/Demo/MultiCore/Palindrome");
TS; TSFileChar("::/Demo/MultiCore/Clouds");
TS; if (mp_cnt>1) TSFile("::/Demo/MultiCore/RadixSort");
TS; if (mp_cnt>1 && DrvIsWritable(':'))
TSFileChar("::/Demo/MultiCore/LoadTest");
TS; if (mp_cnt>1) TSFile("::/Demo/MultiCore/MPPrint");
TS; if (mp_cnt>1) TSFile("::/Demo/MultiCore/Lock");
TS; if (mp_cnt>1) TSFile("::/Demo/MultiCore/Interrupts");
TS; TSFileChar("::/Demo/Graphics/SpritePlot");
TS; TSFileChar("::/Demo/Graphics/Elephant",,CH_SHIFT_ESC);
TS; TSFileChar("::/Demo/Graphics/SpritePlot3D");
TS; TSFile("::/Demo/Graphics/SpritePut");
TS; TSFile("::/Demo/Graphics/SpritePutExt");
TS; TSFile("::/Demo/Graphics/SpriteText");
TS; TSFile("::/Demo/Graphics/SpriteRaw");
TS; TSFile("::/Demo/Graphics/EdSprite");
TS; TSFile("::/Demo/Graphics/Balloon",0);
TS; TSFile("::/Demo/Carry");
TS; TSFile("::/Demo/Directives");
TS; DoRandDemo;
TS; TSFileChar("::/Demo/Graphics/Extents");
TS; TSFileChar("::/Demo/Graphics/NetOfDots");
TS; TSFileChar("::/Demo/Graphics/SunMoon");
TS; DoLowPassFilter;
TS; DoMathAudioDemo;
TS; TSFileChar("::/Demo/Graphics/Lines");
TS; TSFileChar("::/Demo/Graphics/Bounce",,CH_SHIFT_ESC,FALSE);
TS; DoMsgLoop;
TS; DoASCIIOrgan;
TS; DoMorseCode;
TS; DoPixCollision;
TS; DoDoodle;
TS; DoMassSpring;
TS; DoSpeedLine;
TS; DoKeyBitMap;
TS; DoMountain;
TS; DoBSpline;
TS; DoGrModels;
TS; TSFileChar("::/Demo/Graphics/Blot",1800);
TS; if (DrvIsWritable('~')) DoScreenCapture;
TS; DoGrid;
TS; DoPick;
TS; DoPick3D;
TS; DoWhap;
TS; DoPalette;
TS; TSFile("::/Demo/Print");
TS; TSFileChar("::/Demo/Graphics/Shading",1500);
TS; TSFileChar("::/Demo/Graphics/RotateTank",1500);
TS; TSFileChar("::/Demo/Graphics/3DPoly",1500);
TS; TSFileChar("::/Demo/Graphics/Box",1500);
TS; DoSymmetry;
TS; TSFileChar("::/Demo/Graphics/Shadow",1500);
TS; TSFileChar("::/Demo/Graphics/Transform",,CH_SHIFT_ESC);
TS; DoPredatorPrey;
TS; DoPoleZeros;
TS; DoDigits;
TS; DoStadium;
TS; DoElephantWalk;
TS; DoHalogen;
TS; TSFileChar("::/Demo/Games/Maze",,CH_SHIFT_ESC);
TS; TSFileChar("::/Demo/Graphics/FontEd",,CH_SHIFT_ESC);
TS; DoLattice;
TS; DoCtrlR1;
TS; DoF2Macro;
TS; TSFile("::/Demo/SubIntAccess");
TS; DoDemoDoc;
TS; TSFile("::/Demo/DolDoc/TreeDemo");
TS; TSFile("::/Demo/DolDoc/TextDemo");
TS; TSFile("::/Demo/DolDoc/CursorMove");
TS; DoMiniCompiler;
TS; TSFile("::/Demo/Lectures/MiniGrLib",0);
TS; TSFileChar("::/Demo/TimeIns");
TS; DoPhoneNumWords;
TS; TSFile("::/Demo/Dsk/UnusedSpaceRep");
TS; TSFile("::/Demo/Dsk/BlkDevRep");
TS; DoLastClass;
TS; if (DrvIsWritable('~')) DoFPrintF;
TS; TSFile("::/Demo/Dsk/SerializeTree");
TS; DoExceptions;
TS; TSFileChar("::/Demo/ScreenCodes");
TS; TSFile("::/Demo/ExtChars");
TS; TSFile("::/Demo/Graphics/PanText",0);
TS; TSFileChar("::/Demo/Graphics/CharAnimation");
TS; DoCharDemo;
TS; TSFile("::/Demo/DateTime");
TS; TSFile("::/Demo/SubSwitch");
TS; TSFile("::/Demo/NullCase");
TS; TSFile("::/Demo/MagicPairs");
TS; TSFileChar("::/Demo/Graphics/Hanoi",3000);
TS; DoSquirt;
TS; TSFileChar("::/Demo/Graphics/CommonAncestor",1500,CH_SHIFT_ESC);
TS; DoCartesian;
TS; TSFileChar("::/Demo/Games/RainDrops",,CH_SHIFT_ESC);
TS; TSFileChar("::/Demo/Games/Collision",1500);
TS; DoLogic;
TS; TSFile("::/Demo/CompileDemo");
TS; DoPrompt;
TS; if (DrvIsWritable('~')) DoWebLog;
TS; if (DrvIsWritable('~')) DoRevFile;
TS; if (DrvIsWritable('~')) DoSortFile;
TS; if (DrvIsWritable('~')) DoToHtmlToTXT;
TS; if (DrvIsWritable('~')) TSFile("::/Demo/RegistryDemo");
TS; DoDefine;
TS; TSFile("::/Demo/GlblVars");
TS; DoFileRead;
TS; TSFile("::/Demo/ParenWarn");
TS; TSFile("::/Demo/DolDoc/DefineStr");
TS; TSFile("::/Demo/DolDoc/Data");
TS; TSFile("::/Demo/DolDoc/CallBack");
TS; TSFile("::/Demo/ClassMeta");
TS; if (DrvIsWritable('~')) DoNumBible;
TS; DoForm;
TS; DoClickCallBack;
TS; DoMenuButton;
TS; DoMenuSprite;
TS; DoSuggestedSpelling;
TS; TSFileChar("::/Demo/WordSearch");
TS; TSFile("::/Demo/StkGrow");
TS; TSFile("::/Demo/MemDemo");
TS; TSFileChar("::/Demo/Snd/WaterFowl");
TS; TSFile("::/Demo/Asm/AsmHelloWorld");
TS; DoAsmAndC1;
TS; DoAsmAndC2;
TS; TSFile("::/Demo/Asm/AsmAndC3");
TS; TSFile("::/Demo/Asm/MulByHand");
TS; TSFile("::/Demo/Asm/DivByHand");
TS; TSFile("::/Demo/Asm/BuzzFizz");
TS; TSFile("::/Demo/Asm/PutDec");
TS; TSFile("::/Demo/Lectures/Mem/PageTableEntries");
DoReps;
TSEnd;
}
OSTestSuite;
//$LK,"::/Demo/Dsk/DskRaw.HC"$
//$LK,"::/Demo/Graphics/InputPointer.HC"$