ZealOS/docs/Doc/Tips.DD.html
TomAwezome 2b03787cc8 Fix OSUpgrade not updating master boot record.
Fix Mount2 AHCI Port value not being cleared on loop.
Change ordering of PersonalMenu links.
Increase Raw mode screen scroll from 1 line to 8 to improve bare-metal performance.
2021-08-06 01:07:27 -04:00

211 lines
29 KiB
HTML
Executable file

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=US-ASCII">
<meta name="generator" content="ZealOS V0.13">
<style type="text/css">
body {background-color:#fef1f0;}
.cF0{color:#000000;background-color:#fef1f0;}
.cF1{color:#0148a4;background-color:#fef1f0;}
.cF2{color:#3b7901;background-color:#fef1f0;}
.cF3{color:#057c7e;background-color:#fef1f0;}
.cF4{color:#bb2020;background-color:#fef1f0;}
.cF5{color:#9e42ae;background-color:#fef1f0;}
.cF6{color:#b57901;background-color:#fef1f0;}
.cF7{color:#b2b6af;background-color:#fef1f0;}
.cF8{color:#555753;background-color:#fef1f0;}
.cF9{color:#678fbb;background-color:#fef1f0;}
.cFA{color:#82bc49;background-color:#fef1f0;}
.cFB{color:#0097a2;background-color:#fef1f0;}
.cFC{color:#e26a6a;background-color:#fef1f0;}
.cFD{color:#c671bc;background-color:#fef1f0;}
.cFE{color:#c7ab00;background-color:#fef1f0;}
.cFF{color:#fef1f0;background-color:#fef1f0;}
</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#l301"><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#l148"><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 vars 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 var in a start-up file. It's units are </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>.
<a name="l35"></a>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 vars 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#l202"><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#l3970"><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#l3197"><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#l3537"><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#l202"><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#l44"><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 var 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#l252"><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-Fun 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 vars 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 var 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. 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#l174"><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#l3467"><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 sym 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>