Clean up ATAPI write and mode set functions.

This commit is contained in:
TomAwezome 2021-08-14 01:36:19 -04:00
parent a80b4fe451
commit 84946b3b33
81 changed files with 4943 additions and 5101 deletions

View file

@ -30,7 +30,7 @@ body {background-color:#fef1f0;}
<a name="l3"></a>
<a name="l4"></a> </span><span class=cF2>1) The pull-down menu.</span><span class=cF0>
<a name="l5"></a>
<a name="l6"></a> </span><span class=cF2>2) The </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3824"><span class=cF4>CCtrl</span></a><span class=cF2> type for the tempo/stacatto sliders.</span><span class=cF0>
<a name="l6"></a> </span><span class=cF2>2) The </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3772"><span class=cF4>CCtrl</span></a><span class=cF2> type for the tempo/stacatto sliders.</span><span class=cF0>
<a name="l7"></a>
<a name="l8"></a> </span><span class=cF2>3) The active </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>CDoc</span></a><span class=cF2> sprite bttns with macros for left/record/play/right.</span><span class=cF0>
<a name="l9"></a>

View file

@ -36,7 +36,7 @@ body {background-color:#fef1f0;}
<a name="l9"></a> </span><span class=cF5>WinToTop</span><span class=cF0>;
<a name="l10"></a> </span><span class=cF5>WinZBufUpdate</span><span class=cF0>;
<a name="l11"></a> </span><span class=cF5>Dir</span><span class=cF0>;
<a name="l12"></a> </span><span class=cF6>&quot;94,866LOC:&quot;</span><span class=cF0>;
<a name="l12"></a> </span><span class=cF6>&quot;94,787LOC:&quot;</span><span class=cF0>;
<a name="l13"></a> </span><span class=cF5>CPURep</span><span class=cF0>;
<a name="l14"></a>}
<a name="l15"></a>

View file

