ZealOS/docs/Doc/Tips.DD.html
TomAwezome 93c19f3f1b Change ProfRep to sort by CPU usage.
Add column headers to Rep functions.
Change MEM_EXTRA_HASH2_PAGS to 1. (Revert this later if it causes bugs.)
2021-10-30 05:12:52 -04:00

211 lines
30 KiB
HTML
Executable file

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=US-ASCII">
<meta name="generator" content="ZealOS V1.04">
<style type="text/css">
body {background-color:#1f1f1f;}
.cF0{color:#e3e3e3;background-color:#1f1f1f;}
.cF1{color:#4f84a6;background-color:#1f1f1f;}
.cF2{color:#73a255;background-color:#1f1f1f;}
.cF3{color:#297582;background-color:#1f1f1f;}
.cF4{color:#b34f4b;background-color:#1f1f1f;}
.cF5{color:#8a52c3;background-color:#1f1f1f;}
.cF6{color:#b7822f;background-color:#1f1f1f;}
.cF7{color:#444444;background-color:#1f1f1f;}
.cF8{color:#6d6d6d;background-color:#1f1f1f;}
.cF9{color:#94bfde;background-color:#1f1f1f;}
.cFA{color:#a1ce97;background-color:#1f1f1f;}
.cFB{color:#6db4be;background-color:#1f1f1f;}
.cFC{color:#e88e88;background-color:#1f1f1f;}
.cFD{color:#ca94e8;background-color:#1f1f1f;}
.cFE{color:#d4b475;background-color:#1f1f1f;}
.cFF{color:#1f1f1f;background-color:#1f1f1f;}
</style>
</head>
<body>
<pre style="font-family:monospace;font-size:12pt">
<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>&lt;CTRL-ALT-DEL&gt;</span><span class=cF0>) at any time, except during disk writes. Writes are not cached.
<a name="l4"></a>
<a name="l5"></a>* Use </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KMathB.CC.html#l139"><span class=cF4>Seed</span></a><span class=cF0>() and the cmd line to switch </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KMathB.CC.html#l134"><span class=cF4>Rand</span></a><span class=cF0>() to non-timer mode and replay games you like.
<a name="l6"></a>
<a name="l7"></a>* 64-bit values are most efficient for the compiler.
<a name="l8"></a>
<a name="l9"></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="https://zeal-operating-system.github.io/ZealOS/Home/HomeKeyPlugIns.CC.html#l11"><span class=cF4>MyPutKey</span></a><span class=cF0>(). See </span><span class=cF4><u>Keyboard Devices</u></span><span class=cF0>.
<a name="l10"></a>
<a name="l11"></a>* </span><span class=cF2>&lt;ALT-m&gt;</span><span class=cF0> maximizes a window. </span><span class=cF2>&lt;ALT-SHIFT-a&gt;</span><span class=cF0> closes AutoComplete. </span><span class=cF2>&lt;ALT-a&gt;</span><span class=cF0> brings back AutoComplete. </span><span class=cF2>&lt;ALT-v&gt;</span><span class=cF0> vertically tiles
<a name="l12"></a>windows. </span><span class=cF2>&lt;ALT-h&gt;</span><span class=cF0> horizontally tiles windows. The </span><span class=cF2>ALT</span><span class=cF0> keys are defined in </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeKeyPlugIns.CC.html#l1"><span class=cF4>~/HomeKeyPlugIns.CC</span></a><span class=cF0>. You can customize them.
<a name="l13"></a>
<a name="l14"></a>* If you make changes to ZealOS files in your </span><span class=cF2>/Home</span><span class=cF0> directory, generally you reboot to make them take effect. (You don't
<a name="l15"></a>compile anything.) You should have two ZealOS partitions on your hard drive because a syntax error in a start-up file will
<a name="l16"></a>make the partition unbootable. Boot to the second partition or boot to a standard ZealOS CD/DVD and use </span><a href="https://zeal-operating-system.github.io/ZealOS/System/BlkDev/Mount.CC.html#l307"><span class=cF4>Mount</span></a><span class=cF0>() to mount your
<a name="l17"></a>hard drive.
<a name="l18"></a>
<a name="l19"></a>* You can copy your files to a mirrored ident partition, periodically with </span><a href="https://zeal-operating-system.github.io/ZealOS/System/BlkDev/ZDiskA.CC.html#l145"><span class=cF4>CopyTree</span></a><span class=cF0>() commands in scripts. You can do merge
<a name="l20"></a>commands with a menu entry like this:
<a name="l21"></a></span><span class=cF2>Merge(&quot;C:/&quot;,&quot;D:/&quot;,&quot;+r+d&quot;);</span><span class=cF0> to check your changes.
<a name="l22"></a>
<a name="l23"></a>* </span><span class=cF2>&lt;CTRL-m&gt;</span><span class=cF0> at the cmd line to access your PersonalMenu. Place macros there with </span><span class=cF2>&lt;CTRL-l&gt;</span><span class=cF0>, or icon-like sprites with </span><span class=cF2>&lt;CTRL-r&gt;</span><span class=cF0>.
<a name="l24"></a>Use the </span><span class=cF2>Pop-Up</span><span class=cF0> option on macros to </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KTask.CC.html#l264"><span class=cF4>Spawn</span></a><span class=cF0>() a task to run a file. It dies when it is finished. This returns mem to the system.
<a name="l25"></a>Be sure to press </span><span class=cF2>&lt;CTRL-s&gt;</span><span class=cF0> to save your macro/menu area after making changes.
<a name="l26"></a>
<a name="l27"></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 operation. You can use the cmd prompt as a
<a name="l28"></a>calculator by just entering expressions like </span><span class=cF2>1+2*3;</span><span class=cF0>. </span><span class=cF2>F64</span><span class=cF0> reses can be accessed with </span><span class=cF2>ansf</span><span class=cF0>.
<a name="l29"></a>
<a name="l30"></a>* Use the PullDown menu at the top of the screen to learn commands, or for finding the keyboard controls to games.
<a name="l31"></a>
<a name="l32"></a>* You can adjust the mouse movement rate by setting global variables in your start-up file. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeLocalize.CC.html#l11"><span class=cF4>mouse scale</span></a><span class=cF0>.
<a name="l33"></a>
<a name="l34"></a>* You can set your local time zone by setting the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KGlobals.CC.html#l14"><span class=cF4>local_time_offset</span></a><span class=cF0> global variable in a start-up file. Its units are </span><span class=cF4>
<a name="l35"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l707"><span class=cF4>CDATE_FREQ</span></a><span class=cF0>. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeLocalize.CC.html#l8"><span class=cF4>local time</span></a><span class=cF0>.
<a name="l36"></a>
<a name="l37"></a>* </span><span class=cF2>&lt;CTRL-SHIFT-L&gt;</span><span class=cF0> in the editor to reindent a </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> function or renumber an asm routine's local labels.
<a name="l38"></a>
<a name="l39"></a>* You can use </span><span class=cF2>filter_lines</span><span class=cF0> in the editor text search form (</span><span class=cF2>&lt;CTRL-f&gt;</span><span class=cF0>) to temporarily display just lines near each match. A
<a name="l40"></a>value of </span><span class=cF2>filter lines</span><span class=cF0> set to </span><span class=cF2>5</span><span class=cF0> will display lines within 5 lines of matches. Then, you can do another find to a different
<a name="l41"></a>string and achieve a </span><span class=cF2>AND</span><span class=cF0> search. When finished, press </span><span class=cF2>&lt;ESC&gt;</span><span class=cF0>.
<a name="l42"></a>
<a name="l43"></a>* You can recompile and reinstall the kernel with </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Boot/BootHDIns.CC.html#l25"><span class=cF4>BootHDIns</span></a><span class=cF0>(). You'll probably want to make a function for recompiling that
<a name="l44"></a>uses the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Job.CC.html#l580"><span class=cF4>In</span></a><span class=cF0>() function to answer the config questions. See the technique </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/AcctExample/TOS/TOSConfig.CC.html#l1"><span class=cF4>Config Strs</span></a><span class=cF0>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/AcctExample/TOS/TOSDistro.CC.html#l1"><span class=cF4>Update Funs</span></a><span class=cF0>.
<a name="l45"></a>
<a name="l46"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/MemPhysical.CC.html#l194"><span class=cF4>Scale2Mem</span></a><span class=cF0>(min,max,limit=2*1024*1024*1024) can be used for config questions when recompiling. The </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Boot/BootHDIns.CC.html#l25"><span class=cF4>BootHDIns</span></a><span class=cF0>() config prompts
<a name="l47"></a>accept expressions, not just numbers. The default disk cache is </span><span class=cF2>Scale2Mem(0x80000,0x8000000)</span><span class=cF0>.
<a name="l48"></a>
<a name="l49"></a>* You can permanently disable </span><span class=cF2>AutoComplete</span><span class=cF0> commenting-out </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeSys.CC.html#l34"><span class=cF4>ACInit</span></a><span class=cF0>() in </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeSys.CC.html#l34"><span class=cF4>~/HomeSys.CC</span></a><span class=cF0>.
<a name="l50"></a>
<a name="l51"></a>* Boolean expressions <blink>not</blink> in </span><span class=cF2>if</span><span class=cF0> statements don't have short circuit logic and are compiled inefficiently.
<a name="l52"></a>
<a name="l53"></a>* You can use </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelB.HH.html#l166"><span class=cF4>progress1</span></a><span class=cF0>-</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelB.HH.html#l181"><span class=cF4>progress4</span></a><span class=cF0> in your programs for whatever you like. They're just global variables that are shown on the
<a name="l54"></a>wallpaper. The original intent was to indicate how far along operations were. There's no coordination, so different apps might
<a name="l55"></a>interfere. They're most often used for debugging--just values easily viewed. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Progress.CC.html#l1"><span class=cF4>::/Demo/Progress.CC</span></a><span class=cF0>.
<a name="l56"></a>
<a name="l57"></a>* Use </span><a href="https://zeal-operating-system.github.io/ZealOS/System/DolDoc/DocRecalcLib.CC.html#l203"><span class=cF4>DocMax</span></a><span class=cF0>() to adjust the size of the cmd line buf. It counts </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>CDoc</span></a><span class=cF0> entries, not lines.
<a name="l58"></a>
<a name="l59"></a>* Many data structures have a </span><span class=cF2>user_data</span><span class=cF0> member. Those are available for you to store a data item, for convenience. </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3984"><span class=cF4>CTask</span></a><span class=cF0>, </span><span class=cF4>
<a name="l60"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1326"><span class=cF4>CDocEntry</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3204"><span class=cF4>CDirEntry</span></a><span class=cF0> have them. You shouldn't encounter conflicts with ZealOS using them.
<a name="l61"></a>
<a name="l62"></a>* If, for some strange reason, you wanted to reduce mem usage, make a smaller disk cache when you recompile the kernel;
<a name="l63"></a>disabling </span><span class=cF2>AutoComplete</span><span class=cF0>; Specify smaller stack sizes when doing </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KTask.CC.html#l264"><span class=cF4>Spawn</span></a><span class=cF0>(), change </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3547"><span class=cF4>MEM_DEFAULT_STACK</span></a><span class=cF0>, and using </span><a href="https://zeal-operating-system.github.io/ZealOS/System/DolDoc/DocRecalcLib.CC.html#l203"><span class=cF4>DocMax</span></a><span class=cF0>() to reduce
<a name="l64"></a>the cmd line buffer size.
<a name="l65"></a>
<a name="l66"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/Merge.CC.html#l45"><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 of files which have changed and allow you to
<a name="l67"></a>merge code. (The </span><span class=cF2>+r</span><span class=cF0> flag will recurse.)
<a name="l68"></a>
<a name="l69"></a>* There is a utility </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/LinkCheck.CC.html#l58"><span class=cF4>LinkCheck</span></a><span class=cF0>() which will check for broken links in documentation.
<a name="l70"></a>
<a name="l71"></a>* You can use </span><a href="https://zeal-operating-system.github.io/ZealOS/Compiler/CMisc.CC.html#l1"><span class=cF4>Option</span></a><span class=cF0>(</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1679"><span class=cF4>OPTf_WARN_PAREN</span></a><span class=cF0>, ON) to find unnecessary parentheses in code.
<a name="l72"></a>
<a name="l73"></a>* You can use </span><a href="https://zeal-operating-system.github.io/ZealOS/Compiler/CMisc.CC.html#l1"><span class=cF4>Option</span></a><span class=cF0>(</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1680"><span class=cF4>OPTf_WARN_DUP_TYPES</span></a><span class=cF0>, ON) to find unnecessary local variable type statements.
<a name="l74"></a>
<a name="l75"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Compiler/CMisc.CC.html#l1"><span class=cF4>Option</span></a><span class=cF0>(</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1676"><span class=cF4>OPTf_ECHO</span></a><span class=cF0>, ON) can be placed in </span><a href="https://zeal-operating-system.github.io/ZealOS/StartOS.CC.html#l1"><span class=cF4>StartOS.CC</span></a><span class=cF0> to echo start-up scripts.
<a name="l76"></a>
<a name="l77"></a>* Use </span><a href="https://zeal-operating-system.github.io/ZealOS/System/DolDoc/DocEd.CC.html#l283"><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. Use the </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/ToDolDoc.CC.html#l3"><span class=cF4>ToDolDoc</span></a><span class=cF0>() utility to convert plain
<a name="l78"></a>text to DolDoc's by doubling </span><span class=cF2>$</span><span class=cF0>'s.
<a name="l79"></a>
<a name="l80"></a>* Use </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KMisc.CC.html#l237"><span class=cF4>Silent</span></a><span class=cF0>() to disable screen text output.
<a name="l81"></a>
<a name="l82"></a>* Grab-scroll any window at any time with </span><span class=cF2>{CTRL-LEFT-MOUSE-DRAG}</span><span class=cF0>. Null grab-scrolling with </span><span class=cF2>{CTRL-RIGHT-MOUSE}</span><span class=cF0>.
<a name="l83"></a>
<a name="l84"></a>* Use </span><span class=cF2>&lt;CTRL-ALT-z&gt;</span><span class=cF0> to zoom-in and </span><span class=cF2>&lt;CTRL-ALT-SHIFT-Z&gt;</span><span class=cF0> to zoom-out. You can scroll by moving to the edge of the window. Set </span><span class=cF4>
<a name="l85"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrGlobals.CC.html#l3"><span class=cF4>gr.continuous_scroll</span></a><span class=cF0> to </span><span class=cF2>TRUE</span><span class=cF0> if you want.
<a name="l86"></a>
<a name="l87"></a>* Use </span><span class=cF2>&lt;CTRL-ALT-g&gt;</span><span class=cF0> and </span><span class=cF2>&lt;CTRL-ALT-SHIFT-G&gt;</span><span class=cF0> to display a grid on the screen.
<a name="l88"></a>
<a name="l89"></a>* Use </span><span class=cF2>&lt;CTRL-ALT-a&gt;</span><span class=cF0> to enter an extended ASCII char.
<a name="l90"></a>
<a name="l91"></a>* Use </span><span class=cF2>&lt;CTRL-ALT-f&gt;</span><span class=cF0> to toggle between the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KMain.CC.html#l86"><span class=cF4>VGA ROM Font</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/FontStd.CC.html#l1"><span class=cF4>Std Font</span></a><span class=cF0>.
<a name="l92"></a>
<a name="l93"></a>* Use </span><span class=cF2>&lt;CTRL-ALT-s&gt;</span><span class=cF0> will capture the screen as a sprite on the clip. You can save the cmd line doc as text with </span><span class=cF2>&lt;CTRL-a&gt;</span><span class=cF0>.
<a name="l94"></a>
<a name="l95"></a>* You can save a sprite as a </span><span class=cF2>.GR</span><span class=cF0> file in </span><span class=cF2>&lt;CTRL-r&gt;</span><span class=cF0> on the Sprite BitMap Menu.
<a name="l96"></a>
<a name="l97"></a>* You can eye-dropper colors in the </span><span class=cF2>&lt;CTRL-r&gt;</span><span class=cF0> sprite editor by pressing </span><span class=cF2>'c'</span><span class=cF0>. Press </span><span class=cF2>'t'</span><span class=cF0> for transparent.
<a name="l98"></a>
<a name="l99"></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><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeWrappers.CC.html#l1"><span class=cF4>~/HomeWrappers.CC</span></a><span class=cF0>. You are encouraged to change them
<a name="l100"></a>and add more. They will perform find-and-replace operations across multiple files. The </span><span class=cF2>+l</span><span class=cF0> flag is particularly useful since it
<a name="l101"></a>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 limit to whole labels just before or after. You are encouraged to add or modify
<a name="l102"></a>handy wrapper functions to make cmd line operations easier.
<a name="l103"></a>
<a name="l104"></a>* When using </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/Find.CC.html#l166"><span class=cF4>Find</span></a><span class=cF0>() while modifying code, work from the bottom-up so that line numbers are correct. If you work top-down, then
<a name="l105"></a>inserting or deleting lines causes the lower file links to become incorrect.
<a name="l106"></a>
<a name="l107"></a>* You can save files after making changes, anytime you are within the editor, like when viewing help/macro files. </span><span class=cF2>&lt;CTRL-a&gt;</span><span class=cF0>
<a name="l108"></a>saves as, </span><span class=cF2>&lt;CTRL-s&gt;</span><span class=cF0> saves with the same name in the scrolling title bar. Hitting </span><span class=cF2>&lt;ESC&gt;</span><span class=cF0> will exit and save (</span><span class=cF2>&lt;SHIFT-ESC&gt;</span><span class=cF0> will
<a name="l109"></a>abort). You can save the cmd line window to a file, too, since you're actually in the editor when you're at the cmd line.
<a name="l110"></a>
<a name="l111"></a>* When using </span><span class=cF2>&lt;CTRL-l&gt;</span><span class=cF0> to insert links in documents, you can usually leave the </span><span class=cF2>Tag Text</span><span class=cF0> blank and it will be filled-in
<a name="l112"></a>automatically based on other entries.
<a name="l113"></a>
<a name="l114"></a>* There is a feature of the precompiler that allows code to be executed in the middle of compilation and data inserted into
<a name="l115"></a>the compilation stream. Click here for an example: </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KMain.CC.html#l262"><span class=cF4>#exe {</span></a><span class=cF0>.
<a name="l116"></a>
<a name="l117"></a>* If you output to the cmd line and wish to allow users to scroll around and view data, you can use </span><a href="https://zeal-operating-system.github.io/ZealOS/System/DolDoc/DocEd.CC.html#l3"><span class=cF4>View</span></a><span class=cF0>().
<a name="l118"></a>
<a name="l119"></a>* Use </span><a href="https://zeal-operating-system.github.io/ZealOS/System/DolDoc/DocEd.CC.html#l3"><span class=cF4>View</span></a><span class=cF0>() in Pop-up macros to linger until the user presses </span><span class=cF2>&lt;ESC&gt;</span><span class=cF0> or </span><span class=cF2>&lt;SHIFT-ESC&gt;</span><span class=cF0>.
<a name="l120"></a>
<a name="l121"></a>* You can access the word under the cursor at </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1627"><span class=cF4>ac.cur_word</span></a><span class=cF0>.
<a name="l122"></a>
<a name="l123"></a>* You can reactivate </span><span class=cF2>AutoComplete</span><span class=cF0> after closing it by pressing </span><span class=cF2>&lt;CTRL-Function Key&gt;</span><span class=cF0> or </span><span class=cF2>&lt;ALT-a&gt;</span><span class=cF0>.
<a name="l124"></a>
<a name="l125"></a>* </span><span class=cF2>&lt;CTRL-SHIFT-T&gt;</span><span class=cF0> to toggle to/from plain text just the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>CDoc</span></a><span class=cF0> cmd under the cursor. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/DolDoc/TextDemo.CC.html#l1"><span class=cF4>::/Demo/DolDoc/TextDemo.CC</span></a><span class=cF0>.
<a name="l126"></a>
<a name="l127"></a>* If you toggle to plain text when you are working with graphics in a document, you can add duplicate entries for sprites by
<a name="l128"></a>entering a </span><span class=cF2>$SP...$</span><span class=cF0> cmd with the same num.
<a name="l129"></a>
<a name="l130"></a>* If you toggle to plain text when working with graphics, you can add a str to the </span><span class=cF2>$SP...$</span><span class=cF0> entry to keep track of it. Try </span><span class=cF2>$SP,
<a name="l131"></a>&quot;&lt;2&gt;&quot;,BI=2$</span><span class=cF0> where '2' is the sprite num.
<a name="l132"></a>
<a name="l133"></a>* You can edit an existing sprite by putting the cursor on it and pressing </span><span class=cF2>&lt;CTRL-r&gt;</span><span class=cF0>.
<a name="l134"></a>
<a name="l135"></a>* When editing a sprite, you can cut and paste the elements in the sidebar text list window.
<a name="l136"></a>
<a name="l137"></a>* It's recommended to keep CSprite in vector format until you are done creating them, so you can edit the ctrl points. Then,
<a name="l138"></a>convert them to bitmaps, so the flood fills work well. If you are doing interpolation, however, they must be vector.
<a name="l139"></a>
<a name="l140"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrPrimatives.CC.html#l279"><span class=cF4>GrFloodFill</span></a><span class=cF0>() is slow. </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l1217"><span class=cF4>GrRect</span></a><span class=cF0>() is fast.
<a name="l141"></a>
<a name="l142"></a>* You can customize the </span><span class=cF2>wallpaper</span><span class=cF0>. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Graphics/WallPaperFish.CC.html#l1"><span class=cF4>::/Demo/Graphics/WallPaperFish.CC</span></a><span class=cF0>.
<a name="l143"></a>
<a name="l144"></a>* Your RAM disks will not be reformatted when you reboot if the memory location has not changed and it finds the disk intact.
<a name="l145"></a>
<a name="l146"></a>* </span><span class=cF2>try{} catch{}</span><span class=cF0> in a function will cause all variables to be non-reg.
<a name="l147"></a>
<a name="l148"></a>* Using a sub-int array, </span><span class=cF2>i.u8[3]</span><span class=cF0>, for example, will force a local variable to non-reg.
<a name="l149"></a>
<a name="l150"></a>* You can delete the </span><span class=cF4>~/Registry.CC</span><span class=cF0> file. The policy is that deleting it will restore defaults. It is a text doc, if you want
<a name="l151"></a>to edit it. See </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Registry.CC.html#l23"><span class=cF4>RegDefault</span></a><span class=cF0>, </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Registry.CC.html#l90"><span class=cF4>RegAppend</span></a><span class=cF0>, </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Registry.CC.html#l52"><span class=cF4>RegExe</span></a><span class=cF0>. Be careful of tree indentations.
<a name="l152"></a>
<a name="l153"></a>* Study </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/MemRep.CC.html#l1"><span class=cF4>::/System/Utils/MemRep.CC</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/System/WallPaper.CC.html#l17"><span class=cF4>WallPaper</span></a><span class=cF0>() to learn how the system resources are put together.
<a name="l154"></a>
<a name="l155"></a>* The editor's sel-text mechanism allows for disjoint portions of sel text. This is a feature, not a bug -- you can
<a name="l156"></a>cut-and-paste disjoint text.
<a name="l157"></a>
<a name="l158"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l696"><span class=cF4>counts.time_stamp_freq</span></a><span class=cF0> is continuously calibrated. Be careful because expressions might decrease. Take a snap-shot, like
<a name="l159"></a>this: </span><span class=cF2>timeout = </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelB.HH.html#l244"><span class=cF4>TSCGet</span></a><span class=cF2> + </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l696"><span class=cF4>counts.time_stamp_freq</span></a><span class=cF2> x seconds;</span><span class=cF0> and compare against </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelB.HH.html#l244"><span class=cF4>TSCGet</span></a><span class=cF0>(). It's recommended to just use </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KMisc.CC.html#l75"><span class=cF4>tS</span></a><span class=cF0> or </span><span class=cF4>
<a name="l160"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l696"><span class=cF4>counts.jiffies</span></a><span class=cF0>.
<a name="l161"></a>
<a name="l162"></a>* Use </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/HeapLog.CC.html#l83"><span class=cF4>HeapLog</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/HeapLog.CC.html#l139"><span class=cF4>HeapLogAddrRep</span></a><span class=cF0>() and </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/HeapLog.CC.html#l175"><span class=cF4>HeapLogSizeRep</span></a><span class=cF0>() to find leaks. Don't be confused by </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>CDoc</span></a><span class=cF0> allocations. Those are
<a name="l163"></a>generated when text is written to the cmd line buffer.
<a name="l164"></a>
<a name="l165"></a>* For advanced heap debugging, play with </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3477"><span class=cF4>_CONFIG_HEAP_DEBUG</span></a><span class=cF0>. You're on your own.
<a name="l166"></a>
<a name="l167"></a>* You can use </span><a href="https://zeal-operating-system.github.io/ZealOS/System/DolDoc/DocFile.CC.html#l378"><span class=cF4>Type</span></a><span class=cF0>() to display </span><span class=cF2>.GR</span><span class=cF0> files.
<a name="l168"></a>
<a name="l169"></a>* Use </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/FunSeg.CC.html#l422"><span class=cF4>Man</span></a><span class=cF0>() to jump to short symbol name src code.
<a name="l170"></a>
<a name="l171"></a>* Use </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/EdLite.CC.html#l389"><span class=cF4>Fix</span></a><span class=cF0>() to edit and fix the last compiler error.
<a name="l172"></a>
<a name="l173"></a>* You can use </span><span class=cF2>&lt;CTRL-SHIFT-L&gt;</span><span class=cF0> to do a check for compile errors.
<a name="l174"></a>
<a name="l175"></a>* You can use </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/DocUtils.CC.html#l145"><span class=cF4>DocOpt</span></a><span class=cF0>() to optimize links.
<a name="l176"></a>
<a name="l177"></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="l178"></a>
<a name="l179"></a>* The first line of the </span><span class=cF9><u>Psalmody</u></span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> song files is a comment with a category recognized by </span><a href="https://zeal-operating-system.github.io/ZealOS/Apps/Psalmody/JukeBox.CC.html#l121"><span class=cF4>JukeBox</span></a><span class=cF0>(). The categories are </span><span class=cF2>&quot;n
<a name="l180"></a>o nothing&quot;</span><span class=cF0>, </span><span class=cF2>&quot;has words&quot;</span><span class=cF0>, </span><span class=cF2>&quot;has graphics&quot;</span><span class=cF0>, or </span><span class=cF2>&quot;special&quot;</span><span class=cF0>. The third character in the song comment is a digit rating number, shown
<a name="l181"></a>in </span><a href="https://zeal-operating-system.github.io/ZealOS/Apps/Psalmody/JukeBox.CC.html#l121"><span class=cF4>JukeBox</span></a><span class=cF0>(). You can set the song rating in </span><a href="https://zeal-operating-system.github.io/ZealOS/Apps/Psalmody/JukeBox.CC.html#l121"><span class=cF4>JukeBox</span></a><span class=cF0>() by 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>&lt;DEL&gt;</span><span class=cF0> to delete songs.
<a name="l182"></a>
<a name="l183"></a>* </span><span class=cF8>&quot;Linux&quot; is a trademark owned by Linus Torvalds.</span></pre></body>
</html>