TempleOSTS_140317.ISO
This commit is contained in:
1 parent
2d2a65d572
commit
7ef616a20e
1416 files changed
+223873
-53917
No files matched your search
+100117
File diff suppressed because it is too large.
Load diff
@@ -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);
|
||||
}
|
||||
@@ -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.
|
||||
|
||||
*/
|
||||
File diff suppressed because it is too large.
Load diff
+9023
File diff suppressed because it is too large.
Load diff
Binary file not shown.
@@ -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";
|
||||
@@ -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);
|
||||
|
||||
@@ -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"
|
||||
);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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");
|
||||
@@ -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);
|
||||
@@ -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");
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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!");
|
||||
|
||||
|
||||
@@ -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");
|
||||
Reference in new issue
Block a user