<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="generator" content="TempleOS V5.03"> <meta name="viewport" content="width=device-width"> <link rel="stylesheet" href="/style/templeos.css"> <script src="/script/templeos.js"></script> <style type="text/css"> .cF0{color:#000000;background-color:#ffffff;} .cF1{color:#0000aa;background-color:#ffffff;} .cF2{color:#00aa00;background-color:#ffffff;} .cF3{color:#00aaaa;background-color:#ffffff;} .cF4{color:#aa0000;background-color:#ffffff;} .cF5{color:#aa00aa;background-color:#ffffff;} .cF6{color:#aa5500;background-color:#ffffff;} .cF7{color:#aaaaaa;background-color:#ffffff;} .cF8{color:#555555;background-color:#ffffff;} .cF9{color:#5555ff;background-color:#ffffff;} .cFA{color:#55ff55;background-color:#ffffff;} .cFB{color:#55ffff;background-color:#ffffff;} .cFC{color:#ff5555;background-color:#ffffff;} .cFD{color:#ff55ff;background-color:#ffffff;} .cFE{color:#ffff55;background-color:#ffffff;} .cFF{color:#ffffff;background-color:#ffffff;} </style> </head> <body> <pre style="font-family: courier, monospace; font-size: 10pt;"> <a name="l1"></a><span class=cF5> Tips</span><span class=cF0> <a name="l2"></a> <a name="l3"></a>* Turn-off or reboot (</span><span class=cF2><CTRL-ALT-DEL></span><span class=cF0>) at any time, except during disk writes. <a name="l4"></a>Writes are not cached. <a name="l5"></a> <a name="l6"></a>* Use </span><a href="/Wb/Kernel/KMathB.HC#l147"><span class=cF4>Seed</span></a><span class=cF0>() and the cmd line to switch </span><a href="/Wb/Kernel/KMathB.HC#l137"><span class=cF4>Rand</span></a><span class=cF0>() to non-timer mode and replay <a name="l7"></a>games you like. <a name="l8"></a> <a name="l9"></a>* 64-bit values are most efficient for the compiler. <a name="l10"></a> <a name="l11"></a>* See </span><span class=cF9><u>Key Map</u></span><span class=cF0> for a list of defined keys. Define your own keys in </span><a href="/Wb/Home/HomeKeyPlugIns.HC#l11"><span class=cF4>MyPutKey</span></a><span class=cF0>(). <a name="l12"></a>See </span><span class=cF4><u>Keyboard Devices</u></span><span class=cF0>. <a name="l13"></a> <a name="l14"></a>* </span><span class=cF2><ALT-m></span><span class=cF0> maximizes a window. </span><span class=cF2><ALT-SHIFT-w></span><span class=cF0> closes AutoComplete. </span><span class=cF2><ALT-w></span><span class=cF0> <a name="l15"></a>brings back AutoComplete. </span><span class=cF2><ALT-v></span><span class=cF0> vertically tiles windows. </span><span class=cF2><ALT-h></span><span class=cF0> <a name="l16"></a>horizontally tiles windows. The </span><span class=cF2>ALT</span><span class=cF0> keys are defined in </span><a href="/Wb/Home/HomeKeyPlugIns.#l1"><span class=cF4>~/HomeKeyPlugIns.HC</span></a><span class=cF0>. <a name="l17"></a>You can customize them. <a name="l18"></a> <a name="l19"></a>* If you make changes to TempleOS files in your </span><span class=cF2>/Home</span><span class=cF0> directory, generally you <a name="l20"></a>reboot to make them take effect. (You don't compile anything.) You should have <a name="l21"></a>two TempleOS partitions on your hard drive because a syntax error in a start-up <a name="l22"></a>file will make the partition unbootable. Boot to the second partition or boot <a name="l23"></a>to a standard TempleOS CD/DVD and use </span><a href="/Wb/Adam/ABlkDev/Mount.HC#l138"><span class=cF4>Mount</span></a><span class=cF0>() to mount your hard drive. <a name="l24"></a> <a name="l25"></a>* I copy my files to a mirrored ident partition, periodically with </span><a href="/Wb/Adam/ABlkDev/ADskA.HC#l122"><span class=cF4>CopyTree</span></a><span class=cF0>() <a name="l26"></a>commands in scripts. I do merge commands with a menu entry like this: <a name="l27"></a></span><span class=cF2>Merge(\"C:/*\",\"D:/*\",\"+r+d\");</span><span class=cF0> to check my changes. <a name="l28"></a> <a name="l29"></a>* </span><span class=cF2><CTRL-m></span><span class=cF0> at the cmd line to access your PersonalMenu. Place macros there with </span><span class=cF2> <a name="l30"></a><CTRL-l></span><span class=cF0>, or icon-like sprites with </span><span class=cF2><CTRL-r></span><span class=cF0>. Use the </span><span class=cF2>Pop-Up</span><span class=cF0> option on macros <a name="l31"></a>to </span><a href="/Wb/Kernel/KTask.HC#l242"><span class=cF4>Spawn</span></a><span class=cF0>() a task to run a file. It dies when it is finished. This returns mem <a name="l32"></a>to the system. Be sure to press </span><span class=cF2><CTRL-s></span><span class=cF0> to save your macro/menu area after <a name="l33"></a>making changes. <a name="l34"></a> <a name="l35"></a>* You can use </span><span class=cF2>ans</span><span class=cF0> in cmd line expressions. It holds the res the last cmd line <a name="l36"></a>operation. You can use the cmd prompt as a calculator by just entering <a name="l37"></a>expressions like </span><span class=cF2>1+2*3;</span><span class=cF0>. </span><span class=cF2>F64</span><span class=cF0> ress can be accessed with </span><span class=cF2>ansf</span><span class=cF0>. <a name="l38"></a> <a name="l39"></a>* Use the PullDown menu at the top of the scrn to learn commands, or for finding <a name="l40"></a>the keyboard controls to games. <a name="l41"></a> <a name="l42"></a>* You can adjust the mouse movement rate by setting global vars in your start-up <a name="l43"></a>file. See </span><a href="/Wb/Home/HomeLocalize.#l11"><span class=cF4>mouse scale</span></a><span class=cF0>. <a name="l44"></a> <a name="l45"></a>* You can set your local time zone by setting the </span><a href="/Wb/Kernel/KGlbls.HC#l14"><span class=cF4>local_time_offset</span></a><span class=cF0> global var <a name="l46"></a>in a start-up file. It's units are </span><a href="/Wb/Kernel/KernelA.HH#l571"><span class=cF4>CDATE_FREQ</span></a><span class=cF0>. See </span><a href="/Wb/Home/HomeLocalize.#l8"><span class=cF4>local time</span></a><span class=cF0>. <a name="l47"></a> <a name="l48"></a>* </span><span class=cF2><CTRL-SHIFT-L></span><span class=cF0> in the editor to reindent a </span><a href="/Wb/Doc/HolyC.DD.HTML#l1"><span class=cF4>HolyC</span></a><span class=cF0> function or renumber an asm <a name="l49"></a>routine's local labels. <a name="l50"></a> <a name="l51"></a>* You can use </span><span class=cF2>filter_lines</span><span class=cF0> in the editor text search form (</span><span class=cF2><CTRL-f></span><span class=cF0>) to <a name="l52"></a>temporarily display just lines near each match. A value of </span><span class=cF2>filter lines</span><span class=cF0> set to </span><span class=cF2> <a name="l53"></a>5</span><span class=cF0> will display lines within 5 lines of matches. Then, you can do another find <a name="l54"></a>to a different string and achieve a </span><span class=cF2>AND</span><span class=cF0> search. When finished, press </span><span class=cF2><ESC></span><span class=cF0>. <a name="l55"></a> <a name="l56"></a>* You can recompile and reinstall the kernel with </span><a href="/Wb/Adam/Opt/Boot/BootHDIns.HC#l18"><span class=cF4>BootHDIns</span></a><span class=cF0>(). You'll probably <a name="l57"></a>want to make a function for recompiling that uses the </span><a href="/Wb/Kernel/Job.HC#l482"><span class=cF4>In</span></a><span class=cF0>() function to answer <a name="l58"></a>the cfg questions. See my technique </span><a href="/Wb/Demo/AcctExample/TOS/TOSCfg.HC#l1"><span class=cF4>Cfg Strs</span></a><span class=cF0>, </span><a href="/Wb/Demo/AcctExample/TOS/TOSDistro.HC#l1"><span class=cF4>Update Funs</span></a><span class=cF0>. <a name="l59"></a> <a name="l60"></a>* </span><a href="/Wb/Kernel/Mem/MemPhysical.HC#l169"><span class=cF4>Scale2Mem</span></a><span class=cF0>(min,max,limit=2*1024*1024*1024) can be used for cfg questions when <a name="l61"></a>recompiling. The </span><a href="/Wb/Adam/Opt/Boot/BootHDIns.HC#l18"><span class=cF4>BootHDIns</span></a><span class=cF0>() cfg prompts accept expressions, not just numbers. <a name="l62"></a>The dft disk cache is </span><span class=cF2>Scale2Mem(0x80000,0x8000000)</span><span class=cF0>. <a name="l63"></a> <a name="l64"></a>* You can permanently disable </span><span class=cF2>AutoComplete</span><span class=cF0> commenting-out </span><a href="/Wb/Home/HomeSys.#l32"><span class=cF4>ACInit</span></a><span class=cF0>() in </span><span class=cF4> <a name="l65"></a></span><a href="/Wb/Home/HomeSys.#l32"><span class=cF4>~/HomeSys.HC</span></a><span class=cF0>. <a name="l66"></a> <a name="l67"></a>* Boolean expressions <blink>not</blink> in </span><span class=cF2>if</span><span class=cF0> stmts don't have short circuit logic and are <a name="l68"></a>compiled inefficiently. <a name="l69"></a> <a name="l70"></a>* You can use </span><a href="/Wb/Kernel/KernelB.HH#l209"><span class=cF4>progress1</span></a><span class=cF0>-</span><a href="/Wb/Kernel/KernelB.HH#l227"><span class=cF4>progress4</span></a><span class=cF0> in your programs for whatever you like. <a name="l71"></a>They're just global vars that are shown on the wallpaper. The original intent <a name="l72"></a>was to indicate how far along operations were. There's no coordination, so <a name="l73"></a>different apps might interfere. I use them most for debugging--just values <a name="l74"></a>easily viewed. See </span><a href="/Wb/Demo/Progress.HC#l1"><span class=cF4>::/Demo/Progress.HC</span></a><span class=cF0>. <a name="l75"></a> <a name="l76"></a>* Use </span><a href="/Wb/Adam/DolDoc/DocRecalcLib.HC#l176"><span class=cF4>DocMax</span></a><span class=cF0>() to adjust the size of the cmd line buf. It counts </span><a href="/Wb/Kernel/KernelA.HH#l1367"><span class=cF4>CDoc</span></a><span class=cF0> entries, <a name="l77"></a>not lines. <a name="l78"></a> <a name="l79"></a>* Many data structures have a </span><span class=cF2>user_data</span><span class=cF0> member. Those are available for you to <a name="l80"></a>store a data item, for convenience. </span><a href="/Wb/Kernel/KernelA.HH#l3271"><span class=cF4>CTask</span></a><span class=cF0>, </span><a href="/Wb/Kernel/KernelA.HH#l1191"><span class=cF4>CDocEntry</span></a><span class=cF0> and </span><a href="/Wb/Kernel/KernelA.HH#l2520"><span class=cF4>CDirEntry</span></a><span class=cF0> have them. <a name="l81"></a>You shouldn't encounter conflicts with TempleOS using them. <a name="l82"></a> <a name="l83"></a>* If, for some strange reason, you wanted to reduce mem usage, make a smaller <a name="l84"></a>disk cache when you recompile the kernel; disabling </span><span class=cF2>AutoComplete</span><span class=cF0>; Specify <a name="l85"></a>smaller stk sizes when doing </span><a href="/Wb/Kernel/KTask.HC#l242"><span class=cF4>Spawn</span></a><span class=cF0>(), chang </span><a href="/Wb/Kernel/KernelA.HH#l2843"><span class=cF4>MEM_DFT_STK</span></a><span class=cF0>, and using </span><a href="/Wb/Adam/DolDoc/DocRecalcLib.HC#l176"><span class=cF4>DocMax</span></a><span class=cF0>() to <a name="l86"></a>reduce the cmd line buffer size. <a name="l87"></a> <a name="l88"></a>* Filenames ending in "</span><span class=cF2>.Z</span><span class=cF0>" will be automatically compressed and uncompressed <a name="l89"></a>when read or written. The compression method is not supported by other <a name="l90"></a>operating systems. You can store files uncompressed by </span><a href="/Wb/Adam/ABlkDev/ADskA.HC#l94"><span class=cF4>Move</span></a><span class=cF0>()ing them to a <a name="l91"></a>filename not ending in "</span><span class=cF2>.Z</span><span class=cF0>". See </span><a href="/Wb/Doc/TOSZ.DD.HTML#l1"><span class=cF4>::/Doc/TOSZ.DD</span></a><span class=cF0> if you want to uncompress while <a name="l92"></a>in </span><span class=cF2>Linux</span><span class=cF0>. <a name="l93"></a> <a name="l94"></a>* </span><a href="/Wb/Adam/Opt/Utils/Merge.HC#l37"><span class=cF4>Merge</span></a><span class=cF0>() can be used to see what's changed. The </span><span class=cF2>+d</span><span class=cF0> flag will show differences <a name="l95"></a>of files which have changed and allow you to merge code. (The </span><span class=cF2>+r</span><span class=cF0> flag will <a name="l96"></a>recurse.) <a name="l97"></a> <a name="l98"></a>* There is a utility </span><a href="/Wb/Adam/Opt/Utils/LinkChk.HC#l47"><span class=cF4>LinkChk</span></a><span class=cF0>() which will check for broken links in <a name="l99"></a>documentation. <a name="l100"></a> <a name="l101"></a>* You can use </span><a href="/Wb/Compiler/CMisc.HC#l1"><span class=cF4>Option</span></a><span class=cF0>(</span><a href="/Wb/Kernel/KernelA.HH#l1549"><span class=cF4>OPTf_WARN_PAREN</span></a><span class=cF0>,ON) to find unnecessary parentheses in <a name="l102"></a>code. <a name="l103"></a> <a name="l104"></a>* You can use </span><a href="/Wb/Compiler/CMisc.HC#l1"><span class=cF4>Option</span></a><span class=cF0>(</span><a href="/Wb/Kernel/KernelA.HH#l1550"><span class=cF4>OPTf_WARN_DUP_TYPES</span></a><span class=cF0>,ON) to find unnecessary local var type <a name="l105"></a>stmts. <a name="l106"></a> <a name="l107"></a>* </span><a href="/Wb/Compiler/CMisc.HC#l1"><span class=cF4>Option</span></a><span class=cF0>(</span><a href="/Wb/Kernel/KernelA.HH#l1546"><span class=cF4>OPTf_ECHO</span></a><span class=cF0>,ON) can be placed in </span><a href="/Wb/StartOS.HC#l1"><span class=cF4>StartOS.HC</span></a><span class=cF0> to echo start-up scripts. <a name="l108"></a> <a name="l109"></a>* Use </span><a href="/Wb/Adam/DolDoc/DocEd.HC#l249"><span class=cF4>Plain</span></a><span class=cF0>() to edit a plain text file. You'll need this if your file has </span><span class=cF2>$</span><span class=cF0>'s. <a name="l110"></a> Use the </span><a href="/Wb/Adam/Opt/Utils/ToDolDoc.HC#l3"><span class=cF4>ToDolDoc</span></a><span class=cF0>() utility to convert plain text to DolDoc's by doubling </span><span class=cF2>$</span><span class=cF0>'s. <a name="l111"></a> <a name="l112"></a>* Use </span><a href="/Wb/Kernel/KMisc.HC#l270"><span class=cF4>Silent</span></a><span class=cF0>() to disable scrn text output. <a name="l113"></a> <a name="l114"></a>* Grab-scroll any window at any time with </span><span class=cF2>{CTRL-LEFT-MOUSE-DRAG}</span><span class=cF0>. Null <a name="l115"></a>grab-scrolling with </span><span class=cF2>{CTRL-RIGHT-MOUSE}</span><span class=cF0>. <a name="l116"></a> <a name="l117"></a>* Use </span><span class=cF2><CTRL-ALT-z></span><span class=cF0> to zoom-in and </span><span class=cF2><CTRL-ALT-SHIFT-Z></span><span class=cF0> to zoom-out. You can <a name="l118"></a>scroll by moving to the edge of the window. Set </span><a href="/Wb/Adam/Gr/GrGlbls.HC#l3"><span class=cF4>gr.continuous_scroll</span></a><span class=cF0> to </span><span class=cF2>TRUE</span><span class=cF0> if <a name="l119"></a>you want. <a name="l120"></a> <a name="l121"></a>* Use </span><span class=cF2><CTRL-ALT-g></span><span class=cF0> and </span><span class=cF2><CTRL-ALT-SHIFT-G></span><span class=cF0> to display a grid on the scrn. <a name="l122"></a> <a name="l123"></a>* Use </span><span class=cF2><CTRL-ALT-a></span><span class=cF0> to enter an extended ASCII char. <a name="l124"></a> <a name="l125"></a>* Use </span><span class=cF2><CTRL-ALT-f></span><span class=cF0> to toggle between </span><a href="/Wb/Kernel/FontStd.HC#l1"><span class=cF4>Std Font</span></a><span class=cF0> and </span><a href="/Wb/Kernel/FontCyrillic.HC#l1"><span class=cF4>Cyrillic Font</span></a><span class=cF0>. <a name="l126"></a> <a name="l127"></a>* Use </span><span class=cF2><CTRL-ALT-s></span><span class=cF0> will capture the scrn as a sprite on the clip. You can save <a name="l128"></a>the cmd line doc as text with </span><span class=cF2><CTRL-a></span><span class=cF0>. <a name="l129"></a> <a name="l130"></a>* You can save a sprite as a </span><span class=cF2>.GR</span><span class=cF0> file in </span><span class=cF2><CTRL-r></span><span class=cF0> on the Sprite BitMap Menu. <a name="l131"></a> <a name="l132"></a>* You can eye-dropper colors in the </span><span class=cF2><CTRL-r></span><span class=cF0> sprite editor by pressing </span><span class=cF2>'c'</span><span class=cF0>. <a name="l133"></a>Press </span><span class=cF2>'t'</span><span class=cF0> for transparent. <a name="l134"></a> <a name="l135"></a>* There are handy functions--</span><span class=cF2>F(),R(),FD()</span><span class=cF0> and </span><span class=cF2>RD()</span><span class=cF0> which are defined in </span><span class=cF4> <a name="l136"></a></span><a href="/Wb/Home/HomeWrappers.#l1"><span class=cF4>~/HomeWrappers.HC</span></a><span class=cF0>. You are encouraged to change them and add more. They will <a name="l137"></a>perform find-and-replace operations accross multiple files. The </span><span class=cF2>+l</span><span class=cF0> flag is <a name="l138"></a>particularly useful since it limits to whole labels. The </span><span class=cF2>+lb</span><span class=cF0> and </span><span class=cF2>+la</span><span class=cF0> flags <a name="l139"></a>limit to whole labels just before or after. You are encouraged to add or modify <a name="l140"></a>handy wrapper functions to make cmd line operations easier. <a name="l141"></a> <a name="l142"></a>* When using </span><a href="/Wb/Adam/Opt/Utils/Find.HC#l145"><span class=cF4>Find</span></a><span class=cF0>() while modifying code, work from the bottom-up so that line <a name="l143"></a>numbers are correct. If you work top-down, then inserting or deleting lines <a name="l144"></a>causes the lower file links will be incorrect. <a name="l145"></a> <a name="l146"></a>* You can save files after making changes, anytime you are within the editor, <a name="l147"></a>like when viewing help/macro files. </span><span class=cF2><CTRL-a></span><span class=cF0> saves as, </span><span class=cF2><CTRL-s></span><span class=cF0> saves with the <a name="l148"></a>same name in the scrolling title bar. Hitting </span><span class=cF2><ESC></span><span class=cF0> will exit and save. (</span><span class=cF2><SHIF <a name="l149"></a>T-ESC></span><span class=cF0> will abort). You can save the cmd line window to a file, too, since <a name="l150"></a>you're actually in the editor when you're at the cmd line. <a name="l151"></a> <a name="l152"></a>* When using </span><span class=cF2><CTRL-l></span><span class=cF0> to insert links in documents, you can usually leave the </span><span class=cF2>Ta <a name="l153"></a>g Text</span><span class=cF0> blank and it will be filled-in automatically based on other entries. <a name="l154"></a> <a name="l155"></a>* There is a feature of the precompiler that allows code to be executed in the <a name="l156"></a>middle of compilation and data inserted into the compilation stream. Click here <a name="l157"></a>for an example: </span><a href="/Wb/Kernel/KMain.HC#l16"><span class=cF4>#exe {</span></a><span class=cF0>. <a name="l158"></a> <a name="l159"></a>* If you output to the cmd line and wish to allow users to scroll around and <a name="l160"></a>view data, you can use </span><a href="/Wb/Adam/DolDoc/DocEd.HC#l3"><span class=cF4>View</span></a><span class=cF0>(). <a name="l161"></a> <a name="l162"></a>* Use </span><a href="/Wb/Adam/DolDoc/DocEd.HC#l3"><span class=cF4>View</span></a><span class=cF0>() in Pop-up macros to linger until the user presses </span><span class=cF2><ESC></span><span class=cF0> or </span><span class=cF2><SHIFT-E <a name="l163"></a>SC></span><span class=cF0>. <a name="l164"></a> <a name="l165"></a>* You can access the word under the cursor at </span><a href="/Wb/Kernel/KernelA.HH#l1496"><span class=cF4>ac.cur_word</span></a><span class=cF0>. <a name="l166"></a> <a name="l167"></a>* You can reactivate </span><span class=cF2>AutoComplete</span><span class=cF0> after closing it by pressing </span><span class=cF2><CTRL-Fun Key></span><span class=cF0> or </span><span class=cF2> <a name="l168"></a><ALT-w></span><span class=cF0> if you have it defined. <a name="l169"></a> <a name="l170"></a>* </span><span class=cF2><CTRL-SHIFT-T></span><span class=cF0> to toggle to/from plain text just the </span><a href="/Wb/Kernel/KernelA.HH#l1367"><span class=cF4>CDoc</span></a><span class=cF0> cmd under the <a name="l171"></a>cursor. See </span><a href="/Wb/Demo/DolDoc/TextDemo.HC#l1"><span class=cF4>::/Demo/DolDoc/TextDemo.HC</span></a><span class=cF0>. <a name="l172"></a> <a name="l173"></a>* If you toggle to plain text when you are working with graphics in a document, <a name="l174"></a>you can add duplicate entries for sprites by entering a </span><span class=cF2>$SP...$</span><span class=cF0> cmd with the <a name="l175"></a>same num. <a name="l176"></a> <a name="l177"></a>* If you toggle to plain text when working with graphics, you can add a str to <a name="l178"></a>the </span><span class=cF2>$SP...$</span><span class=cF0> entry to keep track of it. Try </span><span class=cF2>$SP,"<2>",BI=2$</span><span class=cF0> where '2' is the <a name="l179"></a>sprite num. <a name="l180"></a> <a name="l181"></a>* I use spaces-to-tab operations on all my src files to keep them small. You <a name="l182"></a>have to be careful, though, because spaces in strings will be converted. I use </span><span class=cF2> <a name="l183"></a><SHIFT-SPACE></span><span class=cF0> ' ' in such cases. See </span><a href="/Wb/Adam/Opt/Utils/StrUtils.HC#l201"><span class=cF4>S2T</span></a><span class=cF0>() for spaces-to-tabs. <a name="l184"></a> <a name="l185"></a>* You can edit an existing sprite by putting the cursor on it and pressing </span><span class=cF2><CTRL <a name="l186"></a>-r></span><span class=cF0>. <a name="l187"></a> <a name="l188"></a>* When editing a sprite, you can cut and paste the elements in the sidebar text <a name="l189"></a>list window. <a name="l190"></a> <a name="l191"></a>* I recommend keeping CSprite in vect format until you are done creating them, <a name="l192"></a>so you can edit the ctrl points. Then, convert them to bitmaps, so the flood <a name="l193"></a>fills work well. If you are doing interpolation, however, they must be vect. <a name="l194"></a> <a name="l195"></a>* </span><a href="/Wb/Adam/Gr/GrPrimatives.HC#l239"><span class=cF4>GrFloodFill</span></a><span class=cF0>() is slow. </span><a href="/Wb/Adam/Gr/GrBitMap.HC#l1008"><span class=cF4>GrRect</span></a><span class=cF0>() is fast. <a name="l196"></a> <a name="l197"></a>* You can customize the </span><span class=cF2>wallpaper</span><span class=cF0>. See </span><a href="/Wb/Demo/Graphics/WallPaperFish.HC#l1"><span class=cF4>::/Demo/Graphics/WallPaperFish.HC</span></a><span class=cF0>. <a name="l198"></a> <a name="l199"></a>* Your RAM disks will not be reformated when you reboot if the memory location <a name="l200"></a>has not changed and it finds the disk intacted. <a name="l201"></a> <a name="l202"></a>* </span><span class=cF2>try{} catch{}</span><span class=cF0> in a function will cause all vars to be non-reg. <a name="l203"></a> <a name="l204"></a>* Using a sub-int array, </span><span class=cF2>i.u8[3]</span><span class=cF0>, for example, will force a local var to <a name="l205"></a>non-reg. <a name="l206"></a> <a name="l207"></a>* You can delete the </span><span class=cF4>~/Registry.HC.Z</span><span class=cF0> file. The policy is that deleting it will <a name="l208"></a>restore defaults. It is a text doc, if you want to edit it. Be careful of tree <a name="l209"></a>indentations. <a name="l210"></a> <a name="l211"></a>* Study </span><a href="/Wb/Adam/Opt/Utils/MemRep.HC#l1"><span class=cF4>::/Adam/Opt/Utils/MemRep.HC</span></a><span class=cF0> and </span><a href="/Wb/Adam/WallPaper.HC#l17"><span class=cF4>WallPaper</span></a><span class=cF0>() to learn how the system <a name="l212"></a>resources are put together. <a name="l213"></a> <a name="l214"></a>* The editor's sel-text mechanism allows for disjoint portions of sel text. <a name="l215"></a>This is a feature, not a bug -- you can cut-and-paste disjoint text. <a name="l216"></a> <a name="l217"></a>* </span><a href="/Wb/Kernel/KernelA.HH#l557"><span class=cF4>cnts.time_stamp_freq</span></a><span class=cF0> is continuously calibrated. Be careful because <a name="l218"></a>expressions might decrease. Take a snap-shot, like this: </span><span class=cF2>timeout=</span><a href="/Wb/Kernel/KernelB.HH#l292"><span class=cF4>GetTSC</span></a><span class=cF2>+</span><span class=cF4> <a name="l219"></a></span><a href="/Wb/Kernel/KernelA.HH#l557"><span class=cF4>cnts.time_stamp_freq</span></a><span class=cF2> x seconds;</span><span class=cF0> and compare against </span><a href="/Wb/Kernel/KernelB.HH#l292"><span class=cF4>GetTSC</span></a><span class=cF0>(). I recommend just <a name="l220"></a>using </span><a href="/Wb/Kernel/KMisc.HC#l122"><span class=cF4>tS</span></a><span class=cF0> or </span><a href="/Wb/Kernel/KernelA.HH#l557"><span class=cF4>cnts.jiffies</span></a><span class=cF0>. <a name="l221"></a> <a name="l222"></a>* Use </span><a href="/Wb/Adam/Opt/Utils/HeapLog.HC#l73"><span class=cF4>HeapLog</span></a><span class=cF0>(), </span><a href="/Wb/Adam/Opt/Utils/HeapLog.HC#l115"><span class=cF4>HeapLogAddrRep</span></a><span class=cF0>() and </span><a href="/Wb/Adam/Opt/Utils/HeapLog.HC#l146"><span class=cF4>HeapLogSizeRep</span></a><span class=cF0>() to find leaks. Don't be <a name="l223"></a>confused by </span><a href="/Wb/Kernel/KernelA.HH#l1367"><span class=cF4>CDoc</span></a><span class=cF0> allocations. Those are generated when text is written to the <a name="l224"></a>cmd line buffer. <a name="l225"></a> <a name="l226"></a>* For advanced heap debugging, play with </span><a href="/Wb/Kernel/KernelA.HH#l2773"><span class=cF4>_CFG_HEAP_DBG</span></a><span class=cF0>. You're on your own. <a name="l227"></a> <a name="l228"></a>* You can use </span><a href="/Wb/Adam/DolDoc/DocFile.HC#l325"><span class=cF4>Type</span></a><span class=cF0>() to display </span><span class=cF2>.GR</span><span class=cF0> files. <a name="l229"></a> <a name="l230"></a>* Use </span><a href="/Wb/Kernel/FunSeg.HC#l346"><span class=cF4>Man</span></a><span class=cF0>() to jump to short sym name src code. <a name="l231"></a> <a name="l232"></a>* Use </span><a href="/Wb/Kernel/EdLite.HC#l337"><span class=cF4>Fix</span></a><span class=cF0>() to edit and fix the last compiler err. <a name="l233"></a> <a name="l234"></a>* You can use </span><span class=cF2><CTRL-SHIFT-L></span><span class=cF0> to do a check for compile errors. <a name="l235"></a> <a name="l236"></a>* You can use </span><a href="/Wb/Adam/Opt/Utils/DocUtils.HC#l148"><span class=cF4>DocOpt</span></a><span class=cF0>() to optimize links. (Mostly just removes .Z) <a name="l237"></a> <a name="l238"></a>* </span><a href="/Wb/Adam/Opt/Utils/Diff.HC#l320"><span class=cF4>ZipRep</span></a><span class=cF0>() can highlight src files with lots of redundancy. <a name="l239"></a> <a name="l240"></a>* With </span><span class=cF2>start</span><span class=cF0>/</span><span class=cF2>end</span><span class=cF0>, common trailing code is fast. Common leading code is slow. <a name="l241"></a> <a name="l242"></a>* The first line of the </span><span class=cF9><u>Psalmody</u></span><span class=cF0> </span><a href="/Wb/Doc/HolyC.DD.HTML#l1"><span class=cF4>HolyC</span></a><span class=cF0> song files is a comment with a category <a name="l243"></a>recognized by </span><a href="/Wb/Apps/Psalmody/JukeBox.HC#l107"><span class=cF4>JukeBox</span></a><span class=cF0>(). The categories are </span><span class=cF2>"no nothing"</span><span class=cF0>, </span><span class=cF2>"has words"</span><span class=cF0>, </span><span class=cF2>"has <a name="l244"></a>graphics"</span><span class=cF0>, or </span><span class=cF2>"special"</span><span class=cF0>. The third character in the song comment is a digit <a name="l245"></a>rating number, shown in </span><a href="/Wb/Apps/Psalmody/JukeBox.HC#l107"><span class=cF4>JukeBox</span></a><span class=cF0>(). You can set the song rating in </span><a href="/Wb/Apps/Psalmody/JukeBox.HC#l107"><span class=cF4>JukeBox</span></a><span class=cF0>() by <a name="l246"></a>pressing </span><span class=cF2>0</span><span class=cF0>-</span><span class=cF2>9</span><span class=cF0>. You can press </span><span class=cF2><DEL></span><span class=cF0> to delete songs. <a name="l247"></a> <a name="l248"></a></span><span class=cF8> <a name="l249"></a>* "Linux" is a trademark owned by Linus Torvalds. <a name="l250"></a></span></pre></body> </html>