TempleOSCD_150216.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:46:15 +02:00
1 parent 64f679eeb9
commit 401601816c
531 files changed
+23341 -22071

No files matched your search

+12 -32
View File
@@ -1,18 +1,6 @@
/*$HL,0$
$FG,5$$TX+CX,"Roll Your Own Distro"$$FG$
//Make Your own Distro by #include-ing this file.
It's unlikely you will get it running on bare hardware, so you'll probably
run it in a virtual machine such as VMware. Download the free 64-bit
$FG,4$$TX,"VMware Player",HTML="https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/5_0"$$FG$ for Linux or Windows and point the CDROM at the $FG,4$$TX,"TempleOSCD.ISO",HTML="http://www.templeos.org/TempleOSCD.ISO"$$FG$.
(The $FG,4$$TX,"VMware",HTML="https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/5_0"$$FG$ web page takes a whole minute to load. They hide the free version.)
Purchase $FG,4$$TX,"VMware WorkStation",HTML="http://www.vmware.com"$$FG$ or download $FG,4$$TX,"WinImage",HTML="http://www.winimage.com/winimage.htm"$$FG$ if you wish to transfer files
in and out. The VMware Workstation will stretch to full-screen and make drives
accessible from Windows.
$HL,1$*/
#define STD_DISTRO_CDROM_CFG "Tb1\nScale2Mem(2048,0x40000)\nt3 \n\n\n\n\n"
#define STD_DISTRO_CDROM_CFG "Tb1\nScale2Mem(2048,0x40000)\nt3 \n\n\n\n"
U0 MakeMyISO(U8 *out_iso_filename)
{//Does everything with current drive.
@@ -21,10 +9,15 @@ U0 MakeMyISO(U8 *out_iso_filename)
return;
}
DelTree("/Distro");
MkDir("/Distro");
Auto(STD_DISTRO_CDROM_CFG);
MakeOSPrtBootInstall(,'T');
MakeOSDrvBootInstall(,'T');
Copy("/*","/Distro");
Del("/Distro/Kernel.BIN.C");
CopyTree("/0000Boot", "/Distro/0000Boot");
CopyTree("/Accts", "/Distro/Accts");
CopyTree("/Home", "/Distro/Home");
CopyTree("/Adam", "/Distro/Adam");
CopyTree("/Apps", "/Distro/Apps");
CopyTree("/Compiler", "/Distro/Compiler");
@@ -32,9 +25,9 @@ U0 MakeMyISO(U8 *out_iso_filename)
CopyTree("/Doc", "/Distro/Doc");
CopyTree("/Kernel", "/Distro/Kernel");
CopyTree("/Misc", "/Distro/Misc");
//To save space, optionally delete dictionary.
//Del("/Distro/Adam/WordStat/WSDefs.DAT");
CopyTree("/Windows","/Distro/Windows"); //You can leave this out
//Del("/Distro/Adam/AutoComplete/ACDefs.DAT");
CopyTree("/Linux","/Distro/Linux"); //You can leave this out.
MkDir("/Distro/Temp");
MkDir("/Distro/Temp/ScreenShots");
@@ -45,17 +38,4 @@ U0 MakeMyISO(U8 *out_iso_filename)
MakeMyISO("/MyDistro.ISO");
// Study my account examples $LK,"Cfg Strs",A="FL:::/Demo/AcctExample/TSAdam.CPP,1"$ $LK,"Update Funs",A="FL:::/Demo/AcctExample/TSDistro.CPP,1"$.
/*
* "Linux" is probably a trademark owned by Linus Torvalds.
* "VMware Player" and "VMware WorkStation" are trademarks of VMware, Inc.
* "Windows" is a trademark of MicroSoft Corp.
* "WinImage" is a trademark of Gilles Vollant.
*/
// Study my account examples $LK,"Cfg Strs",A="FL:::/Demo/AcctExample/TOSCfg.CPP,1"$, $LK,"Update Funs",A="FL:::/Demo/AcctExample/TOSDistro.CPP,1"$.
+223
View File
@@ -0,0 +1,223 @@
Bool VMPrtDsk(CTask *task,CATARep *ata_drv)
{
if (ata_drv) {
XTalkWait(task,"PrtDsk;\nYC2p%d\nYYY",ata_drv->num);
XTalkWait(task,"%d\nY\nY\n",(drv_dsk_dsk_size-DRV_HEADER)/2);
return TRUE;
} else
return FALSE;
}
U0 VMInstallBoot(CTask *task,U8 cd_drv,U8 drv,CATARep *ata_drv,CATARep *atapi_drv)
{
U8 *st1,*st2;
st1=MStrPrint("%C:/",cd_drv);
st2=MStrPrint("%C:/",drv);
CopyTree(st1,st2);
Free(st1);
Free(st2);
st1=MStrPrint("%C:/Home",drv);
MkDir(st1);
Copy("::/Misc/MakeDistro.CPP.Z",st1);
Free(st1);
XTalkWait(task,
"MakeOSDrvBootInstall('%C');\n"
"\nB1\n0x20000\n",drv);
if (ata_drv)
XTalkWait(task,"C2p%d\n",ata_drv->num);
if (atapi_drv)
XTalkWait(task,"T3p%d\n",atapi_drv->num);
XTalkWait(task,
"\n" //Exit Drives
"\n" //Dsk Cache
"\n"); //Options
}
U0 VMInstallWizard()
{
CATARep *root=NULL,*ata_drv=NULL,*atapi_drv=NULL;
CTask *task;
"\nIt's normal for this to freeze for a moment or two.\n";
PressAKey;
task=User;
TaskWait(task);
WinHorz(Fs->win_left,Fs->win_right,task);
WinVert(Fs->win_top,(Fs->win_top+Fs->win_bottom)>>2-1,task);
WinVert(task->win_bottom+3,Fs->win_bottom);
WinToTop(Fs);
ATARep(FALSE,TRUE,&root);
ATAIDDrvs(root,dsk.boot_drv_let,&ata_drv,&atapi_drv);
if (VMPrtDsk(task,ata_drv)) {
VMInstallBoot(task,dsk.boot_drv_let,'C',ata_drv,atapi_drv);
VMInstallBoot(task,dsk.boot_drv_let,'D',ata_drv,atapi_drv);
MasterBootIntall('C');
}
LinkedLstDel(root);
WinVert(task->win_top,Fs->win_bottom);
Kill(task);
}
U0 RegularInstallWizard()
{
I64 unit;
U8 *base0,*base1,*ms,*dst,*st1,*st2,*new_home_str;
CATARep *root=NULL,*tempha;
I64 ch,num_hints;
CTask *task;
"\nIt's normal for this to freeze for a moment or two.\n";
PressAKey;
task=User;
TaskWait(task);
WinHorz(Fs->win_left,Fs->win_right,task);
WinVert(Fs->win_top,(Fs->win_top+Fs->win_bottom)>>2-1,task);
WinVert(task->win_bottom+3,Fs->win_bottom);
WinToTop(Fs);
XTalk(task,"Mount;\nC2 ");
num_hints=ATARep(FALSE,,&root);
"\nInclude '$$PURPLE$$0x$$FG$$' for hexidecimal numbers.\n\n";
while (TRUE) {
base0=GetStr("Hard Drive I/O Port Base0 : ");
if (0<Str2I64(base0)<=0xFFFF)
break;
Free(base0);
}
if (1<=Str2I64(base0)<=num_hints) {
tempha=ATARepFind(&root,Str2I64(base0));
Free(base0);
base0=MStrPrint("0x%X",tempha->base0);
base1=MStrPrint("0x%X",tempha->base1);
ms =MStrPrint("0x%X",tempha->unit);
unit=Str2I64(ms);
} else {
while (TRUE) {
base1=GetStr("Hard Drive I/O Port Base1 : ");
if (0<Str2I64(base1)<=0xFFFF)
break;
Free(base1);
}
while (TRUE) {
ms =GetStr("Unit--$$PURPLE$$0$$FG$$=Master or $$PURPLE$$1$$FG$$=Slave: ","0");
unit=Str2I64(ms);
if (0<=unit<=1)
break;
}
}
LinkedLstDel(root);
XTalkWait(task,"%s\n%s\n%C\n",base0,base1,'0'+unit);
DrvRep;
while (TRUE) {
dst=GetStr("\nDestination Partition Letter: ");
if ('A'<=ToUpper(*dst)<='Z')
break;
Free(dst);
}
'\n';
st1=MStrPrint("%C:/",dsk.boot_drv_let);
st2=MStrPrint("%C:/",*dst);
"$$RED$$Format %C Partition?$$FG$$\n",*dst;
if (YorN) {
'\n';
while (TRUE) {
"$$PURPLE$$1$$FG$$) Use FAT32\n"
"$$PURPLE$$2$$FG$$) Use RedSea\n"
"\nFile System Type: ";
ch=GetChar;
'\n';
if ('1'<=ch<='2')
break;
}
if (ch=='1')
Fmt(*dst,,FALSE,DVT_FAT32);
else
Fmt(*dst,,FALSE,DVT_REDSEA);
}
CopyTree(st1,st2);
st2=MStrPrint("%C:/Temp",*dst);
MkDir(st2);
Free(st2);
new_home_str=MStrPrint("%C:/Home",*dst);
MkDir(new_home_str);
Copy("::/Misc/MakeDistro.CPP.Z",new_home_str);
XTalkWait(task,
"MakeOSDrvBootInstall('%C');\n"
"\nB1\n0x20000\n"
"C"
"2p"
"%s\n"
"%s\n"
"%C"
"\n" //Exit Drives
"\n" //Dsk Cache
"\n", //Options
*dst,base0,base1,'0'+unit);
"$$RED$$Install Master Boot loader?$$FG$$";
if (YorN) {
'\n';
MasterBootIntall(*dst);
}
Free(new_home_str);
Free(base0);
Free(base1);
Free(ms);
Free(dst);
WinVert(task->win_top,Fs->win_bottom);
Kill(task);
}
U0 DoInstructions()
{
CTask *task;
AutoComplete;
task=Fs->next_task;
while (task!=Fs) {
if (task!=adam_task && task!=sys_winmgr_task && task!=ac.task) {
XTalk(task,"Ed(\"::/Doc/Install.TXT.Z\");\n");
break;
}
task=task->next_task;
}
}
U0 DoInstall()
{
I64 vm_install,pmt_reboot;
"\n\n\n\n\nAre you installing inside VMware, QEMU, VirtualBox "
"or a similar virtual machine? ";
vm_install=YorN;
DocBottom;
if (vm_install) {
VMInstallWizard();
pmt_reboot=TRUE;
} else {
"\n\nThis wizard works if you have a partition ready. "
"You can partition the drive or MakeOSDrvBootInstall() "
"with more options if you do it by hand, not using this wizard.\n\n"
"Continue Install Wizard ";
if (pmt_reboot=YorN)
RegularInstallWizard();
}
if (pmt_reboot) {
"Reboot Now ";
if (YorN)
Reboot;
}
}
DoInstructions;
DoInstall;
+269 -213
View File
File diff suppressed because it is too large. Load diff
+335 -167
View File
File diff suppressed because it is too large. Load diff
Binary file not shown.
+86 -6
View File
@@ -1,3 +1,72 @@
CTask *tour_put,*tour_task;
Bool tour_okay_pressed;
U0 TourPutTask()
{
CDoc *doc;
I64 ch;
DocTermNew;
WinHorz(TEXT_COLS/2,TEXT_COLS-2);
WinVert(TEXT_ROWS/2+5,TEXT_ROWS-7);
LBts(&Fs->display_flags,DISPLAYf_WIN_ON_TOP);
WinToTop;
Fs->text_attr=Fs->border_attr=LTGRAY<<4+BLUE;
Fs->border_src=BDS_CONST;
Fs->win_inhibit=WIG_TASK_DFT-WIF_SELF_BORDER-WIF_SELF_IP_L-WIF_SELF_IP_R-WIG_DBL_CLICK;
doc=DocPut;
doc->flags|=DOCF_FORM;
DocCursor(FALSE,doc);
"$$WW+H,1$$";
while (TRUE) {
WinMgrSync;
if (ScanMsg(&ch,,1<<MSG_KEY_DOWN) && (ch==CH_ESC||ch==CH_SHIFT_ESC)) {
Kill(tour_task->parent_task,FALSE);
break;
}
DocLock(doc);
if (ch==CH_SPACE && doc->cur_entry!=doc) {
if (doc->cur_entry->de_flags & DOCEF_LINK)
'' CH_SPACE;
else if (doc->cur_entry->type_u8==DOCT_BUTTON)
tour_okay_pressed=TRUE;
}
DocUnlock(doc);
if (tour_okay_pressed) {
Fs->win_inhibit=WIG_TASK_DFT-WIF_SELF_BORDER-WIF_SELF_IP_L-WIF_SELF_IP_R-WIG_DBL_CLICK;
if (sys_focus_task==Fs)
WinRefocus;
} else {
Fs->win_inhibit=0;
WinFocus;
}
}
tour_put=NULL;
}
U0 TourPut(U8 *st,Bool wait_okay=FALSE)
{
CDoc *doc;
CTask *old_focus_task;
if (TaskValidate(tour_put)) {
doc=DocPut(tour_put);
DocClear(doc);
DocPrint(doc,"%s",st);
if (!wait_okay)
tour_okay_pressed=TRUE;
else {
DocPrint(doc,"\n\n$$CM-RE+CX,LE=-2$$$$BT,\"Okay\",LM=\"b\"$$\n\n");
DocFormBwd(doc);
old_focus_task=sys_focus_task;
tour_okay_pressed=FALSE;
do WinMgrSync;
while (!tour_okay_pressed);
WinFocus(old_focus_task);
DocClear(doc);
}
} else
ThrowBreak(tour_task);
}
public I64 PopUpTourPart()
{
I64 i;
@@ -7,16 +76,16 @@ public I64 PopUpTourPart()
"$$CM+LX,4,4$$$$BT,\"Part 2: Editing and running programs\",LE=2$$"
"$$CM+LX,4,4$$$$BT,\"Part 3: Adding macros to PersonalMenu\",LE=3$$"
"$$CM+LX,4,4$$$$BT,\"Part 4: Choose filename, choose dir\",LE=4$$"
"$$CM+LX,4,4$$$$BT,\"Part 5: WordStat\",LE=5$$"
"$$CM+LX,4,4$$$$BT,\"Part 6: Search (Grep)\",LE=6$$"
"$$CM+LX,4,4$$$$BT,\"Part 7: TempleOS File masks\",LE=7$$"
"$$CM+LX,4,4$$$$BT,\"Part 5: AutoComplete\",LE=5$$"
"$$CM+LX,4,4$$$$BT,\"Part 6: Search (Find)\",LE=6$$"
"$$CM+LX,4,4$$$$BT,\"Part 7: TempleOS file masks\",LE=7$$"
"$$CM+LX,4,4$$$$BT,\"Part 8: Editor filter\",LE=8$$"
"$$CM+LX,4,4$$$$BT,\"Part 9: Debugging\",LE=9$$"
"$$CM+LX,4,4$$$$BT,\"Part 10: Wow!!\",LE=10$$"
"$$CM+LX,4,4$$$$BT,\"Part 11: Test Suite\",LE=11$$"
"$$CM+LX,4,4$$$$BT,\"Done\",LE=DOCM_CANCEL$$\n");
doc->flags|=DOCF_FORM;
i=SrvUser("WinMax;DocMenuDo(0x%X,0);",doc);
i=PopUpPrint("WinMax;DocMenuDo(0x%X,0);",doc);
DocDel(doc);
return i;
}
@@ -25,18 +94,29 @@ U0 TourMenu()
{
U8 buf[128];
I64 i;
tour_task=Fs;
tour_okay_pressed=TRUE;
tour_put=Spawn(&TourPutTask,NULL,"TourPut",,Fs);
TaskWait(tour_put);
while (TRUE) {
Cd(__DIR__);
AutoComplete;
if (LBtr(&tour_put->display_flags,DISPLAYf_SHOW))
WinZBufUpdate;
i=PopUpTourPart;
if (i>0) {
StrPrint(buf,"::/Misc/Tour/Tour%X.AUT",i);
if (!LBts(&tour_put->display_flags,DISPLAYf_SHOW))
WinZBufUpdate;
StrPrint(buf,"Tour%X.AUT",i);
ExeFile(buf);
} else
break;
}
Kill(tour_put);
}
"DocClear;WinMax;\n";
WinMgrSync(2);
TourMenu;
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"Cd(\"HOME\");Dir;\n";
"Cd(\"::/Home\");Dir;\n";
+30 -53
View File
@@ -2,40 +2,27 @@
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"\n";
PopUpOk(
"After clicking $$GREEN$$[OKAY]$$FG$$, you will be at the\n"
"command line.\n"
TourPut(
"You are now at the command line.\n"
"\n"
"The syntax is like $$GREEN$$C/C++$$FG$$ except you\n"
"don't need $$GREEN$$()$$FG$$ if there are no args.\n"
"The syntax is like $$GREEN$$C/C++$$FG$$ except you don't need $$GREEN$$()$$FG$$ "
"if there are no args.\n"
"\n"
"Type \"$$GREEN$$Dir;$$FG$$\" and press $$GREEN$$<ENTER>$$FG$$.\n\n"
"You must remember the semicolon.\n"
);
"You must remember the semicolon.\n");
AFGetStr("Dir;\n");
Sleep(1000); //Allow user time to see dir
'\n';
PopUpOk(
"After clicking $$GREEN$$[OKAY]$$FG$$, you will be at the\n"
"command line.\n\n"
TourPut(
"Press $$GREEN$$<CTRL-m>$$FG$$.\n\n"
"This will access your PersonalMenu.\n"
"You can customize it. It's like your\n"
"START menu and desktop.\n");
"This will access your PersonalMenu. You can customize it. "
"It's like your START menu and desktop.\n");
AFGetChar(CH_CTRLM);
Sleep(1000);
PopUpOk(
"You can get to your PersonalMenu\n"
"by clicking on the word \"$$GREEN$$MENU$$FG$$\" in the\n"
"title bar.\n");
TourPut(
"You can also get to your PersonalMenu by clicking on the word "
"\"$$GREEN$$MENU$$FG$$\" in the title bar.\n",TRUE);
PopUpOk(
"After clicking $$GREEN$$[OKAY]$$FG$$, you will be back at\n"
"the PersonalMenu.\n\n"
"Press $$GREEN$$<CURSOR-DOWN>$$FG$$ nine times.\n");
TourPut("Press $$GREEN$$<CURSOR-DOWN>$$FG$$ nine times.\n");
//Puts the cursor at the top
Msg(MSG_KEY_DOWN,0,SC_CURSOR_UP|SCF_CTRL);
@@ -44,47 +31,37 @@ I64 i;
for (i=0;i<9;i++)
AFGetKey(SC_CURSOR_DOWN);
PopUpOk(
TourPut(
"Keyboard commands are:\n\n"
"$$GREEN$$<SPACE>$$FG$$\t\tLeft-action\n"
"$$GREEN$$<ENTER>$$FG$$\t\tRight-action\n"
"$$GREEN$$<ESC>$$FG$$\t\tSave and exit\n"
"$$GREEN$$<SHIFT-ESC>$$FG$$\tAbort\n"
);
"$$GREEN$$<SHIFT-ESC>$$FG$$\tAbort and exit\n",TRUE);
PopUpOk(
"After clicking $$GREEN$$[OKAY]$$FG$$, the cursor will be\n"
"on top of a macro we wish to run.\n"
TourPut(
"The cursor is now on top of a macro we wish to run.\n"
"\n"
"After clicking $$GREEN$$[OKAY]$$FG$$, press $$GREEN$$<SPACE>$$FG$$.\n");
"Press $$GREEN$$<SPACE>$$FG$$.\n");
AFGetStr(" ");
Sleep(1000);
PopUpOk(
"The macro changed directories and did\n"
"a $$GREEN$$Dir;$$FG$$ command.\n\n"
"The $$RED$$RED$$FG$$ filenames listed are file\n"
"links. Left-clicking will edit/view them.\n"
"Right-clicking or pressing $$GREEN$$<ENTER>$$FG$$\n"
"when the cursor is on top will bring-up a\n"
"menu of options.\n\n"
"The $$LTBLUE$$BLUE$$FG$$ underline entries \"$$LTBLUE$$.$$FG$$\" and \"$$LTBLUE$$..$$FG$$\"\n"
"are macros and will change directories.\n");
TourPut(
"The macro changed directories and did a $$GREEN$$Dir;$$FG$$ command. "
"The $$RED$$RED$$FG$$ filenames listed are file links. Left-clicking will "
"edit/view them. Right-clicking or pressing $$GREEN$$<ENTER>$$FG$$ when the "
"cursor is on top will bring-up a menu of options.\n\n"
"The $$LTBLUE$$BLUE$$FG$$ underline entries \"$$LTBLUE$$.$$FG$$\" and \"$$LTBLUE$$..$$FG$$\""
"are macros and will change directories.\n",TRUE);
PopUpOk(
"Press $$GREEN$$<CTRL-t>$$FG$$ after clicking $$GREEN$$[OKAY]$$FG$$\n"
"to toggle plain text mode.\n\n"
TourPut(
"Press $$GREEN$$<CTRL-t>$$FG$$ to toggle to plain text mode.\n\n"
"These are \"DolDoc\" commands.");
AFGetChar(CH_CTRLT);
Sleep(1000);
PopUpOk(
"The DolDoc widgets are bracketed with\n"
"dollar sign characters.\n\n"
TourPut(
"The DolDoc widgets are bracketed with dollar sign characters.\n\n"
"\"LK\" stands \"link\".\n"
"\"MA\" stands for \"macro\".\n\n"
"Now, $$GREEN$$<CTRL-t>$$FG$$ to toggle back to\n"
"regular mode.\n");
"Now, $$GREEN$$<CTRL-t>$$FG$$ to toggle back to regular mode.\n");
AFGetChar(CH_CTRLT);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
Sleep(1000);
+48 -56
View File
@@ -2,23 +2,23 @@
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"
TourPut(
"Now, we're going to demonstrate how to work "
"with programs. We'll change to the "
"$$GREEN$$/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 $$GREEN$$Cd()$$FG$$ command\n"
"Note that directories are specified with "
"a forward slash, not a backslash. "
"Drives can be specified in a $$GREEN$$Cd()$$FG$$ command "
"and the boot drive is specified with \"$$GREEN$$::$$FG$$\".\n\n"
"$$GREEN$$<ENTER>$$FG$$ to complete the command.\n");
AFPrint(25,"Cd(\"::/Demo/Games\");Dir;");
AFGetStr("\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"
TourPut(
"Now, we're going to edit a file. Normally, "
"you'll probably left-click on a directory "
"listing to edit a file, but we're going to "
"type it on the command line.\n\n"
"$$GREEN$$<ENTER>$$FG$$ to complete the command.\n");
@@ -28,80 +28,72 @@ 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 $$GREEN$$<SHIFT-ESC>$$FG$$.\n\n"
"There is no \"$$GREEN$$main()$$FG$$\" function in TempleOS\n"
"programs. Any program statements outside\n"
"functions get executed when you $$GREEN$$#include$$FG$$\n"
TourPut(
"This is a first-person-shooter.\n\n"
"There is no \"$$GREEN$$main()$$FG$$\" function in TempleOS "
"programs. Any program statements outside "
"functions get executed when you $$GREEN$$#include$$FG$$ "
"them at the command line.\n\n"
"The \"$$GREEN$$CastleFrankenstein;$$FG$$\" statement at the\n"
"bottom will run the program when we\n"
"$$GREEN$$#include$$FG$$ it.\n");
"The \"$$GREEN$$CastleFrankenstein;$$FG$$\" statement at the "
"bottom will run the program when we "
"$$GREEN$$#include$$FG$$ it.\n",TRUE);
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort the editor.\n"
);
TourPut("Press $$GREEN$$<SHIFT-ESC>$$FG$$ to abort the editor.\n");
AFGetChar(CH_ESC,CH_SHIFT_ESC);
PopUpOk(
"Now, we'll run the CastleFrankenstein.CPP.Z\n"
"program. Press $$GREEN$$<ENTER>$$FG$$. Then, move around\n"
"with cursor keys and $$GREEN$$<SHIFT-ESC>$$FG$$\n"
"when you are done.\n");
TourPut(
"Now, run the CastleFrankenstein.CPP.Z program. Press $$GREEN$$<ENTER>$$FG$$.\n");
AFPrint(25,"#include \"CastleFrankenstein\";");
AFGetStr("\n");
TourPut(
"Move around with cursor keys and press $$GREEN$$<SHIFT-ESC>$$FG$$ when you "
"are done.\n");
AFUntilChar(CH_ESC,CH_SHIFT_ESC);
PopUpOk(
"The program is still in memory and we\n"
"can start it again by typing\n"
TourPut(
"The program is still in memory and we can start it again by typing "
"\"$$GREEN$$CastleFrankenstein;$$FG$$\".\n\n"
"$$GREEN$$<ENTER>$$FG$$ at the command line to\n"
"run it again.\n");
"Press $$GREEN$$<ENTER>$$FG$$ at the command line to run it again.\n");
AFPrint(25,"CastleFrankenstein;");
AFGetStr("\n");
TourPut(
"Move around with cursor keys and press $$GREEN$$<SHIFT-ESC>$$FG$$ when you "
"are done.\n");
AFUntilChar(CH_ESC,CH_SHIFT_ESC);
PopUpOk(
"$$GREEN$$<CTRL-ALT-a>$$FG$$\tExtended ASCII\n"
"$$GREEN$$<CTRL-ALT-c>$$FG$$\tBreak(interrupt) program\n"
"$$GREEN$$<CTRL-ALT-e>$$FG$$\tSpawn new user terminal window\n"
"$$GREEN$$<CTRL-ALT-m>$$FG$$\tMutes sound\n"
"$$GREEN$$<CTRL-ALT-t>$$FG$$\tSwitch tasks\n"
"$$GREEN$$<CTRL-ALT-x>$$FG$$\tKill task (window)\n"
);
TourPut(
"$$GREEN$$<CTRL-ALT-a>$$FG$$\tExtended ASCII.\n"
"$$GREEN$$<CTRL-ALT-c>$$FG$$\tBreak(interrupt) program.\n"
"$$GREEN$$<CTRL-ALT-e>$$FG$$\tSpawn new user terminal window.\n"
"$$GREEN$$<CTRL-ALT-m>$$FG$$\tMutes sound.\n"
"$$GREEN$$<CTRL-ALT-t>$$FG$$\tSwitch tasks.\n"
"$$GREEN$$<CTRL-ALT-x>$$FG$$\tKill task (window).\n",TRUE);
AFPrint(50,"Ed(\"CastleFrankenstein.CPP.Z\");\n");
PopUpOk(
"$$GREEN$$<F5>$$FG$$ in the editor to run the file being edited.\n"
);
TourPut("Press $$GREEN$$<F5>$$FG$$ in the editor to run the file being edited.\n");
AFGetKey(SC_F5);
Sleep(50);
Sleep(1000);
CTask *task=sys_focus_task;
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort the application.\n"
"Then, $$GREEN$$<CTRL-ALT-x>$$FG$$ to kill the task.\n"
);
TourPut(
"Press $$GREEN$$<SHIFT-ESC>$$FG$$ to abort the application. "
"Then, press $$GREEN$$<CTRL-ALT-x>$$FG$$ to kill the task.\n");
WinToTop(task);
while (TaskValidate(task))
Sleep(10);
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort the editor.\n");
TourPut("Press $$GREEN$$<SHIFT-ESC>$$FG$$ to abort the editor.\n");
AFUntilChar(CH_ESC,CH_SHIFT_ESC);
PopUpOk(
"Explore the $$LK+PU,\"DemoIndex\",\"FI:::/Doc/DemoIndex.TXT\"$$. You'll find it\n"
"on your menu. It's arranged by difficulty.\n"
"Hit $$GREEN$$<SPACE>$$FG$$ on a demo index listing\n"
"and $$GREEN$$<F5>$$FG$$ to run from the editor.\n"
);
TourPut(
"Explore the $$RED$$$$TX+L+PU+UL,\"DemoIndex\",A=\"FI:::/Doc/DemoIndex.TXT\"$$$$FG$$. "
"You'll find it on your menu. It's arranged by difficulty. "
"Hit $$GREEN$$<SPACE>$$FG$$ on a demo index listing "
"and $$GREEN$$<F5>$$FG$$ to run from the editor.\n",TRUE);
+45 -58
View File
@@ -2,68 +2,57 @@
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"\nCd(\"::/Demo/Games\");Dir;\n";
PopUpOk(
"Now, we're going to add the\n"
"CastleFrankenstein.CPP.Z program\n"
TourPut(
"Now, we're going to add the CastleFrankenstein.CPP.Z program "
"to your PersonalMenu.\n\n"
"Press $$GREEN$$<CTRL-m>$$FG$$\n"
"to get to your PersonalMenu.\n");
"Press $$GREEN$$<CTRL-m>$$FG$$ to get to your PersonalMenu.\n");
AFGetChar(CH_CTRLM);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_UP|SCF_CTRL);
Sleep(1000);
PopUpOk(
"$$GREEN$$<CTRL-l>$$FG$$ to invoke the\n"
"text-widget resource editor.\n"
"\n"
"($$GREEN$$<CTRL-r>$$FG$$ invokes the\n"
"graphic resource editor.)\n"
);
TourPut(
"Press $$GREEN$$<CTRL-l>$$FG$$ to invoke the text-widget resource editor.\n\n"
"(Press $$GREEN$$<CTRL-r>$$FG$$ invokes the graphic resource editor.)\n");
AFGetChar(CH_CTRLL);
Sleep(100);
PopUpOk(
"$$GREEN$$<CURSOR-DOWN>$$FG$$ until you reach\n"
"\"Macro\".\n");
Sleep(500);
WinToTop;//Kludge
TourPut("$$GREEN$$<CURSOR-DOWN>$$FG$$ until you reach \"Macro\".\n");
I64 i;
for (i=0;i<6;i++)
AFGetKey(SC_CURSOR_DOWN);
PopUpOk(
"$$GREEN$$<SPACE>$$FG$$.\n");
TourPut("Press $$GREEN$$<SPACE>$$FG$$.\n");
AFGetStr(" ");
Sleep(1000);
PopUpOk(
"Now, we'll fill-in the visible text\n"
"of the macro.\n");
TourPut(
"Now, we'll fill-in the visible tag of the macro. Then, "
"we'll fill-in the macro text.\n",TRUE);
AFPrint(,"Click Here");
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN);
PopUpOk("Now, we'll fill-in the macro text.\n");
AFPrint(,"Cd(\"::/Demo/Games\");;#include \"CastleFrankenstein\";\\n");
PopUpOk("$$GREEN$$<ESC>$$FG$$ to exit the form.\n");
TourPut("Press $$GREEN$$<ESC>$$FG$$ to exit the form.\n");
AFGetChar(CH_ESC);
Sleep(1000);
PopUpOk(
TourPut(
"Press $$GREEN$$<CTRL-SHIFT-ENTER>$$FG$$ to insert a line feed.\n"
"($$GREEN$$<CTRL-ENTER>$$FG$$ does a page break and $$GREEN$$<ENTER>$$FG$$\n"
"would execute the macro.)\n");
"$$GREEN$$<CTRL-ENTER>$$FG$$ does a page break.\n"
"$$GREEN$$<ENTER>$$FG$$ would execute the macro.\n");
AFGetKey(SC_ENTER|SCF_CTRL|SCF_SHIFT);
Sleep(1000);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_UP|SCF_CTRL);
PopUpOk(
"Press $$GREEN$$<SPACE>$$FG$$ to test it.\n");
TourPut("Press $$GREEN$$<SPACE>$$FG$$ to test it.\n");
AFGetStr(" ");
TourPut(
"Move around with cursor keys and press $$GREEN$$<SHIFT-ESC>$$FG$$ when you "
"are done.\n");
AFUntilChar(CH_ESC,CH_SHIFT_ESC);
PopUpOk(
"Now, we'll do a fancier macro that pops-up\n"
"a new window which dies when finished,\n"
"returning mem to the system.\n");
TourPut(
"Now, we'll do a fancier macro that pops-up a new window which dies when "
"finished, returning mem to the system.\n",TRUE);
Msg(MSG_KEY_DOWN,CH_CTRLM,0x43200000432);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_UP|SCF_CTRL);
Msg(MSG_KEY_DOWN,CH_CTRLL,0x42600000426);
@@ -74,38 +63,36 @@ Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN);
AFPrint(,"Cd(\"::/Demo/Games\");;#include \"CastleFrankenstein\";\\n");
Msg(MSG_KEY_DOWN,0,SC_CURSOR_LEFT|SCF_CTRL);
PopUpOk(
"$$GREEN$$<CURSOR-DOWN>$$FG$$ until you reach\n"
"the \"Pop-Up\" check-box.\n");
TourPut(
"Press $$GREEN$$<CURSOR-DOWN>$$FG$$ until you reach the \"Pop-Up\" check-box.\n");
for (i=0;i<2;i++)
AFGetKey(SC_CURSOR_DOWN);
PopUpOk(
"$$GREEN$$<SPACE>$$FG$$ to check the box.\n");
TourPut(
"Press $$GREEN$$<SPACE>$$FG$$ to check the box.\n");
AFGetStr(" ");
Sleep(500);
PopUpOk("$$GREEN$$<ESC>$$FG$$ to exit the form.\n");
TourPut("Press $$GREEN$$<ESC>$$FG$$ to exit the form.\n");
AFGetChar(CH_ESC);
Sleep(500);
PopUpOk("$$GREEN$$<CTRL-SHIFT-ENTER>$$FG$$ to insert a line feed.\n");
TourPut("Press $$GREEN$$<CTRL-SHIFT-ENTER>$$FG$$ to insert a line feed.\n");
AFGetKey(SC_ENTER|SCF_CTRL|SCF_SHIFT);
Sleep(500);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_UP|SCF_CTRL);
PopUpOk(
"$$GREEN$$<SPACE>$$FG$$ to test it.\n");
TourPut(
"Press $$GREEN$$<SPACE>$$FG$$ to test it.\n");
AFGetStr(" ");
Sleep(3000);
PopUpOk(
"$$GREEN$$<CTRL-S>$$FG$$ to save your\n"
"PersonalMenu file, if you wish.\n"
"Your PersonalMenu is special and\n"
"does not save on $$GREEN$$<ESC>$$FG$$.\n");
if (Fs->parent_task->popup_task) {
'' CH_SHIFT_ESC;
Sleep(100);
}
Sleep(500);
WinToTop;//Kludge
TourPut(
"Move around with cursor keys and press $$GREEN$$<SHIFT-ESC>$$FG$$ when you "
"are done.\n");
AFUntilChar(CH_ESC,CH_SHIFT_ESC);
TourPut(
"$$GREEN$$<CTRL-S>$$FG$$ to save your PersonalMenu file, if you wish. "
"Your PersonalMenu is special and does not save on $$GREEN$$<ESC>$$FG$$.\n",TRUE);
'' CH_SHIFT_ESC; //exit menu
+16 -15
View File
@@ -7,27 +7,28 @@ Msg(MSG_KEY_DOWN,0,SC_CURSOR_UP|SCF_CTRL);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN);
"//";
PopUpOk(
"Now, we'll add a link to a file.\n"
"using the $$GREEN$$<F4>$$FG$$ filename chooser.\n");
TourPut(
"Now, we'll add a link to a file using the $$GREEN$$<F4>$$FG$$ filename chooser.\n",
TRUE);
'' CH_CTRLL;
Sleep(1500);
'' CH_SPACE;
Sleep(1500);
'' CH_SPACE;
Sleep(1000);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN);
Sleep(2000);
'' CH_SPACE;
Sleep(1500);
'' CH_SPACE;
Sleep(1500);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN);
Sleep(1500);
PopUpOk(
"Press $$GREEN$$<F4>$$FG$$. Pick any\n"
"file and press $$GREEN$$<ESC>$$FG$$.");
TourPut(
"Press $$GREEN$$<F4>$$FG$$ for the file chooser. Then, "
"pick a file and press $$GREEN$$<ESC>$$FG$$.");
AFGetKey(SC_F4);
PopUpOk("Press $$GREEN$$<ESC>$$FG$$.\n");
Sleep(5000);
TourPut("Press $$GREEN$$<ESC>$$FG$$ to exit the form.\n");
AFGetChar(CH_ESC);
PopUpOk("$$GREEN$$<SHIFT-ESC>$$FG$$ to abort.\n");
TourPut("Press $$GREEN$$<SHIFT-ESC>$$FG$$ to abort.\n");
AFGetChar(CH_SHIFT_ESC);
PopUpOk("$$GREEN$$<SHIFT F4>$$FG$$ to pick directories.\n");
TourPut("Use $$GREEN$$<SHIFT F4>$$FG$$ to pick directories.\n",TRUE);
+25 -39
View File
@@ -1,64 +1,50 @@
PopUp("WSInit(\"::/*;~*Bible.TXT*\");");
WordStat(ON);
PopUp("ACInit(\"::/*;~*Bible.TXT*\");");
AutoComplete(ON);
Sleep(3500);
//Puts the cursor at the bottom.
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"\nCd(\"::/Demo\");\n";
PopUpOk(
"WordStat is an autocomplete feature\n"
"which will also jump to source code.\n"
"The function keys work with code, while\n"
"the num keys work with the dictionary.\n\n"
"We will now place some text on the command\n"
"line and jump to source code.\n");
TourPut(
"AutoComplete is a feature which also lets you jump to source code of "
"symbols. The function keys jump to code, while the number keys jump to "
"dictionary definitions.\n\n"
"We will now place some text on the command line and jump to source code.\n",
TRUE);
"MakeOS";
Sleep(1000);
PopUpOk(
"After clicking $$GREEN$$[OKAY]$$FG$$, look at\n"
"the $$GREEN$$MakeOSPrtBootInstall$$FG$$ entry\n"
"in the WordStat window. Notice it\n"
"is underlined. This means a source\n"
"code link is available.\n");
Sleep(3000);
PopUpOk(
"$$GREEN$$<CTRL-SHIFT-F1>$$FG$$ to jump to source code.\n");
TourPut(
"Look at the $$GREEN$$MakeOSDrvBootInstall$$FG$$ entry in the AutoComplete "
"window. Notice it is underlined. This means a source code link is "
"available.\n\n"
"Press $$GREEN$$<CTRL-SHIFT-F1>$$FG$$ to jump to source code.\n");
AFGetKey(SC_F1|SCF_CTRL|SCF_SHIFT);
Sleep(500);
WinToTop;//Kludge
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort the source code.\n");
TourPut("Press $$GREEN$$<SHIFT-ESC>$$FG$$ to abort the source code.\n");
AFUntilChar(CH_ESC,CH_SHIFT_ESC);
Sleep(100);
sys_focus_task=Fs;
PopUpOk(
"Press $$GREEN$$<CTRL-F1>$$FG$$ to autocomplete.\n");
TourPut("Press $$GREEN$$<CTRL-F1>$$FG$$ to autocomplete.\n");
AFGetKey(SC_F1|SCF_CTRL);
Sleep(500);
Msg(MSG_KEY_DOWN,'\n',SCF_CTRL|SCF_SHIFT);
"\n";
PopUpOk(
"Tip: You can restart the WordStat window if you\n"
"have closed it by pressing $$GREEN$$<CTRL-F1>$$FG$$.\n");
TourPut(
"Tip: You can restart the AutoComplete window if you have closed it by "
"pressing $$GREEN$$<CTRL-F1>$$FG$$.\n",TRUE);
PopUpOk(
"You can also use the $$GREEN$$Man()$$FG$$ function\n"
"to jump to source code. (I use WordStat.)\n"
"The $$GREEN$$Man()$$FG$$ is good for short symbol names\n"
"or when inside the debugger.\n");
TourPut(
"You can also use the $$GREEN$$Man()$$FG$$ function to jump to source code. "
"(I use AutoComplete.) The $$GREEN$$Man()$$FG$$ is good for short symbol "
"names or when inside the debugger.\n",TRUE);
AFPrint(,"Man(\"U\");");
Sleep(1000);
Sleep(1500);
"\n";
Sleep(2000);
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort the source code.\n");
TourPut("Press $$GREEN$$<SHIFT-ESC>$$FG$$ to abort the source code.\n");
AFUntilChar(CH_ESC,CH_SHIFT_ESC);
+28 -33
View File
@@ -1,10 +1,9 @@
PopUpOk(
"$$LK,\"F\",A=\"MN:F\"$$() is a handy function.\n"
"It is a wrapper around $$LK,\"Grep\",\"MN:Grep\"$$().\n"
"It searches for a sym.\n"
);
TourPut(
"$$RED$$$$TX+L+PU+UL,\"F\",A=\"MN:F\"$$$$FG$$() is a handy function. "
"It is a wrapper around $$RED$$$$TX+L+PU+UL,\"Find\",A=\"MN:Find\"$$$$FG$$(). "
"It searches for a sym.\n",TRUE);
PopUpOk("Press $$GREEN$$<ENTER>$$FG$$.");
TourPut("Press $$GREEN$$<ENTER>$$FG$$.\n");
//Puts the cursor at the bottom.
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
@@ -12,15 +11,15 @@ Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"F(\"RED\");";
AFGetStr("\n");
Sleep(3000);
Sleep(2000);
PopUpOk("Notice the number of matches.\n");
TourPut("Notice the number of matches.\n",TRUE);
PopUpOk(
"Try it with the $$GREEN$$+l$$FG$$ flag.\n"
"This limits to whole labels, not partials.\n");
TourPut(
"Try it with the $$GREEN$$+l$$FG$$ flag. This limits to whole labels, not "
"partials.\n",TRUE);
PopUpOk("Press $$GREEN$$<ENTER>$$FG$$.");
TourPut("Press $$GREEN$$<ENTER>$$FG$$.\n");
//Puts the cursor at the bottom.
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
@@ -28,16 +27,15 @@ Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"F(\"RED\",\"+l\");";
AFGetStr("\n");
Sleep(3000);
Sleep(2000);
PopUpOk("Notice the number of matches.\n");
TourPut("Notice the number of matches.\n",TRUE);
PopUpOk(
"Try it with the $$GREEN$$+l-i$$FG$$ flag.\n"
"This does not ignore case and\n"
"limits to whole labels, not partials.\n");
TourPut(
"Try it with the $$GREEN$$+l-i$$FG$$ flag. This does not ignore case and "
"limits to whole labels, not partials.\n",TRUE);
PopUpOk("Press $$GREEN$$<ENTER>$$FG$$.");
TourPut("Press $$GREEN$$<ENTER>$$FG$$.\n");
//Puts the cursor at the bottom.
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
@@ -45,30 +43,27 @@ Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"F(\"RED\",\"+l-i\");";
AFGetStr("\n");
Sleep(3000);
Sleep(2000);
PopUpOk("Notice the number of matches.\n");
TourPut("Notice the number of matches.\n",TRUE);
PopUpOk(
"The wrapper function is in your\n"
"$$RED$$HOME/Adam3dWrappers.CPP.Z$$FG$$ file.\n"
"There is a function $$LK,\"R\",\"MN:R\"$$() for\n"
"find and replace. Feel free to customize.\n");
TourPut(
"The wrapper function is in your $$RED$$/Home/AdamWrappers.CPP.Z$$FG$$ file. "
"There is a function $$RED$$$$TX+L+PU+UL,\"R\",A=\"MN:R\"$$$$FG$$() for "
"find and replace. Feel free to customize.\n",TRUE);
PopUpOk("Press $$GREEN$$<ENTER>$$FG$$.");
TourPut("Press $$GREEN$$<ENTER>$$FG$$.\n");
//Puts the cursor at the bottom.
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"\n";
"Ed(\"HOME/Adam3dWrappers.CPP.Z\");";
"Ed(\"::/Home/AdamWrappers.CPP.Z\");";
AFGetStr("\n");
Sleep(2000);
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort the source code.\n");
TourPut("Press $$GREEN$$<SHIFT-ESC>$$FG$$ to abort the source code.\n");
AFUntilChar(CH_ESC,CH_SHIFT_ESC);
PopUpOk(
TourPut(
"$$GREEN$$+lb$$FG$$ is whole label just before.\n"
"$$GREEN$$+la$$FG$$ is whole label just after.\n");
"$$GREEN$$+la$$FG$$ is whole label just after.\n",TRUE);
+14 -17
View File
@@ -1,28 +1,25 @@
"FF(\"/Kernel/*\");";
PopUpOk("Let's list files in the\n"
"$$GREEN$$/Kernel$$FG$$ and sub directories.\n\n"
"TempleOS masks have one\n"
"base directory and multiple\n"
"filename masks.\n"
"Press $$GREEN$$<ENTER>$$FG$$.");
TourPut(
"Let's list files in the $$GREEN$$/Kernel$$FG$$ and sub directories.\n\n"
"TempleOS masks have one base directory and multiple filename masks.\n\n"
"Press $$GREEN$$<ENTER>$$FG$$.\n");
AFGetStr("\n");
"FF(\"/Kernel/*\",\"-r\");";
PopUpOk("The recurse $$GREEN$$+r$$FG$$ flag\n"
"is usually set. Let's\n"
"turn it off.\n\n"
"Press $$GREEN$$<ENTER>$$FG$$.");
TourPut(
"The recurse $$GREEN$$+r$$FG$$ flag is usually set. Let's turn it off.\n\n"
"Press $$GREEN$$<ENTER>$$FG$$.\n");
AFGetStr("\n");
"FF(\"/Kernel/M*;*.HPP*\");";
PopUpOk("Let's have two mask of\n"
"$$GREEN$$M*$$FG$$ plus $$GREEN$$*.HPP*$$FG$$\n\n"
"Press $$GREEN$$<ENTER>$$FG$$.");
TourPut(
"Let's have two mask of $$GREEN$$M*$$FG$$ plus $$GREEN$$*.HPP*$$FG$$\n\n"
"Press $$GREEN$$<ENTER>$$FG$$.\n");
AFGetStr("\n");
"FF(\"/Kernel/M*;*.HPP*;~Mem*\");";
PopUpOk("Let's unselect $$GREEN$$Mem*$$FG$$.\n\n"
"Press $$GREEN$$<ENTER>$$FG$$.");
TourPut(
"Let's unselect $$GREEN$$Mem*$$FG$$.\n\n"
"Press $$GREEN$$<ENTER>$$FG$$.\n");
AFGetStr("\n");
PopUpOk("There is no way to include\n"
"multiple base directories.\n");
TourPut("There is no way to include multiple base directories.\n",TRUE);
+6 -21
View File
@@ -1,39 +1,24 @@
"Ed(\"::/Misc/Bible.TXT.Z\");\n";
Sleep(1000);
PopUpOk(
"$$GREEN$$<CTRL-F>$$FG$$ to find.\n"
);
TourPut("Press $$GREEN$$<CTRL-F>$$FG$$ to find.\n");
AFGetChar(CH_CTRLF);
AFPrint(150,"new song");
PopUpOk("Cursor down 8 times.\n");
TourPut("Cursor down 8 times.\n");
I64 i;
for (i=0;i<8;i++)
AFGetKey(SC_CURSOR_DOWN);
PopUpOk(
"Press '$$GREEN$$2$$FG$$' to show\n"
"all lines within 2 of a match.\n");
TourPut("Press '$$GREEN$$2$$FG$$' to show all lines within 2 of a match.\n");
AFGetStr("2");
Sleep(1000);
PopUpOk("Press $$GREEN$$<ESC>$$FG$$.\n");
TourPut("Press $$GREEN$$<ESC>$$FG$$ to exit the form.\n");
AFGetChar(CH_ESC);
Sleep(500);
PopUpOk(
"Look around and press $$GREEN$$<ESC>$$FG$$\n"
"to turn off filter.\n");
TourPut("Look around and press $$GREEN$$<ESC>$$FG$$ to turn off filter.\n");
AFUntilChar(CH_ESC,CH_SHIFT_ESC);
Sleep(1000);
PopUpOk(
"You can combine filters to\n"
"effectively do AND searches.\n");
Sleep(1000);
TourPut("You can combine filters to effectively do AND searches.\n",TRUE);
'' CH_SHIFT_ESC;
+15 -22
View File
@@ -1,51 +1,44 @@
PopUpOk("Press $$GREEN$$<ENTER>$$FG$$.");
TourPut("Press $$GREEN$$<ENTER>$$FG$$.");
"Ed(\"HI:Debugging\");";
AFGetStr("\n");
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort.\n");
TourPut("Press $$GREEN$$<SHIFT-ESC>$$FG$$ to abort.\n");
AFUntilChar(CH_ESC,CH_SHIFT_ESC);
PopUpOk(
"We will now use $LK,"Uf",A="MN:Uf"$() to\n"
"unassemble a function.\n"
"It takes the function name\n"
"as a string arg.\n\n"
"Press $$GREEN$$<ENTER>$$FG$$.");
TourPut(
"We will now use $$RED$$$$TX+L+PU+UL,\"Uf\",A=\"MN:Uf\"$$$$FG$$() to "
"unassemble a function. It takes the function name as a string arg.\n\n"
"Press $$GREEN$$<ENTER>$$FG$$.\n");
"WinMax;WinBorder;\nUf(\"CAlloc\");";
AFGetStr("\n");
PopUpOk("Press $$GREEN$$<CURSOR-UP>$$FG$$ eight times..");
TourPut("Press $$GREEN$$<CURSOR-UP>$$FG$$ eight times..");
I64 i;
for (i=0;i<8;i++)
AFGetKey(SC_CURSOR_UP);
PopUpOk(
TourPut(
"Press $$GREEN$$<SPACE>$$FG$$.\n");
AFGetStr(" ");
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ when finished.\n");
TourPut("Press $$GREEN$$<SHIFT-ESC>$$FG$$ when finished.\n");
AFUntilChar(CH_ESC,CH_SHIFT_ESC);
//Puts the cursor at the bottom.
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
PopUpOk(
"We can unassemble a\n"
"numeric address with $LK,"U",A="MN:U"$().\n\n"
"Press $$GREEN$$<ENTER>$$FG$$.");
TourPut(
"We can unassemble a numeric address with "
"$$RED$$$$TX+L+PU+UL,\"U\",A=\"MN:U\"$$$$FG$$().\n\n"
"Press $$GREEN$$<ENTER>$$FG$$.\n");
"U(&CAlloc);";
AFGetStr("\n");
Sleep(1000);
PopUpOk("The opcodes are slightly nonstandard.");
TourPut("The opcodes are slightly nonstandard.\n",TRUE);
"Ed(\"::/Compiler/OpCodes.TXT.Z\");\n";
Msg(MSG_KEY_DOWN,CH_CTRLF,0x42100000421);
"MOV";
Msg(MSG_KEY_DOWN,CH_ESC,0x100000001);
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort.\n");
TourPut("Press $$GREEN$$<SHIFT-ESC>$$FG$$ to abort.\n");
AFUntilChar(CH_ESC,CH_SHIFT_ESC);
+10 -14
View File
@@ -1,25 +1,21 @@
PopUpOk(
"All text widgets work everywhere.\n"
"The $$GREEN$$Type()$$FG$$ command is like\n"
"the DOS command of the same name\n"
"or the UNIX, $$GREEN$$cat$$FG$$ command.\n"
"We will now send your menu document\n"
"to the command line. They use the same\n"
"document format and it is active!!.\n");
PopUpOk("Press $$GREEN$$<ENTER>$$FG$$.");
TourPut(
"All text widgets work everywhere. The $$GREEN$$Type()$$FG$$ command is like "
"the DOS command of the same name or the UNIX, $$GREEN$$cat$$FG$$ command. "
"We will, now, send your menu document to the command line. It uses the "
"same document format and the icons are even active!!\n\n"
"Press $$GREEN$$<ENTER>$$FG$$.\n");
//Puts the cursor at the bottom.
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"\n";
"Type(\"HOME/PersonalMenu.TXT\");";
"Type(\"::/Home/PersonalMenu.TXT\");";
AFGetStr("\n");
Sleep(1500);
AFPrint(250,"Dir;\n");
Sleep(1500);
PopUpOk(
"$$GREEN$$Type()$$FG$$ can also be used on\n"
"$$GREEN$$.BMP$$FG$$ or $$GREEN$$.GRA$$FG$$ files!");
TourPut(
"$$GREEN$$Type()$$FG$$ can also be used on $$GREEN$$.BMP$$FG$$ or $$GREEN$$.GRA$$FG$$ "
"files!",TRUE);
+6 -6
View File
@@ -1,10 +1,10 @@
PopUpOk(
"We will now run a test-suite\n"
"that automatically executes\n"
"most TempleOS demos. It takes\n"
"a few minutes, so kick-back.\n");
TourPut(
"We will now run a test-suite that automatically executes most TempleOS "
"demos. It takes a few minutes, so kick-back.\n\n"
"Press $$GREEN$$<ENTER>$$FG$$ in a moment.\n",TRUE);
PopUpOk("Press $$GREEN$$<ENTER>$$FG$$.");
if (LBtr(&tour_put->display_flags,DISPLAYf_SHOW))
WinZBufUpdate;
"#include \"::/Misc/OSTestSuite\";";
AFGetStr("\n");