@ -111,7 +111,7 @@ body {background-color:#fef1f0;}
<a name="l84"></a>* Good spell checker.
<a name="l85"></a>* Good Bible search.
<a name="l86"></a>
<a name="l87"></a>* Can </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3592"><span class=cF4>MEM_EXTRA_HASH2_PAGS</span></a><span class=cF0> be just one?
<a name="l87"></a>* Can </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3540"><span class=cF4>MEM_EXTRA_HASH2_PAGS</span></a><span class=cF0> be just one?
<a name="l88"></a>
<a name="l89"></a>* Bible ranges in </span><a href="https://zeal-operating-system.github.io/ZealOS/System/God/GodBible.CC.html#l260"><span class=cF4>BibleVerse</span></a><span class=cF0>().
<a name="l90"></a>
@ -123,7 +123,7 @@ body {background-color:#fef1f0;}
<a name="l96"></a>
<a name="l97"></a>* Asm LIST NOLIST bugs.
<a name="l98"></a>
<a name="l99"></a>* Review writing to same cache-line from multicore. Do </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4030"><span class=cF4>CTask</span></a><span class=cF0>-&gt;task_flags and others need to be in separate cache lines?
<a name="l99"></a>* Review writing to same cache-line from multicore. Do </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3978"><span class=cF4>CTask</span></a><span class=cF0>-&gt;task_flags and others need to be in separate cache lines?
<a name="l100"></a>
<a name="l101"></a>* Fix </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/SerialDev/Keyboard.CC.html#l57"><span class=cF4>KbdLEDsSet</span></a><span class=cF0>().
<a name="l102"></a>* NumLock comes on with break key.
@ -266,7 +266,7 @@ body {background-color:#fef1f0;}
<a name="l239"></a>
<a name="l240"></a>* Links to self document if empty file name? </span><a href="https://zeal-operating-system.github.io/ZealOS/System/DolDoc/DocLink.CC.html#l19"><span class=cF4>Document Links</span></a><span class=cF0>
<a name="l241"></a>
<a name="l242"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3299"><span class=cF4>FUF_RECURSE</span></a><span class=cF0> would be nice if capital &quot;+R&quot;.
<a name="l242"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3247"><span class=cF4>FUF_RECURSE</span></a><span class=cF0> would be nice if capital &quot;+R&quot;.
<a name="l243"></a>
<a name="l244"></a>* Sprites in cmd line code.
<a name="l245"></a>
@ -288,7 +288,7 @@ body {background-color:#fef1f0;}
<a name="l261"></a>
<a name="l262"></a>* Should we get rid of drive mapping. It's ugly.
<a name="l263"></a>
<a name="l264"></a>* Can we get rid of </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3934"><span class=cF4>MESSAGE_CMD</span></a><span class=cF0>?
<a name="l264"></a>* Can we get rid of </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3882"><span class=cF4>MESSAGE_CMD</span></a><span class=cF0>?
<a name="l265"></a>
<a name="l266"></a>* Make so just CdRom; command to copy entire disk to ::/CdRom directory?
<a name="l267"></a>
@ -301,20 +301,20 @@ body {background-color:#fef1f0;}
<a name="l274"></a>* International Date output: </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/StrPrint.CC.html#l57"><span class=cF4>MPrintDate</span></a><span class=cF0>(). Every country make own version?
<a name="l275"></a>* International Date input: </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/StrScan.CC.html#l162"><span class=cF4>Str2Date</span></a><span class=cF0>().
<a name="l276"></a>
<a name="l277"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4326"><span class=cF4>DCF_SYMMETRY</span></a><span class=cF0> before transformation? (Currently, it's after.)
<a name="l277"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4274"><span class=cF4>DCF_SYMMETRY</span></a><span class=cF0> before transformation? (Currently, it's after.)
<a name="l278"></a>
<a name="l279"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3668"><span class=cF4>TRANSPARENT</span></a><span class=cF0> does not work with </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3664"><span class=cF4>ROPF_DITHER</span></a><span class=cF0>.
<a name="l279"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3616"><span class=cF4>TRANSPARENT</span></a><span class=cF0> does not work with </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3612"><span class=cF4>ROPF_DITHER</span></a><span class=cF0>.
<a name="l280"></a>
<a name="l281"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3654"><span class=cF4>ROP_XOR</span></a><span class=cF0> with thick&gt;1 is broken.
<a name="l281"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3602"><span class=cF4>ROP_XOR</span></a><span class=cF0> with thick&gt;1 is broken.
<a name="l282"></a>
<a name="l283"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrPrimatives.CC.html#l982"><span class=cF4>GrPutChar3</span></a><span class=cF0>() with depth buf?
<a name="l284"></a>
<a name="l285"></a>* Eliminate? </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Ctrls/CtrlsA.CC.html#l1"><span class=cF4>::/System/Ctrls/CtrlsA.CC</span></a><span class=cF0>?
<a name="l286"></a>* Eliminate? </span><a href="https://zeal-operating-system.github.io/ZealOS/System/MathODE.CC.html#l1"><span class=cF4>::/System/MathODE.CC</span></a><span class=cF0>?
<a name="l287"></a>* Eliminate? </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l114"><span class=cF4>Complex</span></a><span class=cF0>?
<a name="l288"></a>* Eliminate? </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4352"><span class=cF4>CDC</span></a><span class=cF0>.brush?
<a name="l288"></a>* Eliminate? </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4300"><span class=cF4>CDC</span></a><span class=cF0>.brush?
<a name="l289"></a>* Eliminate? </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l6"><span class=cF4>Mat4x4MulXYZ</span></a><span class=cF0>() change to 3x3?
<a name="l290"></a>* Eliminate? </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3654"><span class=cF4>ROP_XOR</span></a><span class=cF0>?
<a name="l290"></a>* Eliminate? </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3602"><span class=cF4>ROP_XOR</span></a><span class=cF0>?
<a name="l291"></a>
<a name="l292"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/System/WinMgr.CC.html#l489"><span class=cF4>WinMgrTask</span></a><span class=cF0> needs to do doc operations on </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Job.CC.html#l295"><span class=cF4>MessagePost</span></a><span class=cF0>() messages for mouse_hard. Already works for </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/SerialDev/Mouse.CC.html#l47"><span class=cF4>MouseSet</span></a><span class=cF0>()?
<a name="l293"></a>
@ -335,7 +335,7 @@ body {background-color:#fef1f0;}
<a name="l308"></a>
<a name="l309"></a>* Compiler: &amp;=, |= can overflow with Bts Btr on small data types?
<a name="l310"></a>
<a name="l311"></a>* Implement </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3247"><span class=cF4>RS_ATTR_FIXED</span></a><span class=cF0> fixed pos files?
<a name="l311"></a>* Implement </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3195"><span class=cF4>RS_ATTR_FIXED</span></a><span class=cF0> fixed pos files?
<a name="l312"></a>
<a name="l313"></a>* SIMD in </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l6"><span class=cF4>Mat4x4MulXYZ</span></a><span class=cF0>?
<a name="l314"></a>
@ -391,13 +391,13 @@ body {background-color:#fef1f0;}
<a name="l364"></a>
<a name="l365"></a>* DCF_TRANSFORMATION|DCF_SYMMETRY|DCF_JUST_MIRROR -- maybe not both needed at once.
<a name="l366"></a>
<a name="l367"></a>* More </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3824"><span class=cF4>Controls</span></a><span class=cF0>?
<a name="l367"></a>* More </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3772"><span class=cF4>Controls</span></a><span class=cF0>?
<a name="l368"></a>
<a name="l369"></a>* Compiler: More use of more floating-point stack?
<a name="l370"></a>
<a name="l371"></a>* Compiler: More aggressive in </span><a href="https://zeal-operating-system.github.io/ZealOS/Compiler/OptLib.CC.html#l628"><span class=cF4>CompF2PushPop</span></a><span class=cF0>() with types besides MOV and F64.
<a name="l372"></a>
<a name="l373"></a>* Playing with </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Lectures/NegDisp.CC.html#l1"><span class=cF4>::/Demo/Lectures/NegDisp.CC</span></a><span class=cF0> on </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4030"><span class=cF4>CTask</span></a><span class=cF0>?
<a name="l373"></a>* Playing with </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Lectures/NegDisp.CC.html#l1"><span class=cF4>::/Demo/Lectures/NegDisp.CC</span></a><span class=cF0> on </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3978"><span class=cF4>CTask</span></a><span class=cF0>?
<a name="l374"></a> $=-CTASK_NEG_OFFSET
<a name="l375"></a> offset(CTask.addr)==0
<a name="l376"></a> Spawn(): CAlloc()
@ -433,7 +433,7 @@ body {background-color:#fef1f0;}
<a name="l406"></a>
<a name="l407"></a>* Make sure queue links safe in one direction. Task </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelB.HH.html#l50"><span class=cF4>QueueInsert</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelB.HH.html#l53"><span class=cF4>QueueRemove</span></a><span class=cF0> for multicore cycling forward through tasks.
<a name="l408"></a>
<a name="l409"></a>* Test removable media id and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3245"><span class=cF4>RS_ATTR_RESIDENT</span></a><span class=cF0>. </span><a href="https://zeal-operating-system.github.io/ZealOS/System/BlkDev/ZDiskA.CC.html#l280"><span class=cF4>Touch</span></a><span class=cF0>(&quot;&quot;,&quot;+T&quot;);
<a name="l409"></a>* Test removable media id and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3193"><span class=cF4>RS_ATTR_RESIDENT</span></a><span class=cF0>. </span><a href="https://zeal-operating-system.github.io/ZealOS/System/BlkDev/ZDiskA.CC.html#l280"><span class=cF4>Touch</span></a><span class=cF0>(&quot;&quot;,&quot;+T&quot;);
<a name="l410"></a>
<a name="l411"></a>
<a name="l412"></a></span><span class=cF5> Uncategorized</span><span class=cF0>
@ -453,7 +453,7 @@ body {background-color:#fef1f0;}
<a name="l426"></a>* Might make CSprite flood fill operate on a separate bitmap
<a name="l427"></a>and blotted at the end.
<a name="l428"></a>* &lt;CTRL-r&gt; delete subsprite in menu near others
<a name="l429"></a>* make better heapwalk, do something with </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3527"><span class=cF4>_CONFIG_HEAP_DEBUG</span></a><span class=cF0>.
<a name="l429"></a>* make better heapwalk, do something with </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3475"><span class=cF4>_CONFIG_HEAP_DEBUG</span></a><span class=cF0>.
<a name="l430"></a>
<a name="l431"></a>* static var off of data heap.
<a name="l432"></a>* could add &quot;const&quot; to not set CCF_NOT_CONST flag for trig, etc.

View file

@ -37,7 +37,7 @@ body {background-color:#fef1f0;}
<a name="l10"></a> </span><span class=cF9>I64</span><span class=cF0> size;
<a name="l11"></a> </span><span class=cF1>U8</span><span class=cF0> *ptr;
<a name="l12"></a>
<a name="l13"></a> </span><span class=cF5>LineRep1</span><span class=cF0>(tmpde); </span><span class=cF2>//We have </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3257"><span class=cF4>CDirEntry</span></a><span class=cF2>.fullname</span><span class=cF0>
<a name="l13"></a> </span><span class=cF5>LineRep1</span><span class=cF0>(tmpde); </span><span class=cF2>//We have </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3205"><span class=cF4>CDirEntry</span></a><span class=cF2>.fullname</span><span class=cF0>
<a name="l14"></a> </span><span class=cF5>LineRep2</span><span class=cF0>(</span><span class=cF5>DocPut</span><span class=cF0>, tmpde);
<a name="l15"></a> </span><span class=cF6>&quot;$GREEN$***************$FG$\n&quot;</span><span class=cF0>;
<a name="l16"></a> ptr = </span><span class=cF5>DirTreeSerialize</span><span class=cF0>(tmpde, &amp;size);
@ -45,7 +45,7 @@ body {background-color:#fef1f0;}
<a name="l18"></a> </span><span class=cF5>D</span><span class=cF0>(ptr, size);
<a name="l19"></a> </span><span class=cF6>&quot;$GREEN$***************:%7d$FG$\n&quot;</span><span class=cF0>, size;
<a name="l20"></a> tmpde = </span><span class=cF5>DirTreeUnserialize</span><span class=cF0>(ptr);
<a name="l21"></a> </span><span class=cF5>LineRep2</span><span class=cF0>(</span><span class=cF5>DocPut</span><span class=cF0>, tmpde); </span><span class=cF2>//We don't have </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3257"><span class=cF4>CDirEntry</span></a><span class=cF2>.fullname</span><span class=cF0>
<a name="l21"></a> </span><span class=cF5>LineRep2</span><span class=cF0>(</span><span class=cF5>DocPut</span><span class=cF0>, tmpde); </span><span class=cF2>//We don't have </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3205"><span class=cF4>CDirEntry</span></a><span class=cF2>.fullname</span><span class=cF0>
<a name="l22"></a> </span><span class=cF5>DirTreeDel</span><span class=cF0>(tmpde);
<a name="l23"></a>}
<a name="l24"></a>

View file

@ -70,7 +70,7 @@ body {background-color:#fef1f0;}
<a name="l41"></a>
<a name="l42"></a>
<a name="l43"></a></span><span class=cF2>//These are indexed by color #.</span><span class=cF0>
<a name="l44"></a></span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3673"><span class=cF4>COLORS</span></a><span class=cF2>.</span><span class=cF0>
<a name="l44"></a></span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3621"><span class=cF4>COLORS</span></a><span class=cF2>.</span><span class=cF0>
<a name="l45"></a>
<a name="l46"></a></span><span class=cF1>U8</span><span class=cF0> *tiles1[</span><span class=cFE>16</span><span class=cF0>]={</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cFA>&lt;7&gt;</span><span class=cF0> , </span><span class=cFA>&lt;5&gt;</span><span class=cF0> , </span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cFA>&lt;6&gt;</span><span class=cF0> , </span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF3>NULL</span><span class=cF0>};
<a name="l47"></a>
@ -141,7 +141,7 @@ body {background-color:#fef1f0;}
<a name="l112"></a>
<a name="l113"></a> </span><span class=cF2>//You could make it much more efficient</span><span class=cF0>
<a name="l114"></a> </span><span class=cF2>//if you did it like </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Games/BigGuns.CC.html#l1"><span class=cF4>::/Demo/Games/BigGuns.CC</span></a><span class=cF0>
<a name="l115"></a> </span><span class=cF2>//with a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4352"><span class=cF4>CDC</span></a><span class=cF2>.</span><span class=cF0>
<a name="l115"></a> </span><span class=cF2>//with a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4300"><span class=cF4>CDC</span></a><span class=cF2>.</span><span class=cF0>
<a name="l116"></a>
<a name="l117"></a> </span><span class=cF1>for</span><span class=cF0> (y = -SCREEN_HEIGHT / </span><span class=cFE>2</span><span class=cF0>; y &lt; SCREEN_HEIGHT / </span><span class=cFE>2</span><span class=cF0>; y++)
<a name="l118"></a> </span><span class=cF7>{</span><span class=cF0>

View file

@ -61,7 +61,7 @@ body {background-color:#fef1f0;}
<a name="l34"></a></span><span class=cF1>U0</span><span class=cF0> ElephantWalk()
<a name="l35"></a>{
<a name="l36"></a> </span><span class=cF9>I64</span><span class=cF0> sc,
<a name="l37"></a> x = </span><span class=cF5>Fs</span><span class=cF0>-&gt;pix_width &gt;&gt; </span><span class=cFE>1</span><span class=cF0>, y = </span><span class=cF5>Fs</span><span class=cF0>-&gt;pix_height &gt;&gt; </span><span class=cFE>1</span><span class=cF0>, </span><span class=cF2>//Fs is current </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4030"><span class=cF4>CTask</span></a><span class=cF2> struct.</span><span class=cF0>
<a name="l37"></a> x = </span><span class=cF5>Fs</span><span class=cF0>-&gt;pix_width &gt;&gt; </span><span class=cFE>1</span><span class=cF0>, y = </span><span class=cF5>Fs</span><span class=cF0>-&gt;pix_height &gt;&gt; </span><span class=cFE>1</span><span class=cF0>, </span><span class=cF2>//Fs is current </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3978"><span class=cF4>CTask</span></a><span class=cF2> struct.</span><span class=cF0>
<a name="l38"></a> x_last = x;
<a name="l39"></a>
<a name="l40"></a> </span><span class=cF5>AutoComplete</span><span class=cF0>;

View file

@ -41,7 +41,7 @@ body {background-color:#fef1f0;}
<a name="l14"></a>
<a name="l15"></a> </span><span class=cF5>MemCopy</span><span class=cF0>(&amp;old_grid, &amp;</span><span class=cFB>mouse_grid</span><span class=cF0>, </span><span class=cF1>sizeof</span><span class=cF7>(</span><span class=cF9>CGridGlobals</span><span class=cF7>)</span><span class=cF0>);
<a name="l16"></a> </span><span class=cF5>GridInit</span><span class=cF0>;
<a name="l17"></a> </span><span class=cFB>mouse_grid</span><span class=cF0>.snap = </span><span class=cF3>TRUE</span><span class=cF0>; </span><span class=cF2>//You can set other </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3779"><span class=cF4>stuff</span></a><span class=cF2>.</span><span class=cF0>
<a name="l17"></a> </span><span class=cFB>mouse_grid</span><span class=cF0>.snap = </span><span class=cF3>TRUE</span><span class=cF0>; </span><span class=cF2>//You can set other </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3727"><span class=cF4>stuff</span></a><span class=cF2>.</span><span class=cF0>
<a name="l18"></a> </span><span class=cFB>mouse_grid</span><span class=cF0>.x = GRID;
<a name="l19"></a> </span><span class=cFB>mouse_grid</span><span class=cF0>.y = GRID;
<a name="l20"></a> old_draw_mouse = </span><span class=cFB>gr</span><span class=cF0>.fp_draw_mouse;

View file

@ -556,7 +556,7 @@ body {background-color:#fef1f0;}
<a name="l529"></a>
<a name="l530"></a> </span><span class=cF5>SettingsPush</span><span class=cF0>; </span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/System/TaskSettings.CC.html#l3"><span class=cF4>SettingsPush</span></a><span class=cF0>
<a name="l531"></a> </span><span class=cF5>Fs</span><span class=cF0>-&gt;win_inhibit = </span><span class=cF3>WIG_TASK_DEFAULT</span><span class=cF0> - </span><span class=cF3>WIF_SELF_FOCUS</span><span class=cF0> - </span><span class=cF3>WIF_SELF_BORDER</span><span class=cF0> - </span><span class=cF3>WIF_FOCUS_TASK_MENU</span><span class=cF0>;
<a name="l532"></a> </span><span class=cF5>Fs</span><span class=cF0>-&gt;text_attr = </span><span class=cF3>BLACK</span><span class=cF0> &lt;&lt; </span><span class=cFE>4</span><span class=cF0> + </span><span class=cF3>WHITE</span><span class=cF0>; </span><span class=cF2>//Current </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4030"><span class=cF4>CTask</span></a><span class=cF2> is Fs segment register.</span><span class=cF0>
<a name="l532"></a> </span><span class=cF5>Fs</span><span class=cF0>-&gt;text_attr = </span><span class=cF3>BLACK</span><span class=cF0> &lt;&lt; </span><span class=cFE>4</span><span class=cF0> + </span><span class=cF3>WHITE</span><span class=cF0>; </span><span class=cF2>//Current </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3978"><span class=cF4>CTask</span></a><span class=cF2> is Fs segment register.</span><span class=cF0>
<a name="l533"></a> </span><span class=cF5>AutoComplete</span><span class=cF0>;
<a name="l534"></a> </span><span class=cF5>WinBorder</span><span class=cF0>;
<a name="l535"></a> </span><span class=cF5>WinMax</span><span class=cF0>;

View file

@ -29,7 +29,7 @@ body {background-color:#fef1f0;}
<a name="l2"></a></span><span class=cF2>It's conceptually easy to do a ctrl,</span><span class=cF0>
<a name="l3"></a></span><span class=cF2>but tedious. You have complete freedom.</span><span class=cF0>
<a name="l4"></a>
<a name="l5"></a></span><span class=cF2>See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3824"><span class=cF4>CCtrl</span></a><span class=cF2>.</span><span class=cF0>
<a name="l5"></a></span><span class=cF2>See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3772"><span class=cF4>CCtrl</span></a><span class=cF2>.</span><span class=cF0>
<a name="l6"></a></span><span class=cF2>*/</span><span class=cF0>
<a name="l7"></a>
<a name="l8"></a></span><span class=cF2>//Start of autocreated Code</span><span class=cF0>

View file

@ -45,7 +45,7 @@ body {background-color:#fef1f0;}
<a name="l18"></a></span><span class=cF2>compiled. That is, they are ptrs to data.</span><span class=cF0>
<a name="l19"></a>
<a name="l20"></a></span><span class=cF2>This file uses the persistent graphic</span><span class=cF0>
<a name="l21"></a></span><span class=cF2>device context </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4352"><span class=cF4>CDC</span></a><span class=cF2>, </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrGlobals.CC.html#l3"><span class=cF4>gr.dc</span></a><span class=cF2>, while the other</span><span class=cF0>
<a name="l21"></a></span><span class=cF2>device context </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4300"><span class=cF4>CDC</span></a><span class=cF2>, </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrGlobals.CC.html#l3"><span class=cF4>gr.dc</span></a><span class=cF2>, while the other</span><span class=cF0>
<a name="l22"></a></span><span class=cF2>demo's use </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrGlobals.CC.html#l3"><span class=cF4>gr.dc2</span></a><span class=cF2> which must be redrawn at</span><span class=cF0>
<a name="l23"></a></span><span class=cF2>60 fps by the window mgr task.</span><span class=cF0> </span><span class=cF2>This demo</span><span class=cF0>
<a name="l24"></a></span><span class=cF2>is simpler because you do not need</span><span class=cF0>

View file

@ -39,7 +39,7 @@ body {background-color:#fef1f0;}
<a name="l12"></a> </span><span class=cF5>WinBorder</span><span class=cF0>; </span><span class=cF2>//No Border</span><span class=cF0>
<a name="l13"></a> </span><span class=cF5>WinMax</span><span class=cF0>; </span><span class=cF2>//Maximize window</span><span class=cF0>
<a name="l14"></a> </span><span class=cF5>DocClear</span><span class=cF0>; </span><span class=cF2>//Clear command-line text</span><span class=cF0>
<a name="l15"></a> </span><span class=cF5>Fs</span><span class=cF0>-&gt;text_attr = </span><span class=cF3>BLACK</span><span class=cF0> &lt;&lt; </span><span class=cFE>4</span><span class=cF0> + </span><span class=cF3>WHITE</span><span class=cF0>; </span><span class=cF2>//Current </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4030"><span class=cF4>CTask</span></a><span class=cF2> is Fs segment register.</span><span class=cF0>
<a name="l15"></a> </span><span class=cF5>Fs</span><span class=cF0>-&gt;text_attr = </span><span class=cF3>BLACK</span><span class=cF0> &lt;&lt; </span><span class=cFE>4</span><span class=cF0> + </span><span class=cF3>WHITE</span><span class=cF0>; </span><span class=cF2>//Current </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3978"><span class=cF4>CTask</span></a><span class=cF2> is Fs segment register.</span><span class=cF0>
<a name="l16"></a>
<a name="l17"></a> </span><span class=cF1>for</span><span class=cF0> (i = </span><span class=cFE>0</span><span class=cF0>; i &lt; </span><span class=cFE>0x8000</span><span class=cF0>; i += </span><span class=cFE>0x200</span><span class=cF0>)
<a name="l18"></a> </span><span class=cF7>{</span><span class=cF0>

View file

@ -50,11 +50,11 @@ body {background-color:#fef1f0;}
<a name="l23"></a> </span><span class=cF5>SettingsPush</span><span class=cF0>; </span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/System/TaskSettings.CC.html#l3"><span class=cF4>SettingsPush</span></a><span class=cF0>
<a name="l24"></a> </span><span class=cF5>Fs</span><span class=cF0>-&gt;draw_it = &amp;</span><span class=cF5>DrawIt</span><span class=cF0>;
<a name="l25"></a>
<a name="l26"></a> </span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3721"><span class=cF4>kbd.down_bitmap</span></a><span class=cF2> is indexed with the</span><span class=cF0>
<a name="l26"></a> </span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3669"><span class=cF4>kbd.down_bitmap</span></a><span class=cF2> is indexed with the</span><span class=cF0>
<a name="l27"></a> </span><span class=cF2>//merged scan code. (left shift and</span><span class=cF0>
<a name="l28"></a> </span><span class=cF2>//right shift combined for example.)</span><span class=cF0>
<a name="l29"></a> </span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3721"><span class=cF4>kbd.down_bitmap2</span></a><span class=cF2> is indexed with the</span><span class=cF0>
<a name="l30"></a> </span><span class=cF2>//distinct scan code. See </span><span class=cF4><u>Char</u></span><span class=cF2> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4272"><span class=cF4>Scan Codes</span></a><span class=cF2>.</span><span class=cF0>
<a name="l29"></a> </span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3669"><span class=cF4>kbd.down_bitmap2</span></a><span class=cF2> is indexed with the</span><span class=cF0>
<a name="l30"></a> </span><span class=cF2>//distinct scan code. See </span><span class=cF4><u>Char</u></span><span class=cF2> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4220"><span class=cF4>Scan Codes</span></a><span class=cF2>.</span><span class=cF0>
<a name="l31"></a>
<a name="l32"></a> </span><span class=cF1>while</span><span class=cF0> (</span><span class=cF5>Bt</span><span class=cF7>(</span><span class=cFB>kbd</span><span class=cF0>.down_bitmap, i_sc</span><span class=cF7>)</span><span class=cF0>)
<a name="l33"></a> </span><span class=cF7>{</span><span class=cF0>

View file

@ -28,7 +28,7 @@ body {background-color:#fef1f0;}
<a name="l1"></a><span class=cF1>U0</span><span class=cF0> MessageLoop()
<a name="l2"></a>{
<a name="l3"></a> </span><span class=cF9>I64</span><span class=cF0> arg1, arg2, message_code;
<a name="l4"></a> </span><span class=cF6>&quot;Use </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3934"><span class=cF4>message_code</span></a><span class=cF6> defines in your programs instead of hardcoded nums.\n&quot;</span><span class=cF0>
<a name="l4"></a> </span><span class=cF6>&quot;Use </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3882"><span class=cF4>message_code</span></a><span class=cF6> defines in your programs instead of hardcoded nums.\n&quot;</span><span class=cF0>
<a name="l5"></a> </span><span class=cF6>&quot;&lt;ESC&gt; to Exit\n&quot;</span><span class=cF0>;
<a name="l6"></a>
<a name="l7"></a> </span><span class=cF2>//We don't want the mouse bttns to reposition the cursor,</span><span class=cF0>
@ -50,6 +50,6 @@ body {background-color:#fef1f0;}
<a name="l23"></a>
<a name="l24"></a>MessageLoop;
<a name="l25"></a>
<a name="l26"></a></span><span class=cF2>// Press &lt;CTRL-SHIFT-L&gt; and &quot;Insert </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4184"><span class=cF4>ASCII</span></a><span class=cF2>/</span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/CharOverview.DD.html#l1"><span class=cF4>ScanCode</span></a><span class=cF2>&quot;.</span><span class=cF0>
<a name="l26"></a></span><span class=cF2>// Press &lt;CTRL-SHIFT-L&gt; and &quot;Insert </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4132"><span class=cF4>ASCII</span></a><span class=cF2>/</span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/CharOverview.DD.html#l1"><span class=cF4>ScanCode</span></a><span class=cF2>&quot;.</span><span class=cF0>
</span></pre></body>
</html>

View file

@ -99,7 +99,7 @@ body {background-color:#fef1f0;}
<a name="l72"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>MESSAGE_CMD</span><span class=cF0>:
<a name="l73"></a> </span><span class=cF2>//Feel free to make your menu</span><span class=cF0>
<a name="l74"></a> </span><span class=cF2>//drive by key strokes, but you can</span><span class=cF0>
<a name="l75"></a> </span><span class=cF2>//use the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3934"><span class=cF4>MESSAGE_CMD</span></a><span class=cF2> val.</span><span class=cF0>
<a name="l75"></a> </span><span class=cF2>//use the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3882"><span class=cF4>MESSAGE_CMD</span></a><span class=cF2> val.</span><span class=cF0>
<a name="l76"></a> </span><span class=cF1>switch</span><span class=cF0> (arg1)
<a name="l77"></a> </span><span class=cF7>{</span><span class=cF0>
<a name="l78"></a> </span><span class=cF1>case</span><span class=cF0> M_OPTION1:

View file

@ -49,7 +49,7 @@ body {background-color:#fef1f0;}
<a name="l22"></a>incredibly efficient. You just have to declare the desired file size when you create it with </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskCFile.CC.html#l9"><span class=cF4>FOpen</span></a><span class=cF0>() and cannot change it.
<a name="l23"></a>See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Disk/DataBase.CC.html#l1"><span class=cF4>::/Demo/Disk/DataBase.CC</span></a><span class=cF0>.
<a name="l24"></a>
<a name="l25"></a>If you like, you are encouraged to to do raw </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskBlk.CC.html#l37"><span class=cF4>BlkRead</span></a><span class=cF0>() and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskBlk.CC.html#l87"><span class=cF4>BlkWrite</span></a><span class=cF0>() directly on a drive. Just get a pointer to a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3429"><span class=cF4>CDrive</span></a><span class=cF0>
<a name="l25"></a>If you like, you are encouraged to to do raw </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskBlk.CC.html#l37"><span class=cF4>BlkRead</span></a><span class=cF0>() and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskBlk.CC.html#l87"><span class=cF4>BlkWrite</span></a><span class=cF0>() directly on a drive. Just get a pointer to a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3377"><span class=cF4>CDrive</span></a><span class=cF0>
<a name="l26"></a>with </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskDrive.CC.html#l211"><span class=cF4>Letter2Drive</span></a><span class=cF0>() and you are on your way! Your computer is supposed to be a fun toy! You can make an entire partition
<a name="l27"></a>used for a database, or invent a file system.
<a name="l28"></a>

View file

@ -28,7 +28,7 @@ body {background-color:#fef1f0;}
<pre style="font-family:monospace;font-size:12pt">
<a name="l1"></a><span class=cF5> ChangeLog</span><span class=cF0>
<a name="l2"></a></span><span class=c0F>----08/13/21 18:26:14----</span><span class=cF0>
<a name="l3"></a>* Fixed padding byte amount in </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3213"><span class=cF4>CISOPriDesc</span></a><span class=cF0>, added preparer_id member and set in </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Boot/DiskISORedSea.CC.html#l82"><span class=cF4>RedSeaISO9660</span></a><span class=cF0>.
<a name="l3"></a>* Fixed padding byte amount in </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3161"><span class=cF4>CISOPriDesc</span></a><span class=cF0>, added preparer_id member and set in </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Boot/DiskISORedSea.CC.html#l82"><span class=cF4>RedSeaISO9660</span></a><span class=cF0>.
<a name="l4"></a>
<a name="l5"></a></span><span class=c0F>----08/13/21 15:57:12----</span><span class=cF0>
<a name="l6"></a>* Changed </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/Merge.CC.html#l15"><span class=cF4>Merge2</span></a><span class=cF0>, </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/Diff.CC.html#l40"><span class=cF4>DiffSel</span></a><span class=cF0>, and </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/Diff.CC.html#l9"><span class=cF4>PopUpDiffMenu</span></a><span class=cF0> colors, added printing source and destination files along with some explanatory
@ -69,7 +69,7 @@ body {background-color:#fef1f0;}
<a name="l41"></a>* Raised version number to 0.13.
<a name="l42"></a>* Fixed </span><a href="https://zeal-operating-system.github.io/ZealOS/System/BlkDev/Mount.CC.html#l218"><span class=cF4>Mount</span></a><span class=cF0> allowing ATAPI&lt;--&gt;ATA BlkDev&lt;--&gt;AHCI Port misconfiguration.
<a name="l43"></a>* Added arg to </span><a href="https://zeal-operating-system.github.io/ZealOS/System/BlkDev/Mount.CC.html#l12"><span class=cF4>SATARep</span></a><span class=cF0> to specify drive types to show.
<a name="l44"></a>* Added checks in </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskAHCI.CC.html#l1080"><span class=cF4>AHCIPortInit</span></a><span class=cF0> to throw to Debug if invalid port signatures are detected.
<a name="l44"></a>* Added checks in </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskAHCI.CC.html#l1063"><span class=cF4>AHCIPortInit</span></a><span class=cF0> to throw to Debug if invalid port signatures are detected.
<a name="l45"></a>
<a name="l46"></a></span><span class=c0F>----08/02/21 00:54:40----</span><span class=cF0>
<a name="l47"></a>* Raised version number to 0.12.
@ -108,7 +108,7 @@ body {background-color:#fef1f0;}
<a name="l80"></a>
<a name="l81"></a></span><span class=c0F>----07/11/21 17:26:32----</span><span class=cF0>
<a name="l82"></a>* Raised version number to 0.07.
<a name="l83"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KInterrupts.CC.html#l133"><span class=cF4>IntEntryAlloc</span></a><span class=cF0>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KInterrupts.CC.html#l149"><span class=cF4>IntEntryFree</span></a><span class=cF0>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3639"><span class=cF4>dev.user_int_bitmap</span></a><span class=cF0> to allow acquiring dynamic user APIC IRQ.
<a name="l83"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KInterrupts.CC.html#l133"><span class=cF4>IntEntryAlloc</span></a><span class=cF0>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KInterrupts.CC.html#l149"><span class=cF4>IntEntryFree</span></a><span class=cF0>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3587"><span class=cF4>dev.user_int_bitmap</span></a><span class=cF0> to allow acquiring dynamic user APIC IRQ.
<a name="l84"></a>
<a name="l85"></a></span><span class=c0F>----07/09/21 04:13:50----</span><span class=cF0>
<a name="l86"></a>* Added drive changing macros from AcctExample to PersonalMenu.
@ -224,7 +224,7 @@ body {background-color:#fef1f0;}
<a name="l196"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeWrappers.CC.html#l13"><span class=cF4>R</span></a><span class=cF0>(&quot;LAPIC_ARIBITRATION_PRIORITY&quot;, &quot;</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l642"><span class=cF4>LAPIC_ARBITRATION_PRIORITY</span></a><span class=cF0>&quot;);
<a name="l197"></a>
<a name="l198"></a></span><span class=c0F>----04/12/20 17:06:38----</span><span class=cF0>
<a name="l199"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l411"><span class=cF4>CIDTEntry</span></a><span class=cF0> and rewrote </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KInterrupts.CC.html#l98"><span class=cF4>IntEntryGet</span></a><span class=cF0>() and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KInterrupts.CC.html#l110"><span class=cF4>IntEntrySet</span></a><span class=cF0>(). </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3631"><span class=cF4>dev</span></a><span class=cF0>.idt is now </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KInterrupts.CC.html#l220"><span class=cF4>allocated</span></a><span class=cF0> on an 8-byte boundary as per Intel SDM
<a name="l199"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l411"><span class=cF4>CIDTEntry</span></a><span class=cF0> and rewrote </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KInterrupts.CC.html#l98"><span class=cF4>IntEntryGet</span></a><span class=cF0>() and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KInterrupts.CC.html#l110"><span class=cF4>IntEntrySet</span></a><span class=cF0>(). </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3579"><span class=cF4>dev</span></a><span class=cF0>.idt is now </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KInterrupts.CC.html#l220"><span class=cF4>allocated</span></a><span class=cF0> on an 8-byte boundary as per Intel SDM
<a name="l200"></a>recommendation.
<a name="l201"></a>* Updated </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KGlobals.CC.html#l16"><span class=cF4>OS version</span></a><span class=cF0>.
<a name="l202"></a>* Changed </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l451"><span class=cF4>BIN_SIGNATURE_VAL</span></a><span class=cF0> from 'TOSB' to 'ZCCB'.
@ -266,7 +266,7 @@ body {background-color:#fef1f0;}
<a name="l238"></a>* Modified </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Games/Varoom.CC.html#l768"><span class=cF4>Varoom</span></a><span class=cF0> to use kbd bitmap for instant keypress response.
<a name="l239"></a>* Modified </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/StrB.CC.html#l209"><span class=cF4>FlagsStrPrint</span></a><span class=cF0>() to print unset flags as well.
<a name="l240"></a>* Modified </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/StrA.CC.html#l685"><span class=cF4>StrReplace</span></a><span class=cF0>() to free given str if free_str is set.
<a name="l241"></a>* Exported </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelC.HH.html#l565"><span class=cF4>Seg2Linear</span></a><span class=cF0>() from kernel.
<a name="l241"></a>* Exported </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelC.HH.html#l564"><span class=cF4>Seg2Linear</span></a><span class=cF0>() from kernel.
<a name="l242"></a>
<a name="l243"></a></span><span class=c0F>----03/27/20 13:06:00----</span><span class=cF0>
<a name="l244"></a>* Modified </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Ctrls/CtrlsA.CC.html#l252"><span class=cF4>Ctrl Slider</span></a><span class=cF0> for 3D model editor to allow higher precision.
@ -308,7 +308,7 @@ body {background-color:#fef1f0;}
<a name="l280"></a>
<a name="l281"></a></span><span class=c0F>----03/16/20 14:44:00----</span><span class=cF0>
<a name="l282"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeWrappers.CC.html#l13"><span class=cF4>R</span></a><span class=cF0>(&quot;GetStr&quot;, &quot;</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/SerialDev/Message.CC.html#l238"><span class=cF4>StrGet</span></a><span class=cF0>&quot;);
<a name="l283"></a>* Renamed GSF -&gt; </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4419"><span class=cF4>SGF</span></a><span class=cF0> as a consequence.
<a name="l283"></a>* Renamed GSF -&gt; </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4367"><span class=cF4>SGF</span></a><span class=cF0> as a consequence.
<a name="l284"></a>* Added some </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l2694"><span class=cF4>AHCI headers</span></a><span class=cF0>.
<a name="l285"></a>
<a name="l286"></a></span><span class=c0F>----03/12/20 22:00:36----</span><span class=cF0>
@ -325,15 +325,15 @@ body {background-color:#fef1f0;}
<a name="l297"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeWrappers.CC.html#l13"><span class=cF4>R</span></a><span class=cF0>(&quot;err&quot;, &quot;error&quot;);
<a name="l298"></a>* Removed compression from kernel. Compress.CC, CArcCtrl, CArcCompress, ExpandBuf(), CompressBuf(), DCSF_COMPRESSED, etc.
<a name="l299"></a>Updated </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Disk/SerializeTree.CC.html#l1"><span class=cF4>::/Demo/Disk/SerializeTree.CC</span></a><span class=cF0> to not use compression.
<a name="l300"></a>* Removed RS_ATTR_COMPRESSED from </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3236"><span class=cF4>RedSea attributes</span></a><span class=cF0>.
<a name="l301"></a>* Refactored </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3274"><span class=cF4>FU flags</span></a><span class=cF0>. Removed FUF_EXPAND, FUF_RISKY, and FUF_Z_OR_NOT_Z. </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/DocUtils.CC.html#l53"><span class=cF4>DocOptEntry</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/System/BlkDev/ZDiskB.CC.html#l120"><span class=cF4>Size</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/System/BlkDev/ZDiskB.CC.html#l101"><span class=cF4>Size1</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/LineRep.CC.html#l100"><span class=cF4>SizeRep</span></a><span class=cF0>(), and </span><span class=cF4>
<a name="l300"></a>* Removed RS_ATTR_COMPRESSED from </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3184"><span class=cF4>RedSea attributes</span></a><span class=cF0>.
<a name="l301"></a>* Refactored </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3222"><span class=cF4>FU flags</span></a><span class=cF0>. Removed FUF_EXPAND, FUF_RISKY, and FUF_Z_OR_NOT_Z. </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/DocUtils.CC.html#l53"><span class=cF4>DocOptEntry</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/System/BlkDev/ZDiskB.CC.html#l120"><span class=cF4>Size</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/System/BlkDev/ZDiskB.CC.html#l101"><span class=cF4>Size1</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/LineRep.CC.html#l100"><span class=cF4>SizeRep</span></a><span class=cF0>(), and </span><span class=cF4>
<a name="l302"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/LineRep.CC.html#l65"><span class=cF4>SizeRep1</span></a><span class=cF0>() have been updated accordingly.
<a name="l303"></a>* Removed IsDotZ(), ToggleZOrNotZ(). Cleaned up </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskFile.CC.html#l1"><span class=cF4>FileRead</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskFile.CC.html#l76"><span class=cF4>FileWrite</span></a><span class=cF0>(), and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskFind.CC.html#l65"><span class=cF4>FileFind</span></a><span class=cF0>() accordingly.
<a name="l304"></a>* Added XMM8-XMM15 to </span><a href="https://zeal-operating-system.github.io/ZealOS/Compiler/OpCodes.DD.html#l138"><span class=cF4>OpCodes.DD</span></a><span class=cF0>.
<a name="l305"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Graphics/32BitColor.CC.html#l1"><span class=cF4>::/Demo/Graphics/32BitColor.CC</span></a><span class=cF0>.
<a name="l306"></a>
<a name="l307"></a></span><span class=c0F>----02/22/20 20:04:00----</span><span class=cF0>
<a name="l308"></a>* Reduced </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4169"><span class=cF4>MEM_MIN_MEG</span></a><span class=cF0> to 256 MiB (VMWare users have to do less work).
<a name="l308"></a>* Reduced </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4117"><span class=cF4>MEM_MIN_MEG</span></a><span class=cF0> to 256 MiB (VMWare users have to do less work).
<a name="l309"></a>* Added </span><span class=cF2>&lt;CTRL-ALT-X&gt;</span><span class=cF0> to AC </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/StandBy.DD.html#l1"><span class=cF4>standby</span></a><span class=cF0> doc.
<a name="l310"></a>* Removed the /System/God directory. Bible.TXT has been removed. The functionality of HolySpirit.CC has been moved into
<a name="l311"></a>::/System/Divination.CC. Functions renamed from </span><a href="https://zeal-operating-system.github.io/ZealOS/System/God/HolySpirit.CC.html#l173"><span class=cF4>God*</span></a><span class=cF0>() to Divine*(). Psalmody GodSong feature </span><a href="https://zeal-operating-system.github.io/ZealOS/Apps/Psalmody/PsalmodyMain.CC.html#l675"><span class=cF4>disabled</span></a><span class=cF0>. DolDoc &quot;BF:&quot; links
@ -357,7 +357,7 @@ body {background-color:#fef1f0;}
<a name="l329"></a></span><span class=c0F>----02/19/20 21:46:17----</span><span class=cF0>
<a name="l330"></a><blink>* Zenith 1.0 released.</blink>
<a name="l331"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrComposites.CC.html#l412"><span class=cF4>GRScreenCaptureWrite</span></a><span class=cF0>() and </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrComposites.CC.html#l396"><span class=cF4>GRScreenCaptureRead</span></a><span class=cF0>() are broken. </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l362"><span class=cF4>DCLoad</span></a><span class=cF0>() and </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l318"><span class=cF4>DCSave</span></a><span class=cF0>() use DCF_COMPRESSED. It also saves the
<a name="l332"></a>palette as </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3705"><span class=cF4>CBGR48</span></a><span class=cF0>, which is a problem.
<a name="l332"></a>palette as </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3653"><span class=cF4>CBGR48</span></a><span class=cF0>, which is a problem.
<a name="l333"></a>* Updated </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/MemRep.CC.html#l219"><span class=cF4>MemRep</span></a><span class=cF0>() to report on VBE variables.
<a name="l334"></a>* Renamed VGAFlush() -&gt; </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Display.CC.html#l100"><span class=cF4>LFBFlush</span></a><span class=cF0>().
<a name="l335"></a>* Updated </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Graphics/Palette.CC.html#l1"><span class=cF4>Palette Demo</span></a><span class=cF0> to use current palette environment.
@ -375,16 +375,16 @@ body {background-color:#fef1f0;}
<a name="l347"></a> Rundown:
<a name="l348"></a> - Added classes </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l503"><span class=cF4>CVBEInfo</span></a><span class=cF0>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l520"><span class=cF4>CVBEMode</span></a><span class=cF0>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l539"><span class=cF4>CVBEModeShort</span></a><span class=cF0>
<a name="l349"></a> - </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KStart16.CC.html#l104"><span class=cF4>real-mode assembly</span></a><span class=cF0> -- </span><span class=cF9><u>added kernel symbols</u></span><span class=cF0>.
<a name="l350"></a> - Added </span><span class=cF2>screen_size</span><span class=cF0>, </span><span class=cF2>buffer_size</span><span class=cF0>, </span><span class=cF2>fb_alias</span><span class=cF0> members to </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4298"><span class=cF4>CTextGlobals</span></a><span class=cF0>.
<a name="l350"></a> - Added </span><span class=cF2>screen_size</span><span class=cF0>, </span><span class=cF2>buffer_size</span><span class=cF0>, </span><span class=cF2>fb_alias</span><span class=cF0> members to </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4246"><span class=cF4>CTextGlobals</span></a><span class=cF0>.
<a name="l351"></a> - </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KMain.CC.html#l107"><span class=cF4>SysGrInit</span></a><span class=cF0>() -- using </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KMain.CC.html#l69"><span class=cF4>Seg2Linear</span></a><span class=cF0>() to convert pointers.
<a name="l352"></a> - </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Display.CC.html#l62"><span class=cF4>raw text drawing routine</span></a><span class=cF0> updated. </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l499"><span class=cF4>BLACK32, WHITE32</span></a><span class=cF0>.
<a name="l353"></a> - Dynamic definition of </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrGlobals.CC.html#l50"><span class=cF4>GR_WIDTH and GR_HEIGHT</span></a><span class=cF0>.
<a name="l354"></a> - </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrScreen.CC.html#l392"><span class=cF4>GrUpdateScreen32</span></a><span class=cF0>() -- </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrScreen.CC.html#l379"><span class=cF4>GrCalcScreenUpdates</span></a><span class=cF0>() is used to reduce CPU usage. Added </span><span class=cF2>screen_cache</span><span class=cF0> member to </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrGlobals.CC.html#l3"><span class=cF4>CGrGlobals</span></a><span class=cF0>.
<a name="l355"></a> - </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrGlobals.CC.html#l44"><span class=cF4>gr_palette</span></a><span class=cF0> global variable. We use </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3701"><span class=cF4>CBGR24</span></a><span class=cF0> in </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrPalette.CC.html#l1"><span class=cF4>GrPalette.CC</span></a><span class=cF0>.
<a name="l355"></a> - </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrGlobals.CC.html#l44"><span class=cF4>gr_palette</span></a><span class=cF0> global variable. We use </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3649"><span class=cF4>CBGR24</span></a><span class=cF0> in </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrPalette.CC.html#l1"><span class=cF4>GrPalette.CC</span></a><span class=cF0>.
<a name="l356"></a>
<a name="l357"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/BinRep.CC.html#l27"><span class=cF4>BinRep</span></a><span class=cF0>() from Sup1 ISO.
<a name="l358"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeWrappers.CC.html#l13"><span class=cF4>R</span></a><span class=cF0>(&quot;sys_pci_busses&quot;, &quot;</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelB.HH.html#l200"><span class=cF4>sys_pci_buses</span></a><span class=cF0>&quot;);
<a name="l359"></a>* Renamed RWF flags -&gt; </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4293"><span class=cF4>RAWF</span></a><span class=cF0>.
<a name="l359"></a>* Renamed RWF flags -&gt; </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4241"><span class=cF4>RAWF</span></a><span class=cF0>.
<a name="l360"></a>* Renamed mon_start_days1 and mon_start_days2 -&gt; </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KDate.CC.html#l3"><span class=cF4>month_start_days</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KDate.CC.html#l4"><span class=cF4>month_start_days_leap</span></a><span class=cF0>, respectively.
<a name="l361"></a>* Moved random number generation algorithm into </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KMathB.CC.html#l83"><span class=cF4>seperate function</span></a><span class=cF0> to reduce line count. Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KMathB.CC.html#l95"><span class=cF4>RandU8</span></a><span class=cF0>().
<a name="l362"></a>* Added syntax highlighting for numbers. </span><a href="https://zeal-operating-system.github.io/ZealOS/System/DolDoc/DocHighlight.CC.html#l104"><span class=cF4>DocHighlight</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1290"><span class=cF4>DOC_COLOR_NUMBER</span></a><span class=cF0>.
@ -428,7 +428,7 @@ body {background-color:#fef1f0;}
<a name="l400"></a>* Disabled blinking MENU.
<a name="l401"></a>* Disabled scrolling title in editor.
<a name="l402"></a>* One User terminal on startup.
<a name="l403"></a>* Swapped colors in </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4216"><span class=cF4>ST_ERR_ST</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4217"><span class=cF4>ST_WARN_ST</span></a><span class=cF0>. RED is for errors, LTRED is for warnings.
<a name="l403"></a>* Swapped colors in </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4164"><span class=cF4>ST_ERR_ST</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4165"><span class=cF4>ST_WARN_ST</span></a><span class=cF0>. RED is for errors, LTRED is for warnings.
<a name="l404"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Utils/CPURep.CC.html#l28"><span class=cF4>CPURep</span></a><span class=cF0>() now shows extended processor name or vendor string as fallback.
<a name="l405"></a>* Added #</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l24"><span class=cF4>NONE</span></a><span class=cF0> define to replace 0 or NULL in default function arguments where applicable (usually flags).
<a name="l406"></a>* Shift+Alt+Delete runs </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Boot/BootRAM.CC.html#l33"><span class=cF4>BootRAM</span></a><span class=cF0>().
@ -561,9 +561,9 @@ body {background-color:#fef1f0;}
<a name="l533"></a>* Fixed </span><span class=cF2>$</span><span class=cF0> class offset so </span><span class=cF2>#assert</span><span class=cF0>'s don't lag a token.
<a name="l534"></a>
<a name="l535"></a></span><span class=c0F>----01/17/17 14:39:41----</span><span class=cF0>
<a name="l536"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3471"><span class=cF4>blkdev.ins_base0</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3471"><span class=cF4>blkdev.ins_unit</span></a><span class=cF0>.
<a name="l536"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3419"><span class=cF4>blkdev.ins_base0</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3419"><span class=cF4>blkdev.ins_unit</span></a><span class=cF0>.
<a name="l537"></a>* Added make </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Boot/DiskISORedSea.CC.html#l154"><span class=cF4>RedSeaISO</span></a><span class=cF0>() to </span><a href="https://zeal-operating-system.github.io/ZealOS/System/BlkDev/FileMgr.CC.html#l678"><span class=cF4>FileMgr</span></a><span class=cF0>().
<a name="l538"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3471"><span class=cF4>blkdev.dft_iso_c_filename</span></a><span class=cF0> .
<a name="l538"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3419"><span class=cF4>blkdev.dft_iso_c_filename</span></a><span class=cF0> .
<a name="l539"></a>
<a name="l540"></a></span><span class=c0F>----01/17/17 06:12:21----</span><span class=cF0>
<a name="l541"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeWrappers.CC.html#l13"><span class=cF4>R</span></a><span class=cF0>(&quot;MIN_...&quot;,&quot;..._MIN&quot;);
@ -662,8 +662,8 @@ body {background-color:#fef1f0;}
<a name="l634"></a>Sup1/Sup1Utils/CvtSong500.HC.
<a name="l635"></a>
<a name="l636"></a></span><span class=c0F>----12/22/16 16:18:32----</span><span class=cF0>
<a name="l637"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeWrappers.CC.html#l13"><span class=cF4>R</span></a><span class=cF0>(&quot;CSrvCmd&quot;,&quot;</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3906"><span class=cF4>CJob</span></a><span class=cF0>&quot;);
<a name="l638"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeWrappers.CC.html#l13"><span class=cF4>R</span></a><span class=cF0>(&quot;CSrvCtrl&quot;,&quot;</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3924"><span class=cF4>CJobCtrl</span></a><span class=cF0>&quot;);
<a name="l637"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeWrappers.CC.html#l13"><span class=cF4>R</span></a><span class=cF0>(&quot;CSrvCmd&quot;,&quot;</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3854"><span class=cF4>CJob</span></a><span class=cF0>&quot;);
<a name="l638"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeWrappers.CC.html#l13"><span class=cF4>R</span></a><span class=cF0>(&quot;CSrvCtrl&quot;,&quot;</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3872"><span class=cF4>CJobCtrl</span></a><span class=cF0>&quot;);
<a name="l639"></a>
<a name="l640"></a></span><span class=c0F>----12/03/16 13:19:58----</span><span class=cF0>
<a name="l641"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeWrappers.CC.html#l13"><span class=cF4>R</span></a><span class=cF0>(&quot;SpriteMat3B()&quot;,&quot;</span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrSpritePlot.CC.html#l294"><span class=cF4>Sprite3Mat4x4B</span></a><span class=cF0>()&quot;);
@ -674,7 +674,7 @@ body {background-color:#fef1f0;}
<a name="l646"></a>
<a name="l647"></a></span><span class=c0F>----12/03/16 10:16:26----</span><span class=cF0>
<a name="l648"></a>* Changed </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l2173"><span class=cF4>__CMD_LINE__</span></a><span class=cF0>.
<a name="l649"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4556"><span class=cF4>CProgress</span></a><span class=cF0>.tf.
<a name="l649"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4504"><span class=cF4>CProgress</span></a><span class=cF0>.tf.
<a name="l650"></a>* Added </span><span class=cF4><u>sys_staff_mode_flag</u></span><span class=cF0>.
<a name="l651"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeWrappers.CC.html#l13"><span class=cF4>R</span></a><span class=cF0>(&quot;except_caller&quot;,&quot;except_callers&quot;);
<a name="l652"></a>
@ -705,7 +705,7 @@ body {background-color:#fef1f0;}
<a name="l677"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/RadixSort.CC.html#l1"><span class=cF4>::/Demo/RadixSort.CC</span></a><span class=cF0>.
<a name="l678"></a>
<a name="l679"></a></span><span class=c0F>----10/26/16 00:21:06----</span><span class=cF0>
<a name="l680"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4556"><span class=cF4>CProgress</span></a><span class=cF0>.t0.
<a name="l680"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4504"><span class=cF4>CProgress</span></a><span class=cF0>.t0.
<a name="l681"></a>* Improved </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/Boot.DD.html#l1"><span class=cF4>::/Doc/Boot.DD</span></a><span class=cF0>.
<a name="l682"></a>
<a name="l683"></a></span><span class=c0F>----10/25/16 18:02:44----</span><span class=cF0>
@ -725,7 +725,7 @@ body {background-color:#fef1f0;}
<a name="l697"></a>
<a name="l698"></a></span><span class=c0F>----09/29/16 10:13:14----</span><span class=cF0>
<a name="l699"></a>* <blink>TempleOS version 4.12 Released</blink>
<a name="l700"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3992"><span class=cF4>TASKf_CMD_LINE_PMT</span></a><span class=cF0>.
<a name="l700"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3940"><span class=cF4>TASKf_CMD_LINE_PMT</span></a><span class=cF0>.
<a name="l701"></a>* Improved </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Job.CC.html#l270"><span class=cF4>TaskWait</span></a><span class=cF0>().
<a name="l702"></a>* Improved </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KTask.CC.html#l39"><span class=cF4>DeathWait</span></a><span class=cF0>().
<a name="l703"></a>
@ -736,7 +736,7 @@ body {background-color:#fef1f0;}
<a name="l708"></a></span><span class=c0F>----09/27/16 11:09:25----</span><span class=cF0>
<a name="l709"></a>* Improved </span><a href="https://zeal-operating-system.github.io/ZealOS/Misc/OSTestSuite.CC.html#l1"><span class=cF4>::/Misc/OSTestSuite.CC</span></a><span class=cF0>.
<a name="l710"></a>* Fixed bug in </span><a href="https://zeal-operating-system.github.io/ZealOS/System/DolDoc/DocChar.CC.html#l512"><span class=cF4>EdCharIns</span></a><span class=cF0>() printing $ cmds.
<a name="l711"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3312"><span class=cF4>FUF_JUST_DD</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3039"><span class=cF4>FILEMASK_DD</span></a><span class=cF0>.
<a name="l711"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3260"><span class=cF4>FUF_JUST_DD</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3017"><span class=cF4>FILEMASK_DD</span></a><span class=cF0>.
<a name="l712"></a>
<a name="l713"></a></span><span class=c0F>----09/27/16 01:05:52----</span><span class=cF0>
<a name="l714"></a>* Improved </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/MemoryOverview.DD.html#l1"><span class=cF4>::/Doc/MemoryOverview.DD</span></a><span class=cF0>.
@ -805,7 +805,7 @@ body {background-color:#fef1f0;}
<a name="l777"></a>* Improved </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Games/Talons.CC.html#l1"><span class=cF4>::/Demo/Games/Talons.CC</span></a><span class=cF0>.
<a name="l778"></a>
<a name="l779"></a></span><span class=c0F>----07/15/16 05:17:24----</span><span class=cF0>
<a name="l780"></a>* Created </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3631"><span class=cF4>CDevGlbls</span></a><span class=cF0>.uncached_alias.
<a name="l780"></a>* Created </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3579"><span class=cF4>CDevGlbls</span></a><span class=cF0>.uncached_alias.
<a name="l781"></a>* Added 1 Gig page table support.
<a name="l782"></a>
<a name="l783"></a></span><span class=c0F>----07/13/16 17:21:19----</span><span class=cF0>
@ -837,7 +837,7 @@ body {background-color:#fef1f0;}
<a name="l809"></a></span><span class=c0F>----07/03/16 04:30:05----</span><span class=cF0>
<a name="l810"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/System/BlkDev/Mount.CC.html#l306"><span class=cF4>Unmount</span></a><span class=cF0>().
<a name="l811"></a>* Made BootLoader mandatory in </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Boot/DiskISORedSea.CC.html#l154"><span class=cF4>RedSeaISO</span></a><span class=cF0>().
<a name="l812"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3333"><span class=cF4>BDT_ISO_FILE_READ</span></a><span class=cF0>.
<a name="l812"></a>* Added </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3281"><span class=cF4>BDT_ISO_FILE_READ</span></a><span class=cF0>.
<a name="l813"></a>
<a name="l814"></a></span><span class=c0F>----07/01/16 05:29:08----</span><span class=cF0>
<a name="l815"></a>* Made underscore mandatory on </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>HolyC</span></a><span class=cF0> callable asm functions.

View file

@ -30,7 +30,7 @@ body {background-color:#fef1f0;}
<a name="l3"></a>A </span><span class=cF2>Char</span><span class=cF0>acter is a single byte holding an ASCII code for a letter, num or sym. The </span><span class=cF2>ZealOS</span><span class=cF0> term is a </span><span class=cF2>U8</span><span class=cF0>.
<a name="l4"></a>
<a name="l5"></a>Standard ASCII values range from 0 to 127. Values below 32 are ctrl key's. So, an ASCII #3 is a </span><span class=cF2>&lt;CTRL-c&gt;</span><span class=cF0>. ZealOS uses a
<a name="l6"></a>couple nonstandard values below 32. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4184"><span class=cF4>Char Definitions</span></a><span class=cF0>.
<a name="l6"></a>couple nonstandard values below 32. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4132"><span class=cF4>Char Definitions</span></a><span class=cF0>.
<a name="l7"></a>
<a name="l8"></a>ASCII #5 is the cursor location in a saved file.
<a name="l9"></a>ASCII #28 is </span><span class=cF2>&lt;SHIFT-ESC&gt;</span><span class=cF0>.
@ -39,19 +39,19 @@ body {background-color:#fef1f0;}
<a name="l12"></a>Technically, </span><span class=cF2>&lt;CTRL-ALT-a&gt;</span><span class=cF0> are </span><span class=cF4><u>screen codes</u></span><span class=cF0>.
<a name="l13"></a>
<a name="l14"></a>A </span><span class=cF2>Key</span><span class=cF0> is typically specified with a scan code. ZealOS scan codes contain the key value in the lowest </span><span class=cF2>U8</span><span class=cF0>, and flags in the
<a name="l15"></a>upper 3 bytes. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4238"><span class=cF4>Scan Code Flags</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4272"><span class=cF4>Scan Codes</span></a><span class=cF0>.
<a name="l15"></a>upper 3 bytes. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4186"><span class=cF4>Scan Code Flags</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4220"><span class=cF4>Scan Codes</span></a><span class=cF0>.
<a name="l16"></a>
<a name="l17"></a>ZealOS stores scan codes in 8 bytes.
<a name="l18"></a> </span><span class=cF2>Byte 0</span><span class=cF0> is the code. NumPad keys, SHIFT, ALT, CTRL and GUI keys combined.
<a name="l19"></a> </span><span class=cF2>Byte 1-3</span><span class=cF0> are </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4221"><span class=cF4>flags</span></a><span class=cF0>
<a name="l19"></a> </span><span class=cF2>Byte 1-3</span><span class=cF0> are </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4169"><span class=cF4>flags</span></a><span class=cF0>
<a name="l20"></a>
<a name="l21"></a>The upper 4-bytes are copied from lower 4-bytes.
<a name="l22"></a> </span><span class=cF2>Byte 4</span><span class=cF0> is the code. Left, Right and NumPad keys distinct.
<a name="l23"></a> </span><span class=cF2>Byte 5-7</span><span class=cF0> are </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4221"><span class=cF4>flags</span></a><span class=cF0>
<a name="l23"></a> </span><span class=cF2>Byte 5-7</span><span class=cF0> are </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4169"><span class=cF4>flags</span></a><span class=cF0>
<a name="l24"></a>
<a name="l25"></a>Run the program </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/MessageLoop.CC.html#l1"><span class=cF4>::/Demo/MessageLoop.CC</span></a><span class=cF0> to examine scan code. Press </span><span class=cF2>&lt;CTRL-SHIFT-l&gt;</span><span class=cF0> and &quot;Insert ASCII/ScanCode&quot;.
<a name="l26"></a>
<a name="l27"></a>See </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/KeyAlloc.DD.html#l1"><span class=cF4>Key Allocations</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3721"><span class=cF4>CKbdStateGlobals</span></a><span class=cF0>.
<a name="l27"></a>See </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/KeyAlloc.DD.html#l1"><span class=cF4>Key Allocations</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3669"><span class=cF4>CKbdStateGlobals</span></a><span class=cF0>.
<a name="l28"></a>
<a name="l29"></a>A </span><span class=cF2>String</span><span class=cF0> is a bunch of ASCII characters terminated with a zero.
</span></pre></body>

View file

@ -38,7 +38,7 @@ body {background-color:#fef1f0;}
<a name="l11"></a>* Low line count and code complexity is the highest good, so it is easy to learn the whole thing. Users should see the light
<a name="l12"></a>at the end of the tunnel. One file system, for example, is better than many file systems.
<a name="l13"></a>
<a name="l14"></a>* There is a limit of 100,000 lines of code for all time, not including applications and demos. Currently, there are 94,866
<a name="l14"></a>* There is a limit of 100,000 lines of code for all time, not including applications and demos. Currently, there are 94,787
<a name="l15"></a>lines of code. </span><span class=cF4>3rd party libraries are banned</span><span class=cF0> because they circumvent the intent of this limit. The vision is a Commodore 64
<a name="l16"></a>ROM -- a fixed core API that is the only dependency of applications. Dependency on components and libraries creates a hell
<a name="l17"></a>that is no longer blissful.

View file

@ -297,7 +297,7 @@ body {background-color:#fef1f0;}
<a name="l270"></a>off-of other task's heaps, or make an independent heap with </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/HeapCtrl.CC.html#l1"><span class=cF4>HeapCtrlInit</span></a><span class=cF0>(). See </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>() for an example.
<a name="l271"></a>
<a name="l272"></a>* The stack does not grow because virtual mem is not used. It's recommended to allocate large local vars from the heap. Yo
<a name="l273"></a>u can change </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3597"><span class=cF4>MEM_DEFAULT_STACK</span></a><span class=cF0> and recompile </span><span class=cF2>Kernel</span><span class=cF0> or request more when doing a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KTask.CC.html#l264"><span class=cF4>Spawn</span></a><span class=cF0>(). You can use </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KTask.CC.html#l129"><span class=cF4>CallStackGrow</span></a><span class=cF0>(), but
<a name="l273"></a>u can change </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3545"><span class=cF4>MEM_DEFAULT_STACK</span></a><span class=cF0> and recompile </span><span class=cF2>Kernel</span><span class=cF0> or request more when doing a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KTask.CC.html#l264"><span class=cF4>Spawn</span></a><span class=cF0>(). You can use </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KTask.CC.html#l129"><span class=cF4>CallStackGrow</span></a><span class=cF0>(), but
<a name="l274"></a>it's odd. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/StackGrow.CC.html#l1"><span class=cF4>::/Demo/StackGrow.CC</span></a><span class=cF0>.
<a name="l275"></a>
<a name="l276"></a>* Only one base class is allowed.

View file

@ -33,7 +33,7 @@ body {background-color:#fef1f0;}
<a name="l6"></a>EMU</span><span class=cF0> or </span><span class=cF2>VirtualBox</span><span class=cF0>. It is independent and stands alone. 100% of the src code is including on all distro's, from the kernel to
<a name="l7"></a>the compiler to the boot loaders! It is public domain, not GPL.
<a name="l8"></a>
<a name="l9"></a>*) </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l2990"><span class=cF4>ATA Reg and Cmd Definitions</span></a><span class=cF0> are originally from Linux. Later, Terry got the spec.
<a name="l9"></a>*) </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l2967"><span class=cF4>ATA Reg and Cmd Definitions</span></a><span class=cF0> are originally from Linux. Later, Terry got the spec.
<a name="l10"></a>
<a name="l11"></a>*) The heap algorithm, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l1"><span class=cF4>::/Kernel/Memory/MAllocFree.CC</span></a><span class=cF0>, is adapted from one Terry saw at Ticketmaster when he worked on their
<a name="l12"></a>VAX operating system.

View file

@ -25,7 +25,7 @@ body {background-color:#fef1f0;}
</head>
<body>
<pre style="font-family:monospace;font-size:12pt">
<a name="l1"></a><span class=cF0>To create a ZealOS graphic ctrl, you define callback functions and insert a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3824"><span class=cF4>CCtrl</span></a><span class=cF0> structure in the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4030"><span class=cF4>CTask</span></a><span class=cF0> queue. See </span><span class=cF4>
<a name="l1"></a><span class=cF0>To create a ZealOS graphic ctrl, you define callback functions and insert a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3772"><span class=cF4>CCtrl</span></a><span class=cF0> structure in the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3978"><span class=cF4>CTask</span></a><span class=cF0> queue. See </span><span class=cF4>
<a name="l2"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Graphics/Slider.CC.html#l1"><span class=cF4>::/Demo/Graphics/Slider.CC</span></a><span class=cF0>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Graphics/ScrollBars.CC.html#l1"><span class=cF4>::/Demo/Graphics/ScrollBars.CC</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/System/WallPaper.CC.html#l162"><span class=cF4>TermBttnNew</span></a><span class=cF0>. There is a template-code ctrl generator, if you
<a name="l3"></a>press </span><span class=cF2>&lt;CTRL-SHIFT-L&gt;</span><span class=cF0>.
</span></pre></body>

View file

@ -29,9 +29,9 @@ body {background-color:#fef1f0;}
<a name="l2"></a>
<a name="l3"></a>* You can enter the debugger with </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KDebug.CC.html#l754"><span class=cF4>Debug</span></a><span class=cF0>() or </span><span class=cF2>&lt;CTRL-ALT-d&gt;</span><span class=cF0>. You might enter the debugger through a fault. Enter </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KDebug.CC.html#l519"><span class=cF4>G</span></a><span class=cF0>() or </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KDebug.CC.html#l551"><span class=cF4>G2</span></a><span class=cF0>()
<a name="l4"></a>to continue execution. Place a call to </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KDebug.CC.html#l754"><span class=cF4>Debug</span></a><span class=cF0>() in your code at fatal error points to enter the debugger. If you see a stack
<a name="l5"></a>dump, record the label+offset and unassemble, </span><a href="https://zeal-operating-system.github.io/ZealOS/Compiler/UAsm.CC.html#l770"><span class=cF4>U</span></a><span class=cF0>(). </span><a href="https://zeal-operating-system.github.io/ZealOS/Compiler/UAsm.CC.html#l770"><span class=cF4>U</span></a><span class=cF0>(</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4135"><span class=cF4>_RIP</span></a><span class=cF0>);
<a name="l5"></a>dump, record the label+offset and unassemble, </span><a href="https://zeal-operating-system.github.io/ZealOS/Compiler/UAsm.CC.html#l770"><span class=cF4>U</span></a><span class=cF0>(). </span><a href="https://zeal-operating-system.github.io/ZealOS/Compiler/UAsm.CC.html#l770"><span class=cF4>U</span></a><span class=cF0>(</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4083"><span class=cF4>_RIP</span></a><span class=cF0>);
<a name="l6"></a>
<a name="l7"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Compiler/UAsm.CC.html#l770"><span class=cF4>U</span></a><span class=cF0>(&amp;FunName+offset) to unassemble mem or </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Debug.CC.html#l330"><span class=cF4>Uf</span></a><span class=cF0>(&quot;FunName&quot;) to unassemble a function. </span><a href="https://zeal-operating-system.github.io/ZealOS/Compiler/UAsm.CC.html#l770"><span class=cF4>U</span></a><span class=cF0>(</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4135"><span class=cF4>_RIP</span></a><span class=cF0>-16);
<a name="l7"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Compiler/UAsm.CC.html#l770"><span class=cF4>U</span></a><span class=cF0>(&amp;FunName+offset) to unassemble mem or </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Debug.CC.html#l330"><span class=cF4>Uf</span></a><span class=cF0>(&quot;FunName&quot;) to unassemble a function. </span><a href="https://zeal-operating-system.github.io/ZealOS/Compiler/UAsm.CC.html#l770"><span class=cF4>U</span></a><span class=cF0>(</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4083"><span class=cF4>_RIP</span></a><span class=cF0>-16);
<a name="l8"></a>
<a name="l9"></a>* While debugging, you specify addresses of assembly routines with just the label, as in </span><span class=cF2>_MALLOC+0x20</span><span class=cF0>. You specify </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0>
<a name="l10"></a>function names with </span><span class=cF2>&amp;</span><span class=cF0> before functions as in </span><span class=cF2>&amp;Print+0x10</span><span class=cF0>.

View file

@ -77,11 +77,11 @@ body {background-color:#fef1f0;}
<a name="l50"></a>
<a name="l51"></a></span><span class=cF2>'m'</span><span class=cF0>
<a name="l52"></a> Make CD/DVD ISO.C file. This creates a </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/RedSea.DD.html#l1"><span class=cF4>RedSea</span></a><span class=cF0> ISO file image of the dir the cursor is on. The name of the ISO file is </span><span class=cF2>
<a name="l53"></a> &quot;::/Tmp/CDDVD.ISO.C&quot;</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3471"><span class=cF4>blkdev.default_iso_c_filename</span></a><span class=cF0> and can be redefined in your start-up scripts. You may wish to place it
<a name="l53"></a> &quot;::/Tmp/CDDVD.ISO.C&quot;</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3419"><span class=cF4>blkdev.default_iso_c_filename</span></a><span class=cF0> and can be redefined in your start-up scripts. You may wish to place it
<a name="l54"></a> on a different drive.
<a name="l55"></a>
<a name="l56"></a></span><span class=cF2>'B'</span><span class=cF0>
<a name="l57"></a> Burn CD/DVD ISO file. This burns a CD/DVD using the image file, </span><span class=cF2>&quot;::/Tmp/CDDVD.ISO&quot;</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3471"><span class=cF4>blkdev.default_iso_filename</span></a><span class=cF0> to the drive
<a name="l57"></a> Burn CD/DVD ISO file. This burns a CD/DVD using the image file, </span><span class=cF2>&quot;::/Tmp/CDDVD.ISO&quot;</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3419"><span class=cF4>blkdev.default_iso_filename</span></a><span class=cF0> to the drive
<a name="l58"></a> the cursor is on.
<a name="l59"></a>
<a name="l60"></a>
@ -94,7 +94,7 @@ body {background-color:#fef1f0;}
<a name="l67"></a></span><span class=cF5>Instructions on Burning CD/DVD's</span><span class=cF0>
<a name="l68"></a> Create a temporary dir to hold files and copy files into the holding dir. Make an ISO image of the dir by pressing </span><span class=cF2>'M'</span><span class=cF0> when
<a name="l69"></a> on top of the dir. Press </span><span class=cF2>'B'</span><span class=cF0> when on top of the CD/DVD ROM drive to burn the ISO, </span><span class=cF2>&quot;::/Tmp/CDDVD.ISO&quot;</span><span class=cF0> </span><span class=cF4>
<a name="l70"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3471"><span class=cF4>blkdev.default_iso_filename</span></a><span class=cF0>, to disk. If you have not recompiled </span><span class=cF2>Kernel</span><span class=cF0> and defined your CD/DVD drive, exit the FileMgr and
<a name="l70"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3419"><span class=cF4>blkdev.default_iso_filename</span></a><span class=cF0>, to disk. If you have not recompiled </span><span class=cF2>Kernel</span><span class=cF0> and defined your CD/DVD drive, exit the FileMgr and
<a name="l71"></a> 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>.
<a name="l72"></a> </span><span class=cF4>
<a name="l73"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Misc/DoDistro.CC.html#l1"><span class=cF4>Making Your Own Distro</span></a><span class=cF0>

View file

@ -39,18 +39,18 @@ body {background-color:#fef1f0;}
<a name="l12"></a>
<a name="l13"></a>Flags are either text or int values.
<a name="l14"></a>
<a name="l15"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3299"><span class=cF4>FUF_RECURSE</span></a><span class=cF0> </span><span class=cF2>+r</span><span class=cF0> Recurse
<a name="l16"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3308"><span class=cF4>FUF_SINGLE</span></a><span class=cF0> </span><span class=cF2>+s</span><span class=cF0> Single File (Optimization for one file in mask.)
<a name="l17"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3319"><span class=cF4>FUF_FLATTEN_TREE</span></a><span class=cF0> </span><span class=cF2>+f</span><span class=cF0> use with '</span><span class=cF2>+F</span><span class=cF0>'. Just use </span><span class=cF2>+F</span><span class=cF0>, probably.
<a name="l18"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3309"><span class=cF4>FUF_JUST_DIRS</span></a><span class=cF0> </span><span class=cF2>+D</span><span class=cF0> just directories
<a name="l19"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3310"><span class=cF4>FUF_JUST_FILES</span></a><span class=cF0> </span><span class=cF2>+F</span><span class=cF0> just files (Flattens trees)
<a name="l20"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3317"><span class=cF4>FUF_CLUS_ORDER</span></a><span class=cF0> </span><span class=cF2> +O</span><span class=cF0> sort by clus (move head one direction)
<a name="l21"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3311"><span class=cF4>FUF_JUST_TXT</span></a><span class=cF0> </span><span class=cF2>+T</span><span class=cF0> just text files : </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3040"><span class=cF4>FILEMASK_TXT</span></a><span class=cF0>
<a name="l22"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3312"><span class=cF4>FUF_JUST_DD</span></a><span class=cF0> </span><span class=cF2>+$</span><span class=cF0> just </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/DolDocOverview.DD.html#l1"><span class=cF4>DolDoc</span></a><span class=cF0> files : </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3039"><span class=cF4>FILEMASK_DD</span></a><span class=cF0>
<a name="l23"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3313"><span class=cF4>FUF_JUST_SRC</span></a><span class=cF0> </span><span class=cF2>+S</span><span class=cF0> just src files : </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3038"><span class=cF4>FILEMASK_SRC</span></a><span class=cF0>
<a name="l24"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3314"><span class=cF4>FUF_JUST_AOT</span></a><span class=cF0> </span><span class=cF2>+A</span><span class=cF0> just aot files : </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3037"><span class=cF4>FILEMASK_AOT</span></a><span class=cF0>
<a name="l25"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3315"><span class=cF4>FUF_JUST_JIT</span></a><span class=cF0> </span><span class=cF2>+J</span><span class=cF0> just jit files : </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3036"><span class=cF4>FILEMASK_JIT</span></a><span class=cF0>
<a name="l26"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3316"><span class=cF4>FUF_JUST_GR</span></a><span class=cF0> </span><span class=cF2>+G</span><span class=cF0> just graphic files : </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3041"><span class=cF4>FILEMASK_GR</span></a><span class=cF0>
<a name="l15"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3247"><span class=cF4>FUF_RECURSE</span></a><span class=cF0> </span><span class=cF2>+r</span><span class=cF0> Recurse
<a name="l16"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3256"><span class=cF4>FUF_SINGLE</span></a><span class=cF0> </span><span class=cF2>+s</span><span class=cF0> Single File (Optimization for one file in mask.)
<a name="l17"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3267"><span class=cF4>FUF_FLATTEN_TREE</span></a><span class=cF0> </span><span class=cF2>+f</span><span class=cF0> use with '</span><span class=cF2>+F</span><span class=cF0>'. Just use </span><span class=cF2>+F</span><span class=cF0>, probably.
<a name="l18"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3257"><span class=cF4>FUF_JUST_DIRS</span></a><span class=cF0> </span><span class=cF2>+D</span><span class=cF0> just directories
<a name="l19"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3258"><span class=cF4>FUF_JUST_FILES</span></a><span class=cF0> </span><span class=cF2>+F</span><span class=cF0> just files (Flattens trees)
<a name="l20"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3265"><span class=cF4>FUF_CLUS_ORDER</span></a><span class=cF0> </span><span class=cF2> +O</span><span class=cF0> sort by clus (move head one direction)
<a name="l21"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3259"><span class=cF4>FUF_JUST_TXT</span></a><span class=cF0> </span><span class=cF2>+T</span><span class=cF0> just text files : </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3018"><span class=cF4>FILEMASK_TXT</span></a><span class=cF0>
<a name="l22"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3260"><span class=cF4>FUF_JUST_DD</span></a><span class=cF0> </span><span class=cF2>+$</span><span class=cF0> just </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/DolDocOverview.DD.html#l1"><span class=cF4>DolDoc</span></a><span class=cF0> files : </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3017"><span class=cF4>FILEMASK_DD</span></a><span class=cF0>
<a name="l23"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3261"><span class=cF4>FUF_JUST_SRC</span></a><span class=cF0> </span><span class=cF2>+S</span><span class=cF0> just src files : </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3016"><span class=cF4>FILEMASK_SRC</span></a><span class=cF0>
<a name="l24"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3262"><span class=cF4>FUF_JUST_AOT</span></a><span class=cF0> </span><span class=cF2>+A</span><span class=cF0> just aot files : </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3015"><span class=cF4>FILEMASK_AOT</span></a><span class=cF0>
<a name="l25"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3263"><span class=cF4>FUF_JUST_JIT</span></a><span class=cF0> </span><span class=cF2>+J</span><span class=cF0> just jit files : </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3014"><span class=cF4>FILEMASK_JIT</span></a><span class=cF0>
<a name="l26"></a> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3264"><span class=cF4>FUF_JUST_GR</span></a><span class=cF0> </span><span class=cF2>+G</span><span class=cF0> just graphic files : </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3019"><span class=cF4>FILEMASK_GR</span></a><span class=cF0>
<a name="l27"></a>
<a name="l28"></a>See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KDefine.CC.html#l212"><span class=cF4>ST_FILE_UTIL_FLAGS</span></a><span class=cF0> when used in calling program taking text flags.
</span></pre></body>

View file

@ -73,7 +73,7 @@ body {background-color:#fef1f0;}
<a name="l46"></a>callback being called. Only tasks on </span><span class=cF2>Core0</span><span class=cF0> are allowed to have windows. There is one window per task, no child windows.
<a name="l47"></a>You can have pop-up child tasks.
<a name="l48"></a>
<a name="l49"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4352"><span class=cF4>CDC</span></a><span class=cF0>s (device contexts) are a data type for controlling graphics on the screen or graphics in mem. The device context
<a name="l49"></a>* </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4300"><span class=cF4>CDC</span></a><span class=cF0>s (device contexts) are a data type for controlling graphics on the screen or graphics in mem. The device context
<a name="l50"></a>structure has thick and color. You use </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l182"><span class=cF4>DCAlias</span></a><span class=cF0>() to create your own structure, with its own color and thick. Free it with </span><span class=cF4>
<a name="l51"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l230"><span class=cF4>DCDel</span></a><span class=cF0>() when finished.
<a name="l52"></a>
@ -96,21 +96,21 @@ body {background-color:#fef1f0;}
<a name="l69"></a>cursor location when you pressed </span><span class=cF2>&lt;CTRL-r&gt;</span><span class=cF0> to make it. You can edit a sprite by clicking the cursor on it and pressing </span><span class=cF2>&lt;CTRL-r
<a name="l70"></a>&gt;</span><span class=cF0> again.
<a name="l71"></a>
<a name="l72"></a>* Set </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4326"><span class=cF4>DCF_SYMMETRY</span></a><span class=cF0> in the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4352"><span class=cF4>CDC</span></a><span class=cF2>.flags</span><span class=cF0> and call </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrMath.CC.html#l236"><span class=cF4>DCSymmetrySet</span></a><span class=cF0>() or </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrMath.CC.html#l259"><span class=cF4>DCSymmetry3Set</span></a><span class=cF0>(). This will plot a mirror image in addition
<a name="l73"></a>to the primary image. Set </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4330"><span class=cF4>DCF_JUST_MIRROR</span></a><span class=cF0> to plot just the image, but this required </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4326"><span class=cF4>DCF_SYMMETRY</span></a><span class=cF0> to be set at the same time.
<a name="l72"></a>* Set </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4274"><span class=cF4>DCF_SYMMETRY</span></a><span class=cF0> in the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4300"><span class=cF4>CDC</span></a><span class=cF2>.flags</span><span class=cF0> and call </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrMath.CC.html#l236"><span class=cF4>DCSymmetrySet</span></a><span class=cF0>() or </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrMath.CC.html#l259"><span class=cF4>DCSymmetry3Set</span></a><span class=cF0>(). This will plot a mirror image in addition
<a name="l73"></a>to the primary image. Set </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4278"><span class=cF4>DCF_JUST_MIRROR</span></a><span class=cF0> to plot just the image, but this required </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4274"><span class=cF4>DCF_SYMMETRY</span></a><span class=cF0> to be set at the same time.
<a name="l74"></a> Note: You can only have one symmetry active at a time including in </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/Gr.HH.html#l157"><span class=cF4>CSprite</span></a><span class=cF0>s.
<a name="l75"></a>
<a name="l76"></a>* Use </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l205"><span class=cF4>DCNew</span></a><span class=cF0>() to create a mem bitmap which can be used to work off-screen and which can be </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l93"><span class=cF4>GrBlot</span></a><span class=cF0>ed onto the screen. If you
<a name="l77"></a>set </span><span class=cF2>brush</span><span class=cF0> member of </span><span class=cF2>CDC</span><span class=cF0> to another </span><span class=cF2>CDC</span><span class=cF0>, all the graphic routines will </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l93"><span class=cF4>GrBlot</span></a><span class=cF0>() the brush instead of </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrPrimatives.CC.html#l61"><span class=cF4>GrPlot</span></a><span class=cF0>(). See </span><span class=cF4>
<a name="l78"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Graphics/Blot.CC.html#l1"><span class=cF4>::/Demo/Graphics/Blot.CC</span></a><span class=cF0>.
<a name="l79"></a>
<a name="l80"></a>* There are a few </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3653"><span class=cF4>raster operations</span></a><span class=cF0> available. They go in bits 8-11 of the </span><span class=cF2>dc-&gt;color</span><span class=cF0> member var which is a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3694"><span class=cF4>CColorROPU32</span></a><span class=cF0>. </span><span class=cF4>
<a name="l81"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3655"><span class=cF4>ROP_COLLISION</span></a><span class=cF0> is special. It counts the num of pixs drawn on non-background locations. Using </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3655"><span class=cF4>ROP_COLLISION</span></a><span class=cF0> with vector </span><span class=cF4>
<a name="l80"></a>* There are a few </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3601"><span class=cF4>raster operations</span></a><span class=cF0> available. They go in bits 8-11 of the </span><span class=cF2>dc-&gt;color</span><span class=cF0> member var which is a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3642"><span class=cF4>CColorROPU32</span></a><span class=cF0>. </span><span class=cF4>
<a name="l81"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3603"><span class=cF4>ROP_COLLISION</span></a><span class=cF0> is special. It counts the num of pixs drawn on non-background locations. Using </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3603"><span class=cF4>ROP_COLLISION</span></a><span class=cF0> with vector </span><span class=cF4>
<a name="l82"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/Gr.HH.html#l157"><span class=cF4>CSprite</span></a><span class=cF0>'s is tricky because overlapping pixs from lines in the </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/Gr.HH.html#l157"><span class=cF4>CSprite</span></a><span class=cF0> reg as collisions. You can either work with a nonzero
<a name="l83"></a>count or convert your </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/Gr.HH.html#l157"><span class=cF4>CSprite</span></a><span class=cF0> to a bitmap if your subelements draw on top of each other. Be sure to set </span><span class=cF4>-&gt;bkcolor</span><span class=cF0> before
<a name="l84"></a>using </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3655"><span class=cF4>ROP_COLLISION</span></a><span class=cF0>. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Graphics/Collision.CC.html#l1"><span class=cF4>::/Demo/Graphics/Collision.CC</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Apps/Titanium/Titanium.CC.html#l555"><span class=cF4>Titanium</span></a><span class=cF0>.
<a name="l84"></a>using </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3603"><span class=cF4>ROP_COLLISION</span></a><span class=cF0>. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Graphics/Collision.CC.html#l1"><span class=cF4>::/Demo/Graphics/Collision.CC</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Apps/Titanium/Titanium.CC.html#l555"><span class=cF4>Titanium</span></a><span class=cF0>.
<a name="l85"></a>
<a name="l86"></a>* The </span><span class=cF4>-&gt;dither_probability_u16</span><span class=cF0> member of </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4352"><span class=cF4>CDC</span></a><span class=cF0> is a </span><span class=cF2>U16</span><span class=cF0> used to statistically sel between two colors to get something resembling
<a name="l86"></a>* The </span><span class=cF4>-&gt;dither_probability_u16</span><span class=cF0> member of </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4300"><span class=cF4>CDC</span></a><span class=cF0> is a </span><span class=cF2>U16</span><span class=cF0> used to statistically sel between two colors to get something resembling
<a name="l87"></a>more shades of color. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Graphics/SunMoon.CC.html#l1"><span class=cF4>::/Demo/Graphics/SunMoon.CC</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Graphics/Shading.CC.html#l1"><span class=cF4>::/Demo/Graphics/Shading.CC</span></a><span class=cF0>. It works with many graphic
<a name="l88"></a>routines, but not those with pens.
<a name="l89"></a>

View file

@ -157,9 +157,9 @@ body {background-color:#fef1f0;}
<a name="l130"></a>
<a name="l131"></a>See </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/Asm.DD.html#l1"><span class=cF4>::/Doc/Asm.DD</span></a><span class=cF0>.
<a name="l132"></a>
<a name="l133"></a>* </span><span class=cF2>FS</span><span class=cF0> must always point to the cur </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4030"><span class=cF4>CTask</span></a><span class=cF0>.
<a name="l133"></a>* </span><span class=cF2>FS</span><span class=cF0> must always point to the cur </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3978"><span class=cF4>CTask</span></a><span class=cF0>.
<a name="l134"></a>
<a name="l135"></a>* </span><span class=cF2>GS</span><span class=cF0> must always point to the cur </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4149"><span class=cF4>CCPU</span></a><span class=cF0>.
<a name="l135"></a>* </span><span class=cF2>GS</span><span class=cF0> must always point to the cur </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4097"><span class=cF4>CCPU</span></a><span class=cF0>.
<a name="l136"></a>
<a name="l137"></a>* Don't change the segment regs unless interrupts are off. It's hard to do, anyway. </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KUtils.CC.html#l536"><span class=cF4>SET_FS_BASE</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KUtils.CC.html#l522"><span class=cF4>SET_GS_BASE</span></a><span class=cF0>.
<a name="l138"></a>

View file

@ -25,6 +25,6 @@ body {background-color:#fef1f0;}
</head>
<body>
<pre style="font-family:monospace;font-size:12pt">
<a name="l1"></a><span class=cF0>Recompile the kernel with </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3527"><span class=cF4>_CONFIG_HEAP_DEBUG</span></a><span class=cF0>=TRUE if you want more heap debugging. You are on your own.
<a name="l1"></a><span class=cF0>Recompile the kernel with </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3475"><span class=cF4>_CONFIG_HEAP_DEBUG</span></a><span class=cF0>=TRUE if you want more heap debugging. You are on your own.
</span></pre></body>
</html>

View file

@ -54,7 +54,7 @@ body {background-color:#fef1f0;}
<a name="l27"></a>
<a name="l28"></a>
<a name="l29"></a>
<a name="l30"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3906"><span class=cF4>CJob</span></a><span class=cF0> nodes are one of </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3899"><span class=cF4>five types</span></a><span class=cF0>. User applications deal with text or messages. </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Job.CC.html#l321"><span class=cF4>JobRunOne</span></a><span class=cF0>() will call a function, spawn a
<a name="l30"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3854"><span class=cF4>CJob</span></a><span class=cF0> nodes are one of </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3847"><span class=cF4>five types</span></a><span class=cF0>. User applications deal with text or messages. </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Job.CC.html#l321"><span class=cF4>JobRunOne</span></a><span class=cF0>() will call a function, spawn a
<a name="l31"></a>task or execute some text src code.
<a name="l32"></a>
<a name="l33"></a>#</span><span class=cF1>define</span><span class=cF0> </span><span class=cF3>JOBT_TEXT_INPUT</span><span class=cF0> </span><span class=cFE>0</span><span class=cF0> </span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Job.CC.html#l88"><span class=cF4>TaskText</span></a><span class=cF2>() </span><span class=cF0> </span><span class=cF2>Feed StdIn</span><span class=cF0>

View file

@ -36,7 +36,7 @@ body {background-color:#fef1f0;}
<a name="l9"></a> Therefore, ZealOS keeps all code in the lowest 2Gig memory addresses including what would normally be called &quot;the kernel&quot;.
<a name="l10"></a>Two Gig is plenty for code, don't worry.
<a name="l11"></a>
<a name="l12"></a>You can create new, independent heaps using </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/HeapCtrl.CC.html#l1"><span class=cF4>HeapCtrlInit</span></a><span class=cF0>(). Then, use the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3617"><span class=cF4>CHeapCtrl</span></a><span class=cF0> as the 2nd arg to </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l391"><span class=cF4>MAlloc</span></a><span class=cF0>(). See </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>()
<a name="l12"></a>You can create new, independent heaps using </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/HeapCtrl.CC.html#l1"><span class=cF4>HeapCtrlInit</span></a><span class=cF0>(). Then, use the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3565"><span class=cF4>CHeapCtrl</span></a><span class=cF0> as the 2nd arg to </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l391"><span class=cF4>MAlloc</span></a><span class=cF0>(). See </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>()
<a name="l13"></a>for an example.
<a name="l14"></a>
<a name="l15"></a>Memory alloced by a task will be freed when the task is killed. The </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/Glossary.DD.html#l154"><span class=cF4>System Task</span></a><span class=cF0> is a task that never dies. His memory is like
@ -54,8 +54,8 @@ body {background-color:#fef1f0;}
<a name="l27"></a>
<a name="l28"></a></span><span class=cF5> Single System-wide Memory Map
<a name="l29"></a>
<a name="l30"></a></span><span class=cF2> 0x0000007C00- 0x000003703F</span><span class=cF0>
<a name="l31"></a> Kernel module, placed here by the boot-loader, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4530"><span class=cF4>BOOT_RAM_BASE</span></a><span class=cF0>.
<a name="l30"></a></span><span class=cF2> 0x0000007C00- 0x000003704F</span><span class=cF0>
<a name="l31"></a> Kernel module, placed here by the boot-loader, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4478"><span class=cF4>BOOT_RAM_BASE</span></a><span class=cF0>.
<a name="l32"></a>
<a name="l33"></a></span><span class=cF2> 0x0000096600- 0x0000096FFF</span><span class=cF0>
<a name="l34"></a> Boot block relocated here before loading the Kernel module, </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Boot/BootDVD.CC.html#l1"><span class=cF4>BootDVD</span></a><span class=cF0> &amp; </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Boot/BootHD.CC.html#l1"><span class=cF4>BootHD</span></a><span class=cF0>.
@ -63,7 +63,7 @@ body {background-color:#fef1f0;}
<a name="l36"></a></span><span class=cF2> 0x0000097000- 0x0000097030</span><span class=cF0> Multicore start-up vect code, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l665"><span class=cF4>MPN_VECT</span></a><span class=cF0>.
<a name="l37"></a></span><span class=cF2>~0x000009F000- 0x000009FFFF</span><span class=cF0> Extended BIOS data area.
<a name="l38"></a></span><span class=cF2> 0x00000A0000- 0x00000BFFFF</span><span class=cF0> VGA graphics mem with alias at </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KGlobals.CC.html#l30"><span class=cF4>text</span></a><span class=cF0>.vga_alias.
<a name="l39"></a></span><span class=cF2> 0x0000100000- 0x0000101FFF</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4173"><span class=cF4>CSysFixedArea</span></a><span class=cF0> for misc.
<a name="l39"></a></span><span class=cF2> 0x0000100000- 0x0000101FFF</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4121"><span class=cF4>CSysFixedArea</span></a><span class=cF0> for misc.
<a name="l40"></a></span><span class=cF2> 0x000010C000- 0x007FFFFFFF</span><span class=cF0> Code Heap mem.
<a name="l41"></a>
<a name="l42"></a></span><span class=cF2> 0x00E0000000- 0x00FFFFFFFF</span><span class=cF0>

View file

@ -49,9 +49,9 @@ body {background-color:#fef1f0;}
<a name="l22"></a> About(,'/');
<a name="l23"></a>}
<a name="l24"></a></span><span class=cF0>
<a name="l25"></a>The first arg is the message code and it is optional with the default being </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3948"><span class=cF4>MESSAGE_KEY_DOWN_UP</span></a><span class=cF0>. The second arg is the
<a name="l26"></a>message </span><span class=cF2>arg1</span><span class=cF0> value which is </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4184"><span class=cF4>ASCII</span></a><span class=cF0> of the key in the case of </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3935"><span class=cF4>MESSAGE_KEY_DOWN</span></a><span class=cF0>. The third arg is the message </span><span class=cF2>arg2</span><span class=cF0> value which
<a name="l27"></a>is the </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/CharOverview.DD.html#l1"><span class=cF4>scan_code</span></a><span class=cF0> of the key in the case of </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3935"><span class=cF4>MESSAGE_KEY_DOWN</span></a><span class=cF0>.
<a name="l25"></a>The first arg is the message code and it is optional with the default being </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3896"><span class=cF4>MESSAGE_KEY_DOWN_UP</span></a><span class=cF0>. The second arg is the
<a name="l26"></a>message </span><span class=cF2>arg1</span><span class=cF0> value which is </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4132"><span class=cF4>ASCII</span></a><span class=cF0> of the key in the case of </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3883"><span class=cF4>MESSAGE_KEY_DOWN</span></a><span class=cF0>. The third arg is the message </span><span class=cF2>arg2</span><span class=cF0> value which
<a name="l27"></a>is the </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/CharOverview.DD.html#l1"><span class=cF4>scan_code</span></a><span class=cF0> of the key in the case of </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3883"><span class=cF4>MESSAGE_KEY_DOWN</span></a><span class=cF0>.
<a name="l28"></a>
<a name="l29"></a>Press </span><span class=cF2>&lt;CTRL-SHIFT-l&gt;</span><span class=cF0> and &quot;Insert ASCII/ScanCode&quot;.
<a name="l30"></a>

View file

@ -25,6 +25,6 @@ body {background-color:#fef1f0;}
</head>
<body>
<pre style="font-family:monospace;font-size:12pt">
<a name="l1"></a><span class=cF0>There are a maximum of 63 message types, so a bitmask can be passed. Messages have two args. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3933"><span class=cF4>Message Codes</span></a><span class=cF0>.
<a name="l1"></a><span class=cF0>There are a maximum of 63 message types, so a bitmask can be passed. Messages have two args. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3881"><span class=cF4>Message Codes</span></a><span class=cF0>.
</span></pre></body>
</html>

View file

@ -28,9 +28,9 @@ body {background-color:#fef1f0;}
<a name="l1"></a><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KGlobals.CC.html#l25"><span class=cF4>mouse.pos.x</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KGlobals.CC.html#l25"><span class=cF4>mouse.pos.y</span></a><span class=cF0> can be used to access the x and y coordinates of the mouse. They are relative to the screen, not
<a name="l2"></a>window. These can be used if you don't want to use message passing. </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KGlobals.CC.html#l25"><span class=cF4>mouse.pos.z</span></a><span class=cF0> is the wheel.
<a name="l3"></a></span><span class=cF4>
<a name="l4"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3757"><span class=cF4>mouse.pos_text.x</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3757"><span class=cF4>mouse.pos_text.y</span></a><span class=cF0> are the text column and row. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Games/Maze.CC.html#l1"><span class=cF4>::/Demo/Games/Maze.CC</span></a><span class=cF0>.
<a name="l4"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3705"><span class=cF4>mouse.pos_text.x</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3705"><span class=cF4>mouse.pos_text.y</span></a><span class=cF0> are the text column and row. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Games/Maze.CC.html#l1"><span class=cF4>::/Demo/Games/Maze.CC</span></a><span class=cF0>.
<a name="l5"></a>
<a name="l6"></a>See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3757"><span class=cF4>CMouseStateGlobals</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3737"><span class=cF4>CMouseHardStateGlobals</span></a><span class=cF0>.
<a name="l6"></a>See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3705"><span class=cF4>CMouseStateGlobals</span></a><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3685"><span class=cF4>CMouseHardStateGlobals</span></a><span class=cF0>.
<a name="l7"></a>
<a name="l8"></a>The </span><span class=cF2>hard</span><span class=cF0> designation, as in </span><span class=cF2>mouse_hard</span><span class=cF0>, represents hardware layer items before the application of an abstraction layer.
<a name="l9"></a>

View file

@ -25,7 +25,7 @@ body {background-color:#fef1f0;}
</head>
<body>
<pre style="font-family:monospace;font-size:12pt">
<a name="l1"></a><span class=cF0>The word </span><span class=cF2>Pag</span><span class=cF0> refers to an arbitrilly created </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3587"><span class=cF4>MEM_PAG_SIZE</span></a><span class=cF0> unit of heap allocation. ZealOS does not alter the CPU page tables
<a name="l1"></a><span class=cF0>The word </span><span class=cF2>Pag</span><span class=cF0> refers to an arbitrilly created </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3535"><span class=cF4>MEM_PAG_SIZE</span></a><span class=cF0> unit of heap allocation. ZealOS does not alter the CPU page tables
<a name="l2"></a>after setting them up at boot in </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/PageTables.CC.html#l6"><span class=cF4>SYS_INIT_PAGE_TABLES</span></a><span class=cF0>, so the CPU hardware page size is rarely important.
</span></pre></body>
</html>

View file

@ -35,7 +35,7 @@ body {background-color:#fef1f0;}
<a name="l8"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskAddDev.CC.html#l195"><span class=cF4>DriveEnable</span></a><span class=cF0>(OFF), or they will generate error messages. </span><span class=cF2>FAT32</span><span class=cF0> involves a long and short name for each file.
<a name="l9"></a>
<a name="l10"></a>* The stack does not grow because virtual mem is not used. It is recommended that you allocate large local vars from the
<a name="l11"></a>heap. You can change </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3597"><span class=cF4>MEM_DEFAULT_STACK</span></a><span class=cF0> and recompile </span><span class=cF2>Kernel</span><span class=cF0> or request more when doing a </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 name="l11"></a>heap. You can change </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3545"><span class=cF4>MEM_DEFAULT_STACK</span></a><span class=cF0> and recompile </span><span class=cF2>Kernel</span><span class=cF0> or request more when doing a </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 name="l12"></a>
<a name="l13"></a>* The syntax highlighting occassionally glitches. The compiler doesn't.
<a name="l14"></a>

View file

@ -39,7 +39,7 @@ body {background-color:#fef1f0;}
<a name="l12"></a>
<a name="l13"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>class</span><span class=cF0> </span><span class=cF9>CDirEntry</span><span class=cF0> </span><span class=cF2>//64-byte fixed-size</span><span class=cF0>
<a name="l14"></a>{
<a name="l15"></a> </span><span class=cF9>U16</span><span class=cF0> attr; </span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3240"><span class=cF4>RS_ATTR_DIR</span></a><span class=cF2>.</span><span class=cF0> </span><span class=cF2>Terry wanted to change these.</span><span class=cF0>
<a name="l15"></a> </span><span class=cF9>U16</span><span class=cF0> attr; </span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3188"><span class=cF4>RS_ATTR_DIR</span></a><span class=cF2>.</span><span class=cF0> </span><span class=cF2>Terry wanted to change these.</span><span class=cF0>
<a name="l16"></a> </span><span class=cF1>U8</span><span class=cF0> name[</span><span class=cF3>CDIR_FILENAME_LEN</span><span class=cF0>]; </span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/StrA.CC.html#l336"><span class=cF4>char_bmp_filename</span></a><span class=cF2>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskStrA.CC.html#l278"><span class=cF4>FileNameCheck</span></a><span class=cF0>
<a name="l17"></a> </span><span class=cF9>I64</span><span class=cF0> clus; </span><span class=cF7>(blk)</span><span class=cF0> </span><span class=cF2>//One sector per clus.</span><span class=cF0>
<a name="l18"></a> </span><span class=cF9>I64</span><span class=cF0> size; </span><span class=cF2>//In bytes</span><span class=cF0>

View file

@ -29,7 +29,7 @@ body {background-color:#fef1f0;}
<a name="l2"></a>edited and by using cursor keys, text can be injected all over the document. </span><span class=cF4><u>Sprites</u></span><span class=cF0> can be injected and are not serialized!
<a name="l3"></a>Furthermore, the input can come from triggering macro widgets. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/DolDocOverview.DD.html#l1"><span class=cF4>Doc Overview</span></a><span class=cF0> and </span><span class=cF4><u>Doc Routines</u></span><span class=cF0>.
<a name="l4"></a>
<a name="l5"></a>If you had a remote term and sent key </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4272"><span class=cF4>Scan Codes</span></a><span class=cF0>, the user would press </span><span class=cF2>&lt;CTRL-m&gt;</span><span class=cF0> to access his </span><span class=cF2>Personal Menu</span><span class=cF0> to trigger his
<a name="l5"></a>If you had a remote term and sent key </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4220"><span class=cF4>Scan Codes</span></a><span class=cF0>, the user would press </span><span class=cF2>&lt;CTRL-m&gt;</span><span class=cF0> to access his </span><span class=cF2>Personal Menu</span><span class=cF0> to trigger his
<a name="l6"></a>macros. However, the local </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/PersonalMenu.DD.html#l1"><span class=cF4>~/PersonalMenu.DD</span></a><span class=cF0> might differ from the remote, causing loss of sync between local and remote
<a name="l7"></a>sessions. Also, the window size of local and remote might differ, so word-wrapped text would be different. Injecting
<a name="l8"></a>output text with different windows sizes would cause remote and local documents to not be in sync.

View file

@ -29,8 +29,8 @@ body {background-color:#fef1f0;}
<a name="l2"></a>code takes care of plotting text to </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrGlobals.CC.html#l3"><span class=cF4>gr.text_base</span></a><span class=cF0>.
<a name="l3"></a>
<a name="l4"></a>Bits 0-7 8-Bit ASCII Screen Code
<a name="l5"></a>Bits 8-11 Foreground </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3669"><span class=cF4>color</span></a><span class=cF0>
<a name="l6"></a>Bits 12-15 Background </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3669"><span class=cF4>color</span></a><span class=cF0>
<a name="l5"></a>Bits 8-11 Foreground </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3617"><span class=cF4>color</span></a><span class=cF0>
<a name="l6"></a>Bits 12-15 Background </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3617"><span class=cF4>color</span></a><span class=cF0>
<a name="l7"></a>Bits 16-20 Signed X pos shift val
<a name="l8"></a>Bits 21-25 Signed Y pos shift val
<a name="l9"></a>Bit 28 </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1030"><span class=cF4>Blink</span></a><span class=cF0>

View file

@ -83,11 +83,11 @@ body {background-color:#fef1f0;}
<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#l4030"><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#l3257"><span class=cF4>CDirEntry</span></a><span class=cF0> have them. You shouldn't encounter conflicts with ZealOS using them.
<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#l3978"><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#l3205"><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#l3597"><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="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#l3545"><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#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
@ -189,7 +189,7 @@ body {background-color:#fef1f0;}
<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#l3527"><span class=cF4>_CONFIG_HEAP_DEBUG</span></a><span class=cF0>. You're on your own.
<a name="l165"></a>* For advanced heap debugging, play with </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3475"><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>

View file

@ -25,14 +25,14 @@ body {background-color:#fef1f0;}
</head>
<body>
<pre style="font-family:monospace;font-size:12pt">
<a name="l1"></a><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4352"><span class=cF4>CDC</span></a><span class=cF0>'s have a 4x4 matrix for rotating, scaling, skewing and shifting in 3 dimensions. To make the graphics routines use the
<a name="l2"></a>transform, you must set the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4323"><span class=cF4>DCF_TRANSFORMATION</span></a><span class=cF0> flag.
<a name="l1"></a><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4300"><span class=cF4>CDC</span></a><span class=cF0>'s have a 4x4 matrix for rotating, scaling, skewing and shifting in 3 dimensions. To make the graphics routines use the
<a name="l2"></a>transform, you must set the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4271"><span class=cF4>DCF_TRANSFORMATION</span></a><span class=cF0> flag.
<a name="l3"></a>
<a name="l4"></a>The matrix consists of ints that have been scaled 32 bits (</span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l4"><span class=cF4>GR_SCALE</span></a><span class=cF0>). See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Lectures/FixedPoint.CC.html#l1"><span class=cF4>::/Demo/Lectures/FixedPoint.CC</span></a><span class=cF0> to learn why.
<a name="l5"></a>
<a name="l6"></a>See </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l27"><span class=cF4>Mat4x4IdentEqu</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l38"><span class=cF4>Mat4x4IdentNew</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrMath.CC.html#l130"><span class=cF4>Mat4x4Equ</span></a><span class=cF0>() and </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrMath.CC.html#l137"><span class=cF4>Mat4x4New</span></a><span class=cF0>(). See </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrMath.CC.html#l142"><span class=cF4>Mat4x4RotX</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrMath.CC.html#l158"><span class=cF4>Mat4x4RotY</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrMath.CC.html#l174"><span class=cF4>Mat4x4RotZ</span></a><span class=cF0>() and </span><span class=cF4>
<a name="l7"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrMath.CC.html#l190"><span class=cF4>Mat4x4Scale</span></a><span class=cF0>() to rotate about axes and scale. Combine them with </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrMath.CC.html#l104"><span class=cF4>Mat4x4MulMat4x4Equ</span></a><span class=cF0>()/</span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrMath.CC.html#l124"><span class=cF4>Mat4x4MulMat4x4New</span></a><span class=cF0>() and assign them to
<a name="l8"></a>the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4352"><span class=cF4>CDC</span></a><span class=cF0>.</span><span class=cF2>dc</span><span class=cF0> with </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l51"><span class=cF4>DCMat4x4Set</span></a><span class=cF0>(). See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Graphics/Box.CC.html#l1"><span class=cF4>::/Demo/Graphics/Box.CC</span></a><span class=cF0>.
<a name="l8"></a>the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4300"><span class=cF4>CDC</span></a><span class=cF0>.</span><span class=cF2>dc</span><span class=cF0> with </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l51"><span class=cF4>DCMat4x4Set</span></a><span class=cF0>(). See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Graphics/Box.CC.html#l1"><span class=cF4>::/Demo/Graphics/Box.CC</span></a><span class=cF0>.
<a name="l9"></a>
<a name="l10"></a>You can rotate single points using </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l6"><span class=cF4>Mat4x4MulXYZ</span></a><span class=cF0>().
<a name="l11"></a>
@ -40,9 +40,9 @@ body {background-color:#fef1f0;}
<a name="l13"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrMath.CC.html#l124"><span class=cF4>Mat4x4MulMat4x4New</span></a><span class=cF0> them to combine rotation/shift operations. Normally, you can't combine pos shift operations. See </span><span class=cF4>
<a name="l14"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrMath.CC.html#l216"><span class=cF4>Mat4x4TranslationEqu</span></a><span class=cF0>() and </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Graphics/Transform.CC.html#l1"><span class=cF4>::/Demo/Graphics/Transform.CC</span></a><span class=cF0>.
<a name="l15"></a>
<a name="l16"></a>Finally, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4352"><span class=cF4>CDC</span></a><span class=cF0>'s have an </span><span class=cF2>x</span><span class=cF0>, </span><span class=cF2>y</span><span class=cF0> and </span><span class=cF2>z</span><span class=cF0> which is an additional shift (translation).
<a name="l16"></a>Finally, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4300"><span class=cF4>CDC</span></a><span class=cF0>'s have an </span><span class=cF2>x</span><span class=cF0>, </span><span class=cF2>y</span><span class=cF0> and </span><span class=cF2>z</span><span class=cF0> which is an additional shift (translation).
<a name="l17"></a>
<a name="l18"></a>The transformation is implemented as a callback on the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4352"><span class=cF4>CDC</span></a><span class=cF0>'s </span><span class=cF2>transform()</span><span class=cF0> member. The default </span><span class=cF2>transform()</span><span class=cF0> callback is </span><span class=cF4>
<a name="l18"></a>The transformation is implemented as a callback on the </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4300"><span class=cF4>CDC</span></a><span class=cF0>'s </span><span class=cF2>transform()</span><span class=cF0> member. The default </span><span class=cF2>transform()</span><span class=cF0> callback is </span><span class=cF4>
<a name="l19"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l18"><span class=cF4>DCTransform</span></a><span class=cF0>(). See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Games/Talons.CC.html#l1"><span class=cF4>::/Demo/Games/Talons.CC</span></a><span class=cF0> or </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/Games/CastleFrankenstein.CC.html#l1"><span class=cF4>::/Demo/Games/CastleFrankenstein.CC</span></a><span class=cF0> to see how to change the </span><span class=cF2>transform()</span><span class=cF0>
<a name="l20"></a>callback for foreshortening.
</span></pre></body>

View file

@ -37,7 +37,7 @@ body {background-color:#fef1f0;}
<a name="l10"></a>
<a name="l11"></a>Simplicity is a goal to </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/Strategy.DD.html#l1"><span class=cF4>keep the line count down</span></a><span class=cF0>, so it's easy to tinker with. As it turns-out, simplicity makes it faster in
<a name="l12"></a>some ways, too. It never switches privilege levels, never changes address maps, tends to load whole contiguous files and
<a name="l13"></a>other, similar things which boost speed. It's only 94,866 lines of code including the kernel, the 64-bit compiler, the
<a name="l13"></a>other, similar things which boost speed. It's only 94,787 lines of code including the kernel, the 64-bit compiler, the
<a name="l14"></a>graphics library and all the tools. More importantly, it's designed to keep the user's line count down -- you can do a </span><span class=cF4>
<a name="l15"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/HelloWorld.DD.html#l1"><span class=cF4>Hello World</span></a><span class=cF0> application in one line of code and can put graphics on the screen with a three line program!
<a name="l16"></a>
@ -143,8 +143,8 @@ body {background-color:#fef1f0;}
<a name="l116"></a>use for multicore is primarily putting graphics on the screen. Hardware graphics acceleration is not used, so this is
<a name="l117"></a>possible. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/MultiCore.DD.html#l1"><span class=cF4>ZealOS MultiCore</span></a><span class=cF0>.
<a name="l118"></a>
<a name="l119"></a>There is no distinction between the terms </span><span class=cF2>task</span><span class=cF0>, </span><span class=cF2>process</span><span class=cF0> or </span><span class=cF2>thread</span><span class=cF0>. All have a task record, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4030"><span class=cF4>CTask</span></a><span class=cF0>, pointed to by the </span><span class=cF2>FS</span><span class=cF0>
<a name="l120"></a>segment reg and are accessed with </span><span class=cF4>Fs-&gt;</span><span class=cF0> while </span><span class=cF4>Gs-&gt;</span><span class=cF0> points to a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4149"><span class=cF4>CCPU</span></a><span class=cF0> for the current CPU core. Each task can have just one
<a name="l119"></a>There is no distinction between the terms </span><span class=cF2>task</span><span class=cF0>, </span><span class=cF2>process</span><span class=cF0> or </span><span class=cF2>thread</span><span class=cF0>. All have a task record, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3978"><span class=cF4>CTask</span></a><span class=cF0>, pointed to by the </span><span class=cF2>FS</span><span class=cF0>
<a name="l120"></a>segment reg and are accessed with </span><span class=cF4>Fs-&gt;</span><span class=cF0> while </span><span class=cF4>Gs-&gt;</span><span class=cF0> points to a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4097"><span class=cF4>CCPU</span></a><span class=cF0> for the current CPU core. Each task can have just one
<a name="l121"></a>window, but a task can have children with windows. (The segment regs are just used as extra regs -- there is nothing
<a name="l122"></a>segmented about ZealOS' memory.) It is approximately the case that </span><span class=cF2>ZealOS</span><span class=cF0> is multi-threading, single-processing.
<a name="l123"></a>

File diff suppressed because it is too large Load diff

View file

@ -69,7 +69,7 @@ body {background-color:#fef1f0;}
<a name="l42"></a> res = </span><span class=cF5>BlkDevNextFreeSlot</span><span class=cF0>(first_drive_let, type);
<a name="l43"></a> res-&gt;port_num = port_num;
<a name="l44"></a> res-&gt;ahci_port = &amp;</span><span class=cFB>blkdev</span><span class=cF0>.ahci_hba-&gt;ports[port_num];
<a name="l45"></a> res-&gt;ahci_port-&gt;cmd_list_base = </span><span class=cF3>NULL</span><span class=cF0>; </span><span class=cF2>// See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskAHCI.CC.html#l1139"><span class=cF4>AHCIAtaInit</span></a><span class=cF2> ...</span><span class=cF0>
<a name="l45"></a> res-&gt;ahci_port-&gt;cmd_list_base = </span><span class=cF3>NULL</span><span class=cF0>; </span><span class=cF2>// See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskAHCI.CC.html#l1122"><span class=cF4>AHCIAtaInit</span></a><span class=cF2> ...</span><span class=cF0>
<a name="l46"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>BlkDevAdd</span><span class=cF7>(</span><span class=cF0>res,, </span><span class=cF3>FALSE</span><span class=cF0>, </span><span class=cF3>FALSE</span><span class=cF7>)</span><span class=cF0>)
<a name="l47"></a> </span><span class=cF1>return</span><span class=cF0> res;
<a name="l48"></a> </span><span class=cF7>}</span><span class=cF0>

View file

@ -192,7 +192,7 @@ body {background-color:#fef1f0;}
<a name="l165"></a>{</span><span class=cF2>//Write CD/DVD ISO file to disk.</span><span class=cF0>
<a name="l166"></a> CDualBuf *d = </span><span class=cF5>CAlloc</span><span class=cF0>(</span><span class=cF1>sizeof</span><span class=cF7>(</span><span class=cF0>CDualBuf</span><span class=cF7>)</span><span class=cF0>);
<a name="l167"></a> </span><span class=cF1>U8</span><span class=cF0> *buf, *in_name2, *in_name3;
<a name="l168"></a> </span><span class=cF9>I64</span><span class=cF0> i, n, spc, blk = </span><span class=cFE>0</span><span class=cF0>, count;
<a name="l168"></a> </span><span class=cF9>I64</span><span class=cF0> n, spc, blk = </span><span class=cFE>0</span><span class=cF0>, count;
<a name="l169"></a> </span><span class=cF9>CDrive</span><span class=cF0> *drive = </span><span class=cF5>Letter2Drive</span><span class=cF0>(dvd_drive_let);
<a name="l170"></a> </span><span class=cF9>CBlkDev</span><span class=cF0> *bd = drive-&gt;bd, *bd2;
<a name="l171"></a> </span><span class=cF9>CTask</span><span class=cF0> *task;
@ -240,81 +240,72 @@ body {background-color:#fef1f0;}
<a name="l213"></a></span><span class=cF2>//*/</span><span class=cF0>
<a name="l214"></a>
<a name="l215"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>BlkDevLock(bd);</span><span class=cF0>
<a name="l216"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>IDEATAPIWaitReady(bd, 0);</span><span class=cF0>
<a name="l217"></a> </span><span class=cFD>AHCIPortWait</span><span class=cF0>(bd-&gt;port_num, </span><span class=cF5>tS</span><span class=cF0> + </span><span class=cFE>2</span><span class=cF0>);
<a name="l218"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>AHCIAtapiSeek(bd, blk);</span><span class=cF0>
<a name="l219"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>AHCIPortWait(bd-&gt;port_num, tS + 2);</span><span class=cF0>
<a name="l220"></a> </span><span class=cF5>AHCIAtapiBlank</span><span class=cF0>(bd);
<a name="l221"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>AHCIAtapiFormat(bd, count);</span><span class=cF0>
<a name="l222"></a> bd-&gt;flags |= </span><span class=cF3>BDF_LAST_WAS_WRITE</span><span class=cF0>;
<a name="l223"></a> </span><span class=cFD>AHCIAtapiModeWriteSet</span><span class=cF0>(bd);
<a name="l224"></a>
<a name="l225"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>AHCIAtapiBlksWrite(bd, buf, blk / spc, (count + spc - 1) / spc, FALSE);</span><span class=cF0>
<a name="l226"></a>
<a name="l227"></a> </span><span class=cFB>progress1</span><span class=cF0> = </span><span class=cFE>0</span><span class=cF0>;
<a name="l228"></a> </span><span class=cFB>progress1_max</span><span class=cF0> = count;
<a name="l229"></a> </span><span class=cF5>StrCopy</span><span class=cF0>(</span><span class=cFB>progress1_desc</span><span class=cF0>, </span><span class=cF6>&quot;Writing&quot;</span><span class=cF0>);
<a name="l230"></a> </span><span class=cF1>while</span><span class=cF0> (count &gt; </span><span class=cFE>0</span><span class=cF0>)
<a name="l231"></a> </span><span class=cF7>{</span><span class=cF0>
<a name="l232"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>if (count &gt; DVD_WRITE_BLKS)</span><span class=cF0>
<a name="l233"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>n = DVD_WRITE_BLKS;</span><span class=cF0>
<a name="l234"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>else</span><span class=cF0>
<a name="l235"></a> n = count;
<a name="l236"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>if (n &gt; bd-&gt;max_writes)</span><span class=cF0>
<a name="l237"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>n = bd-&gt;max_writes;</span><span class=cF0>
<a name="l238"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>if (d-&gt;out_buf &amp; 1)</span><span class=cF0>
<a name="l239"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>buf = d-&gt;buf1;</span><span class=cF0>
<a name="l240"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>else</span><span class=cF0>
<a name="l241"></a> buf = d-&gt;buf0;
<a name="l242"></a> </span><span class=cF1>while</span><span class=cF0> (d-&gt;in_buf &lt;= d-&gt;out_buf)
<a name="l243"></a> </span><span class=cF5>Yield</span><span class=cF0>;
<a name="l244"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>IDEATAPIWriteBlks(bd, buf, blk / spc, (n + spc - 1) / spc);</span><span class=cF0>
<a name="l245"></a> </span><span class=cF6>&quot;AHCIAtapiBlksWrite(bd, 0x%0X, 0x%0X, %d, FALSE);\n&quot;</span><span class=cF0>, buf, blk / spc, (n + spc - </span><span class=cFE>1</span><span class=cF0>) / spc;
<a name="l246"></a> </span><span class=cFD>AHCIAtapiBlksWrite</span><span class=cF0>(bd, buf, blk / spc, </span><span class=cF7>(</span><span class=cF0>n + spc - </span><span class=cFE>1</span><span class=cF7>)</span><span class=cF0> / spc, </span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l247"></a> d-&gt;out_buf++;
<a name="l248"></a> count -= n;
<a name="l249"></a> blk += n;
<a name="l250"></a> </span><span class=cFB>progress1</span><span class=cF0> += n;
<a name="l251"></a> </span><span class=cF7>}</span><span class=cF0>
<a name="l252"></a></span><span class=cF2>//*/</span><span class=cF0>
<a name="l253"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>IDEATAPISync(bd);</span><span class=cF0>
<a name="l254"></a> </span><span class=cFD>AHCIAtapiSync</span><span class=cF0>(bd);
<a name="l255"></a>
<a name="l256"></a> </span><span class=cFB>progress1</span><span class=cF0> = </span><span class=cFE>0</span><span class=cF0>;
<a name="l257"></a> </span><span class=cFB>progress1_max</span><span class=cF0> = </span><span class=cFE>2</span><span class=cF0>;
<a name="l258"></a> </span><span class=cF5>StrCopy</span><span class=cF0>(</span><span class=cFB>progress1_desc</span><span class=cF0>, </span><span class=cF6>&quot;Closing&quot;</span><span class=cF0>);
<a name="l259"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>for (i = 0; i &lt; 2; i++)</span><span class=cF0>
<a name="l260"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>{</span><span class=cF0>
<a name="l261"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>IDEATAPIClose(bd, 0x100, i); //Close tracks</span><span class=cF0>
<a name="l262"></a> </span><span class=cFD>AHCIAtapiClose</span><span class=cF0>(bd, </span><span class=cFE>0x100</span><span class=cF0>, </span><span class=cFE>0xFF</span><span class=cF0>); </span><span class=cF2>//Close tracks</span><span class=cF0>
<a name="l263"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>progress1++;</span><span class=cF0>
<a name="l264"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>}</span><span class=cF0>
<a name="l265"></a>
<a name="l266"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>IDEATAPISync(bd);</span><span class=cF0>
<a name="l267"></a> </span><span class=cFD>AHCIAtapiSync</span><span class=cF0>(bd);
<a name="l268"></a>
<a name="l269"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>IDEATAPIClose(bd, 0x200); //close disk</span><span class=cF0>
<a name="l270"></a> </span><span class=cFD>AHCIAtapiClose</span><span class=cF0>(bd, </span><span class=cFE>0x200</span><span class=cF0>); </span><span class=cF2>//close disk</span><span class=cF0>
<a name="l271"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>IDEATAPISync(bd);</span><span class=cF0>
<a name="l272"></a> </span><span class=cFD>AHCIAtapiSync</span><span class=cF0>(bd);
<a name="l273"></a> </span><span class=cF1>if</span><span class=cF0> (media_type == </span><span class=cF3>MT_DVD</span><span class=cF0>)
<a name="l274"></a> </span><span class=cF7>{</span><span class=cF0>
<a name="l275"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>IDEATAPIClose(bd, 0x300);</span><span class=cF0>
<a name="l276"></a> </span><span class=cFD>AHCIAtapiClose</span><span class=cF0>(bd, </span><span class=cFE>0x300</span><span class=cF0>);
<a name="l277"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>IDEATAPISync(bd);</span><span class=cF0>
<a name="l278"></a> </span><span class=cFD>AHCIAtapiSync</span><span class=cF0>(bd);
<a name="l279"></a> </span><span class=cF7>}</span><span class=cF0>
<a name="l280"></a>
<a name="l281"></a> *</span><span class=cFB>progress1_desc</span><span class=cF0> = </span><span class=cFE>0</span><span class=cF0>;
<a name="l282"></a> </span><span class=cFB>progress1</span><span class=cF0> = </span><span class=cFB>progress1_max</span><span class=cF0> = </span><span class=cFE>0</span><span class=cF0>;
<a name="l283"></a>
<a name="l284"></a> bd-&gt;flags &amp;= ~</span><span class=cF3>BDF_READ_ONLY_OVERRIDE</span><span class=cF0>;
<a name="l285"></a> </span><span class=cF5>BlkDevUnlock</span><span class=cF0>(bd);
<a name="l286"></a> </span><span class=cF5>Free</span><span class=cF0>(d-&gt;buf0);
<a name="l287"></a> </span><span class=cF5>Free</span><span class=cF0>(d-&gt;buf1);
<a name="l288"></a> </span><span class=cF5>Free</span><span class=cF0>(in_name2);
<a name="l289"></a> </span><span class=cF5>Free</span><span class=cF0>(in_name3);
<a name="l290"></a> </span><span class=cF5>Free</span><span class=cF0>(d);
<a name="l291"></a>}
<a name="l216"></a> </span><span class=cFD>AHCIPortWait</span><span class=cF0>(bd-&gt;port_num, </span><span class=cF5>tS</span><span class=cF0> + </span><span class=cFE>2</span><span class=cF0>);
<a name="l217"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>AHCIAtapiSeek(bd, blk);</span><span class=cF0>
<a name="l218"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>AHCIPortWait(bd-&gt;port_num, tS + 2);</span><span class=cF0>
<a name="l219"></a> </span><span class=cF5>AHCIAtapiBlank</span><span class=cF0>(bd);
<a name="l220"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>AHCIAtapiFormat(bd, count);</span><span class=cF0>
<a name="l221"></a> bd-&gt;flags |= </span><span class=cF3>BDF_LAST_WAS_WRITE</span><span class=cF0>;
<a name="l222"></a> </span><span class=cFD>AHCIAtapiModeWriteSet</span><span class=cF0>(bd);
<a name="l223"></a>
<a name="l224"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>AHCIAtapiBlksWrite(bd, buf, blk / spc, (count + spc - 1) / spc, FALSE);</span><span class=cF0>
<a name="l225"></a>
<a name="l226"></a> </span><span class=cFB>progress1</span><span class=cF0> = </span><span class=cFE>0</span><span class=cF0>;
<a name="l227"></a> </span><span class=cFB>progress1_max</span><span class=cF0> = count;
<a name="l228"></a> </span><span class=cF5>StrCopy</span><span class=cF0>(</span><span class=cFB>progress1_desc</span><span class=cF0>, </span><span class=cF6>&quot;Writing&quot;</span><span class=cF0>);
<a name="l229"></a> </span><span class=cF1>while</span><span class=cF0> (count &gt; </span><span class=cFE>0</span><span class=cF0>)
<a name="l230"></a> </span><span class=cF7>{</span><span class=cF0>
<a name="l231"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>if (count &gt; DVD_WRITE_BLKS)</span><span class=cF0>
<a name="l232"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>n = DVD_WRITE_BLKS;</span><span class=cF0>
<a name="l233"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>else</span><span class=cF0>
<a name="l234"></a> n = count;
<a name="l235"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>if (n &gt; bd-&gt;max_writes)</span><span class=cF0>
<a name="l236"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>n = bd-&gt;max_writes;</span><span class=cF0>
<a name="l237"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>if (d-&gt;out_buf &amp; 1)</span><span class=cF0>
<a name="l238"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>buf = d-&gt;buf1;</span><span class=cF0>
<a name="l239"></a></span><span class=cF2>//</span><span class=cF0> </span><span class=cF2>else</span><span class=cF0>
<a name="l240"></a> buf = d-&gt;buf0;
<a name="l241"></a> </span><span class=cF1>while</span><span class=cF0> (d-&gt;in_buf &lt;= d-&gt;out_buf)
<a name="l242"></a> </span><span class=cF5>Yield</span><span class=cF0>;
<a name="l243"></a> </span><span class=cF6>&quot;AHCIAtapiBlksWrite(bd, 0x%0X, 0x%0X, %d, FALSE);\n&quot;</span><span class=cF0>, buf, blk / spc, (n + spc - </span><span class=cFE>1</span><span class=cF0>) / spc;
<a name="l244"></a> </span><span class=cFD>AHCIAtapiBlksWrite</span><span class=cF0>(bd, buf, blk / spc, </span><span class=cF7>(</span><span class=cF0>n + spc - </span><span class=cFE>1</span><span class=cF7>)</span><span class=cF0> / spc, </span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l245"></a> d-&gt;out_buf++;
<a name="l246"></a> count -= n;
<a name="l247"></a> blk += n;
<a name="l248"></a> </span><span class=cFB>progress1</span><span class=cF0> += n;
<a name="l249"></a> </span><span class=cF7>}</span><span class=cF0>
<a name="l250"></a></span><span class=cF2>//*/</span><span class=cF0>
<a name="l251"></a> </span><span class=cFD>AHCIAtapiSync</span><span class=cF0>(bd);
<a name="l252"></a>
<a name="l253"></a> </span><span class=cFB>progress1</span><span class=cF0> = </span><span class=cFE>0</span><span class=cF0>;
<a name="l254"></a> </span><span class=cFB>progress1_max</span><span class=cF0> = </span><span class=cFE>2</span><span class=cF0>;
<a name="l255"></a> </span><span class=cF5>StrCopy</span><span class=cF0>(</span><span class=cFB>progress1_desc</span><span class=cF0>, </span><span class=cF6>&quot;Closing&quot;</span><span class=cF0>);
<a name="l256"></a> </span><span class=cFD>AHCIAtapiClose</span><span class=cF0>(bd, </span><span class=cFE>0x100</span><span class=cF0>, </span><span class=cFE>0xFF</span><span class=cF0>); </span><span class=cF2>//Close tracks</span><span class=cF0>
<a name="l257"></a> </span><span class=cFB>progress1</span><span class=cF0>++;
<a name="l258"></a>
<a name="l259"></a> </span><span class=cFD>AHCIAtapiSync</span><span class=cF0>(bd);
<a name="l260"></a>
<a name="l261"></a> </span><span class=cFD>AHCIAtapiClose</span><span class=cF0>(bd, </span><span class=cFE>0x200</span><span class=cF0>); </span><span class=cF2>//close disk</span><span class=cF0>
<a name="l262"></a> </span><span class=cFB>progress1</span><span class=cF0>++;
<a name="l263"></a>
<a name="l264"></a> </span><span class=cFD>AHCIAtapiSync</span><span class=cF0>(bd);
<a name="l265"></a> </span><span class=cF1>if</span><span class=cF0> (media_type == </span><span class=cF3>MT_DVD</span><span class=cF0>)
<a name="l266"></a> </span><span class=cF7>{</span><span class=cF0>
<a name="l267"></a> </span><span class=cFD>AHCIAtapiClose</span><span class=cF0>(bd, </span><span class=cFE>0x300</span><span class=cF0>);
<a name="l268"></a> </span><span class=cFB>progress1</span><span class=cF0>++;
<a name="l269"></a> </span><span class=cFD>AHCIAtapiSync</span><span class=cF0>(bd);
<a name="l270"></a> </span><span class=cF7>}</span><span class=cF0>
<a name="l271"></a>
<a name="l272"></a> *</span><span class=cFB>progress1_desc</span><span class=cF0> = </span><span class=cFE>0</span><span class=cF0>;
<a name="l273"></a> </span><span class=cFB>progress1</span><span class=cF0> = </span><span class=cFB>progress1_max</span><span class=cF0> = </span><span class=cFE>0</span><span class=cF0>;
<a name="l274"></a>
<a name="l275"></a> bd-&gt;flags &amp;= ~</span><span class=cF3>BDF_READ_ONLY_OVERRIDE</span><span class=cF0>;
<a name="l276"></a> </span><span class=cF5>BlkDevUnlock</span><span class=cF0>(bd);
<a name="l277"></a> </span><span class=cF5>Free</span><span class=cF0>(d-&gt;buf0);
<a name="l278"></a> </span><span class=cF5>Free</span><span class=cF0>(d-&gt;buf1);
<a name="l279"></a> </span><span class=cF5>Free</span><span class=cF0>(in_name2);
<a name="l280"></a> </span><span class=cF5>Free</span><span class=cF0>(in_name3);
<a name="l281"></a> </span><span class=cF5>Free</span><span class=cF0>(d);
<a name="l282"></a>}
</span></pre></body>
</html>

View file

@ -26,7 +26,7 @@ body {background-color:#fef1f0;}
<body>
<pre style="font-family:monospace;font-size:12pt">
<a name="l1"></a><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>DirNew</span><span class=cF0>(</span><span class=cF9>CDrive</span><span class=cF0> *drive, </span><span class=cF1>U8</span><span class=cF0> *cur_dir, </span><span class=cF9>CDirEntry</span><span class=cF0> *tmpde, </span><span class=cF1>Bool</span><span class=cF0> free_old_chain=</span><span class=cF3>TRUE</span><span class=cF0>)
<a name="l2"></a>{</span><span class=cF2>//Makes a directory entry in the directory from a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3257"><span class=cF4>CDirEntry</span></a><span class=cF2> node.</span><span class=cF0>
<a name="l2"></a>{</span><span class=cF2>//Makes a directory entry in the directory from a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3205"><span class=cF4>CDirEntry</span></a><span class=cF2> node.</span><span class=cF0>
<a name="l3"></a> </span><span class=cF1>switch</span><span class=cF0> (drive-&gt;fs_type)
<a name="l4"></a> </span><span class=cF7>{</span><span class=cF0>
<a name="l5"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cF3>FSt_REDSEA</span><span class=cF0>:

View file

@ -218,7 +218,7 @@ body {background-color:#fef1f0;}
<a name="l191"></a>}
<a name="l192"></a>
<a name="l193"></a></span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>Letter2BlkDevType</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> drv_let)
<a name="l194"></a>{</span><span class=cF2>//Drive letter to BlkDev Type. drv_let=0 not allowed. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3330"><span class=cF4>BDT_NULL</span></a><span class=cF2>.</span><span class=cF0>
<a name="l194"></a>{</span><span class=cF2>//Drive letter to BlkDev Type. drv_let=0 not allowed. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3278"><span class=cF4>BDT_NULL</span></a><span class=cF2>.</span><span class=cF0>
<a name="l195"></a> drv_let = </span><span class=cF5>Letter2Letter</span><span class=cF0>(drv_let);
<a name="l196"></a>
<a name="l197"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF6>'A'</span><span class=cF0> &lt;= drv_let &lt;= </span><span class=cF6>'B'</span><span class=cF0>)

View file

@ -90,7 +90,7 @@ body {background-color:#fef1f0;}
<a name="l63"></a>}
<a name="l64"></a>
<a name="l65"></a></span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>FileFind</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *filename, </span><span class=cF9>CDirEntry</span><span class=cF0> *_de=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> fuf_flags=</span><span class=cFE>0</span><span class=cF0>)
<a name="l66"></a>{</span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3309"><span class=cF4>FUF_JUST_DIRS</span></a><span class=cF2>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3310"><span class=cF4>FUF_JUST_FILES</span></a><span class=cF2>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3318"><span class=cF4>FUF_SCAN_PARENTS</span></a><span class=cF0>
<a name="l66"></a>{</span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3257"><span class=cF4>FUF_JUST_DIRS</span></a><span class=cF2>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3258"><span class=cF4>FUF_JUST_FILES</span></a><span class=cF2>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3266"><span class=cF4>FUF_SCAN_PARENTS</span></a><span class=cF0>
<a name="l67"></a></span><span class=cF2>//If you pass _de, you must Free(_de-&gt;full_name);</span><span class=cF0>
<a name="l68"></a> </span><span class=cF9>I64</span><span class=cF0> cur_dir_clus;
<a name="l69"></a> </span><span class=cF1>U8</span><span class=cF0> *full_name = </span><span class=cF3>NULL</span><span class=cF0>;

View file

@ -95,7 +95,7 @@ body {background-color:#fef1f0;}
<a name="l68"></a>{</span><span class=cF2>//Format hard drive or RAM drive.</span><span class=cF0>
<a name="l69"></a></span><span class=cF2>//Warning: Destroys all prev info.</span><span class=cF0>
<a name="l70"></a> </span><span class=cF2>//quick=FALSE means fill entire drive with zeros.</span><span class=cF0>
<a name="l71"></a> </span><span class=cF2>//Choose </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3401"><span class=cF4>FSt_FAT32</span></a><span class=cF2> or </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3400"><span class=cF4>FSt_REDSEA</span></a><span class=cF2>.</span><span class=cF0>
<a name="l71"></a> </span><span class=cF2>//Choose </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3349"><span class=cF4>FSt_FAT32</span></a><span class=cF2> or </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3348"><span class=cF4>FSt_REDSEA</span></a><span class=cF2>.</span><span class=cF0>
<a name="l72"></a> </span><span class=cF2>//You don't format a CD/DVD with this.</span><span class=cF0>
<a name="l73"></a> </span><span class=cF9>CDrive</span><span class=cF0> *drive = </span><span class=cF5>Letter2Drive</span><span class=cF0>(drv_let);
<a name="l74"></a> </span><span class=cF1>Bool</span><span class=cF0> old_silent = </span><span class=cF5>IsSilent</span><span class=cF0>;

View file

@ -216,7 +216,7 @@ body {background-color:#fef1f0;}
<a name="l189"></a>}
<a name="l190"></a>
<a name="l191"></a></span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>FileNameAbs</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *_filename, </span><span class=cF9>I64</span><span class=cF0> fuf_flags=</span><span class=cF3>NONE</span><span class=cF0>)
<a name="l192"></a>{</span><span class=cF2>//Absolute filename. Accepts </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3318"><span class=cF4>FUF_SCAN_PARENTS</span></a><span class=cF2>.</span><span class=cF0>
<a name="l192"></a>{</span><span class=cF2>//Absolute filename. Accepts </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3266"><span class=cF4>FUF_SCAN_PARENTS</span></a><span class=cF2>.</span><span class=cF0>
<a name="l193"></a> </span><span class=cF1>U8</span><span class=cF0> *res, *filename, *buf, *buf_file, *buf_dir, *free_filename, *free_buf;
<a name="l194"></a> </span><span class=cF9>CDirEntry</span><span class=cF0> de;
<a name="l195"></a>

View file

@ -346,7 +346,7 @@ body {background-color:#fef1f0;}
<a name="l319"></a>}
<a name="l320"></a>
<a name="l321"></a></span><span class=cF1>Bool</span><span class=cF0> </span><span class=cFD>FAT32FileFind</span><span class=cF0>(</span><span class=cF9>CDrive</span><span class=cF0> *drive, </span><span class=cF9>I64</span><span class=cF0> cur_dir_clus, </span><span class=cF1>U8</span><span class=cF0> *name, </span><span class=cF9>CDirEntry</span><span class=cF0> *_res, </span><span class=cF9>I64</span><span class=cF0> fuf_flags=</span><span class=cFE>0</span><span class=cF0>)
<a name="l322"></a>{</span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3309"><span class=cF4>FUF_JUST_DIRS</span></a><span class=cF2>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3310"><span class=cF4>FUF_JUST_FILES</span></a><span class=cF0>
<a name="l322"></a>{</span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3257"><span class=cF4>FUF_JUST_DIRS</span></a><span class=cF2>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3258"><span class=cF4>FUF_JUST_FILES</span></a><span class=cF0>
<a name="l323"></a> </span><span class=cF1>Bool</span><span class=cF0> res = </span><span class=cF3>FALSE</span><span class=cF0>, unlock;
<a name="l324"></a> </span><span class=cF9>CFAT32DirEntry</span><span class=cF0> *buf;
<a name="l325"></a> </span><span class=cF9>I64</span><span class=cF0> xsum = </span><span class=cFE>0</span><span class=cF0>, attr, cur_dir_entry, entries_per_clus;

View file

@ -196,7 +196,7 @@ body {background-color:#fef1f0;}
<a name="l169"></a>}
<a name="l170"></a>
<a name="l171"></a></span><span class=cF1>Bool</span><span class=cF0> </span><span class=cFD>RedSeaFileFind</span><span class=cF0>(</span><span class=cF9>CDrive</span><span class=cF0> *drive, </span><span class=cF9>I64</span><span class=cF0> cur_dir_clus, </span><span class=cF1>U8</span><span class=cF0> *name, </span><span class=cF9>CDirEntry</span><span class=cF0> *_res, </span><span class=cF9>I64</span><span class=cF0> fuf_flags=</span><span class=cFE>0</span><span class=cF0>)
<a name="l172"></a>{</span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3309"><span class=cF4>FUF_JUST_DIRS</span></a><span class=cF2>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3310"><span class=cF4>FUF_JUST_FILES</span></a><span class=cF0>
<a name="l172"></a>{</span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3257"><span class=cF4>FUF_JUST_DIRS</span></a><span class=cF2>, </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3258"><span class=cF4>FUF_JUST_FILES</span></a><span class=cF0>
<a name="l173"></a> </span><span class=cF9>CDirEntry</span><span class=cF0> *buf, *buf2, *ptr;
<a name="l174"></a> </span><span class=cF1>U8</span><span class=cF0> dname[</span><span class=cF3>CDIR_FILENAME_LEN</span><span class=cF0>];
<a name="l175"></a> </span><span class=cF9>I64</span><span class=cF0> ch;

View file

@ -169,7 +169,7 @@ body {background-color:#fef1f0;}
<a name="l142"></a>
<a name="l143"></a></span><span class=cF9>CJob</span><span class=cF0> *</span><span class=cF5>TaskMessage</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *_server, </span><span class=cF9>CTask</span><span class=cF0> *master, </span><span class=cF9>I64</span><span class=cF0> message_code, </span><span class=cF9>I64</span><span class=cF0> arg1, </span><span class=cF9>I64</span><span class=cF0> arg2, </span><span class=cF9>I64</span><span class=cF0> flags)
<a name="l144"></a>{</span><span class=cF2>//Post message to servant task.</span><span class=cF0> </span><span class=cF2>Tell who the master task is.</span><span class=cF0>
<a name="l145"></a></span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3888"><span class=cF4>flags</span></a><span class=cF2> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3934"><span class=cF4>message_code</span></a><span class=cF2>.</span><span class=cF0>
<a name="l145"></a></span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3836"><span class=cF4>flags</span></a><span class=cF2> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3882"><span class=cF4>message_code</span></a><span class=cF2>.</span><span class=cF0>
<a name="l146"></a> </span><span class=cF9>CJob</span><span class=cF0> *tmpc1, *tmpc;
<a name="l147"></a> </span><span class=cF9>CTask</span><span class=cF0> *server = _server;
<a name="l148"></a>
@ -320,7 +320,7 @@ body {background-color:#fef1f0;}
<a name="l293"></a>}
<a name="l294"></a>
<a name="l295"></a></span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MessagePost</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF9>I64</span><span class=cF0> message_code, </span><span class=cF9>I64</span><span class=cF0> arg1, </span><span class=cF9>I64</span><span class=cF0> arg2, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>0</span><span class=cF0>)
<a name="l296"></a>{</span><span class=cF2>//Post message to a task and return immediately. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3934"><span class=cF4>message_code</span></a><span class=cF2>.</span><span class=cF0>
<a name="l296"></a>{</span><span class=cF2>//Post message to a task and return immediately. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3882"><span class=cF4>message_code</span></a><span class=cF2>.</span><span class=cF0>
<a name="l297"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>TaskValidate</span><span class=cF7>(</span><span class=cF0>task</span><span class=cF7>)</span><span class=cF0>)
<a name="l298"></a> </span><span class=cF7>{</span><span class=cF0>
<a name="l299"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cF5>Bt</span><span class=cF7>(</span><span class=cF0>&amp;task-&gt;task_flags, </span><span class=cF3>TASKf_INPUT_FILTER_TASK</span><span class=cF7>)</span><span class=cF0>)
@ -331,13 +331,13 @@ body {background-color:#fef1f0;}
<a name="l304"></a>}
<a name="l305"></a>
<a name="l306"></a></span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MessagePostWait</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF9>I64</span><span class=cF0> message_code, </span><span class=cF9>I64</span><span class=cF0> arg1, </span><span class=cF9>I64</span><span class=cF0> arg2, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>0</span><span class=cF0>)
<a name="l307"></a>{</span><span class=cF2>//Post message to a task and wait until task is idle.See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3934"><span class=cF4>message_code</span></a><span class=cF2>.</span><span class=cF0>
<a name="l307"></a>{</span><span class=cF2>//Post message to a task and wait until task is idle.See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3882"><span class=cF4>message_code</span></a><span class=cF2>.</span><span class=cF0>
<a name="l308"></a> </span><span class=cF5>MessagePost</span><span class=cF0>(task, message_code, arg1, arg2, flags);
<a name="l309"></a> </span><span class=cF5>TaskWait</span><span class=cF0>(task);
<a name="l310"></a>}
<a name="l311"></a>
<a name="l312"></a></span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Message</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> message_code, </span><span class=cF9>I64</span><span class=cF0> arg1, </span><span class=cF9>I64</span><span class=cF0> arg2, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>0</span><span class=cF0>)
<a name="l313"></a>{</span><span class=cF2>//Post message to current task and return immediately. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3934"><span class=cF4>message_code</span></a><span class=cF2>.</span><span class=cF0>
<a name="l313"></a>{</span><span class=cF2>//Post message to current task and return immediately. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3882"><span class=cF4>message_code</span></a><span class=cF2>.</span><span class=cF0>
<a name="l314"></a> </span><span class=cF5>MessagePost</span><span class=cF0>(</span><span class=cF5>Fs</span><span class=cF0>, message_code, arg1, arg2, flags);
<a name="l315"></a>}
<a name="l316"></a>

View file

@ -299,7 +299,7 @@ body {background-color:#fef1f0;}
<a name="l272"></a>}
<a name="l273"></a>
<a name="l274"></a></span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>Color2Str</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *buf, </span><span class=cF9>CColorROPU32</span><span class=cF0> c)
<a name="l275"></a>{</span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3694"><span class=cF4>CColorROPU32</span></a><span class=cF2> with flags to </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l62"><span class=cF4>DCLighting</span></a><span class=cF2> str.</span><span class=cF0>
<a name="l275"></a>{</span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3642"><span class=cF4>CColorROPU32</span></a><span class=cF2> with flags to </span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l62"><span class=cF4>DCLighting</span></a><span class=cF2> str.</span><span class=cF0>
<a name="l276"></a> *buf = </span><span class=cFE>0</span><span class=cF0>;
<a name="l277"></a> </span><span class=cF1>if</span><span class=cF0> (c.c0.rop &amp; </span><span class=cF3>ROPBF_TWO_SIDED</span><span class=cF0>)
<a name="l278"></a> </span><span class=cF5>CatPrint</span><span class=cF0>(buf, </span><span class=cF6>&quot;TWO|&quot;</span><span class=cF0>);
@ -332,7 +332,7 @@ body {background-color:#fef1f0;}
<a name="l305"></a></span><span class=cF1>U8</span><span class=cF0> *</span><span class=cFD>str2color_list</span><span class=cF0> = </span><span class=cF6>&quot;/,)}&gt;&quot;</span><span class=cF0>;
<a name="l306"></a>
<a name="l307"></a></span><span class=cF9>CColorROPU16</span><span class=cF0> </span><span class=cF5>Str2ColorU16</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *st)
<a name="l308"></a>{</span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l62"><span class=cF4>DCLighting</span></a><span class=cF2> color str with flags to </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3690"><span class=cF4>CColorROPU16</span></a><span class=cF2>.</span><span class=cF0>
<a name="l308"></a>{</span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l62"><span class=cF4>DCLighting</span></a><span class=cF2> color str with flags to </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3638"><span class=cF4>CColorROPU16</span></a><span class=cF2>.</span><span class=cF0>
<a name="l309"></a> </span><span class=cF9>CColorROPU16</span><span class=cF0> res = </span><span class=cF3>COLOR_INVALID</span><span class=cF0>;
<a name="l310"></a> </span><span class=cF9>I64</span><span class=cF0> i;
<a name="l311"></a> </span><span class=cF1>U8</span><span class=cF0> *ptr, *ptr2, *st2;
@ -387,7 +387,7 @@ body {background-color:#fef1f0;}
<a name="l360"></a>}
<a name="l361"></a>
<a name="l362"></a></span><span class=cF9>CColorROPU32</span><span class=cF0> </span><span class=cF5>Str2ColorU32</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *st)
<a name="l363"></a>{</span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l62"><span class=cF4>DCLighting</span></a><span class=cF2> color str with flags to </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3694"><span class=cF4>CColorROPU32</span></a><span class=cF2>.</span><span class=cF0>
<a name="l363"></a>{</span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/System/Gr/GrDC.CC.html#l62"><span class=cF4>DCLighting</span></a><span class=cF2> color str with flags to </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3642"><span class=cF4>CColorROPU32</span></a><span class=cF2>.</span><span class=cF0>
<a name="l364"></a> </span><span class=cF1>U8</span><span class=cF0> *st2;
<a name="l365"></a> </span><span class=cF9>CColorROPU32</span><span class=cF0> res = </span><span class=cFE>0</span><span class=cF0>;
<a name="l366"></a>

View file

@ -242,7 +242,7 @@ body {background-color:#fef1f0;}
<a name="l215"></a> </span><span class=cF9>I64</span><span class=cF0> i;
<a name="l216"></a> </span><span class=cF9>CSysLimitBase</span><span class=cF0> tmp_ptr;
<a name="l217"></a>
<a name="l218"></a> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>Gs</span><span class=cF0>-&gt;num) </span><span class=cF2>//Gs is current </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4149"><span class=cF4>CCPU</span></a><span class=cF2> struct</span><span class=cF0>
<a name="l218"></a> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>Gs</span><span class=cF0>-&gt;num) </span><span class=cF2>//Gs is current </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4097"><span class=cF4>CCPU</span></a><span class=cF2> struct</span><span class=cF0>
<a name="l219"></a> </span><span class=cF7>{</span><span class=cF0>
<a name="l220"></a> </span><span class=cFB>dev</span><span class=cF0>.idt = </span><span class=cF5>CAllocAligned</span><span class=cF0>(</span><span class=cF1>sizeof</span><span class=cF7>(</span><span class=cF9>CIDTEntry</span><span class=cF7>)</span><span class=cF0> * </span><span class=cFE>256</span><span class=cF0>, </span><span class=cFE>8</span><span class=cF0>);
<a name="l221"></a> </span><span class=cF1>for</span><span class=cF0> (i = </span><span class=cFE>0</span><span class=cF0>; i &lt; </span><span class=cFE>256</span><span class=cF0>; i++)

View file

@ -49,7 +49,7 @@ body {background-color:#fef1f0;}
<a name="l22"></a>
<a name="l23"></a>#</span><span class=cF1>exe</span><span class=cF0>
<a name="l24"></a></span><span class=cF7>{</span><span class=cF0>
<a name="l25"></a> </span><span class=cF5>StreamPrint</span><span class=cF0>(</span><span class=cF6>&quot;SYS_COMPILE_TIME:: DU64 0x%X;&quot;</span><span class=cF0>, </span><span class=cF5>Now</span><span class=cF0>); </span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskAHCI.CC.html#l1251"><span class=cF4>AHCIBootDVDProbeAll</span></a><span class=cF0>
<a name="l25"></a> </span><span class=cF5>StreamPrint</span><span class=cF0>(</span><span class=cF6>&quot;SYS_COMPILE_TIME:: DU64 0x%X;&quot;</span><span class=cF0>, </span><span class=cF5>Now</span><span class=cF0>); </span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskAHCI.CC.html#l1234"><span class=cF4>AHCIBootDVDProbeAll</span></a><span class=cF0>
<a name="l26"></a></span><span class=cF7>}</span><span class=cF0>;
<a name="l27"></a>
<a name="l28"></a>#</span><span class=cF1>assert</span><span class=cF0> </span><span class=cFD>SYS_COMPILE_TIME</span><span class=cF0> + </span><span class=cF1>sizeof</span><span class=cF0>(</span><span class=cF9>CDate</span><span class=cF0>) + </span><span class=cF1>sizeof</span><span class=cF0>(</span><span class=cF9>CBinFile</span><span class=cF0>) &lt; </span><span class=cF3>DVD_BLK_SIZE</span><span class=cF0>

View file

@ -294,7 +294,7 @@ body {background-color:#fef1f0;}
<a name="l267"></a> </span><span class=cF9>I64</span><span class=cF0> stack_size=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF2>// 0=default</span><span class=cF0>
<a name="l268"></a> </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>1</span><span class=cF0> &lt;&lt; </span><span class=cF3>JOBf_ADD_TO_QUE</span><span class=cF0>)
<a name="l269"></a>{</span><span class=cF2>//Create task on core running at address.</span><span class=cF0>
<a name="l270"></a></span><span class=cF2>//Alloc </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4030"><span class=cF4>CTask</span></a><span class=cF2> structure from code heap so addr will be short.</span><span class=cF0>
<a name="l270"></a></span><span class=cF2>//Alloc </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3978"><span class=cF4>CTask</span></a><span class=cF2> structure from code heap so addr will be short.</span><span class=cF0>
<a name="l271"></a> </span><span class=cF2>//Could be alloced off of data heap.</span><span class=cF0>
<a name="l272"></a> </span><span class=cF9>CTask</span><span class=cF0> *task;
<a name="l273"></a>

File diff suppressed because it is too large Load diff

View file

@ -214,14 +214,14 @@ body {background-color:#fef1f0;}
<a name="l187"></a>
<a name="l188"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;MultiCore&quot;</span><span class=cF0>
<a name="l189"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/MultiCore&quot;</span><span class=cF0>
<a name="l190"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>SYS_CPU_STRUCTS</span><span class=cF0> </span><span class=cF9>CCPU</span><span class=cF0> *</span><span class=cFB>cpu_structs</span><span class=cF0>; </span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelB.HH.html#l197"><span class=cF4>Gs</span></a><span class=cF2> points to cur </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4149"><span class=cF4>CCPU</span></a><span class=cF2>.</span><span class=cF0>
<a name="l190"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>SYS_CPU_STRUCTS</span><span class=cF0> </span><span class=cF9>CCPU</span><span class=cF0> *</span><span class=cFB>cpu_structs</span><span class=cF0>; </span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelB.HH.html#l197"><span class=cF4>Gs</span></a><span class=cF2> points to cur </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4097"><span class=cF4>CCPU</span></a><span class=cF2>.</span><span class=cF0>
<a name="l191"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>SYS_MP_COUNT</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>mp_count</span><span class=cF0>; </span><span class=cF2>//Count of cores</span><span class=cF0>
<a name="l192"></a></span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>SYS_MP_COUNT_INITIAL</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>mp_count_initial</span><span class=cF0>; </span><span class=cF2>//only used during </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/MultiProc.CC.html#l298"><span class=cF4>Core0StartMP</span></a><span class=cF0>
<a name="l193"></a></span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>SYS_MP_COUNT_LOCK</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>mp_count_lock</span><span class=cF0>;
<a name="l194"></a></span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>SYS_SEMAS</span><span class=cF0> </span><span class=cF9>CSema</span><span class=cF0> </span><span class=cFB>sys_semas</span><span class=cF0>[</span><span class=cF3>SEMA_SEMAS_NUM</span><span class=cF0>];
<a name="l195"></a>
<a name="l196"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;MultiCore;Processor&quot;</span><span class=cF0>
<a name="l197"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_intern</span><span class=cF0> </span><span class=cF3>IC_GS</span><span class=cF0> </span><span class=cF9>CCPU</span><span class=cF0> *</span><span class=cF5>Gs</span><span class=cF0>(); </span><span class=cF2>//GS points to current </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4149"><span class=cF4>CCPU</span></a><span class=cF2>.</span><span class=cF0>
<a name="l197"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_intern</span><span class=cF0> </span><span class=cF3>IC_GS</span><span class=cF0> </span><span class=cF9>CCPU</span><span class=cF0> *</span><span class=cF5>Gs</span><span class=cF0>(); </span><span class=cF2>//GS points to current </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4097"><span class=cF4>CCPU</span></a><span class=cF2>.</span><span class=cF0>
<a name="l198"></a>
<a name="l199"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;PCI&quot;</span><span class=cF0>
<a name="l200"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>SYS_PCI_BUSES</span><span class=cF0> </span><span class=cF9>U16</span><span class=cF0> </span><span class=cFB>sys_pci_buses</span><span class=cF0>; </span><span class=cF2>//Number of PCI buses.</span><span class=cF0>
@ -264,7 +264,7 @@ body {background-color:#fef1f0;}
<a name="l237"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>MEM_PAGE_SIZE</span><span class=cF0> </span><span class=cF9>U64</span><span class=cF0> </span><span class=cFB>mem_page_size</span><span class=cF0>;
<a name="l238"></a>
<a name="l239"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Task;Processor&quot;</span><span class=cF0>
<a name="l240"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_intern</span><span class=cF0> </span><span class=cF3>IC_FS</span><span class=cF0> </span><span class=cF9>CTask</span><span class=cF0> *</span><span class=cF5>Fs</span><span class=cF0>(); </span><span class=cF2>//FS seg reg points to the current </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4030"><span class=cF4>CTask</span></a><span class=cF2>.</span><span class=cF0>
<a name="l240"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_intern</span><span class=cF0> </span><span class=cF3>IC_FS</span><span class=cF0> </span><span class=cF9>CTask</span><span class=cF0> *</span><span class=cF5>Fs</span><span class=cF0>(); </span><span class=cF2>//FS seg reg points to the current </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3978"><span class=cF4>CTask</span></a><span class=cF2>.</span><span class=cF0>
<a name="l241"></a>
<a name="l242"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Time/CPU Cycles&quot;</span><span class=cF0>
<a name="l243"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/TimeCycles&quot;</span><span class=cF0>

View file

@ -393,371 +393,370 @@ body {background-color:#fef1f0;}
<a name="l366"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>AHCIAtapiBlksRead</span><span class=cF0>( </span><span class=cF9>CBlkDev</span><span class=cF0> *bd, </span><span class=cF1>U8</span><span class=cF0> *buf, </span><span class=cF9>I64</span><span class=cF0> blk, </span><span class=cF9>I64</span><span class=cF0> count);
<a name="l367"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>AHCIAtapiSeek</span><span class=cF0>( </span><span class=cF9>CBlkDev</span><span class=cF0> *bd, </span><span class=cF9>I64</span><span class=cF0> blk);
<a name="l368"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>AHCIAtapiStartStop</span><span class=cF0>(</span><span class=cF9>CBlkDev</span><span class=cF0> *bd, </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF1>start</span><span class=cF0>);
<a name="l369"></a></span><span class=cF2>//extern</span><span class=cF0> </span><span class=cF2>CAtapiTrackInfo *AHCIAtapiReadTrackInfo(CBlkDev *bd);</span><span class=cF0>
<a name="l370"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>AHCIAtapiBlank</span><span class=cF0>(</span><span class=cF9>CBlkDev</span><span class=cF0> *bd, </span><span class=cF1>Bool</span><span class=cF0> minimal=</span><span class=cF3>TRUE</span><span class=cF0>);
<a name="l371"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>DiscEject</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> drv_let);
<a name="l372"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>DiscLoad</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> drv_let);
<a name="l373"></a>
<a name="l374"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CBlkDevGlobals</span><span class=cF0> </span><span class=cFB>blkdev</span><span class=cF0>;
<a name="l375"></a>
<a name="l376"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Graphics/Color&quot;</span><span class=cF0>
<a name="l377"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> (*</span><span class=cFB>fp_set_std_palette</span><span class=cF0>)();
<a name="l378"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>Color2Str</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *buf, </span><span class=cF9>CColorROPU32</span><span class=cF0> c);
<a name="l379"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CColorROPU16</span><span class=cF0> </span><span class=cF5>Str2ColorU16</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *st);
<a name="l380"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CColorROPU32</span><span class=cF0> </span><span class=cF5>Str2ColorU32</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *st);
<a name="l381"></a>
<a name="l382"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Hash&quot;</span><span class=cF0>
<a name="l383"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Hash&quot;</span><span class=cF0>
<a name="l384"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_HASH_ADD</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>HashAdd</span><span class=cF0>( </span><span class=cF9>CHash</span><span class=cF0> *tmph, </span><span class=cF9>CHashTable</span><span class=cF0> *table);
<a name="l385"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_HASH_ADD_AFTER</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>HashAddAfter</span><span class=cF0>(</span><span class=cF9>CHash</span><span class=cF0> *tmph, </span><span class=cF9>CHash</span><span class=cF0> *pred, </span><span class=cF9>CHashTable</span><span class=cF0> *table);
<a name="l386"></a></span><span class=cF2>//Add hash entry after entry.</span><span class=cF0>
<a name="l387"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_HASH_BUCKET_FIND</span><span class=cF0> </span><span class=cF9>CHash</span><span class=cF0> **</span><span class=cF5>HashBucketFind</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *needle_str, </span><span class=cF9>CHashTable</span><span class=cF0> *haystack_table);
<a name="l388"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_HASH_FIND</span><span class=cF0> </span><span class=cF9>CHash</span><span class=cF0> *</span><span class=cF5>HashFind</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *needle_str, </span><span class=cF9>CHashTable</span><span class=cF0> *haystack_table,
<a name="l389"></a> </span><span class=cF9>I64</span><span class=cF0> mask, </span><span class=cF9>I64</span><span class=cF0> instance=</span><span class=cFE>1</span><span class=cF0>);
<a name="l390"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_HASH_SINGLE_TABLE_FIND</span><span class=cF0> </span><span class=cF9>CHash</span><span class=cF0> *</span><span class=cF5>HashSingleTableFind</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *needle_str, </span><span class=cF9>CHashTable</span><span class=cF0> *haystack_table,
<a name="l391"></a> </span><span class=cF9>I64</span><span class=cF0> mask, </span><span class=cF9>I64</span><span class=cF0> instance=</span><span class=cFE>1</span><span class=cF0>);
<a name="l392"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_HASH_STR</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>HashStr</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *st);
<a name="l393"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CHashTable</span><span class=cF0> *</span><span class=cF5>HashTableNew</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> size, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l394"></a>
<a name="l395"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Hash/Frame&quot;</span><span class=cF0>
<a name="l396"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Frame&quot;</span><span class=cF0>
<a name="l397"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>FramePtr</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *name, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l398"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CHashGeneric</span><span class=cF0> *</span><span class=cF5>FramePtrAdd</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *name, </span><span class=cF9>I64</span><span class=cF0> val=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l399"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>FramePtrDel</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *name, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l400"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>FramePtrSet</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *name, </span><span class=cF9>I64</span><span class=cF0> val, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l401"></a>
<a name="l402"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Hash/System&quot;</span><span class=cF0>
<a name="l403"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>HashDel</span><span class=cF0>(</span><span class=cF9>CHashSrcSym</span><span class=cF0> *tmph);
<a name="l404"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CHashGeneric</span><span class=cF0> *</span><span class=cF5>HashGenericAdd</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *name, </span><span class=cF9>I64</span><span class=cF0> type,
<a name="l405"></a> </span><span class=cF9>I64</span><span class=cF0> val=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> u8=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> u16=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l406"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CHashGeneric</span><span class=cF0> *</span><span class=cF5>HashPublic</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *st, </span><span class=cF9>I64</span><span class=cF0> mask, </span><span class=cF1>Bool</span><span class=cF0> val=</span><span class=cF3>TRUE</span><span class=cF0>);
<a name="l407"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_HASH_REM_DEL</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>HashRemDel</span><span class=cF0>(</span><span class=cF9>CHash</span><span class=cF0> *tmph, </span><span class=cF9>CHashTable</span><span class=cF0> *table, </span><span class=cF9>I64</span><span class=cF0> instance=</span><span class=cFE>1</span><span class=cF0>);
<a name="l408"></a></span><span class=cF2>//instance must match tmph's</span><span class=cF0>
<a name="l409"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>HashTableDel</span><span class=cF0>( </span><span class=cF9>CHashTable</span><span class=cF0> *table);
<a name="l410"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>HashTablePurge</span><span class=cF0>(</span><span class=cF9>CHashTable</span><span class=cF0> *table);
<a name="l411"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>HashTypeNum</span><span class=cF0>(</span><span class=cF9>CHash</span><span class=cF0> *tmph);
<a name="l412"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>HashVal</span><span class=cF0>( </span><span class=cF9>CHash</span><span class=cF0> *tmph);
<a name="l413"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>SysSymImportsResolve</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *sptr, </span><span class=cF9>I64</span><span class=cF0> ld_flags=</span><span class=cFE>0</span><span class=cF0>);
<a name="l414"></a>
<a name="l415"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Hash/System;Char/Lists&quot;</span><span class=cF0>
<a name="l416"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>HashListAdd</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *list, </span><span class=cF9>I64</span><span class=cF0> type, </span><span class=cF9>CHashTable</span><span class=cF0> *table);
<a name="l417"></a>
<a name="l418"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Hash/System;Define;Char/Define;Char/Lists&quot;</span><span class=cF0>
<a name="l419"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>HashDefineListAdd</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *dname, </span><span class=cF9>I64</span><span class=cF0> type, </span><span class=cF9>CHashTable</span><span class=cF0> *table);
<a name="l420"></a>
<a name="l421"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Help System;Debugging/Debugger&quot;</span><span class=cF0>
<a name="l422"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Help</span><span class=cF0>();
<a name="l423"></a>
<a name="l424"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Info;File/Cmd Line (Typically);Cmd Line (Typically);Install&quot;</span><span class=cF0>
<a name="l425"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>DriveRep</span><span class=cF0>();
<a name="l426"></a>
<a name="l427"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Install&quot;</span><span class=cF0>
<a name="l428"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Install&quot;</span><span class=cF0>
<a name="l429"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>DriveEnable</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> drv_let, </span><span class=cF1>Bool</span><span class=cF0> val);
<a name="l430"></a>
<a name="l431"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Install;File/Cmd Line (Typically);Cmd Line (Typically);&quot;</span><span class=cF0>
<a name="l432"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Format</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> drv_let, </span><span class=cF1>Bool</span><span class=cF0> quick=</span><span class=cF3>TRUE</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> confirm=</span><span class=cF3>TRUE</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> type=</span><span class=cF3>FSt_FAT32</span><span class=cF0>);
<a name="l433"></a>
<a name="l434"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Install;Memory/BlkPool&quot;</span><span class=cF0>
<a name="l435"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>Scale2Mem</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> min, </span><span class=cF9>I64</span><span class=cF0> max, </span><span class=cF9>I64</span><span class=cF0> limit=</span><span class=cFE>2</span><span class=cF0>*</span><span class=cFE>1024</span><span class=cF0>*</span><span class=cFE>1024</span><span class=cF0>*</span><span class=cFE>1024</span><span class=cF0>);
<a name="l436"></a>
<a name="l437"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Job/Exe;Task/Job/Exe&quot;</span><span class=cF0>
<a name="l438"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>SysErr</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l439"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>SysWarn</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l440"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>SysLog</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l441"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>ExeCmdLine</span><span class=cF0>(</span><span class=cF9>CCompCtrl</span><span class=cF0> *cc);
<a name="l442"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>JobDel</span><span class=cF0>(</span><span class=cF9>CJob</span><span class=cF0> *tmpc);
<a name="l443"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>JobsHandler</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> run_flags, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l444"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>ServerCmdLine</span><span class=cF0>();
<a name="l445"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>ServerTaskCont</span><span class=cF0>();
<a name="l446"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CJob</span><span class=cF0> *</span><span class=cF5>TaskExe</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *server, </span><span class=cF9>CTask</span><span class=cF0> *master, </span><span class=cF1>U8</span><span class=cF0> *data, </span><span class=cF9>I64</span><span class=cF0> flags);
<a name="l447"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskResetAwaitingMessage</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l448"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>UserTaskCont</span><span class=cF0>();
<a name="l449"></a>
<a name="l450"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Job/Exe;Task/Job/Exe;Compiler&quot;</span><span class=cF0>
<a name="l451"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>Sys</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l452"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>PopUp</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *buf, </span><span class=cF9>CTask</span><span class=cF0> *parent=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>CTask</span><span class=cF0> **_pu_task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l453"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>PopUpPrint</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l454"></a>
<a name="l455"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Job/Exe;Task/Job/Exe;MultiCore&quot;</span><span class=cF0>
<a name="l456"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>JobResGet</span><span class=cF0>( </span><span class=cF9>CJob</span><span class=cF0> *request=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l457"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>JobResScan</span><span class=cF0>(</span><span class=cF9>CJob</span><span class=cF0> *request=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> *_res=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l458"></a>
<a name="l459"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Job/Text &amp; Messages;Task/Job/Text &amp; Messages&quot;</span><span class=cF0>
<a name="l460"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CJob</span><span class=cF0> *</span><span class=cF5>TaskText</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *server, </span><span class=cF9>CTask</span><span class=cF0> *master, </span><span class=cF1>U8</span><span class=cF0> *data, </span><span class=cF9>I64</span><span class=cF0> flags);
<a name="l461"></a>
<a name="l462"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Job/Text &amp; Messages;Task/Job/Text &amp; Messages;InFile;StdIn/InFile&quot;</span><span class=cF0>
<a name="l463"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>In</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l464"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>InFile</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *filename);
<a name="l465"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>InStr</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l466"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>XTalk</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l467"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>XTalkStr</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l468"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>XTalkStrWait</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l469"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>XTalkWait</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l470"></a>
<a name="l471"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Job/Text &amp; Messages;Task/Job/Text &amp; Messages;Messages&quot;</span><span class=cF0>
<a name="l472"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Message</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> message_code, </span><span class=cF9>I64</span><span class=cF0> arg1, </span><span class=cF9>I64</span><span class=cF0> arg2, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>0</span><span class=cF0>);
<a name="l473"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MessagePost</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF9>I64</span><span class=cF0> message_code, </span><span class=cF9>I64</span><span class=cF0> arg1, </span><span class=cF9>I64</span><span class=cF0> arg2, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>0</span><span class=cF0>);
<a name="l474"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MessagePostWait</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF9>I64</span><span class=cF0> message_code, </span><span class=cF9>I64</span><span class=cF0> arg1, </span><span class=cF9>I64</span><span class=cF0> arg2, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>0</span><span class=cF0>);
<a name="l475"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CJob</span><span class=cF0> *</span><span class=cF5>TaskMessage</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *server, </span><span class=cF9>CTask</span><span class=cF0> *master, </span><span class=cF9>I64</span><span class=cF0> message_code, </span><span class=cF9>I64</span><span class=cF0> arg1, </span><span class=cF9>I64</span><span class=cF0> arg2, </span><span class=cF9>I64</span><span class=cF0> flags);
<a name="l476"></a>
<a name="l477"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Job;Task/Job&quot;</span><span class=cF0>
<a name="l478"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Job&quot;</span><span class=cF0>
<a name="l479"></a>
<a name="l480"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Keyboard Devices/System;Char/System&quot;</span><span class=cF0>
<a name="l481"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/KeyDev&quot;</span><span class=cF0>
<a name="l482"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>CtrlAltCBSet</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> ch, </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_handler</span><span class=cF7>)(</span><span class=cF9>I64</span><span class=cF0> sc</span><span class=cF7>)</span><span class=cF0>,
<a name="l483"></a> </span><span class=cF1>U8</span><span class=cF0> *no_shift_desc=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *shift_desc=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> in_irq=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l484"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>KeyDescSet</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l485"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CKeyDevEntry</span><span class=cF0> *</span><span class=cF5>KeyDevAdd</span><span class=cF0>(</span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_put_key</span><span class=cF7>)(</span><span class=cF9>I64</span><span class=cF0> ch, </span><span class=cF9>I64</span><span class=cF0> sc</span><span class=cF7>)</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_puts</span><span class=cF7>)(</span><span class=cF1>U8</span><span class=cF0> *st</span><span class=cF7>)</span><span class=cF0>,
<a name="l486"></a> </span><span class=cF9>I64</span><span class=cF0> priority, </span><span class=cF1>Bool</span><span class=cF0> key_descs=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l487"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>KeyDevRemove</span><span class=cF0>(</span><span class=cF9>CKeyDevEntry</span><span class=cF0> *tmpk);
<a name="l488"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CKeyDevGlobals</span><span class=cF0> </span><span class=cFB>keydev</span><span class=cF0>;
<a name="l489"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CJob</span><span class=cF0> </span><span class=cFB>sys_macro_head</span><span class=cF0>;
<a name="l490"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CTask</span><span class=cF0> *</span><span class=cFB>sys_macro_task</span><span class=cF0>;
<a name="l491"></a>
<a name="l492"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Keyboard Devices;Char/Input;StdIn&quot;</span><span class=cF0>
<a name="l493"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *(*</span><span class=cFB>fp_getstr2</span><span class=cF0>)(</span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>0</span><span class=cF0>); </span><span class=cF2>//StrGet </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4419"><span class=cF4>Flags</span></a><span class=cF0>
<a name="l494"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>AreYouSure</span><span class=cF0>();
<a name="l495"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>CharGet</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> *_scan_code=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> echo=</span><span class=cF3>TRUE</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> raw_cursor=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l496"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>KeyGet</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> *_scan_code=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> echo=</span><span class=cF3>FALSE</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> raw_cursor=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l497"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>StrNGet</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *buf, </span><span class=cF9>I64</span><span class=cF0> size, </span><span class=cF1>Bool</span><span class=cF0> allow_ext=</span><span class=cF3>TRUE</span><span class=cF0>);
<a name="l498"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>StrGet</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *message=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF1>default</span><span class=cF0>=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>0</span><span class=cF0>);
<a name="l499"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>KbdInit</span><span class=cF0>();
<a name="l500"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>KbdMouseEventTime</span><span class=cF0>();
<a name="l501"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>KbdMouseHandler</span><span class=cF0>(</span><span class=cF1>Bool</span><span class=cF0> poll_kbd, </span><span class=cF1>Bool</span><span class=cF0> poll_mouse);
<a name="l502"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>KbdMouseInit</span><span class=cF0>();
<a name="l503"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>KbdMessagesQueue</span><span class=cF0>();
<a name="l504"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>KbdTypeMatic</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> delay);
<a name="l505"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>MouseHardDriverInstall</span><span class=cF0>();
<a name="l506"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>MouseHardEnable</span><span class=cF0>(</span><span class=cF1>Bool</span><span class=cF0> val=</span><span class=cF3>TRUE</span><span class=cF0>);
<a name="l507"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>PressAKey</span><span class=cF0>();
<a name="l508"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>CharScan</span><span class=cF0>();
<a name="l509"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>KeyScan</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> *_ch=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> *_scan_code=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> echo=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l510"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>YorN</span><span class=cF0>();
<a name="l511"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CKbdStateGlobals</span><span class=cF0> </span><span class=cFB>kbd</span><span class=cF0>;
<a name="l512"></a>
<a name="l513"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Math&quot;</span><span class=cF0>
<a name="l514"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>CeilI64</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> num, </span><span class=cF9>I64</span><span class=cF0> to);
<a name="l515"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U64</span><span class=cF0> </span><span class=cF5>CeilU64</span><span class=cF0>(</span><span class=cF9>U64</span><span class=cF0> num, </span><span class=cF9>U64</span><span class=cF0> to);
<a name="l516"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cF5>Clamp</span><span class=cF0>(</span><span class=cF1>F64</span><span class=cF0> d, </span><span class=cF1>F64</span><span class=cF0> lo, </span><span class=cF1>F64</span><span class=cF0> hi);
<a name="l517"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>FloorI64</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> num, </span><span class=cF9>I64</span><span class=cF0> to);
<a name="l518"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U64</span><span class=cF0> </span><span class=cF5>FloorU64</span><span class=cF0>(</span><span class=cF9>U64</span><span class=cF0> num, </span><span class=cF9>U64</span><span class=cF0> to);
<a name="l519"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cF5>Max</span><span class=cF0>(</span><span class=cF1>F64</span><span class=cF0> n1, </span><span class=cF1>F64</span><span class=cF0> n2);
<a name="l520"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cF5>Min</span><span class=cF0>(</span><span class=cF1>F64</span><span class=cF0> n1, </span><span class=cF1>F64</span><span class=cF0> n2);
<a name="l521"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cF5>Pow10I64</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> i);
<a name="l522"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cF5>Rand</span><span class=cF0>(); </span><span class=cF2>//With timestamp</span><span class=cF0>
<a name="l523"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> </span><span class=cF5>RandU8</span><span class=cF0>();
<a name="l524"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I16</span><span class=cF0> </span><span class=cF5>RandI16</span><span class=cF0>();
<a name="l525"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I32</span><span class=cF0> </span><span class=cF5>RandI32</span><span class=cF0>();
<a name="l526"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>RandI64</span><span class=cF0>();
<a name="l527"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U16</span><span class=cF0> </span><span class=cF5>RandU16</span><span class=cF0>();
<a name="l528"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U32</span><span class=cF0> </span><span class=cF5>RandU32</span><span class=cF0>();
<a name="l529"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U64</span><span class=cF0> </span><span class=cF5>RandU64</span><span class=cF0>();
<a name="l530"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>RoundI64</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> num, </span><span class=cF9>I64</span><span class=cF0> to);
<a name="l531"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>Seed</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> seed=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l532"></a>
<a name="l533"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Memory/Info&quot;</span><span class=cF0>
<a name="l534"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>MemBIOSTotal</span><span class=cF0>();
<a name="l535"></a>
<a name="l536"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Memory/System Heap&quot;</span><span class=cF0>
<a name="l537"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>SysCAlloc</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> size);
<a name="l538"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>SysMAlloc</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> size);
<a name="l539"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>SysMAllocIdent</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *src);
<a name="l540"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>SysReAlloc</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *src, </span><span class=cF9>U64</span><span class=cF0> size);
<a name="l541"></a>
<a name="l542"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Memory/BlkPool&quot;</span><span class=cF0>
<a name="l543"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>BlkPoolAdd</span><span class=cF0>( </span><span class=cF9>CBlkPool</span><span class=cF0> *bp, </span><span class=cF9>CMemBlk</span><span class=cF0> *m, </span><span class=cF9>I64</span><span class=cF0> pags);
<a name="l544"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>BlkPoolInit</span><span class=cF0>(</span><span class=cF9>CBlkPool</span><span class=cF0> *bp, </span><span class=cF9>I64</span><span class=cF0> pags);
<a name="l545"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>MemPagAlloc</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> pags, </span><span class=cF9>CBlkPool</span><span class=cF0> *bp=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l546"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MemPagFree</span><span class=cF0>(</span><span class=cF9>CMemBlk</span><span class=cF0> *m, </span><span class=cF9>CBlkPool</span><span class=cF0> *bp=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l547"></a>
<a name="l548"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Memory/Heap&quot;</span><span class=cF0>
<a name="l549"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>CAlloc</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> size, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l550"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>CAllocAligned</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> size, </span><span class=cF9>I64</span><span class=cF0> alignment, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> misalignment=</span><span class=cFE>0</span><span class=cF0>);
<a name="l551"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_FREE</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Free</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *addr);
<a name="l552"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_MALLOC</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>MAlloc</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> size, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l553"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>MAllocAligned</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> size, </span><span class=cF9>I64</span><span class=cF0> alignment, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> misalignment=</span><span class=cFE>0</span><span class=cF0>);
<a name="l554"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>MAllocIdent</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *src, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l555"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>ReAlloc</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *src, </span><span class=cF9>U64</span><span class=cF0> size, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l556"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_MHEAP_CTRL</span><span class=cF0> </span><span class=cF9>CHeapCtrl</span><span class=cF0> *</span><span class=cF5>MHeapCtrl</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *src);
<a name="l557"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_MSIZE</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>MSize</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *src); </span><span class=cF2>//size of heap object</span><span class=cF0>
<a name="l558"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_MSIZE2</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>MSize2</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *src); </span><span class=cF2>//Internal size</span><span class=cF0>
<a name="l559"></a>
<a name="l560"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Memory/HeapCtrl&quot;</span><span class=cF0>
<a name="l561"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>HeapCtrlDel</span><span class=cF0>( </span><span class=cF9>CHeapCtrl</span><span class=cF0> *hc);
<a name="l562"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CHeapCtrl</span><span class=cF0> *</span><span class=cF5>HeapCtrlInit</span><span class=cF0>(</span><span class=cF9>CHeapCtrl</span><span class=cF0> *hc=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>CBlkPool</span><span class=cF0> *bp);
<a name="l563"></a>
<a name="l564"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Memory/Segmentation&quot;</span><span class=cF0>
<a name="l565"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>Seg2Linear</span><span class=cF0>(</span><span class=cF9>U32</span><span class=cF0> *ptr);
<a name="l566"></a>
<a name="l567"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Memory/Page Tables&quot;</span><span class=cF0>
<a name="l568"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> *</span><span class=cF5>MemPageTable</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *a);
<a name="l569"></a>
<a name="l570"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Messages&quot;</span><span class=cF0>
<a name="l571"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Messages&quot;</span><span class=cF0>
<a name="l572"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>FlushMessages</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l573"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>MessageGet</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> *_arg1=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> *_arg2=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> mask=~</span><span class=cFE>1</span><span class=cF0>, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l574"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>InputFilterTask</span><span class=cF0>();
<a name="l575"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>MessageScan</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> *_arg1=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> *_arg2=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> mask=~</span><span class=cFE>1</span><span class=cF0>, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l576"></a>
<a name="l577"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Misc&quot;</span><span class=cF0>
<a name="l578"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>QuickSort</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *base, </span><span class=cF9>I64</span><span class=cF0> num, </span><span class=cF9>I64</span><span class=cF0> width, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_compare</span><span class=cF7>)(</span><span class=cF1>U8</span><span class=cF0> *e1, </span><span class=cF1>U8</span><span class=cF0> *e2</span><span class=cF7>)</span><span class=cF0>);
<a name="l579"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>QuickSortI64</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> *base, </span><span class=cF9>I64</span><span class=cF0> num, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_compare</span><span class=cF7>)(</span><span class=cF9>I64</span><span class=cF0> e1, </span><span class=cF9>I64</span><span class=cF0> e2</span><span class=cF7>)</span><span class=cF0>);
<a name="l580"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cFB>sys_os_version</span><span class=cF0>;
<a name="l581"></a>
<a name="l582"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Misc/Progress Bars&quot;</span><span class=cF0>
<a name="l583"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>ProgressBarsReset</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *path=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l584"></a>
<a name="l585"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Mouse&quot;</span><span class=cF0>
<a name="l586"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Mouse&quot;</span><span class=cF0>
<a name="l587"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>GridInit</span><span class=cF0>();
<a name="l588"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MouseSet</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> x=</span><span class=cF3>I64_MAX</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> y=</span><span class=cF3>I64_MAX</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> z=</span><span class=cF3>I64_MAX</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> l=</span><span class=cF3>I64_MAX</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> r=</span><span class=cF3>I64_MAX</span><span class=cF0>);
<a name="l589"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CMouseStateGlobals</span><span class=cF0> </span><span class=cFB>mouse</span><span class=cF0>;
<a name="l590"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CGridGlobals</span><span class=cF0> </span><span class=cFB>mouse_grid</span><span class=cF0>;
<a name="l591"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CMouseHardStateGlobals</span><span class=cF0> </span><span class=cFB>mouse_hard</span><span class=cF0>;
<a name="l592"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CMouseHardStateGlobals</span><span class=cF0> </span><span class=cFB>mouse_hard_last</span><span class=cF0>;
<a name="l593"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CMouseStateGlobals</span><span class=cF0> </span><span class=cFB>mouse_last</span><span class=cF0>;
<a name="l594"></a>
<a name="l595"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Mouse/Ptr&quot;</span><span class=cF0>
<a name="l596"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MouseInit</span><span class=cF0>();
<a name="l597"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MouseUpdate</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> x, </span><span class=cF9>I64</span><span class=cF0> y, </span><span class=cF9>I64</span><span class=cF0> z, </span><span class=cF1>Bool</span><span class=cF0> l, </span><span class=cF1>Bool</span><span class=cF0> r);
<a name="l598"></a>
<a name="l599"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;MultiCore&quot;</span><span class=cF0>
<a name="l600"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Core0StartMP</span><span class=cF0>();
<a name="l601"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>CoreAPExecutiveTask</span><span class=cF0>();
<a name="l602"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MPInt</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> num, </span><span class=cF9>I64</span><span class=cF0> cpu_num=</span><span class=cFE>1</span><span class=cF0>);
<a name="l603"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MPIntAll</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> num);
<a name="l604"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MPNMInt</span><span class=cF0>();
<a name="l605"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CTask</span><span class=cF0> *</span><span class=cF5>SpawnQueue</span><span class=cF0>(</span><span class=cF1>U0</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_addr</span><span class=cF7>)(</span><span class=cF1>U8</span><span class=cF0> *data</span><span class=cF7>)</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *data=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *task_name=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> target_cpu,
<a name="l606"></a> </span><span class=cF9>CTask</span><span class=cF0> *parent=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF2>//NULL means sys_task</span><span class=cF0>
<a name="l607"></a> </span><span class=cF9>I64</span><span class=cF0> stack_size=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>1</span><span class=cF0>&lt;&lt;</span><span class=cF3>JOBf_ADD_TO_QUE</span><span class=cF0>);
<a name="l608"></a>
<a name="l609"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;MultiCore;Boot&quot;</span><span class=cF0>
<a name="l610"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MPHalt</span><span class=cF0>();
<a name="l611"></a>
<a name="l612"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;MultiCore;Job/Exe;Task/Job/Exe&quot;</span><span class=cF0>
<a name="l613"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CJob</span><span class=cF0> *</span><span class=cF5>JobQueue</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_addr</span><span class=cF7>)(</span><span class=cF1>U8</span><span class=cF0> *data</span><span class=cF7>)</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *data=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> target_cpu=</span><span class=cFE>1</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>1</span><span class=cF0>&lt;&lt;</span><span class=cF3>JOBf_FREE_ON_COMPLETE</span><span class=cF0>,
<a name="l614"></a> </span><span class=cF9>I64</span><span class=cF0> job_code=</span><span class=cF3>JOBT_CALL</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *aux_str=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> aux1=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> aux2=</span><span class=cFE>0</span><span class=cF0>);
<a name="l615"></a>
<a name="l616"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;PCI&quot;</span><span class=cF0>
<a name="l617"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>PCIClassFind</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> class_code, </span><span class=cF9>I64</span><span class=cF0> n);
<a name="l618"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U16</span><span class=cF0> </span><span class=cF5>PCIReadU16</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> bus, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>dev</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> fun, </span><span class=cF9>I64</span><span class=cF0> rg);
<a name="l619"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U32</span><span class=cF0> </span><span class=cF5>PCIReadU32</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> bus, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>dev</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> fun, </span><span class=cF9>I64</span><span class=cF0> rg);
<a name="l620"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> </span><span class=cF5>PCIReadU8</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> bus, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>dev</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> fun, </span><span class=cF9>I64</span><span class=cF0> rg);
<a name="l621"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>PCIWriteU16</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> bus, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>dev</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> fun, </span><span class=cF9>I64</span><span class=cF0> rg, </span><span class=cF9>I64</span><span class=cF0> val);
<a name="l622"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>PCIWriteU32</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> bus, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>dev</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> fun, </span><span class=cF9>I64</span><span class=cF0> rg, </span><span class=cF9>I64</span><span class=cF0> val);
<a name="l623"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>PCIWriteU8</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> bus, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>dev</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> fun, </span><span class=cF9>I64</span><span class=cF0> rg, </span><span class=cF9>I64</span><span class=cF0> val);
<a name="l624"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>SYS_PCIBIOS_SERVICE_DIR</span><span class=cF0> </span><span class=cF9>U32</span><span class=cF0> </span><span class=cFB>sys_PCIBIOS_service_dir</span><span class=cF0>;</span><span class=cF2>//Far call routine in the BIOS</span><span class=cF0>
<a name="l625"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>SYS_PCI_SERVICES</span><span class=cF0> </span><span class=cF9>U32</span><span class=cF0> </span><span class=cFB>sys_pci_services</span><span class=cF0>;</span><span class=cF2>//Far call routine in the BIOS</span><span class=cF0>
<a name="l626"></a>
<a name="l627"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Processor&quot;</span><span class=cF0>
<a name="l628"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>IntEntryGet</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> irq);
<a name="l629"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>IntEntrySet</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> irq, </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_new_handler</span><span class=cF7>)()</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> type=</span><span class=cF3>IDTET_IRQ</span><span class=cF0>);
<a name="l630"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>IntEntryAlloc</span><span class=cF0>();
<a name="l631"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>IntEntryFree</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> irq);
<a name="l632"></a>
<a name="l633"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;ScreenCast;Cmd Line (Typically)&quot;</span><span class=cF0>
<a name="l634"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>ScreenCast</span><span class=cF0>(</span><span class=cF1>Bool</span><span class=cF0> val=</span><span class=cF3>ON</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> just_audio=</span><span class=cF3>FALSE</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *print_format=</span><span class=cF6>&quot;B:/Tmp/%X.GR&quot;</span><span class=cF0>)
<a name="l635"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CScreenCastGlobals</span><span class=cF0> </span><span class=cFB>screencast</span><span class=cF0>;
<a name="l636"></a>
<a name="l637"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Sound&quot;</span><span class=cF0>
<a name="l638"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Sound&quot;</span><span class=cF0>
<a name="l639"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Beep</span><span class=cF0>(</span><span class=cF1>I8</span><span class=cF0> ona=</span><span class=cFE>62</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> busy=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l640"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>I8</span><span class=cF0> </span><span class=cF5>Freq2Ona</span><span class=cF0>(</span><span class=cF1>F64</span><span class=cF0> freq);
<a name="l641"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>IsMute</span><span class=cF0>();
<a name="l642"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>Mute</span><span class=cF0>(</span><span class=cF1>Bool</span><span class=cF0> val);
<a name="l643"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cF5>Ona2Freq</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> ona);
<a name="l644"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Sound</span><span class=cF0>(</span><span class=cF1>I8</span><span class=cF0> ona=</span><span class=cFE>0</span><span class=cF0>);
<a name="l645"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>SoundReset</span><span class=cF0>();
<a name="l646"></a>
<a name="l647"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;StdIn&quot;</span><span class=cF0>
<a name="l648"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Streams&quot;</span><span class=cF0>
<a name="l649"></a>
<a name="l650"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;StdOut&quot;</span><span class=cF0>
<a name="l651"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Streams&quot;</span><span class=cF0>
<a name="l652"></a>
<a name="l653"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Task&quot;</span><span class=cF0>
<a name="l654"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>BirthWait</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> **_task, </span><span class=cF9>I64</span><span class=cF0> task_num=-</span><span class=cFE>1</span><span class=cF0>);
<a name="l655"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>DeathWait</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> **_task, </span><span class=cF1>Bool</span><span class=cF0> send_exit=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l656"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Exit</span><span class=cF0>();
<a name="l657"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>IsSuspended</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l658"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>Kill</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF1>Bool</span><span class=cF0> wait=</span><span class=cF3>TRUE</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> just_break=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l659"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>Suspend</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> state=</span><span class=cF3>TRUE</span><span class=cF0>);
<a name="l660"></a></span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_TASK_CONTEXT_RESTORE</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskContextRestore</span><span class=cF0>();
<a name="l661"></a></span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_TASK_END_NOW</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskEndNow</span><span class=cF0>();
<a name="l662"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskKillDying</span><span class=cF0>();
<a name="l663"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskQueueIns</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF9>CTask</span><span class=cF0> *pred=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l664"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskQueueRemove</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task);
<a name="l665"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>TaskValidate</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task);
<a name="l666"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskWait</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> cmd_line_prompt=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l667"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CTask</span><span class=cF0> *</span><span class=cF5>User</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *format=</span><span class=cF3>NULL</span><span class=cF0>, ...);
<a name="l668"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>UserCmdLine</span><span class=cF0>();
<a name="l669"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_YIELD</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Yield</span><span class=cF0>();
<a name="l670"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CTask</span><span class=cF0> *</span><span class=cFB>sys_task</span><span class=cF0>;
<a name="l671"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>sys_num_spawned_tasks</span><span class=cF0>;
<a name="l672"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CTask</span><span class=cF0> *</span><span class=cFB>sys_winmgr_task</span><span class=cF0>, *</span><span class=cFB>sys_task_being_screen_updated</span><span class=cF0>;
<a name="l673"></a>
<a name="l674"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Task/Delay;Time/CPU Cycles&quot;</span><span class=cF0>
<a name="l675"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Busy</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> uS); </span><span class=cF2>//Loosely timed</span><span class=cF0>
<a name="l676"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>PortNop</span><span class=cF0>(); </span><span class=cF2>//On the order of 1uS</span><span class=cF0>
<a name="l677"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>TimeCal</span><span class=cF0>();
<a name="l678"></a>
<a name="l679"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Task/Delay;Time/Jiffies&quot;</span><span class=cF0>
<a name="l680"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Sleep</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> mS);
<a name="l681"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>SleepUntil</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> wake_jiffy);
<a name="l682"></a>
<a name="l683"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Task/Misc&quot;</span><span class=cF0>
<a name="l684"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> (*</span><span class=cFB>fp_update_ctrls</span><span class=cF0>)(</span><span class=cF9>CTask</span><span class=cF0> *task);
<a name="l685"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TSSBusy</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> tr, </span><span class=cF1>Bool</span><span class=cF0> val=</span><span class=cF3>OFF</span><span class=cF0>);
<a name="l686"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskDerivedValsUpdate</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> update_z_buf=</span><span class=cF3>TRUE</span><span class=cF0>);
<a name="l687"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>WinDerivedValsUpdate</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task);
<a name="l688"></a>
<a name="l689"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Task;Job/Exe;Task/Job/Exe;MultiCore&quot;</span><span class=cF0>
<a name="l690"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CTask</span><span class=cF0> *</span><span class=cF5>Spawn</span><span class=cF0>(</span><span class=cF1>U0</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_addr</span><span class=cF7>)(</span><span class=cF1>U8</span><span class=cF0> *data</span><span class=cF7>)</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *data=</span><span class=cF3>NULL</span><span class=cF0>,
<a name="l691"></a> </span><span class=cF1>U8</span><span class=cF0> *task_name=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> target_cpu=-</span><span class=cFE>1</span><span class=cF0>, </span><span class=cF2>//-1 means current CPU</span><span class=cF0>
<a name="l692"></a> </span><span class=cF9>CTask</span><span class=cF0> *parent=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF2>//NULL means sys_task</span><span class=cF0>
<a name="l693"></a> </span><span class=cF9>I64</span><span class=cF0> stack_size=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>1</span><span class=cF0>&lt;&lt;</span><span class=cF3>JOBf_ADD_TO_QUE</span><span class=cF0>);
<a name="l694"></a>
<a name="l695"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Time/CPU Cycles;Time/Jiffies&quot;</span><span class=cF0>
<a name="l696"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CCountsGlobals</span><span class=cF0> </span><span class=cFB>counts</span><span class=cF0>;
<a name="l697"></a>
<a name="l698"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Time/Date/CDate;Date/CDate&quot;</span><span class=cF0>
<a name="l699"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/TimeDate&quot;</span><span class=cF0>
<a name="l700"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Date2Struct</span><span class=cF0>(</span><span class=cF9>CDateStruct</span><span class=cF0> *_ds, </span><span class=cF9>CDate</span><span class=cF0> cdt);
<a name="l701"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>MPrintDate</span><span class=cF0>(</span><span class=cF9>CDate</span><span class=cF0> cdt);
<a name="l702"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>MPrintTime</span><span class=cF0>(</span><span class=cF9>CDate</span><span class=cF0> cdt);
<a name="l703"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CDate</span><span class=cF0> </span><span class=cF5>Now</span><span class=cF0>();
<a name="l704"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CDate</span><span class=cF0> </span><span class=cF5>Struct2Date</span><span class=cF0>(</span><span class=cF9>CDateStruct</span><span class=cF0> *_ds);
<a name="l705"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CDate</span><span class=cF0> </span><span class=cFB>local_time_offset</span><span class=cF0>;
<a name="l706"></a>
<a name="l707"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Time/Date/CMOS;Date/CMOS&quot;</span><span class=cF0>
<a name="l708"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> </span><span class=cF5>CMOSRegRead</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> register);
<a name="l709"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>CMOSRegWrite</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> register, </span><span class=cF9>I64</span><span class=cF0> val);
<a name="l710"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>CMOSIsBcd</span><span class=cF0>();
<a name="l711"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TimeSet</span><span class=cF0>(</span><span class=cF9>CDateStruct</span><span class=cF0> *ds);
<a name="l712"></a>
<a name="l713"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Time/Date;Date&quot;</span><span class=cF0>
<a name="l714"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Date&quot;</span><span class=cF0>
<a name="l715"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>DayOfWeek</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> i);
<a name="l716"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>FirstDayOfMon</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> i);
<a name="l717"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>FirstDayOfYear</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> i);
<a name="l718"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>LastDayOfMon</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> i);
<a name="l719"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>LastDayOfYear</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> i);
<a name="l720"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>YearStartDate</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> year);
<a name="l721"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U16</span><span class=cF0> </span><span class=cFB>month_start_days</span><span class=cF0>[</span><span class=cFE>12</span><span class=cF0>];
<a name="l722"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U16</span><span class=cF0> </span><span class=cFB>month_start_days_leap</span><span class=cF0>[</span><span class=cFE>12</span><span class=cF0>];
<a name="l723"></a>
<a name="l724"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Time/Jiffies&quot;</span><span class=cF0>
<a name="l725"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/TimeJiffy&quot;</span><span class=cF0>
<a name="l726"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>SysTimerRead</span><span class=cF0>();</span><span class=cF2>//18.33333*65536Hz (SYS_TIMER_FREQ)</span><span class=cF0>
<a name="l727"></a>
<a name="l728"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Time/Seconds&quot;</span><span class=cF0>
<a name="l729"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>Blink</span><span class=cF0>(</span><span class=cF1>F64</span><span class=cF0> Hz=</span><span class=cFE>2</span><span class=cF0>.</span><span class=cFE>5</span><span class=cF0>);
<a name="l730"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cF5>tS</span><span class=cF0>(); </span><span class=cF2>//From SysTimerFreq.</span><span class=cF0>
<a name="l731"></a>
<a name="l732"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Windows&quot;</span><span class=cF0>
<a name="l733"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>WinInside</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> x, </span><span class=cF9>I64</span><span class=cF0> y, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> border=</span><span class=cFE>0</span><span class=cF0>);
<a name="l734"></a>
<a name="l735"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;&quot;</span></pre></body>
<a name="l369"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>AHCIAtapiBlank</span><span class=cF0>(</span><span class=cF9>CBlkDev</span><span class=cF0> *bd, </span><span class=cF1>Bool</span><span class=cF0> minimal=</span><span class=cF3>TRUE</span><span class=cF0>);
<a name="l370"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>DiscEject</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> drv_let);
<a name="l371"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>DiscLoad</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> drv_let);
<a name="l372"></a>
<a name="l373"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CBlkDevGlobals</span><span class=cF0> </span><span class=cFB>blkdev</span><span class=cF0>;
<a name="l374"></a>
<a name="l375"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Graphics/Color&quot;</span><span class=cF0>
<a name="l376"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> (*</span><span class=cFB>fp_set_std_palette</span><span class=cF0>)();
<a name="l377"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>Color2Str</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *buf, </span><span class=cF9>CColorROPU32</span><span class=cF0> c);
<a name="l378"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CColorROPU16</span><span class=cF0> </span><span class=cF5>Str2ColorU16</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *st);
<a name="l379"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CColorROPU32</span><span class=cF0> </span><span class=cF5>Str2ColorU32</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *st);
<a name="l380"></a>
<a name="l381"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Hash&quot;</span><span class=cF0>
<a name="l382"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Hash&quot;</span><span class=cF0>
<a name="l383"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_HASH_ADD</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>HashAdd</span><span class=cF0>( </span><span class=cF9>CHash</span><span class=cF0> *tmph, </span><span class=cF9>CHashTable</span><span class=cF0> *table);
<a name="l384"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_HASH_ADD_AFTER</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>HashAddAfter</span><span class=cF0>(</span><span class=cF9>CHash</span><span class=cF0> *tmph, </span><span class=cF9>CHash</span><span class=cF0> *pred, </span><span class=cF9>CHashTable</span><span class=cF0> *table);
<a name="l385"></a></span><span class=cF2>//Add hash entry after entry.</span><span class=cF0>
<a name="l386"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_HASH_BUCKET_FIND</span><span class=cF0> </span><span class=cF9>CHash</span><span class=cF0> **</span><span class=cF5>HashBucketFind</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *needle_str, </span><span class=cF9>CHashTable</span><span class=cF0> *haystack_table);
<a name="l387"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_HASH_FIND</span><span class=cF0> </span><span class=cF9>CHash</span><span class=cF0> *</span><span class=cF5>HashFind</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *needle_str, </span><span class=cF9>CHashTable</span><span class=cF0> *haystack_table,
<a name="l388"></a> </span><span class=cF9>I64</span><span class=cF0> mask, </span><span class=cF9>I64</span><span class=cF0> instance=</span><span class=cFE>1</span><span class=cF0>);
<a name="l389"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_HASH_SINGLE_TABLE_FIND</span><span class=cF0> </span><span class=cF9>CHash</span><span class=cF0> *</span><span class=cF5>HashSingleTableFind</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *needle_str, </span><span class=cF9>CHashTable</span><span class=cF0> *haystack_table,
<a name="l390"></a> </span><span class=cF9>I64</span><span class=cF0> mask, </span><span class=cF9>I64</span><span class=cF0> instance=</span><span class=cFE>1</span><span class=cF0>);
<a name="l391"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_HASH_STR</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>HashStr</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *st);
<a name="l392"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CHashTable</span><span class=cF0> *</span><span class=cF5>HashTableNew</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> size, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l393"></a>
<a name="l394"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Hash/Frame&quot;</span><span class=cF0>
<a name="l395"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Frame&quot;</span><span class=cF0>
<a name="l396"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>FramePtr</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *name, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l397"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CHashGeneric</span><span class=cF0> *</span><span class=cF5>FramePtrAdd</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *name, </span><span class=cF9>I64</span><span class=cF0> val=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l398"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>FramePtrDel</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *name, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l399"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>FramePtrSet</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *name, </span><span class=cF9>I64</span><span class=cF0> val, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l400"></a>
<a name="l401"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Hash/System&quot;</span><span class=cF0>
<a name="l402"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>HashDel</span><span class=cF0>(</span><span class=cF9>CHashSrcSym</span><span class=cF0> *tmph);
<a name="l403"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CHashGeneric</span><span class=cF0> *</span><span class=cF5>HashGenericAdd</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *name, </span><span class=cF9>I64</span><span class=cF0> type,
<a name="l404"></a> </span><span class=cF9>I64</span><span class=cF0> val=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> u8=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> u16=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l405"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CHashGeneric</span><span class=cF0> *</span><span class=cF5>HashPublic</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *st, </span><span class=cF9>I64</span><span class=cF0> mask, </span><span class=cF1>Bool</span><span class=cF0> val=</span><span class=cF3>TRUE</span><span class=cF0>);
<a name="l406"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_HASH_REM_DEL</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>HashRemDel</span><span class=cF0>(</span><span class=cF9>CHash</span><span class=cF0> *tmph, </span><span class=cF9>CHashTable</span><span class=cF0> *table, </span><span class=cF9>I64</span><span class=cF0> instance=</span><span class=cFE>1</span><span class=cF0>);
<a name="l407"></a></span><span class=cF2>//instance must match tmph's</span><span class=cF0>
<a name="l408"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>HashTableDel</span><span class=cF0>( </span><span class=cF9>CHashTable</span><span class=cF0> *table);
<a name="l409"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>HashTablePurge</span><span class=cF0>(</span><span class=cF9>CHashTable</span><span class=cF0> *table);
<a name="l410"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>HashTypeNum</span><span class=cF0>(</span><span class=cF9>CHash</span><span class=cF0> *tmph);
<a name="l411"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>HashVal</span><span class=cF0>( </span><span class=cF9>CHash</span><span class=cF0> *tmph);
<a name="l412"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>SysSymImportsResolve</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *sptr, </span><span class=cF9>I64</span><span class=cF0> ld_flags=</span><span class=cFE>0</span><span class=cF0>);
<a name="l413"></a>
<a name="l414"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Hash/System;Char/Lists&quot;</span><span class=cF0>
<a name="l415"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>HashListAdd</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *list, </span><span class=cF9>I64</span><span class=cF0> type, </span><span class=cF9>CHashTable</span><span class=cF0> *table);
<a name="l416"></a>
<a name="l417"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Hash/System;Define;Char/Define;Char/Lists&quot;</span><span class=cF0>
<a name="l418"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>HashDefineListAdd</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *dname, </span><span class=cF9>I64</span><span class=cF0> type, </span><span class=cF9>CHashTable</span><span class=cF0> *table);
<a name="l419"></a>
<a name="l420"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Help System;Debugging/Debugger&quot;</span><span class=cF0>
<a name="l421"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Help</span><span class=cF0>();
<a name="l422"></a>
<a name="l423"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Info;File/Cmd Line (Typically);Cmd Line (Typically);Install&quot;</span><span class=cF0>
<a name="l424"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>DriveRep</span><span class=cF0>();
<a name="l425"></a>
<a name="l426"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Install&quot;</span><span class=cF0>
<a name="l427"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Install&quot;</span><span class=cF0>
<a name="l428"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>DriveEnable</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> drv_let, </span><span class=cF1>Bool</span><span class=cF0> val);
<a name="l429"></a>
<a name="l430"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Install;File/Cmd Line (Typically);Cmd Line (Typically);&quot;</span><span class=cF0>
<a name="l431"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Format</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> drv_let, </span><span class=cF1>Bool</span><span class=cF0> quick=</span><span class=cF3>TRUE</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> confirm=</span><span class=cF3>TRUE</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> type=</span><span class=cF3>FSt_FAT32</span><span class=cF0>);
<a name="l432"></a>
<a name="l433"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Install;Memory/BlkPool&quot;</span><span class=cF0>
<a name="l434"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>Scale2Mem</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> min, </span><span class=cF9>I64</span><span class=cF0> max, </span><span class=cF9>I64</span><span class=cF0> limit=</span><span class=cFE>2</span><span class=cF0>*</span><span class=cFE>1024</span><span class=cF0>*</span><span class=cFE>1024</span><span class=cF0>*</span><span class=cFE>1024</span><span class=cF0>);
<a name="l435"></a>
<a name="l436"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Job/Exe;Task/Job/Exe&quot;</span><span class=cF0>
<a name="l437"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>SysErr</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l438"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>SysWarn</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l439"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>SysLog</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l440"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>ExeCmdLine</span><span class=cF0>(</span><span class=cF9>CCompCtrl</span><span class=cF0> *cc);
<a name="l441"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>JobDel</span><span class=cF0>(</span><span class=cF9>CJob</span><span class=cF0> *tmpc);
<a name="l442"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>JobsHandler</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> run_flags, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l443"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>ServerCmdLine</span><span class=cF0>();
<a name="l444"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>ServerTaskCont</span><span class=cF0>();
<a name="l445"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CJob</span><span class=cF0> *</span><span class=cF5>TaskExe</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *server, </span><span class=cF9>CTask</span><span class=cF0> *master, </span><span class=cF1>U8</span><span class=cF0> *data, </span><span class=cF9>I64</span><span class=cF0> flags);
<a name="l446"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskResetAwaitingMessage</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l447"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>UserTaskCont</span><span class=cF0>();
<a name="l448"></a>
<a name="l449"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Job/Exe;Task/Job/Exe;Compiler&quot;</span><span class=cF0>
<a name="l450"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>Sys</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l451"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>PopUp</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *buf, </span><span class=cF9>CTask</span><span class=cF0> *parent=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>CTask</span><span class=cF0> **_pu_task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l452"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>PopUpPrint</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l453"></a>
<a name="l454"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Job/Exe;Task/Job/Exe;MultiCore&quot;</span><span class=cF0>
<a name="l455"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>JobResGet</span><span class=cF0>( </span><span class=cF9>CJob</span><span class=cF0> *request=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l456"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>JobResScan</span><span class=cF0>(</span><span class=cF9>CJob</span><span class=cF0> *request=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> *_res=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l457"></a>
<a name="l458"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Job/Text &amp; Messages;Task/Job/Text &amp; Messages&quot;</span><span class=cF0>
<a name="l459"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CJob</span><span class=cF0> *</span><span class=cF5>TaskText</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *server, </span><span class=cF9>CTask</span><span class=cF0> *master, </span><span class=cF1>U8</span><span class=cF0> *data, </span><span class=cF9>I64</span><span class=cF0> flags);
<a name="l460"></a>
<a name="l461"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Job/Text &amp; Messages;Task/Job/Text &amp; Messages;InFile;StdIn/InFile&quot;</span><span class=cF0>
<a name="l462"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>In</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l463"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>InFile</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *filename);
<a name="l464"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>InStr</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l465"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>XTalk</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l466"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>XTalkStr</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l467"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>XTalkStrWait</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l468"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>XTalkWait</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l469"></a>
<a name="l470"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Job/Text &amp; Messages;Task/Job/Text &amp; Messages;Messages&quot;</span><span class=cF0>
<a name="l471"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Message</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> message_code, </span><span class=cF9>I64</span><span class=cF0> arg1, </span><span class=cF9>I64</span><span class=cF0> arg2, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>0</span><span class=cF0>);
<a name="l472"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MessagePost</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF9>I64</span><span class=cF0> message_code, </span><span class=cF9>I64</span><span class=cF0> arg1, </span><span class=cF9>I64</span><span class=cF0> arg2, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>0</span><span class=cF0>);
<a name="l473"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MessagePostWait</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF9>I64</span><span class=cF0> message_code, </span><span class=cF9>I64</span><span class=cF0> arg1, </span><span class=cF9>I64</span><span class=cF0> arg2, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>0</span><span class=cF0>);
<a name="l474"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CJob</span><span class=cF0> *</span><span class=cF5>TaskMessage</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *server, </span><span class=cF9>CTask</span><span class=cF0> *master, </span><span class=cF9>I64</span><span class=cF0> message_code, </span><span class=cF9>I64</span><span class=cF0> arg1, </span><span class=cF9>I64</span><span class=cF0> arg2, </span><span class=cF9>I64</span><span class=cF0> flags);
<a name="l475"></a>
<a name="l476"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Job;Task/Job&quot;</span><span class=cF0>
<a name="l477"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Job&quot;</span><span class=cF0>
<a name="l478"></a>
<a name="l479"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Keyboard Devices/System;Char/System&quot;</span><span class=cF0>
<a name="l480"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/KeyDev&quot;</span><span class=cF0>
<a name="l481"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>CtrlAltCBSet</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> ch, </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_handler</span><span class=cF7>)(</span><span class=cF9>I64</span><span class=cF0> sc</span><span class=cF7>)</span><span class=cF0>,
<a name="l482"></a> </span><span class=cF1>U8</span><span class=cF0> *no_shift_desc=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *shift_desc=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> in_irq=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l483"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>KeyDescSet</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *format, ...);
<a name="l484"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CKeyDevEntry</span><span class=cF0> *</span><span class=cF5>KeyDevAdd</span><span class=cF0>(</span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_put_key</span><span class=cF7>)(</span><span class=cF9>I64</span><span class=cF0> ch, </span><span class=cF9>I64</span><span class=cF0> sc</span><span class=cF7>)</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_puts</span><span class=cF7>)(</span><span class=cF1>U8</span><span class=cF0> *st</span><span class=cF7>)</span><span class=cF0>,
<a name="l485"></a> </span><span class=cF9>I64</span><span class=cF0> priority, </span><span class=cF1>Bool</span><span class=cF0> key_descs=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l486"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>KeyDevRemove</span><span class=cF0>(</span><span class=cF9>CKeyDevEntry</span><span class=cF0> *tmpk);
<a name="l487"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CKeyDevGlobals</span><span class=cF0> </span><span class=cFB>keydev</span><span class=cF0>;
<a name="l488"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CJob</span><span class=cF0> </span><span class=cFB>sys_macro_head</span><span class=cF0>;
<a name="l489"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CTask</span><span class=cF0> *</span><span class=cFB>sys_macro_task</span><span class=cF0>;
<a name="l490"></a>
<a name="l491"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Keyboard Devices;Char/Input;StdIn&quot;</span><span class=cF0>
<a name="l492"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *(*</span><span class=cFB>fp_getstr2</span><span class=cF0>)(</span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>0</span><span class=cF0>); </span><span class=cF2>//StrGet </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4367"><span class=cF4>Flags</span></a><span class=cF0>
<a name="l493"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>AreYouSure</span><span class=cF0>();
<a name="l494"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>CharGet</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> *_scan_code=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> echo=</span><span class=cF3>TRUE</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> raw_cursor=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l495"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>KeyGet</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> *_scan_code=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> echo=</span><span class=cF3>FALSE</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> raw_cursor=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l496"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>StrNGet</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *buf, </span><span class=cF9>I64</span><span class=cF0> size, </span><span class=cF1>Bool</span><span class=cF0> allow_ext=</span><span class=cF3>TRUE</span><span class=cF0>);
<a name="l497"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>StrGet</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *message=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF1>default</span><span class=cF0>=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>0</span><span class=cF0>);
<a name="l498"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>KbdInit</span><span class=cF0>();
<a name="l499"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>KbdMouseEventTime</span><span class=cF0>();
<a name="l500"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>KbdMouseHandler</span><span class=cF0>(</span><span class=cF1>Bool</span><span class=cF0> poll_kbd, </span><span class=cF1>Bool</span><span class=cF0> poll_mouse);
<a name="l501"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>KbdMouseInit</span><span class=cF0>();
<a name="l502"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>KbdMessagesQueue</span><span class=cF0>();
<a name="l503"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>KbdTypeMatic</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> delay);
<a name="l504"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>MouseHardDriverInstall</span><span class=cF0>();
<a name="l505"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>MouseHardEnable</span><span class=cF0>(</span><span class=cF1>Bool</span><span class=cF0> val=</span><span class=cF3>TRUE</span><span class=cF0>);
<a name="l506"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>PressAKey</span><span class=cF0>();
<a name="l507"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>CharScan</span><span class=cF0>();
<a name="l508"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>KeyScan</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> *_ch=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> *_scan_code=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> echo=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l509"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>YorN</span><span class=cF0>();
<a name="l510"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CKbdStateGlobals</span><span class=cF0> </span><span class=cFB>kbd</span><span class=cF0>;
<a name="l511"></a>
<a name="l512"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Math&quot;</span><span class=cF0>
<a name="l513"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>CeilI64</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> num, </span><span class=cF9>I64</span><span class=cF0> to);
<a name="l514"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U64</span><span class=cF0> </span><span class=cF5>CeilU64</span><span class=cF0>(</span><span class=cF9>U64</span><span class=cF0> num, </span><span class=cF9>U64</span><span class=cF0> to);
<a name="l515"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cF5>Clamp</span><span class=cF0>(</span><span class=cF1>F64</span><span class=cF0> d, </span><span class=cF1>F64</span><span class=cF0> lo, </span><span class=cF1>F64</span><span class=cF0> hi);
<a name="l516"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>FloorI64</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> num, </span><span class=cF9>I64</span><span class=cF0> to);
<a name="l517"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U64</span><span class=cF0> </span><span class=cF5>FloorU64</span><span class=cF0>(</span><span class=cF9>U64</span><span class=cF0> num, </span><span class=cF9>U64</span><span class=cF0> to);
<a name="l518"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cF5>Max</span><span class=cF0>(</span><span class=cF1>F64</span><span class=cF0> n1, </span><span class=cF1>F64</span><span class=cF0> n2);
<a name="l519"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cF5>Min</span><span class=cF0>(</span><span class=cF1>F64</span><span class=cF0> n1, </span><span class=cF1>F64</span><span class=cF0> n2);
<a name="l520"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cF5>Pow10I64</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> i);
<a name="l521"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cF5>Rand</span><span class=cF0>(); </span><span class=cF2>//With timestamp</span><span class=cF0>
<a name="l522"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> </span><span class=cF5>RandU8</span><span class=cF0>();
<a name="l523"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I16</span><span class=cF0> </span><span class=cF5>RandI16</span><span class=cF0>();
<a name="l524"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I32</span><span class=cF0> </span><span class=cF5>RandI32</span><span class=cF0>();
<a name="l525"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>RandI64</span><span class=cF0>();
<a name="l526"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U16</span><span class=cF0> </span><span class=cF5>RandU16</span><span class=cF0>();
<a name="l527"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U32</span><span class=cF0> </span><span class=cF5>RandU32</span><span class=cF0>();
<a name="l528"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U64</span><span class=cF0> </span><span class=cF5>RandU64</span><span class=cF0>();
<a name="l529"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>RoundI64</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> num, </span><span class=cF9>I64</span><span class=cF0> to);
<a name="l530"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>Seed</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> seed=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l531"></a>
<a name="l532"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Memory/Info&quot;</span><span class=cF0>
<a name="l533"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>MemBIOSTotal</span><span class=cF0>();
<a name="l534"></a>
<a name="l535"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Memory/System Heap&quot;</span><span class=cF0>
<a name="l536"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>SysCAlloc</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> size);
<a name="l537"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>SysMAlloc</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> size);
<a name="l538"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>SysMAllocIdent</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *src);
<a name="l539"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>SysReAlloc</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *src, </span><span class=cF9>U64</span><span class=cF0> size);
<a name="l540"></a>
<a name="l541"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Memory/BlkPool&quot;</span><span class=cF0>
<a name="l542"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>BlkPoolAdd</span><span class=cF0>( </span><span class=cF9>CBlkPool</span><span class=cF0> *bp, </span><span class=cF9>CMemBlk</span><span class=cF0> *m, </span><span class=cF9>I64</span><span class=cF0> pags);
<a name="l543"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>BlkPoolInit</span><span class=cF0>(</span><span class=cF9>CBlkPool</span><span class=cF0> *bp, </span><span class=cF9>I64</span><span class=cF0> pags);
<a name="l544"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>MemPagAlloc</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> pags, </span><span class=cF9>CBlkPool</span><span class=cF0> *bp=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l545"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MemPagFree</span><span class=cF0>(</span><span class=cF9>CMemBlk</span><span class=cF0> *m, </span><span class=cF9>CBlkPool</span><span class=cF0> *bp=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l546"></a>
<a name="l547"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Memory/Heap&quot;</span><span class=cF0>
<a name="l548"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>CAlloc</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> size, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l549"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>CAllocAligned</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> size, </span><span class=cF9>I64</span><span class=cF0> alignment, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> misalignment=</span><span class=cFE>0</span><span class=cF0>);
<a name="l550"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_FREE</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Free</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *addr);
<a name="l551"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_MALLOC</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>MAlloc</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> size, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l552"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>MAllocAligned</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> size, </span><span class=cF9>I64</span><span class=cF0> alignment, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> misalignment=</span><span class=cFE>0</span><span class=cF0>);
<a name="l553"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>MAllocIdent</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *src, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l554"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>ReAlloc</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *src, </span><span class=cF9>U64</span><span class=cF0> size, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l555"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_MHEAP_CTRL</span><span class=cF0> </span><span class=cF9>CHeapCtrl</span><span class=cF0> *</span><span class=cF5>MHeapCtrl</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *src);
<a name="l556"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_MSIZE</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>MSize</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *src); </span><span class=cF2>//size of heap object</span><span class=cF0>
<a name="l557"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_MSIZE2</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>MSize2</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *src); </span><span class=cF2>//Internal size</span><span class=cF0>
<a name="l558"></a>
<a name="l559"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Memory/HeapCtrl&quot;</span><span class=cF0>
<a name="l560"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>HeapCtrlDel</span><span class=cF0>( </span><span class=cF9>CHeapCtrl</span><span class=cF0> *hc);
<a name="l561"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CHeapCtrl</span><span class=cF0> *</span><span class=cF5>HeapCtrlInit</span><span class=cF0>(</span><span class=cF9>CHeapCtrl</span><span class=cF0> *hc=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>CBlkPool</span><span class=cF0> *bp);
<a name="l562"></a>
<a name="l563"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Memory/Segmentation&quot;</span><span class=cF0>
<a name="l564"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>Seg2Linear</span><span class=cF0>(</span><span class=cF9>U32</span><span class=cF0> *ptr);
<a name="l565"></a>
<a name="l566"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Memory/Page Tables&quot;</span><span class=cF0>
<a name="l567"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> *</span><span class=cF5>MemPageTable</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *a);
<a name="l568"></a>
<a name="l569"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Messages&quot;</span><span class=cF0>
<a name="l570"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Messages&quot;</span><span class=cF0>
<a name="l571"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>FlushMessages</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l572"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>MessageGet</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> *_arg1=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> *_arg2=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> mask=~</span><span class=cFE>1</span><span class=cF0>, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l573"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>InputFilterTask</span><span class=cF0>();
<a name="l574"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>MessageScan</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> *_arg1=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> *_arg2=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> mask=~</span><span class=cFE>1</span><span class=cF0>, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l575"></a>
<a name="l576"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Misc&quot;</span><span class=cF0>
<a name="l577"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>QuickSort</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *base, </span><span class=cF9>I64</span><span class=cF0> num, </span><span class=cF9>I64</span><span class=cF0> width, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_compare</span><span class=cF7>)(</span><span class=cF1>U8</span><span class=cF0> *e1, </span><span class=cF1>U8</span><span class=cF0> *e2</span><span class=cF7>)</span><span class=cF0>);
<a name="l578"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>QuickSortI64</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> *base, </span><span class=cF9>I64</span><span class=cF0> num, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_compare</span><span class=cF7>)(</span><span class=cF9>I64</span><span class=cF0> e1, </span><span class=cF9>I64</span><span class=cF0> e2</span><span class=cF7>)</span><span class=cF0>);
<a name="l579"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cFB>sys_os_version</span><span class=cF0>;
<a name="l580"></a>
<a name="l581"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Misc/Progress Bars&quot;</span><span class=cF0>
<a name="l582"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>ProgressBarsReset</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *path=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l583"></a>
<a name="l584"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Mouse&quot;</span><span class=cF0>
<a name="l585"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Mouse&quot;</span><span class=cF0>
<a name="l586"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>GridInit</span><span class=cF0>();
<a name="l587"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MouseSet</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> x=</span><span class=cF3>I64_MAX</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> y=</span><span class=cF3>I64_MAX</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> z=</span><span class=cF3>I64_MAX</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> l=</span><span class=cF3>I64_MAX</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> r=</span><span class=cF3>I64_MAX</span><span class=cF0>);
<a name="l588"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CMouseStateGlobals</span><span class=cF0> </span><span class=cFB>mouse</span><span class=cF0>;
<a name="l589"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CGridGlobals</span><span class=cF0> </span><span class=cFB>mouse_grid</span><span class=cF0>;
<a name="l590"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CMouseHardStateGlobals</span><span class=cF0> </span><span class=cFB>mouse_hard</span><span class=cF0>;
<a name="l591"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CMouseHardStateGlobals</span><span class=cF0> </span><span class=cFB>mouse_hard_last</span><span class=cF0>;
<a name="l592"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CMouseStateGlobals</span><span class=cF0> </span><span class=cFB>mouse_last</span><span class=cF0>;
<a name="l593"></a>
<a name="l594"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Mouse/Ptr&quot;</span><span class=cF0>
<a name="l595"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MouseInit</span><span class=cF0>();
<a name="l596"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MouseUpdate</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> x, </span><span class=cF9>I64</span><span class=cF0> y, </span><span class=cF9>I64</span><span class=cF0> z, </span><span class=cF1>Bool</span><span class=cF0> l, </span><span class=cF1>Bool</span><span class=cF0> r);
<a name="l597"></a>
<a name="l598"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;MultiCore&quot;</span><span class=cF0>
<a name="l599"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Core0StartMP</span><span class=cF0>();
<a name="l600"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>CoreAPExecutiveTask</span><span class=cF0>();
<a name="l601"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MPInt</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> num, </span><span class=cF9>I64</span><span class=cF0> cpu_num=</span><span class=cFE>1</span><span class=cF0>);
<a name="l602"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MPIntAll</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> num);
<a name="l603"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MPNMInt</span><span class=cF0>();
<a name="l604"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CTask</span><span class=cF0> *</span><span class=cF5>SpawnQueue</span><span class=cF0>(</span><span class=cF1>U0</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_addr</span><span class=cF7>)(</span><span class=cF1>U8</span><span class=cF0> *data</span><span class=cF7>)</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *data=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *task_name=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> target_cpu,
<a name="l605"></a> </span><span class=cF9>CTask</span><span class=cF0> *parent=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF2>//NULL means sys_task</span><span class=cF0>
<a name="l606"></a> </span><span class=cF9>I64</span><span class=cF0> stack_size=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>1</span><span class=cF0>&lt;&lt;</span><span class=cF3>JOBf_ADD_TO_QUE</span><span class=cF0>);
<a name="l607"></a>
<a name="l608"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;MultiCore;Boot&quot;</span><span class=cF0>
<a name="l609"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>MPHalt</span><span class=cF0>();
<a name="l610"></a>
<a name="l611"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;MultiCore;Job/Exe;Task/Job/Exe&quot;</span><span class=cF0>
<a name="l612"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CJob</span><span class=cF0> *</span><span class=cF5>JobQueue</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_addr</span><span class=cF7>)(</span><span class=cF1>U8</span><span class=cF0> *data</span><span class=cF7>)</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *data=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> target_cpu=</span><span class=cFE>1</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>1</span><span class=cF0>&lt;&lt;</span><span class=cF3>JOBf_FREE_ON_COMPLETE</span><span class=cF0>,
<a name="l613"></a> </span><span class=cF9>I64</span><span class=cF0> job_code=</span><span class=cF3>JOBT_CALL</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *aux_str=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> aux1=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> aux2=</span><span class=cFE>0</span><span class=cF0>);
<a name="l614"></a>
<a name="l615"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;PCI&quot;</span><span class=cF0>
<a name="l616"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>PCIClassFind</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> class_code, </span><span class=cF9>I64</span><span class=cF0> n);
<a name="l617"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U16</span><span class=cF0> </span><span class=cF5>PCIReadU16</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> bus, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>dev</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> fun, </span><span class=cF9>I64</span><span class=cF0> rg);
<a name="l618"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U32</span><span class=cF0> </span><span class=cF5>PCIReadU32</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> bus, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>dev</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> fun, </span><span class=cF9>I64</span><span class=cF0> rg);
<a name="l619"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> </span><span class=cF5>PCIReadU8</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> bus, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>dev</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> fun, </span><span class=cF9>I64</span><span class=cF0> rg);
<a name="l620"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>PCIWriteU16</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> bus, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>dev</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> fun, </span><span class=cF9>I64</span><span class=cF0> rg, </span><span class=cF9>I64</span><span class=cF0> val);
<a name="l621"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>PCIWriteU32</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> bus, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>dev</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> fun, </span><span class=cF9>I64</span><span class=cF0> rg, </span><span class=cF9>I64</span><span class=cF0> val);
<a name="l622"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>PCIWriteU8</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> bus, </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>dev</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> fun, </span><span class=cF9>I64</span><span class=cF0> rg, </span><span class=cF9>I64</span><span class=cF0> val);
<a name="l623"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>SYS_PCIBIOS_SERVICE_DIR</span><span class=cF0> </span><span class=cF9>U32</span><span class=cF0> </span><span class=cFB>sys_PCIBIOS_service_dir</span><span class=cF0>;</span><span class=cF2>//Far call routine in the BIOS</span><span class=cF0>
<a name="l624"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>SYS_PCI_SERVICES</span><span class=cF0> </span><span class=cF9>U32</span><span class=cF0> </span><span class=cFB>sys_pci_services</span><span class=cF0>;</span><span class=cF2>//Far call routine in the BIOS</span><span class=cF0>
<a name="l625"></a>
<a name="l626"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Processor&quot;</span><span class=cF0>
<a name="l627"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>IntEntryGet</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> irq);
<a name="l628"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>IntEntrySet</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> irq, </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_new_handler</span><span class=cF7>)()</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> type=</span><span class=cF3>IDTET_IRQ</span><span class=cF0>);
<a name="l629"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>IntEntryAlloc</span><span class=cF0>();
<a name="l630"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>IntEntryFree</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> irq);
<a name="l631"></a>
<a name="l632"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;ScreenCast;Cmd Line (Typically)&quot;</span><span class=cF0>
<a name="l633"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>ScreenCast</span><span class=cF0>(</span><span class=cF1>Bool</span><span class=cF0> val=</span><span class=cF3>ON</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> just_audio=</span><span class=cF3>FALSE</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *print_format=</span><span class=cF6>&quot;B:/Tmp/%X.GR&quot;</span><span class=cF0>)
<a name="l634"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CScreenCastGlobals</span><span class=cF0> </span><span class=cFB>screencast</span><span class=cF0>;
<a name="l635"></a>
<a name="l636"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Sound&quot;</span><span class=cF0>
<a name="l637"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Sound&quot;</span><span class=cF0>
<a name="l638"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Beep</span><span class=cF0>(</span><span class=cF1>I8</span><span class=cF0> ona=</span><span class=cFE>62</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> busy=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l639"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>I8</span><span class=cF0> </span><span class=cF5>Freq2Ona</span><span class=cF0>(</span><span class=cF1>F64</span><span class=cF0> freq);
<a name="l640"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>IsMute</span><span class=cF0>();
<a name="l641"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>Mute</span><span class=cF0>(</span><span class=cF1>Bool</span><span class=cF0> val);
<a name="l642"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cF5>Ona2Freq</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> ona);
<a name="l643"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Sound</span><span class=cF0>(</span><span class=cF1>I8</span><span class=cF0> ona=</span><span class=cFE>0</span><span class=cF0>);
<a name="l644"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>SoundReset</span><span class=cF0>();
<a name="l645"></a>
<a name="l646"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;StdIn&quot;</span><span class=cF0>
<a name="l647"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Streams&quot;</span><span class=cF0>
<a name="l648"></a>
<a name="l649"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;StdOut&quot;</span><span class=cF0>
<a name="l650"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Streams&quot;</span><span class=cF0>
<a name="l651"></a>
<a name="l652"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Task&quot;</span><span class=cF0>
<a name="l653"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>BirthWait</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> **_task, </span><span class=cF9>I64</span><span class=cF0> task_num=-</span><span class=cFE>1</span><span class=cF0>);
<a name="l654"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>DeathWait</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> **_task, </span><span class=cF1>Bool</span><span class=cF0> send_exit=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l655"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Exit</span><span class=cF0>();
<a name="l656"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>IsSuspended</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l657"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>Kill</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF1>Bool</span><span class=cF0> wait=</span><span class=cF3>TRUE</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> just_break=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l658"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>Suspend</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> state=</span><span class=cF3>TRUE</span><span class=cF0>);
<a name="l659"></a></span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_TASK_CONTEXT_RESTORE</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskContextRestore</span><span class=cF0>();
<a name="l660"></a></span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_TASK_END_NOW</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskEndNow</span><span class=cF0>();
<a name="l661"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskKillDying</span><span class=cF0>();
<a name="l662"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskQueueIns</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task, </span><span class=cF9>CTask</span><span class=cF0> *pred=</span><span class=cF3>NULL</span><span class=cF0>);
<a name="l663"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskQueueRemove</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task);
<a name="l664"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>TaskValidate</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task);
<a name="l665"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskWait</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> cmd_line_prompt=</span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l666"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CTask</span><span class=cF0> *</span><span class=cF5>User</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *format=</span><span class=cF3>NULL</span><span class=cF0>, ...);
<a name="l667"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>UserCmdLine</span><span class=cF0>();
<a name="l668"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_YIELD</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Yield</span><span class=cF0>();
<a name="l669"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CTask</span><span class=cF0> *</span><span class=cFB>sys_task</span><span class=cF0>;
<a name="l670"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cFB>sys_num_spawned_tasks</span><span class=cF0>;
<a name="l671"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CTask</span><span class=cF0> *</span><span class=cFB>sys_winmgr_task</span><span class=cF0>, *</span><span class=cFB>sys_task_being_screen_updated</span><span class=cF0>;
<a name="l672"></a>
<a name="l673"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Task/Delay;Time/CPU Cycles&quot;</span><span class=cF0>
<a name="l674"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Busy</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> uS); </span><span class=cF2>//Loosely timed</span><span class=cF0>
<a name="l675"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>PortNop</span><span class=cF0>(); </span><span class=cF2>//On the order of 1uS</span><span class=cF0>
<a name="l676"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>TimeCal</span><span class=cF0>();
<a name="l677"></a>
<a name="l678"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Task/Delay;Time/Jiffies&quot;</span><span class=cF0>
<a name="l679"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Sleep</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> mS);
<a name="l680"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>SleepUntil</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> wake_jiffy);
<a name="l681"></a>
<a name="l682"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Task/Misc&quot;</span><span class=cF0>
<a name="l683"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> (*</span><span class=cFB>fp_update_ctrls</span><span class=cF0>)(</span><span class=cF9>CTask</span><span class=cF0> *task);
<a name="l684"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TSSBusy</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> tr, </span><span class=cF1>Bool</span><span class=cF0> val=</span><span class=cF3>OFF</span><span class=cF0>);
<a name="l685"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TaskDerivedValsUpdate</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> update_z_buf=</span><span class=cF3>TRUE</span><span class=cF0>);
<a name="l686"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>WinDerivedValsUpdate</span><span class=cF0>( </span><span class=cF9>CTask</span><span class=cF0> *task);
<a name="l687"></a>
<a name="l688"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Task;Job/Exe;Task/Job/Exe;MultiCore&quot;</span><span class=cF0>
<a name="l689"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CTask</span><span class=cF0> *</span><span class=cF5>Spawn</span><span class=cF0>(</span><span class=cF1>U0</span><span class=cF0> </span><span class=cF7>(</span><span class=cF0>*fp_addr</span><span class=cF7>)(</span><span class=cF1>U8</span><span class=cF0> *data</span><span class=cF7>)</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *data=</span><span class=cF3>NULL</span><span class=cF0>,
<a name="l690"></a> </span><span class=cF1>U8</span><span class=cF0> *task_name=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> target_cpu=-</span><span class=cFE>1</span><span class=cF0>, </span><span class=cF2>//-1 means current CPU</span><span class=cF0>
<a name="l691"></a> </span><span class=cF9>CTask</span><span class=cF0> *parent=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF2>//NULL means sys_task</span><span class=cF0>
<a name="l692"></a> </span><span class=cF9>I64</span><span class=cF0> stack_size=</span><span class=cFE>0</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>1</span><span class=cF0>&lt;&lt;</span><span class=cF3>JOBf_ADD_TO_QUE</span><span class=cF0>);
<a name="l693"></a>
<a name="l694"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Time/CPU Cycles;Time/Jiffies&quot;</span><span class=cF0>
<a name="l695"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CCountsGlobals</span><span class=cF0> </span><span class=cFB>counts</span><span class=cF0>;
<a name="l696"></a>
<a name="l697"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Time/Date/CDate;Date/CDate&quot;</span><span class=cF0>
<a name="l698"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/TimeDate&quot;</span><span class=cF0>
<a name="l699"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Date2Struct</span><span class=cF0>(</span><span class=cF9>CDateStruct</span><span class=cF0> *_ds, </span><span class=cF9>CDate</span><span class=cF0> cdt);
<a name="l700"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>MPrintDate</span><span class=cF0>(</span><span class=cF9>CDate</span><span class=cF0> cdt);
<a name="l701"></a></span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>MPrintTime</span><span class=cF0>(</span><span class=cF9>CDate</span><span class=cF0> cdt);
<a name="l702"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CDate</span><span class=cF0> </span><span class=cF5>Now</span><span class=cF0>();
<a name="l703"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CDate</span><span class=cF0> </span><span class=cF5>Struct2Date</span><span class=cF0>(</span><span class=cF9>CDateStruct</span><span class=cF0> *_ds);
<a name="l704"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>CDate</span><span class=cF0> </span><span class=cFB>local_time_offset</span><span class=cF0>;
<a name="l705"></a>
<a name="l706"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Time/Date/CMOS;Date/CMOS&quot;</span><span class=cF0>
<a name="l707"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> </span><span class=cF5>CMOSRegRead</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> register);
<a name="l708"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>CMOSRegWrite</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> register, </span><span class=cF9>I64</span><span class=cF0> val);
<a name="l709"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>CMOSIsBcd</span><span class=cF0>();
<a name="l710"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>TimeSet</span><span class=cF0>(</span><span class=cF9>CDateStruct</span><span class=cF0> *ds);
<a name="l711"></a>
<a name="l712"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Time/Date;Date&quot;</span><span class=cF0>
<a name="l713"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/Date&quot;</span><span class=cF0>
<a name="l714"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>DayOfWeek</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> i);
<a name="l715"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>FirstDayOfMon</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> i);
<a name="l716"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>FirstDayOfYear</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> i);
<a name="l717"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>LastDayOfMon</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> i);
<a name="l718"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>LastDayOfYear</span><span class=cF0>( </span><span class=cF9>I64</span><span class=cF0> i);
<a name="l719"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>YearStartDate</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> year);
<a name="l720"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U16</span><span class=cF0> </span><span class=cFB>month_start_days</span><span class=cF0>[</span><span class=cFE>12</span><span class=cF0>];
<a name="l721"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>U16</span><span class=cF0> </span><span class=cFB>month_start_days_leap</span><span class=cF0>[</span><span class=cFE>12</span><span class=cF0>];
<a name="l722"></a>
<a name="l723"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Time/Jiffies&quot;</span><span class=cF0>
<a name="l724"></a>#</span><span class=cF1>help_file</span><span class=cF0> </span><span class=cF6>&quot;::/Doc/TimeJiffy&quot;</span><span class=cF0>
<a name="l725"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>SysTimerRead</span><span class=cF0>();</span><span class=cF2>//18.33333*65536Hz (SYS_TIMER_FREQ)</span><span class=cF0>
<a name="l726"></a>
<a name="l727"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Time/Seconds&quot;</span><span class=cF0>
<a name="l728"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>Blink</span><span class=cF0>(</span><span class=cF1>F64</span><span class=cF0> Hz=</span><span class=cFE>2</span><span class=cF0>.</span><span class=cFE>5</span><span class=cF0>);
<a name="l729"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>F64</span><span class=cF0> </span><span class=cF5>tS</span><span class=cF0>(); </span><span class=cF2>//From SysTimerFreq.</span><span class=cF0>
<a name="l730"></a>
<a name="l731"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;Windows&quot;</span><span class=cF0>
<a name="l732"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>extern</span><span class=cF0> </span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>WinInside</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> x, </span><span class=cF9>I64</span><span class=cF0> y, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> border=</span><span class=cFE>0</span><span class=cF0>);
<a name="l733"></a>
<a name="l734"></a>#</span><span class=cF1>help_index</span><span class=cF0> </span><span class=cF6>&quot;&quot;</span></pre></body>
</html>

