TempleOSTS_140317.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:46:02 +02:00
1 parent 2d2a65d572
commit 7ef616a20e
1416 files changed
+223873 -53917

No files matched your search

+100117
View File
File diff suppressed because it is too large. Load diff
+20
View File
@@ -0,0 +1,20 @@
public U0 Dollar(U8 *files_find_mask,U8 *fu_flags=NULL)
//This is for importing non-"TempleOS" text files.
//$BK,1$WARNING:$BK,0$Do not use on files with dollar cmds
// or on binary files. See $LK,"FilesFind",A="MN:FilesFind"$() for flags.
{
CDoc *doc;
I64 fuf_flags=0;
CDirEntry *tempde,*tempde1;
ScanFlags(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),"+r+f+F");
ScanFlags(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),fu_flags);
tempde=tempde1=FilesFind(files_find_mask,fuf_flags);
while (tempde) {
"%s\n",tempde->full_name;
doc=DocRead(tempde->full_name,DOCF_PLAIN_TEXT|DOCF_DBL_DOLLARS);
DocWrite(doc);
DocDel(doc);
tempde=tempde->next;
}
DirLstDel(tempde1);
}
+61
View File
@@ -0,0 +1,61 @@
/*$HL,0$
$FG,5$$TX+CX,"Roll Your Own Distro"$$FG$
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"
U0 MakeMyISO(U8 *out_iso_filename)
{//Does everything with current drive.
if (!IsDrvWritable) {
"Drive must be writable. Install on Hard drive, first.\n";
return;
}
DelTree("/Distro");
Auto(STD_DISTRO_CDROM_CFG);
MakeOSPrtBootInstall(,'T');
CopyTree("/0000Boot", "/Distro/0000Boot");
CopyTree("/Accts", "/Distro/Accts");
CopyTree("/Adam", "/Distro/Adam");
CopyTree("/Apps", "/Distro/Apps");
CopyTree("/Compiler", "/Distro/Compiler");
CopyTree("/Demo", "/Distro/Demo");
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
CopyTree("/Linux","/Distro/Linux"); //You can leave this out.
MkDir("/Distro/Temp");
MkDir("/Distro/Temp/ScreenShots");
CDFileCreate(out_iso_filename,"/Distro/*",,"/Distro" BOOT_DIR_KERNEL_BIN_C);
//CDImageWrite('T',out_iso_filename,MT_CD); //Uncomment to burn a CD-ROM or (MT_DVD)
//DelTree("/Distro");
}
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.
*/
+2235
View File
File diff suppressed because it is too large. Load diff
+9023
View File
File diff suppressed because it is too large. Load diff
Binary file not shown.
+41
View File
@@ -0,0 +1,41 @@
public I64 PopUpTourPart()
{
I64 i;
CDoc *doc=DocNew;
DocPrint(doc,"$$PURPLE$$TempleOS Tours$$FG$$\n\n"
"$$CM+LX,4,4$$$$BT,\"Part 1: The basics\",LE=1$$"
"$$CM+LX,4,4$$$$BT,\"Part 2: Editing and running programs\",LE=2$$"
"$$CM+LX,4,4$$$$BT,\"Part 3: Adding macros to personal menu\",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: Editor filter\",LE=7$$"
"$$CM+LX,4,4$$$$BT,\"Part 8: Debugging\",LE=8$$"
"$$CM+LX,4,4$$$$BT,\"Part 9: Wow!!\",LE=9$$"
"$$CM+LX,4,4$$$$BT,\"Part 10: Test Suite\",LE=10$$"
"$$CM+LX,4,4$$$$BT,\"Done\",LE=DOCM_CANCEL$$\n");
doc->flags|=DOCF_FORM;
i=SrvUser("WinMax;DocMenuDo(0x%X,0);",doc);
DocDel(doc);
return i;
}
U0 TourMenu()
{
U8 buf[128];
I64 i;
while (TRUE) {
i=PopUpTourPart;
if (i>=1) {
SPrint(buf,"::/Misc/Tour/Tour%X.AUT",i);
ExeFile(buf);
} else
break;
}
}
"DocClear;WinMax;\n";
WinMgrSync(2);
TourMenu;
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"Cd(\"HOME\");Dir;\n";
+89
View File
@@ -0,0 +1,89 @@
//This puts the cursor at the bottom
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"
"\n"
"The syntax is like $$GREEN$$C/C++$$FG$$ except you\n"
"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"
);
AFPmtStr("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"
"Press $$GREEN$$<CTRL-M>$$FG$$.\n\n"
"This will access your personal menu.\n"
"You can customize it. It's like your\n"
"START menu and desktop.\n");
AFGetChar(CH_CTRLM);
Sleep(1000);
PopUpOk(
"You can get to your personal menu\n"
"by clicking on the word \"$$GREEN$$MENU$$FG$$\" in the\n"
"title bar.\n");
PopUpOk(
"After clicking $$GREEN$$[OKAY]$$FG$$, you will be back at\n"
"the personal menu.\n\n"
"Press $$GREEN$$<CURSOR-DOWN>$$FG$$ nine times.\n");
//This puts the cursor at the top
Msg(MSG_KEY_DOWN,0,SC_CURSOR_UP|SCF_CTRL);
I64 i;
for (i=0;i<9;i++)
AFGetKey(SC_CURSOR_DOWN);
PopUpOk(
"Keyboard commands are:\n\n"
"$$GREEN$$<SPACE BAR>$$FG$$\tLeft-action\n"
"$$GREEN$$<ENTER>$$FG$$\t\tRight-action\n"
"$$GREEN$$<ESC>$$FG$$\t\tSave and exit\n"
"$$GREEN$$<SHIFT-ESC>$$FG$$\tAbort\n"
);
PopUpOk(
"After clicking $$GREEN$$[OKAY]$$FG$$, the cursor will be\n"
"on top of a macro we wish to run.\n"
"\n"
"After clicking $$GREEN$$[OKAY]$$FG$$, press $$GREEN$$<SPACE BAR>$$FG$$.\n");
AFPmtStr(" ");
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");
PopUpOk(
"\"$$GREEN$$<CTRL-T>$$FG$$\" after clicking $$GREEN$$[OKAY]$$FG$$ to toggle\n"
"to plain text mode.\n");
AFGetChar(CH_CTRLT);
Sleep(1000);
PopUpOk(
"The widgets are bracketed with dollar sign\n"
"characters. \"LK\" stands \"link\" and \"MA\"\n"
"stands for \"macro\".\n\n"
"Now, \"$$GREEN$$<CTRL-T>$$FG$$\" to toggle back to\n"
"regular mode.\n");
AFGetChar(CH_CTRLT);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
Sleep(1000);
+109
View File
@@ -0,0 +1,109 @@
//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"
"$$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"
"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;");
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"
"$$GREEN$$<ENTER>$$FG$$ to complete the command.\n");
AFPrint(25,"Ed(\"CastleFrankenstein.CPP.Z\");");
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 $$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"
"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");
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort the editor.\n"
);
AFGetChar(CH_SHIFT_ESC,CH_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");
AFPrint(25,"#include \"CastleFrankenstein\";");
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"
"\"$$GREEN$$CastleFrankenstein;$$FG$$\".\n\n"
"$$GREEN$$<ENTER>$$FG$$ at the command line to\n"
"run it again.\n");
AFPrint(25,"CastleFrankenstein;");
AFPmtStr("\n");
AFUntilChar(CH_SHIFT_ESC,CH_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"
);
AFPrint(50,"Ed(\"CastleFrankenstein.CPP.Z\");\n");
PopUpOk(
"$$GREEN$$<F5>$$FG$$ in the editor to run the file being edited.\n"
);
AFGetKey(SC_F5);
Sleep(50);
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"
);
WinToTop(task);
while (TaskValidate(task))
Sleep(10);
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort the editor.\n");
AFUntilChar(CH_SHIFT_ESC,CH_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 BAR>$$FG$$ on a demo index listing\n"
"and $$GREEN$$<F5>$$FG$$ to run from the editor.\n"
);
+113
View File
@@ -0,0 +1,113 @@
//This puts the cursor at the bottom
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"
"to your personal menu.\n\n"
"Press $$GREEN$$<CTRL-M>$$FG$$\n"
"to get to your personal menu.\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"
);
AFGetChar(CH_CTRLL);
Sleep(100);
PopUpOk(
"$$GREEN$$<CURSOR-DOWN>$$FG$$ until you reach\n"
"\"Macro\".\n");
I64 i;
for (i=0;i<6;i++)
AFGetKey(SC_CURSOR_DOWN);
PopUpOk(
"$$GREEN$$<SPACE BAR>$$FG$$.\n");
AFPmtStr(" ");
Sleep(1000);
PopUpOk(
"Now, we'll fill-in the visible text\n"
"of the macro.\n");
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");
AFGetChar(CH_ESC);
Sleep(1000);
PopUpOk(
"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");
AFGetKey(SC_ENTER|SCF_CTRL|SCF_SHIFT);
Sleep(1000);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_UP|SCF_CTRL);
PopUpOk(
"Press $$GREEN$$<SPACE BAR>$$FG$$ to test it.\n");
AFPmtStr(" ");
AFUntilChar(CH_SHIFT_ESC,CH_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");
Msg(MSG_KEY_DOWN,CH_CTRLM,0x43200000432);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_UP|SCF_CTRL);
Msg(MSG_KEY_DOWN,CH_CTRLL,0);
for (i=0;i<6;i++)
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN);
AFPrint(," Click here for Pop-up version");
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");
for (i=0;i<2;i++)
AFGetKey(SC_CURSOR_DOWN);
PopUpOk(
"$$GREEN$$<SPACE BAR>$$FG$$ to\n"
"check the box.\n");
AFPmtStr(" ");
Sleep(500);
PopUpOk("$$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");
AFGetKey(SC_ENTER|SCF_CTRL|SCF_SHIFT);
Sleep(500);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_UP|SCF_CTRL);
PopUpOk(
"$$GREEN$$<SPACE BAR>$$FG$$ to test it.\n");
AFPmtStr(" ");
Sleep(3000);
PopUpOk(
"$$GREEN$$<CTRL-S>$$FG$$ to save your\n"
"personal menu file, if you wish.\n"
"Your personal menu is special and\n"
"does not save on $$GREEN$$<ESC>$$FG$$.\n");
if (Fs->parent_task->popup_task) {
'' CH_SHIFT_ESC;
Sleep(100);
}
'' CH_SHIFT_ESC; //exit menu
+37
View File
@@ -0,0 +1,37 @@
//This is an example of your documentation.
//This puts the cursor at the bottom
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"\nEd(\"::/Misc/Tour/Tour4.AUT.Z\");\n";
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");
'' CH_CTRLL;
Sleep(1000);
'' CH_SPACE;
Sleep(1000);
'' CH_SPACE;
Sleep(1000);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN);
Sleep(1000);
PopUpOk(
"Press $$GREEN$$<F4>$$FG$$.\n"
"Pick any file and press $$GREEN$$<ESC>$$FG$$.");
AFGetKey(SC_F4);
PopUpOk(
"Press $$GREEN$$<ESC>$$FG$$.\n");
AFUntilChar(CH_SHIFT_ESC,CH_ESC);
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort.\n");
AFUntilChar(CH_SHIFT_ESC,CH_ESC);
PopUpOk(
"$$GREEN$$<SHIFT F4>$$FG$$ to pick directories.\n");
+64
View File
@@ -0,0 +1,64 @@
PopUp("WSInit(\"::/*;~*Bible.TXT*\");");
WordStat(ON);
Sleep(3500);
//This 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");
"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");
AFGetKey(SC_F1|SCF_CTRL|SCF_SHIFT);
Sleep(500);
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort the source code.\n");
AFUntilChar(CH_SHIFT_ESC,CH_ESC);
Sleep(100);
sys_focus_task=Fs;
PopUpOk(
"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");
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");
AFPrint(,"Man(\"U\");");
Sleep(1000);
"\n";
Sleep(2000);
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort the source code.\n");
AFUntilChar(CH_SHIFT_ESC,CH_ESC);
+76
View File
@@ -0,0 +1,76 @@
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"
);
PopUpOk("Press $$GREEN$$<ENTER>$$FG$$.");
//This puts the cursor at the bottom
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"\n";
"F(\"RED\");";
AFPmtStr("\n");
PopUpOk(
"Try it with the $$GREEN$$+l$$FG$$ flag.\n"
"This limits to whole labels, not partials.\n");
PopUpOk("Press $$GREEN$$<ENTER>$$FG$$.");
//This puts the cursor at the bottom
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"\n";
"F(\"RED\",\"+l\");";
AFPmtStr("\n");
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");
PopUpOk("Press $$GREEN$$<ENTER>$$FG$$.");
//This puts the cursor at the bottom
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"\n";
"F(\"RED\",\"+l-i\");";
AFPmtStr("\n");
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");
PopUpOk("Press $$GREEN$$<ENTER>$$FG$$.");
//This puts the cursor at the bottom
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"\n";
"Ed(\"HOME/Adam3dWrappers.CPP.Z\");";
AFPmtStr("\n");
Sleep(2000);
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort the source code.\n");
AFUntilChar(CH_SHIFT_ESC,CH_ESC);
PopUpOk(
"$$GREEN$$+lb$$FG$$ is whole label just before.\n"
"$$GREEN$$+la$$FG$$ is whole label just after.\n");
+39
View File
@@ -0,0 +1,39 @@
"Ed(\"::/Misc/Bible.TXT.Z\");\n";
Sleep(1000);
PopUpOk(
"$$GREEN$$<CTRL-F>$$FG$$ to find.\n"
);
AFGetChar(CH_CTRLF);
AFPrint(150,"new song");
PopUpOk("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");
AFPmtStr("2");
Sleep(1000);
PopUpOk("Press $$GREEN$$<ESC>$$FG$$.\n");
AFGetChar(CH_ESC);
Sleep(500);
PopUpOk(
"Look around and press $$GREEN$$<ESC>$$FG$$\n"
"to turn off filter.\n");
AFUntilChar(CH_SHIFT_ESC,CH_ESC);
Sleep(1000);
PopUpOk(
"You can combine filters to\n"
"effectively do AND searches.\n");
Sleep(1000);
'' CH_SHIFT_ESC;
+54
View File
@@ -0,0 +1,54 @@
PopUpOk("Press $$GREEN$$<ENTER>$$FG$$.");
"Ed(\"HI:Debugging\");";
AFPmtStr("\n");
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort.\n");
AFUntilChar(CH_SHIFT_ESC,CH_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$$.");
"WinMax;WinBorder;\nUf(\"CAlloc\");";
AFPmtStr("\n");
PopUpOk("Press $$GREEN$$<CURSOR-UP>$$FG$$ eight times..");
I64 i;
for (i=0;i<8;i++)
AFGetKey(SC_CURSOR_UP);
PopUpOk(
"Press $$GREEN$$<SPACE BAR>$$FG$$.\n");
AFPmtStr(" ");
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ when finished.\n");
AFUntilChar(CH_SHIFT_ESC,CH_ESC);
//This puts the cursor at the bottom
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"AFView;\n";
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ when finished.\n");
AFUntilChar(CH_SHIFT_ESC,CH_ESC);
PopUpOk(
"We can unassemble a\n"
"numeric address with $LK,"U",A="MN:U"$().\n\n"
"Press $$GREEN$$<ENTER>$$FG$$.");
"U(&CAlloc);";
AFPmtStr("\n");
"AFView;\n";
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ when finished.\n");
AFUntilChar(CH_SHIFT_ESC,CH_ESC);
PopUpOk("The opcodes are slightly nonstandard.");
"Ed(\"::/Compiler/OpCodes.TXT.Z\");\n";
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ to abort.\n");
AFUntilChar(CH_SHIFT_ESC,CH_ESC);
+30
View File
@@ -0,0 +1,30 @@
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$$.");
//This puts the cursor at the bottom
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
"\n";
"Type(\"HOME/PersonalMenu.TXT\");";
AFPmtStr("\n");
Sleep(1500);
AFPrint(250,"Dir;\nAFView;\n");
PopUpOk(
"$$GREEN$$<SHIFT-ESC>$$FG$$ when finished.\n");
AFUntilChar(CH_SHIFT_ESC,CH_ESC);
PopUpOk(
"$$GREEN$$Type()$$FG$$ can also be used on\n"
"$$GREEN$$.BMP$$FG$$ or $$GREEN$$.GRA$$FG$$ files!");
+10
View File
@@ -0,0 +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");
PopUpOk("Press $$GREEN$$<ENTER>$$FG$$.");
"#include \"::/Misc/OSTestSuite\";";
AFPmtStr("\n");