View file

@ -285,7 +285,7 @@ body {background-color:#fef1f0;}
<a name="l258"></a> </span><span class=cF1>MOV</span><span class=cF0> </span><span class=cFC>RAX</span><span class=cF0>, </span><span class=cF9>U64</span><span class=cF0> </span><span class=cF9>CMemUsed</span><span class=cF0>.size - </span><span class=cF9>CMemUsed</span><span class=cF0>.</span><span class=cF1>start</span><span class=cF0>[</span><span class=cFC>RSI</span><span class=cF0>]
<a name="l259"></a> </span><span class=cF1>TEST</span><span class=cF0> </span><span class=cFC>RAX</span><span class=cF0>, </span><span class=cFC>RAX</span><span class=cF0>
<a name="l260"></a> </span><span class=cF1>JGE</span><span class=cF0> @@20 </span><span class=cF2>//Aligned alloced chunks have neg size.</span><span class=cF0>
<a name="l261"></a> </span><span class=cF2>//The neg size is offset to start of </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3553"><span class=cF4>CMemUsed</span></a><span class=cF2> struct.</span><span class=cF0>
<a name="l261"></a> </span><span class=cF2>//The neg size is offset to start of </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3501"><span class=cF4>CMemUsed</span></a><span class=cF2> struct.</span><span class=cF0>
<a name="l262"></a> </span><span class=cF1>ADD</span><span class=cF0> </span><span class=cFC>RSI</span><span class=cF0>, </span><span class=cFC>RAX</span><span class=cF0>
<a name="l263"></a>
<a name="l264"></a>@@20: </span><span class=cF1>PUSHFD</span><span class=cF0>
@ -414,9 +414,9 @@ body {background-color:#fef1f0;}
<a name="l387"></a></span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_FREE</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>Free</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *addr); </span><span class=cF2>//Free </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l391"><span class=cF4>MAlloc</span></a><span class=cF2>()ed memory chunk.</span><span class=cF0>
<a name="l388"></a></span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_MSIZE</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>MSize</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *src); </span><span class=cF2>//Size of heap object.</span><span class=cF0>
<a name="l389"></a></span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_MSIZE2</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>MSize2</span><span class=cF0>( </span><span class=cF1>U8</span><span class=cF0> *src); </span><span class=cF2>//Internal size of heap object.</span><span class=cF0>
<a name="l390"></a></span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_MHEAP_CTRL</span><span class=cF0> </span><span class=cF9>CHeapCtrl</span><span class=cF0> *</span><span class=cF5>MHeapCtrl</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *src); </span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3617"><span class=cF4>CHeapCtrl</span></a><span class=cF2> of object.</span><span class=cF0>
<a name="l390"></a></span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_MHEAP_CTRL</span><span class=cF0> </span><span class=cF9>CHeapCtrl</span><span class=cF0> *</span><span class=cF5>MHeapCtrl</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *src); </span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3565"><span class=cF4>CHeapCtrl</span></a><span class=cF2> of object.</span><span class=cF0>
<a name="l391"></a></span><span class=cF1>_extern</span><span class=cF0> </span><span class=cFD>_MALLOC</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>MAlloc</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> size, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>); </span><span class=cF2>//Alloc memory chunk.</span><span class=cF0>
<a name="l392"></a></span><span class=cF2>//Accepts a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4030"><span class=cF4>CTask</span></a><span class=cF2> or </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3617"><span class=cF4>CHeapCtrl</span></a><span class=cF2>. NULL allocs off current task's heap.</span><span class=cF0>
<a name="l392"></a></span><span class=cF2>//Accepts a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3978"><span class=cF4>CTask</span></a><span class=cF2> or </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3565"><span class=cF4>CHeapCtrl</span></a><span class=cF2>. NULL allocs off current task's heap.</span><span class=cF0>
<a name="l393"></a>
<a name="l394"></a></span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>SysMAlloc</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> size)
<a name="l395"></a>{</span><span class=cF2>//Alloc memory in System task's heap.</span><span class=cF0>
@ -424,7 +424,7 @@ body {background-color:#fef1f0;}
<a name="l397"></a>}
<a name="l398"></a>
<a name="l399"></a></span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>CAlloc</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> size, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>)
<a name="l400"></a>{</span><span class=cF2>//Accepts a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4030"><span class=cF4>CTask</span></a><span class=cF2> or </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3617"><span class=cF4>CHeapCtrl</span></a><span class=cF2>. NULL allocs off current task's heap.</span><span class=cF0>
<a name="l400"></a>{</span><span class=cF2>//Accepts a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3978"><span class=cF4>CTask</span></a><span class=cF2> or </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3565"><span class=cF4>CHeapCtrl</span></a><span class=cF2>. NULL allocs off current task's heap.</span><span class=cF0>
<a name="l401"></a> </span><span class=cF1>U8</span><span class=cF0> *res = </span><span class=cF5>MAlloc</span><span class=cF0>(size, mem_task);
<a name="l402"></a>
<a name="l403"></a> </span><span class=cF5>MemSet</span><span class=cF0>(res, </span><span class=cFE>0</span><span class=cF0>, size);
@ -438,7 +438,7 @@ body {background-color:#fef1f0;}
<a name="l411"></a>}
<a name="l412"></a>
<a name="l413"></a></span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>MAllocIdent</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *src, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>)
<a name="l414"></a>{</span><span class=cF2>//Accepts a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4030"><span class=cF4>CTask</span></a><span class=cF2> or </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3617"><span class=cF4>CHeapCtrl</span></a><span class=cF2>. NULL allocs off current task's heap.</span><span class=cF0>
<a name="l414"></a>{</span><span class=cF2>//Accepts a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3978"><span class=cF4>CTask</span></a><span class=cF2> or </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3565"><span class=cF4>CHeapCtrl</span></a><span class=cF2>. NULL allocs off current task's heap.</span><span class=cF0>
<a name="l415"></a> </span><span class=cF1>U8</span><span class=cF0> *res;
<a name="l416"></a> </span><span class=cF9>I64</span><span class=cF0> size;
<a name="l417"></a>
@ -509,7 +509,7 @@ body {background-color:#fef1f0;}
<a name="l482"></a>}
<a name="l483"></a>
<a name="l484"></a></span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>StrNew</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *buf, </span><span class=cF9>CTask</span><span class=cF0> *mem_task=</span><span class=cF3>NULL</span><span class=cF0>)
<a name="l485"></a>{</span><span class=cF2>//Accepts a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4030"><span class=cF4>CTask</span></a><span class=cF2> or </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3617"><span class=cF4>CHeapCtrl</span></a><span class=cF2>. NULL allocs off current task's heap.</span><span class=cF0>
<a name="l485"></a>{</span><span class=cF2>//Accepts a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3978"><span class=cF4>CTask</span></a><span class=cF2> or </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3565"><span class=cF4>CHeapCtrl</span></a><span class=cF2>. NULL allocs off current task's heap.</span><span class=cF0>
<a name="l486"></a> </span><span class=cF1>U8</span><span class=cF0> *res;
<a name="l487"></a> </span><span class=cF9>I64</span><span class=cF0> size;
<a name="l488"></a>

View file

@ -78,7 +78,7 @@ body {background-color:#fef1f0;}
<a name="l51"></a> </span><span class=cF1>MOV</span><span class=cF0> [</span><span class=cFD>MEM_512GIG_NUM</span><span class=cF0>], </span><span class=cFC>EAX</span><span class=cF0>
<a name="l52"></a> </span><span class=cF1>MOV</span><span class=cF0> [</span><span class=cFD>MEM_512GIG_NUM</span><span class=cF0> + </span><span class=cFE>4</span><span class=cF0>], </span><span class=cFC>EDX</span><span class=cF0>
<a name="l53"></a>
<a name="l54"></a></span><span class=cF2>//Set </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4173"><span class=cF4>CSysFixedArea</span></a><span class=cF2> to zero</span><span class=cF0>
<a name="l54"></a></span><span class=cF2>//Set </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4121"><span class=cF4>CSysFixedArea</span></a><span class=cF2> to zero</span><span class=cF0>
<a name="l55"></a> </span><span class=cF1>MOV</span><span class=cF0> </span><span class=cFC>EDI</span><span class=cF0>, </span><span class=cF3>SYS_FIXED_AREA</span><span class=cF0>
<a name="l56"></a> </span><span class=cF1>XOR</span><span class=cF0> </span><span class=cFC>EAX</span><span class=cF0>, </span><span class=cFC>EAX</span><span class=cF0>
<a name="l57"></a> </span><span class=cF1>MOV</span><span class=cF0> </span><span class=cFC>ECX</span><span class=cF0>, </span><span class=cF1>sizeof</span><span class=cF0>(</span><span class=cF9>CSysFixedArea</span><span class=cF0>) / </span><span class=cFE>4</span><span class=cF0>

View file

@ -376,7 +376,7 @@ body {background-color:#fef1f0;}
<a name="l349"></a> </span><span class=cF5>StrPrint</span><span class=cF0>(buf, </span><span class=cF6>&quot;Executive Task CPU%02X&quot;</span><span class=cF0>, i);
<a name="l350"></a> task = </span><span class=cF5>Spawn</span><span class=cF0>(&amp;</span><span class=cFD>CoreAPExecutiveInit</span><span class=cF0>, </span><span class=cF3>NULL</span><span class=cF0>, buf,,, </span><span class=cF3>MEM_EXECUTIVE_STACK</span><span class=cF0>, </span><span class=cFE>0</span><span class=cF0>);
<a name="l351"></a> task-&gt;rflags = </span><span class=cF3>RFLAGG_START</span><span class=cF0>;
<a name="l352"></a></span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4030"><span class=cF4>CTask</span></a><span class=cF2> alloced off this core's executive_task's heap (Which is System task)</span><span class=cF0>
<a name="l352"></a></span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3978"><span class=cF4>CTask</span></a><span class=cF2> alloced off this core's executive_task's heap (Which is System task)</span><span class=cF0>
<a name="l353"></a> </span><span class=cFD>CPUStructInit</span><span class=cF0>(i, &amp;</span><span class=cFB>cpu_structs</span><span class=cF0>[i], task);
<a name="l354"></a> </span><span class=cF1>WBINVD</span><span class=cF0> </span><span class=cF2>//Not sure why this is needed. Might just need delay.</span><span class=cF0>
<a name="l355"></a> </span><span class=cF7>}</span><span class=cF0>

View file

@ -70,7 +70,7 @@ body {background-color:#fef1f0;}
<a name="l43"></a>{</span><span class=cF2>/*Check for a message of type specified by a one in the mask.</span><span class=cF0>
<a name="l44"></a></span><span class=cF2>Throw-out messages not in mask.</span><span class=cF0>
<a name="l45"></a></span><span class=cF2>If no message fit mask, return NULL immediately.</span><span class=cF0>
<a name="l46"></a></span><span class=cF2>Remove desired message, return </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3934"><span class=cF4>message_code</span></a><span class=cF2>.</span><span class=cF0>
<a name="l46"></a></span><span class=cF2>Remove desired message, return </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3882"><span class=cF4>message_code</span></a><span class=cF2>.</span><span class=cF0>
<a name="l47"></a></span><span class=cF2>Note: This delivers messages from parent down to pop-up.</span><span class=cF0>
<a name="l48"></a></span><span class=cF2>*/</span><span class=cF0>
<a name="l49"></a> </span><span class=cF9>I64</span><span class=cF0> res, old_flags;
@ -136,7 +136,7 @@ body {background-color:#fef1f0;}
<a name="l109"></a></span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>MessageGet</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> *_arg1=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> *_arg2=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> mask=~</span><span class=cFE>1</span><span class=cF0>, </span><span class=cF9>CTask</span><span class=cF0> *task=</span><span class=cF3>NULL</span><span class=cF0>)
<a name="l110"></a>{</span><span class=cF2>//Wait for a message of type specified by a one in the mask.</span><span class=cF0>
<a name="l111"></a></span><span class=cF2>//Throw-out all messages not in mask.</span><span class=cF0>
<a name="l112"></a> </span><span class=cF2>//Returns </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3934"><span class=cF4>message_code</span></a><span class=cF2>. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/MessageLoop.CC.html#l1"><span class=cF4>::/Demo/MessageLoop.CC</span></a><span class=cF2>.</span><span class=cF0>
<a name="l112"></a> </span><span class=cF2>//Returns </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3882"><span class=cF4>message_code</span></a><span class=cF2>. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Demo/MessageLoop.CC.html#l1"><span class=cF4>::/Demo/MessageLoop.CC</span></a><span class=cF2>.</span><span class=cF0>
<a name="l113"></a> </span><span class=cF9>I64</span><span class=cF0> res;
<a name="l114"></a>
<a name="l115"></a> </span><span class=cF1>if</span><span class=cF0> (!task)
@ -153,8 +153,8 @@ body {background-color:#fef1f0;}
<a name="l126"></a>}
<a name="l127"></a>
<a name="l128"></a></span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>CharScan</span><span class=cF0>()
<a name="l129"></a>{</span><span class=cF2>//Checks for </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3935"><span class=cF4>MESSAGE_KEY_DOWN</span></a><span class=cF2> and returns 0 immediately if no key.</span><span class=cF0>
<a name="l130"></a></span><span class=cF2>//Waits for </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3936"><span class=cF4>MESSAGE_KEY_UP</span></a><span class=cF2> of non-zero </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4184"><span class=cF4>ASCII</span></a><span class=cF2> key and returns </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4184"><span class=cF4>ASCII</span></a><span class=cF2> if key.</span><span class=cF0>
<a name="l129"></a>{</span><span class=cF2>//Checks for </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3883"><span class=cF4>MESSAGE_KEY_DOWN</span></a><span class=cF2> and returns 0 immediately if no key.</span><span class=cF0>
<a name="l130"></a></span><span class=cF2>//Waits for </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3884"><span class=cF4>MESSAGE_KEY_UP</span></a><span class=cF2> of non-zero </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4132"><span class=cF4>ASCII</span></a><span class=cF2> key and returns </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4132"><span class=cF4>ASCII</span></a><span class=cF2> if key.</span><span class=cF0>
<a name="l131"></a> </span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/SerialDev/Message.CC.html#l42"><span class=cF4>MessageScan</span></a><span class=cF2>() throws away other message types.</span><span class=cF0>
<a name="l132"></a> </span><span class=cF9>I64</span><span class=cF0> arg1a, arg2a, arg1b, arg2b;
<a name="l133"></a>
@ -162,14 +162,14 @@ body {background-color:#fef1f0;}
<a name="l135"></a> </span><span class=cF1>return</span><span class=cF0> </span><span class=cFE>0</span><span class=cF0>;
<a name="l136"></a> </span><span class=cF1>else</span><span class=cF0>
<a name="l137"></a> </span><span class=cF1>do</span><span class=cF0> </span><span class=cF5>MessageGet</span><span class=cF0>(&amp;arg1b, &amp;arg2b, </span><span class=cFE>1</span><span class=cF0> &lt;&lt; </span><span class=cF3>MESSAGE_KEY_UP</span><span class=cF0>);
<a name="l138"></a> </span><span class=cF1>while</span><span class=cF0> (!arg1b); </span><span class=cF2>//Be careful of </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4258"><span class=cF4>SC_SHIFT</span></a><span class=cF2> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4259"><span class=cF4>SC_CTRL</span></a><span class=cF2>, etc.</span><span class=cF0>
<a name="l138"></a> </span><span class=cF1>while</span><span class=cF0> (!arg1b); </span><span class=cF2>//Be careful of </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4206"><span class=cF4>SC_SHIFT</span></a><span class=cF2> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4207"><span class=cF4>SC_CTRL</span></a><span class=cF2>, etc.</span><span class=cF0>
<a name="l139"></a>
<a name="l140"></a> </span><span class=cF1>return</span><span class=cF0> arg1a;
<a name="l141"></a>}
<a name="l142"></a>
<a name="l143"></a></span><span class=cF1>Bool</span><span class=cF0> </span><span class=cF5>KeyScan</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> *_ch=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> *_scan_code=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> echo=</span><span class=cF3>FALSE</span><span class=cF0>)
<a name="l144"></a>{</span><span class=cF2>//Checks for </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3935"><span class=cF4>MESSAGE_KEY_DOWN</span></a><span class=cF2> and returns FALSE immediately if no key.</span><span class=cF0>
<a name="l145"></a></span><span class=cF2>//Sets </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4184"><span class=cF4>ASCII</span></a><span class=cF2> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/CharOverview.DD.html#l1"><span class=cF4>scan_code</span></a><span class=cF2>.</span><span class=cF0>
<a name="l144"></a>{</span><span class=cF2>//Checks for </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3883"><span class=cF4>MESSAGE_KEY_DOWN</span></a><span class=cF2> and returns FALSE immediately if no key.</span><span class=cF0>
<a name="l145"></a></span><span class=cF2>//Sets </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4132"><span class=cF4>ASCII</span></a><span class=cF2> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/CharOverview.DD.html#l1"><span class=cF4>scan_code</span></a><span class=cF2>.</span><span class=cF0>
<a name="l146"></a> </span><span class=cF2>//Removes key message and returns TRUE.</span><span class=cF0>
<a name="l147"></a> </span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/SerialDev/Message.CC.html#l42"><span class=cF4>MessageScan</span></a><span class=cF2>() throws away other message types.</span><span class=cF0>
<a name="l148"></a> </span><span class=cF9>I64</span><span class=cF0> ch = </span><span class=cFE>0</span><span class=cF0>, sc = </span><span class=cFE>0</span><span class=cF0>;
@ -195,7 +195,7 @@ body {background-color:#fef1f0;}
<a name="l168"></a>}
<a name="l169"></a>
<a name="l170"></a></span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>KeyGet</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> *_scan_code=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> echo=</span><span class=cF3>FALSE</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> raw_cursor=</span><span class=cF3>FALSE</span><span class=cF0>)
<a name="l171"></a>{</span><span class=cF2>//Waits for </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3935"><span class=cF4>MESSAGE_KEY_DOWN</span></a><span class=cF2> message and returns </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4184"><span class=cF4>ASCII</span></a><span class=cF2>.</span><span class=cF0>
<a name="l171"></a>{</span><span class=cF2>//Waits for </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3883"><span class=cF4>MESSAGE_KEY_DOWN</span></a><span class=cF2> message and returns </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4132"><span class=cF4>ASCII</span></a><span class=cF2>.</span><span class=cF0>
<a name="l172"></a></span><span class=cF2>//Sets </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/CharOverview.DD.html#l1"><span class=cF4>scan_code</span></a><span class=cF2>.</span><span class=cF0>
<a name="l173"></a> </span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/SerialDev/Message.CC.html#l143"><span class=cF4>KeyScan</span></a><span class=cF2>() throws away other message types.</span><span class=cF0>
<a name="l174"></a> </span><span class=cF9>I64</span><span class=cF0> ch, sc;
@ -245,7 +245,7 @@ body {background-color:#fef1f0;}
<a name="l218"></a>}
<a name="l219"></a>
<a name="l220"></a></span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>CharGet</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> *_scan_code=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> echo=</span><span class=cF3>TRUE</span><span class=cF0>, </span><span class=cF1>Bool</span><span class=cF0> raw_cursor=</span><span class=cF3>FALSE</span><span class=cF0>)
<a name="l221"></a>{</span><span class=cF2>//Waits for non-zero </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4184"><span class=cF4>ASCII</span></a><span class=cF2> key.</span><span class=cF0>
<a name="l221"></a>{</span><span class=cF2>//Waits for non-zero </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4132"><span class=cF4>ASCII</span></a><span class=cF2> key.</span><span class=cF0>
<a name="l222"></a></span><span class=cF2>//Sets </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/CharOverview.DD.html#l1"><span class=cF4>scan_code</span></a><span class=cF2>.</span><span class=cF0>
<a name="l223"></a> </span><span class=cF9>I64</span><span class=cF0> ch1;
<a name="l224"></a>
@ -263,7 +263,7 @@ body {background-color:#fef1f0;}
<a name="l236"></a>}
<a name="l237"></a>
<a name="l238"></a></span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>StrGet</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *message=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF1>default</span><span class=cF0>=</span><span class=cF3>NULL</span><span class=cF0>, </span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cF3>NONE</span><span class=cF0>)
<a name="l239"></a>{</span><span class=cF2>//Returns a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l391"><span class=cF4>MAlloc</span></a><span class=cF2>()ed prompted string. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4419"><span class=cF4>Flags</span></a><span class=cF2>.</span><span class=cF0>
<a name="l239"></a>{</span><span class=cF2>//Returns a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l391"><span class=cF4>MAlloc</span></a><span class=cF2>()ed prompted string. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4367"><span class=cF4>Flags</span></a><span class=cF2>.</span><span class=cF0>
<a name="l240"></a> </span><span class=cF1>U8</span><span class=cF0> *st;
<a name="l241"></a>
<a name="l242"></a> </span><span class=cF1>if</span><span class=cF0> (message)

View file

@ -553,7 +553,7 @@ body {background-color:#fef1f0;}
<a name="l526"></a>}
<a name="l527"></a>
<a name="l528"></a></span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>StrUtil</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *_src, </span><span class=cF9>I64</span><span class=cF0> flags)
<a name="l529"></a>{</span><span class=cF2>//Modifies in place. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4427"><span class=cF4>flags</span></a><span class=cF2> for all the options.</span><span class=cF0>
<a name="l529"></a>{</span><span class=cF2>//Modifies in place. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4375"><span class=cF4>flags</span></a><span class=cF2> for all the options.</span><span class=cF0>
<a name="l530"></a> </span><span class=cF1>U8</span><span class=cF0> *src = _src, *dst = _src;
<a name="l531"></a> </span><span class=cF9>I64</span><span class=cF0> ch;
<a name="l532"></a>

View file

@ -152,7 +152,7 @@ body {background-color:#fef1f0;}
<a name="l125"></a>}
<a name="l126"></a>
<a name="l127"></a></span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>PressAKey</span><span class=cF0>()
<a name="l128"></a>{</span><span class=cF2>//Print &quot;Press a key&quot; and wait for non-zero </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4184"><span class=cF4>ASCII</span></a><span class=cF2> key.</span><span class=cF0>
<a name="l128"></a>{</span><span class=cF2>//Print &quot;Press a key&quot; and wait for non-zero </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4132"><span class=cF4>ASCII</span></a><span class=cF2> key.</span><span class=cF0>
<a name="l129"></a> </span><span class=cF6>&quot;$BK,1$PRESS A KEY$BK,0$\n&quot;</span><span class=cF0>;
<a name="l130"></a> </span><span class=cF1>return</span><span class=cF0> </span><span class=cF5>CharGet</span><span class=cF0>(, </span><span class=cF3>FALSE</span><span class=cF0>);
<a name="l131"></a>}

View file

@ -338,7 +338,7 @@ body {background-color:#fef1f0;}
<a name="l311"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>U8</span><span class=cF0> </span><span class=cF5>MountFile</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *filename)
<a name="l312"></a>{</span><span class=cF2>//Mount ISO.C file.</span><span class=cF0>
<a name="l313"></a> </span><span class=cF1>U8</span><span class=cF0> *filename2 = </span><span class=cF5>ExtDefault</span><span class=cF0>(filename, </span><span class=cF6>&quot;ISO.C&quot;</span><span class=cF0>), *filename3 = </span><span class=cF5>FileNameAbs</span><span class=cF0>(filename2);
<a name="l314"></a> </span><span class=cF9>CDrive</span><span class=cF0> *drive = </span><span class=cF5>DriveMakeFreeSlot</span><span class=cF0>(</span><span class=cF5>DriveNextFreeLet</span><span class=cF7>(</span><span class=cF6>'M'</span><span class=cF7>)</span><span class=cF0>); </span><span class=cF2>//First </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3333"><span class=cF4>BDT_ISO_FILE_READ</span></a><span class=cF0>
<a name="l314"></a> </span><span class=cF9>CDrive</span><span class=cF0> *drive = </span><span class=cF5>DriveMakeFreeSlot</span><span class=cF0>(</span><span class=cF5>DriveNextFreeLet</span><span class=cF7>(</span><span class=cF6>'M'</span><span class=cF7>)</span><span class=cF0>); </span><span class=cF2>//First </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3281"><span class=cF4>BDT_ISO_FILE_READ</span></a><span class=cF0>
<a name="l315"></a> </span><span class=cF9>CBlkDev</span><span class=cF0> *bd = </span><span class=cF5>BlkDevNextFreeSlot</span><span class=cF0>(drive-&gt;drv_let, </span><span class=cF3>BDT_ISO_FILE_READ</span><span class=cF0>);
<a name="l316"></a>
<a name="l317"></a> bd-&gt;drv_offset = </span><span class=cFE>19</span><span class=cF0> &lt;&lt; </span><span class=cFE>2</span><span class=cF0> + (</span><span class=cF3>DVD_BLK_SIZE</span><span class=cF0> * </span><span class=cFE>2</span><span class=cF0> + </span><span class=cF3>DVD_BOOT_LOADER_SIZE</span><span class=cF0>) / </span><span class=cF3>BLK_SIZE</span><span class=cF0>;

View file

@ -309,7 +309,7 @@ body {background-color:#fef1f0;}
<a name="l282"></a></span><span class=cF2>Default lists attributes.</span><span class=cF0>
<a name="l283"></a></span><span class=cF2>attr: &quot;+?&quot; =show current</span><span class=cF0>
<a name="l284"></a></span><span class=cF2>&quot;+T&quot; =resident</span><span class=cF4>
<a name="l285"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3236"><span class=cF4>RS_ATTR_READ_ONLY</span></a><span class=cF2> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KDefine.CC.html#l187"><span class=cF4>ST_FILE_ATTRS</span></a><span class=cF0>
<a name="l285"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3184"><span class=cF4>RS_ATTR_READ_ONLY</span></a><span class=cF2> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KDefine.CC.html#l187"><span class=cF4>ST_FILE_ATTRS</span></a><span class=cF0>
<a name="l286"></a></span><span class=cF2>To Set DateL:</span><span class=cF0>
<a name="l287"></a></span><span class=cF2>Touch(filename,&quot;&quot;,,datetime);</span><span class=cF0>
<a name="l288"></a></span><span class=cF2>*/</span><span class=cF0>

View file

@ -162,7 +162,7 @@ body {background-color:#fef1f0;}
<a name="l135"></a>}
<a name="l136"></a>
<a name="l137"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF9>I64</span><span class=cF0> </span><span class=cF5>FileCount</span><span class=cF0>(</span><span class=cF9>CDirEntry</span><span class=cF0> *tmpde)
<a name="l138"></a>{</span><span class=cF2>//Count of files in </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3257"><span class=cF4>CDirEntry</span></a><span class=cF2> tree.</span><span class=cF0>
<a name="l138"></a>{</span><span class=cF2>//Count of files in </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3205"><span class=cF4>CDirEntry</span></a><span class=cF2> tree.</span><span class=cF0>
<a name="l139"></a> </span><span class=cF9>I64</span><span class=cF0> count = </span><span class=cFE>0</span><span class=cF0>;
<a name="l140"></a>
<a name="l141"></a> </span><span class=cF1>while</span><span class=cF0> (tmpde)

View file

@ -195,7 +195,7 @@ body {background-color:#fef1f0;}
<a name="l168"></a> </span><span class=cF1>LOOP</span><span class=cF0> @@35
<a name="l169"></a> </span><span class=cF1>POP</span><span class=cF0> </span><span class=cFC>DS</span><span class=cF0>
<a name="l170"></a>
<a name="l171"></a></span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskAHCI.CC.html#l1251"><span class=cF4>AHCIBootDVDProbeAll</span></a><span class=cF2>().</span><span class=cF0>
<a name="l171"></a></span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/BlkDev/DiskAHCI.CC.html#l1234"><span class=cF4>AHCIBootDVDProbeAll</span></a><span class=cF2>().</span><span class=cF0>
<a name="l172"></a> </span><span class=cF1>MOV</span><span class=cF0> </span><span class=cFC>EBX</span><span class=cF0>, </span><span class=cF9>U32</span><span class=cF0> [</span><span class=cFD>BDVD_BLK_LO</span><span class=cF0> - </span><span class=cFD>BDVD_START</span><span class=cF0>]
<a name="l173"></a> </span><span class=cF1>MOV</span><span class=cF0> </span><span class=cFC>AX</span><span class=cF0>, </span><span class=cF9>U16</span><span class=cF0> [</span><span class=cFD>BDVD_SHIFT_BLKS</span><span class=cF0> - </span><span class=cFD>BDVD_START</span><span class=cF0>]
<a name="l174"></a> </span><span class=cF1>SHL</span><span class=cF0> </span><span class=cFC>EAX</span><span class=cF0>, </span><span class=cFE>16</span><span class=cF0>

View file

@ -183,7 +183,7 @@ body {background-color:#fef1f0;}
<a name="l156"></a> </span><span class=cF9>I64</span><span class=cF0> i, res, root_count, root_dir_blks, bitmap_blks, bitmap_blks1;
<a name="l157"></a> </span><span class=cF9>CDirEntry</span><span class=cF0> *tmpde;
<a name="l158"></a> </span><span class=cF1>U8</span><span class=cF0> buf[</span><span class=cF3>STR_LEN</span><span class=cF0>], *iso_filename, *src_dir, *stage2_filename;
<a name="l159"></a> </span><span class=cF9>CDrive</span><span class=cF0> *drive = </span><span class=cF5>DriveMakeFreeSlot</span><span class=cF0>(</span><span class=cF5>DriveNextFreeLet</span><span class=cF7>(</span><span class=cF6>'Q'</span><span class=cF7>)</span><span class=cF0>); </span><span class=cF2>//First </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3334"><span class=cF4>BDT_ISO_FILE_WRITE</span></a><span class=cF0>
<a name="l159"></a> </span><span class=cF9>CDrive</span><span class=cF0> *drive = </span><span class=cF5>DriveMakeFreeSlot</span><span class=cF0>(</span><span class=cF5>DriveNextFreeLet</span><span class=cF7>(</span><span class=cF6>'Q'</span><span class=cF7>)</span><span class=cF0>); </span><span class=cF2>//First </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3282"><span class=cF4>BDT_ISO_FILE_WRITE</span></a><span class=cF0>
<a name="l160"></a> </span><span class=cF9>CBlkDev</span><span class=cF0> *bd = </span><span class=cF5>BlkDevNextFreeSlot</span><span class=cF0>(drive-&gt;drv_let, </span><span class=cF3>BDT_ISO_FILE_WRITE</span><span class=cF0>);
<a name="l161"></a>
<a name="l162"></a> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>IsDir</span><span class=cF7>(</span><span class=cF0>_src_dir</span><span class=cF7>)</span><span class=cF0>)

View file

@ -26,7 +26,7 @@ body {background-color:#fef1f0;}
<body>
<pre style="font-family:monospace;font-size:12pt">
<a name="l1"></a><span class=cF1>public</span><span class=cF0> </span><span class=cF9>CCtrl</span><span class=cF0> *</span><span class=cF5>CtrlFindUnique</span><span class=cF0>(</span><span class=cF9>CTask</span><span class=cF0> *haystack_task, </span><span class=cF9>I64</span><span class=cF0> needle_type)
<a name="l2"></a>{</span><span class=cF2>//Find task ctrl given </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3800"><span class=cF4>ctrl_type</span></a><span class=cF2>.</span><span class=cF0>
<a name="l2"></a>{</span><span class=cF2>//Find task ctrl given </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l3748"><span class=cF4>ctrl_type</span></a><span class=cF2>.</span><span class=cF0>
<a name="l3"></a> </span><span class=cF9>CCtrl</span><span class=cF0> *c;
<a name="l4"></a>
<a name="l5"></a> c = haystack_task-&gt;next_ctrl;

View file

@ -143,7 +143,7 @@ body {background-color:#fef1f0;}
<a name="l116"></a>}
<a name="l117"></a>
<a name="l118"></a></span><span class=cF1>U8</span><span class=cF0> *</span><span class=cF5>DocGetStr2</span><span class=cF0>(</span><span class=cF9>I64</span><span class=cF0> flags=</span><span class=cFE>0</span><span class=cF0>)
<a name="l119"></a>{</span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4419"><span class=cF4>Flags</span></a><span class=cF0>
<a name="l119"></a>{</span><span class=cF2>//</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4367"><span class=cF4>Flags</span></a><span class=cF0>
<a name="l120"></a> </span><span class=cF9>CDoc</span><span class=cF0> *doc;
<a name="l121"></a> </span><span class=cF9>CDocEntry</span><span class=cF0> *doc_e, *doc_e_end;
<a name="l122"></a> </span><span class=cF1>U8</span><span class=cF0> *st, *st2, *res;

View file

@ -172,7 +172,7 @@ body {background-color:#fef1f0;}
<a name="l145"></a>}
<a name="l146"></a>
<a name="l147"></a></span><span class=cF1>public</span><span class=cF0> </span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>DCReset</span><span class=cF0>(</span><span class=cF9>CDC</span><span class=cF0> *dc)
<a name="l148"></a>{</span><span class=cF2>//Reset </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4352"><span class=cF4>CDC</span></a><span class=cF2> structure members but not image body, itself.</span><span class=cF0>
<a name="l148"></a>{</span><span class=cF2>//Reset </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4300"><span class=cF4>CDC</span></a><span class=cF2> structure members but not image body, itself.</span><span class=cF0>
<a name="l149"></a> dc-&gt;color = </span><span class=cF3>BLACK</span><span class=cF0>;
<a name="l150"></a> dc-&gt;color2 = </span><span class=cF3>BLACK</span><span class=cF0>;
<a name="l151"></a> dc-&gt;bkcolor = </span><span class=cF3>BLACK</span><span class=cF0>;

View file

@ -256,7 +256,7 @@ body {background-color:#fef1f0;}
<a name="l229"></a> </span><span class=cF6>&quot;Kernel\t:%08X-%08X\n&quot;</span><span class=cF0>, </span><span class=cFB>mem_boot_base</span><span class=cF0> - </span><span class=cF1>sizeof</span><span class=cF0>(</span><span class=cF9>CBinFile</span><span class=cF0>), bfh;
<a name="l230"></a>
<a name="l231"></a> </span><span class=cF6>&quot;$ID,-2$$BLACK$High Memory\t:00100000-%08X$FG$\n&quot;</span><span class=cF0>, </span><span class=cFB>mem_heap_limit</span><span class=cF0>;
<a name="l232"></a> </span><span class=cF6>&quot;</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4173"><span class=cF4>SYS_FIXED_AREA</span></a><span class=cF6>\t:%08X-%08X\n&quot;</span><span class=cF0>, </span><span class=cF3>SYS_FIXED_AREA</span><span class=cF0>, </span><span class=cF3>SYS_FIXED_AREA</span><span class=cF0> + </span><span class=cF1>sizeof</span><span class=cF0>(</span><span class=cF9>CSysFixedArea</span><span class=cF0>) - </span><span class=cFE>1</span><span class=cF0>;
<a name="l232"></a> </span><span class=cF6>&quot;</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4121"><span class=cF4>SYS_FIXED_AREA</span></a><span class=cF6>\t:%08X-%08X\n&quot;</span><span class=cF0>, </span><span class=cF3>SYS_FIXED_AREA</span><span class=cF0>, </span><span class=cF3>SYS_FIXED_AREA</span><span class=cF0> + </span><span class=cF1>sizeof</span><span class=cF0>(</span><span class=cF9>CSysFixedArea</span><span class=cF0>) - </span><span class=cFE>1</span><span class=cF0>;
<a name="l233"></a>
<a name="l234"></a> </span><span class=cF6>&quot;</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l532"><span class=cF4>VBE framebuffer</span></a><span class=cF6>\t:%08X-%08X\n&quot;</span><span class=cF0>, </span><span class=cFB>text</span><span class=cF0>.fb_alias, </span><span class=cFB>text</span><span class=cF0>.fb_alias(</span><span class=cF1>U8</span><span class=cF0> *) + </span><span class=cFB>text</span><span class=cF0>.buffer_size - </span><span class=cFE>1</span><span class=cF0>;
<a name="l235"></a> </span><span class=cF1>if</span><span class=cF0> (</span><span class=cFB>sys_data_bp</span><span class=cF0>)

View file

@ -209,7 +209,7 @@ body {background-color:#fef1f0;}
<a name="l182"></a>
<a name="l183"></a></span><span class=cF1>U0</span><span class=cF0> </span><span class=cF5>SUFile</span><span class=cF0>(</span><span class=cF1>U8</span><span class=cF0> *filename,</span><span class=cF9>I64</span><span class=cF0> suf_flags,</span><span class=cF1>F64</span><span class=cF0> indent_scale_factor)
<a name="l184"></a>{</span><span class=cF2>//String utility on a single file</span><span class=cF0>
<a name="l185"></a></span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4428"><span class=cF4>SU Flags</span></a><span class=cF0>
<a name="l185"></a></span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4376"><span class=cF4>SU Flags</span></a><span class=cF0>
<a name="l186"></a> </span><span class=cF1>U8</span><span class=cF0> *dst;
<a name="l187"></a> </span><span class=cF1>Bool</span><span class=cF0> chged = </span><span class=cF3>FALSE</span><span class=cF0>;
<a name="l188"></a> </span><span class=cF9>I64</span><span class=cF0> reduced = </span><span class=cFE>0</span><span class=cF0>;
@ -244,7 +244,7 @@ body {background-color:#fef1f0;}
<a name="l217"></a>{</span><span class=cF2>//Apply </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/StrA.CC.html#l528"><span class=cF4>StrUtil</span></a><span class=cF2>() on files.</span><span class=cF0>
<a name="l218"></a></span><span class=cF2>//You can convert spaces to tabs, for example,</span><span class=cF0>
<a name="l219"></a> </span><span class=cF2>//or removing trailing spaces on lines.</span><span class=cF0>
<a name="l220"></a> </span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4428"><span class=cF4>SUF Flags</span></a><span class=cF2>.</span><span class=cF0>
<a name="l220"></a> </span><span class=cF2>//See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4376"><span class=cF4>SUF Flags</span></a><span class=cF2>.</span><span class=cF0>
<a name="l221"></a> </span><span class=cF9>I64</span><span class=cF0> fuf_flags = </span><span class=cFE>0</span><span class=cF0>;
<a name="l222"></a> </span><span class=cF9>CDirEntry</span><span class=cF0> *tmpde, *tmpde1;
<a name="l223"></a>

File diff suppressed because it is too large Load diff

View file

@ -539,10 +539,9 @@ Bool AHCIAtapiModeWriteSet(CBlkDev *bd)
mode_list = CAlloc(sizeof(CAtapiModeWriteList), sys_task->code_heap);
mode_list->page.code = 0x05;
mode_list->page.length = 0x32;
mode_list->page.type = 0x00; // 0x0 packet, 0x1 TAO, 0x2 SAO, 0x3 RAW, 0x4 LJR
mode_list->page.mode = 4 | 1 << 5;
mode_list->page.block_type = 8;
// mode_list->page.link_size = 7;
mode_list->page.type = 0x00; // packet mode
mode_list->page.mode = 4 | 1 << 5; // set cd track mode, set Fixed Packet Size bit
mode_list->page.block_type = 8; // mode 1: 2048-size blocks of data
mode_list->page.packet_size = EndianU32(16);
Bts(&cmd_header->desc, AHCI_CH_DESCf_A);
@ -560,7 +559,7 @@ Bool AHCIAtapiModeWriteSet(CBlkDev *bd)
cmd_fis->feature_low= 0x01; // Core Feature, 'mandatory'
Bts(&cmd_fis->desc, AHCI_CF_DESCf_C); //Set Command bit in H2D FIS.
cmd_fis->command = ATA_PACKET;
cmd_table->acmd[0] = 0x55; // TODO set define for MODE SELECT
cmd_table->acmd[0] = ATAPI_MODE_SELECT >> 8;
AHCIPortWait(bd->port_num, tS + 2);
Bts(&port->cmd_issue, cmd_slot); //Issue the command.
@ -995,17 +994,6 @@ I64 AHCIAtapiBlksWrite(CBlkDev *bd, U8 *buf, I64 blk, I64 count, Bool lock=TRUE)
if (lock)
unlock = BlkDevLock(bd);
// AHCIPortWait(bd->port_num, tS + 2);
// AHCIAtapiSeek(bd, blk);
// AHCIPortWait(bd->port_num, tS + 2);
// AHCIAtapiBlank(bd); // ?? should blank/format be outside this func, in case func is re-run?
// AHCIAtapiFormat(bd, count); // ??..
// bd->flags |= BDF_LAST_WAS_WRITE; // ??..
// maybe check the flag and if not set do a blank/format?
// AHCIPortWait(bd->port_num, tS + 2);
// AHCIAtapiSeek(bd, blk);
cmd_slot = AHCIPortCmdSlotGet(bd->port_num);
cmd_header = AHCIPortActiveHeaderGet(bd->port_num, cmd_slot);
@ -1043,17 +1031,12 @@ I64 AHCIAtapiBlksWrite(CBlkDev *bd, U8 *buf, I64 blk, I64 count, Bool lock=TRUE)
cmd_fis->type = FISt_H2D;
Bts(&cmd_fis->desc, AHCI_CF_DESCf_C); //Set Command bit in H2D FIS
// cmd_fis->feature_low = 0x2D; // CD TAO
cmd_fis->command = ATA_PACKET;
cmd_table->acmd[0] = ATAPI_WRITE >> 8;
cmd_table->acmd[2] = blk.u8[3];
cmd_table->acmd[3] = blk.u8[2];
cmd_table->acmd[4] = blk.u8[1];
cmd_table->acmd[5] = blk.u8[0];
// cmd_table->acmd[6] = count.u8[3];
// cmd_table->acmd[7] = count.u8[2];
// cmd_table->acmd[8] = count.u8[1];
// cmd_table->acmd[9] = count.u8[0];
if (count > U16_MAX) throw('AHCI');
cmd_table->acmd[7] = count.u8[1];
cmd_table->acmd[8] = count.u8[0];

View file

@ -165,7 +165,7 @@ U0 DVDImageWrite(U8 dvd_drive_let, U8 *in_name=NULL, I64 media_type=MT_DVD)
{//Write CD/DVD ISO file to disk.
CDualBuf *d = CAlloc(sizeof(CDualBuf));
U8 *buf, *in_name2, *in_name3;
I64 i, n, spc, blk = 0, count;
I64 n, spc, blk = 0, count;
CDrive *drive = Letter2Drive(dvd_drive_let);
CBlkDev *bd = drive->bd, *bd2;
CTask *task;
@ -213,7 +213,6 @@ U0 DVDImageWrite(U8 dvd_drive_let, U8 *in_name=NULL, I64 media_type=MT_DVD)
//*/
// BlkDevLock(bd);
// IDEATAPIWaitReady(bd, 0);
AHCIPortWait(bd->port_num, tS + 2);
// AHCIAtapiSeek(bd, blk);
// AHCIPortWait(bd->port_num, tS + 2);
@ -241,7 +240,6 @@ U0 DVDImageWrite(U8 dvd_drive_let, U8 *in_name=NULL, I64 media_type=MT_DVD)
buf = d->buf0;
while (d->in_buf <= d->out_buf)
Yield;
// IDEATAPIWriteBlks(bd, buf, blk / spc, (n + spc - 1) / spc);
"AHCIAtapiBlksWrite(bd, 0x%0X, 0x%0X, %d, FALSE);\n", buf, blk / spc, (n + spc - 1) / spc;
AHCIAtapiBlksWrite(bd, buf, blk / spc, (n + spc - 1) / spc, FALSE);
d->out_buf++;
@ -250,31 +248,24 @@ U0 DVDImageWrite(U8 dvd_drive_let, U8 *in_name=NULL, I64 media_type=MT_DVD)
progress1 += n;
}
//*/
// IDEATAPISync(bd);
AHCIAtapiSync(bd);
progress1 = 0;
progress1_max = 2;
StrCopy(progress1_desc, "Closing");
// for (i = 0; i < 2; i++)
// {
// IDEATAPIClose(bd, 0x100, i); //Close tracks
AHCIAtapiClose(bd, 0x100, 0xFF); //Close tracks
// progress1++;
// }
AHCIAtapiClose(bd, 0x100, 0xFF); //Close tracks
progress1++;
// IDEATAPISync(bd);
AHCIAtapiSync(bd);
// IDEATAPIClose(bd, 0x200); //close disk
AHCIAtapiClose(bd, 0x200); //close disk
// IDEATAPISync(bd);
progress1++;
AHCIAtapiSync(bd);
if (media_type == MT_DVD)
{
// IDEATAPIClose(bd, 0x300);
AHCIAtapiClose(bd, 0x300);
// IDEATAPISync(bd);
progress1++;
AHCIAtapiSync(bd);
}

View file

@ -2957,30 +2957,7 @@ class CAtapiModeWriteList
CAtapiModeHeader header;
CAtapiModeWritePage page;
};
/*
class CAtapiTrackInfo
{
U16 data_length;
U8 track_num,
session_num,
reserved,
track_mode,
data_mode,
misc; // LRA_V, NWA_V
U32 track_start_addr,
next_write_addr,
free_blocks,
packet_size, // or 'blocking factor'
track_size,
last_record_addr;
U8 track_num_high,
session_num_high,
reserved[2];
U32 read_compat_lba,
next_lj_addr, // Layer Jump
last_lj_addr;
}
*/
//ATA_IDENTIFY command array indexes (array of U16s)
#define ATA_IDENT_SERIAL_NUM 10
#define ATA_IDENT_MODEL_NUM 27
@ -3009,6 +2986,7 @@ class CAtapiTrackInfo
#define ATAPI_SEEK 0x2B00
#define ATAPI_SYNC_CACHE 0x3500
#define ATAPI_READ_TRACK_INFO 0x5200
#define ATAPI_MODE_SELECT 0x5500
#define ATAPI_CLOSE_TRACK_SESSION 0x5B00
#define ATAPI_BLANK 0xA100
#define ATAPI_READ 0xA800
@ -3166,36 +3144,6 @@ class CPalindromeU32
U32 little, big;
};
class CATAPITrack
{
U16 track_info_len;
U8 track_lo,
session_lo,
reserved;
U16 misc1;
U8 misc2;
U32 track_start,
next_writable,
free_blks;
union
{
U32 fixed_packet_size;
U32 blocking_factor;
};
union
{
U32 track_size;
U32 rzone_end;
};
U32 last_recorded;
U8 track_hi,
session_hi;
U16 reserved;
U32 read_compatibility,
next_layer_jmp,
last_layer_jmp;
};
//ISO9660
#define ISOT_BOOT_RECORD 0
#define ISOT_PRI_VOL_DESC 1

View file

@ -366,7 +366,6 @@ extern I64 AHCIAtaBlksWrite( CBlkDev *bd, U8 *buf, I64 blk, I64 count);
extern I64 AHCIAtapiBlksRead( CBlkDev *bd, U8 *buf, I64 blk, I64 count);
extern Bool AHCIAtapiSeek( CBlkDev *bd, I64 blk);
extern Bool AHCIAtapiStartStop(CBlkDev *bd, Bool start);
//extern CAtapiTrackInfo *AHCIAtapiReadTrackInfo(CBlkDev *bd);
extern Bool AHCIAtapiBlank(CBlkDev *bd, Bool minimal=TRUE);
extern Bool DiscEject(U8 drv_let);
extern Bool DiscLoad( U8 drv_let);

View file

@ -15,7 +15,7 @@ U0 LoadDocDefines()
//$LK,"DD_BOOT_HIGH_LOC_DVD",A="FF:::/System/Boot/BootDVD.CC,DD_BOOT_HIGH_LOC_DVD"$
$TR,"LineRep"$
$ID,2$DefinePrint("DD_ZEALOS_LOC","94,866");
$ID,2$DefinePrint("DD_ZEALOS_LOC","94,787");
$ID,-2$
DefinePrint("DD_MP_VECT", "%08X", MP_VECT_ADDR);
DefinePrint("DD_MP_VECT_END", "%08X", MP_VECT_ADDR + COREAP_16BIT_INIT_END - COREAP_16BIT_INIT - 1);