mirror of
https://github.com/Zeal-Operating-System/ZealOS.git
synced 2025-03-28 10:55:10 +00:00
Optimize HTML doc generation.
Change repeated #include and PopUps during HTML generation into one slave task.
This commit is contained in:
parent
2ea6956433
commit
5f923300e2
154 changed files with 1261 additions and 1097 deletions
ZealOS-2021-07-12-03_23_08.iso
docs
Apps
Budget
GrModels
KeepAway
Logic
Psalmody
Span
Strut
TimeClock
Titanium
ToTheFront
Vocabulary
X-Caliber
index.htmlCompiler
Demo
AcctExample
Asm
Disk
DolDoc
Games
Graphics
InFile
Lectures
MultiCore
RevFileDemo
SortFileDemo
Sound
Templates
ToHtmlToTXTDemo
WebLogDemo
index.htmlDoc
AboutZealOS.DD.htmlAsm.DD.htmlBlkChain.DD.htmlBoot.DD.htmlChangeLog.DD.htmlCharOverview.DD.htmlCharter.DD.htmlCmdLineOverview.DD.htmlCompilerOverview.DD.htmlCosmiC.DD.htmlCredits.DD.htmlCustomize.DD.htmlCutCorners.DD.htmlD3.DD.htmlDate.DD.htmlDebugOverview.DD.htmlDefine.DD.htmlDemoIndex.DD.htmlDolDoc.DD.htmlDolDocOverview.DD.htmlFAQ.DD.htmlFeatures.DD.htmlFileMgr.DD.htmlFileUtils.DD.htmlGRFiles.DD.htmlGlossary.DD.htmlGraphicsOverview.DD.htmlGuideLines.DD.htmlHash.DD.htmlHelpIndex.DD.htmlHelpSystem.DD.htmlInFile.DD.htmlInstall.DD.htmlKeyAlloc.DD.htmlMemoryOverview.DD.htmlMenus.DD.htmlMultiCore.DD.htmlNewASCII.DD.htmlOptions.DD.htmlPreProcessor.DD.htmlPrint.DD.htmlProfiler.DD.htmlQueue.DD.htmlQuirks.DD.htmlRedSea.DD.htmlReliability.DD.htmlRequirements.DD.htmlResource.DD.htmlScopingLinkage.DD.htmlSound.DD.htmlSpriteBitMap.DD.htmlSpriteEd.DD.htmlSpriteEdText.DD.htmlSpriteMain.DD.html
Binary file not shown.
|
@ -40,5 +40,7 @@ body {background-color:#000000;}
|
|||
<a name="l12"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Budget/Load.CC.html#l1"><span class=cF4>Load.CC</span></a><span class=cF4>
|
||||
<a name="l13"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Budget/Run.CC.html#l1"><span class=cF4>Run.CC</span></a><span class=cF4>
|
||||
<a name="l14"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Budget/Accts.DD.html#l1"><span class=cF4>Accts.DD</span></a><span class=cF0>
|
||||
<a name="l15"></a>
|
||||
<a name="l16"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -34,5 +34,7 @@ body {background-color:#000000;}
|
|||
<a name="l6"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/GrModels/ManGen.CC.html#l1"><span class=cF4>ManGen.CC</span></a><span class=cF4>
|
||||
<a name="l7"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/GrModels/Models.CC.html#l1"><span class=cF4>Models.CC</span></a><span class=cF4>
|
||||
<a name="l8"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/GrModels/Run.CC.html#l1"><span class=cF4>Run.CC</span></a><span class=cF0>
|
||||
<a name="l9"></a>
|
||||
<a name="l10"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -32,5 +32,7 @@ body {background-color:#000000;}
|
|||
<a name="l4"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/KeepAway/KeepAway.CC.html#l1"><span class=cF4>KeepAway.CC</span></a><span class=cF4>
|
||||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/KeepAway/Load.CC.html#l1"><span class=cF4>Load.CC</span></a><span class=cF4>
|
||||
<a name="l6"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/KeepAway/Run.CC.html#l1"><span class=cF4>Run.CC</span></a><span class=cF0>
|
||||
<a name="l7"></a>
|
||||
<a name="l8"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -32,5 +32,7 @@ body {background-color:#000000;}
|
|||
<a name="l4"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Logic/Load.CC.html#l1"><span class=cF4>Load.CC</span></a><span class=cF4>
|
||||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Logic/Logic.CC.html#l1"><span class=cF4>Logic.CC</span></a><span class=cF4>
|
||||
<a name="l6"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Logic/Run.CC.html#l1"><span class=cF4>Run.CC</span></a><span class=cF0>
|
||||
<a name="l7"></a>
|
||||
<a name="l8"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -32,5 +32,7 @@ body {background-color:#000000;}
|
|||
<a name="l4"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Psalmody/Examples/childish.CC.html#l1"><span class=cF4>childish.CC</span></a><span class=cF4>
|
||||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Psalmody/Examples/night.CC.html#l1"><span class=cF4>night.CC</span></a><span class=cF4>
|
||||
<a name="l6"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Psalmody/Examples/prosper.CC.html#l1"><span class=cF4>prosper.CC</span></a><span class=cF0>
|
||||
<a name="l7"></a>
|
||||
<a name="l8"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -25,24 +25,24 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Psalmody Help</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Psalmody Help</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>* The keyboard can be used as an organ by typing letter keys or clicking the mouse on the keyboard diagram. You can "record"
|
||||
<a name="l4"></a>notes by pressing the red bttn and typing letters. They will appear on the musical staff. You can edit and save them.
|
||||
<a name="l5"></a>
|
||||
<a name="l6"></a>* The clip can be used to cut and paste.
|
||||
<a name="l7"></a>
|
||||
<a name="l8"></a>* </span><span class=cF2>Psalmody</span><span class=cF0> uses </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> files as the song format! See </span><a href="https://tomawezome.github.io/ZealOS/Apps/Psalmody/Examples/prosper.CC.html#l1"><span class=cF4>::/Apps/Psalmody/Examples/prosper.CC</span></a><span class=cF0>. The </span><span class=cF2>Psalmody</span><span class=cF0> program does not fully
|
||||
<a name="l9"></a>parse the songs when loading them back in, so changes made outside </span><span class=cF2>Psalmody</span><span class=cF0> will be lost, like if you add graphics.
|
||||
<a name="l8"></a>* </span><span class=cF2>Psalmody</span><span class=cF0> uses </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> files as the song format! See </span><a href="https://tomawezome.github.io/ZealOS/Apps/Psalmody/Examples/prosper.CC.html#l1"><span class=cF4>::/Apps/Psalmody/Examples/prosper.CC</span></a><span class=cF0>. The </span><span class=cF2>Psalmody</span><span class=cF0> program does not
|
||||
<a name="l9"></a>fully parse the songs when loading them back in, so changes made outside </span><span class=cF2>Psalmody</span><span class=cF0> will be lost, like if you add graphics.
|
||||
<a name="l10"></a>
|
||||
<a name="l11"></a>* The first line of the </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> song files is a comment with a category recognized by </span><a href="https://tomawezome.github.io/ZealOS/Apps/Psalmody/JukeBox.CC.html#l121"><span class=cF4>JukeBox</span></a><span class=cF0>(). The categories are </span><span class=cF2>"no nothing"</span><span class=cF0>, </span><span class=cF2>
|
||||
<a name="l12"></a>"has words"</span><span class=cF0>, </span><span class=cF2>"has graphics"</span><span class=cF0>, or </span><span class=cF2>"special"</span><span class=cF0>. The third character in the song comment is a digit rating number, shown in </span><a href="https://tomawezome.github.io/ZealOS/Apps/Psalmody/JukeBox.CC.html#l121"><span class=cF4>JukeBox</span></a><span class=cF0>()
|
||||
<a name="l13"></a>. You can set the song rating in </span><a href="https://tomawezome.github.io/ZealOS/Apps/Psalmody/JukeBox.CC.html#l121"><span class=cF4>JukeBox</span></a><span class=cF0>() by pressing </span><span class=cF2>0</span><span class=cF0>-</span><span class=cF2>9</span><span class=cF0>. You can request your reward from God by pressing </span><span class=cF2>r</span><span class=cF0>. You can
|
||||
<a name="l14"></a>press </span><span class=cF2><DEL></span><span class=cF0> to delete songs.
|
||||
<a name="l11"></a>* The first line of the </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> song files is a comment with a category recognized by </span><a href="https://tomawezome.github.io/ZealOS/Apps/Psalmody/JukeBox.CC.html#l121"><span class=cF4>JukeBox</span></a><span class=cF0>(). The categories are </span><span class=cF2>"no
|
||||
<a name="l12"></a>nothing"</span><span class=cF0>, </span><span class=cF2>"has words"</span><span class=cF0>, </span><span class=cF2>"has graphics"</span><span class=cF0>, or </span><span class=cF2>"special"</span><span class=cF0>. The third character in the song comment is a digit rating number, shown
|
||||
<a name="l13"></a>in </span><a href="https://tomawezome.github.io/ZealOS/Apps/Psalmody/JukeBox.CC.html#l121"><span class=cF4>JukeBox</span></a><span class=cF0>(). You can set the song rating in </span><a href="https://tomawezome.github.io/ZealOS/Apps/Psalmody/JukeBox.CC.html#l121"><span class=cF4>JukeBox</span></a><span class=cF0>() by pressing </span><span class=cF2>0</span><span class=cF0>-</span><span class=cF2>9</span><span class=cF0>. You can request your reward from God by pressing </span><span class=cF2>r</span><span class=cF0>.
|
||||
<a name="l14"></a>You can press </span><span class=cF2><DEL></span><span class=cF0> to delete songs.
|
||||
<a name="l15"></a>
|
||||
<a name="l16"></a>* You can take the </span><a href="https://tomawezome.github.io/ZealOS/System/Sound.CC.html#l238"><span class=cF4>Play</span></a><span class=cF0>() statements out of a song file and place them in your programs. You can also add a song to a document
|
||||
<a name="l17"></a>with </span><span class=cF2><CTRL-l></span><span class=cF0>, but you should do it after pressing </span><span class=cF2><CTRL-t></span><span class=cF0> because the clip-insert in </span><span class=cF2><CTRL-l></span><span class=cF0> is screwy. See this <Song>
|
||||
<a name="l18"></a>after pressing </span><span class=cF2><CTRL-t></span><span class=cF0>, now.
|
||||
<a name="l16"></a>* You can take the </span><a href="https://tomawezome.github.io/ZealOS/System/Sound.CC.html#l238"><span class=cF4>Play</span></a><span class=cF0>() statements out of a song file and place them in your programs. You can also add a song to a
|
||||
<a name="l17"></a>document with </span><span class=cF2><CTRL-l></span><span class=cF0>, but you should do it after pressing </span><span class=cF2><CTRL-t></span><span class=cF0> because the clip-insert in </span><span class=cF2><CTRL-l></span><span class=cF0> is screwy. See this
|
||||
<a name="l18"></a><Song> after pressing </span><span class=cF2><CTRL-t></span><span class=cF0>, now.
|
||||
<a name="l19"></a>
|
||||
<a name="l20"></a>* You can call </span><a href="https://tomawezome.github.io/ZealOS/Apps/Psalmody/JukeBox.CC.html#l121"><span class=cF4>JukeBox</span></a><span class=cF0>("~/Psalmody"); to play your songs.
|
||||
</span></pre></body>
|
||||
|
|
|
@ -41,5 +41,7 @@ body {background-color:#000000;}
|
|||
<a name="l13"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Psalmody/PsalmodyMain.CC.html#l1"><span class=cF4>PsalmodyMain.CC</span></a><span class=cF4>
|
||||
<a name="l14"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Psalmody/Run.CC.html#l1"><span class=cF4>Run.CC</span></a><span class=cF4>
|
||||
<a name="l15"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Psalmody/Help.DD.html#l1"><span class=cF4>Help.DD</span></a><span class=cF0>
|
||||
<a name="l16"></a>
|
||||
<a name="l17"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -37,5 +37,7 @@ body {background-color:#000000;}
|
|||
<a name="l9"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Span/SpanMain.CC.html#l1"><span class=cF4>SpanMain.CC</span></a><span class=cF4>
|
||||
<a name="l10"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Span/SpanNew.CC.html#l1"><span class=cF4>SpanNew.CC</span></a><span class=cF4>
|
||||
<a name="l11"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Span/Span.HH.html#l1"><span class=cF4>Span.HH</span></a><span class=cF0>
|
||||
<a name="l12"></a>
|
||||
<a name="l13"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -32,5 +32,7 @@ body {background-color:#000000;}
|
|||
<a name="l4"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Strut/Load.CC.html#l1"><span class=cF4>Load.CC</span></a><span class=cF4>
|
||||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Strut/Run.CC.html#l1"><span class=cF4>Run.CC</span></a><span class=cF4>
|
||||
<a name="l6"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Strut/Strut.CC.html#l1"><span class=cF4>Strut.CC</span></a><span class=cF0>
|
||||
<a name="l7"></a>
|
||||
<a name="l8"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -32,5 +32,7 @@ body {background-color:#000000;}
|
|||
<a name="l4"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/TimeClock/Install.CC.html#l1"><span class=cF4>Install.CC</span></a><span class=cF4>
|
||||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/TimeClock/Load.CC.html#l1"><span class=cF4>Load.CC</span></a><span class=cF4>
|
||||
<a name="l6"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/TimeClock/TimeClk.CC.html#l1"><span class=cF4>TimeClk.CC</span></a><span class=cF0>
|
||||
<a name="l7"></a>
|
||||
<a name="l8"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -32,5 +32,7 @@ body {background-color:#000000;}
|
|||
<a name="l4"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Titanium/Load.CC.html#l1"><span class=cF4>Load.CC</span></a><span class=cF4>
|
||||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Titanium/Run.CC.html#l1"><span class=cF4>Run.CC</span></a><span class=cF4>
|
||||
<a name="l6"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Titanium/Titanium.CC.html#l1"><span class=cF4>Titanium.CC</span></a><span class=cF0>
|
||||
<a name="l7"></a>
|
||||
<a name="l8"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -31,5 +31,7 @@ body {background-color:#000000;}
|
|||
<a name="l3"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/ToTheFront/index.html#l1"><span class=c04>../</span></a><span class=cF4>
|
||||
<a name="l4"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/ToTheFront/AIs/Human.CC.html#l1"><span class=cF4>Human.CC</span></a><span class=cF4>
|
||||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/ToTheFront/AIs/SimpleAI.CC.html#l1"><span class=cF4>SimpleAI.CC</span></a><span class=cF0>
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -41,5 +41,7 @@ body {background-color:#000000;}
|
|||
<a name="l13"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/ToTheFront/TTFMove.CC.html#l1"><span class=cF4>TTFMove.CC</span></a><span class=cF4>
|
||||
<a name="l14"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/ToTheFront/TTFVis.CC.html#l1"><span class=cF4>TTFVis.CC</span></a><span class=cF4>
|
||||
<a name="l15"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/ToTheFront/ToTheFront.CC.html#l1"><span class=cF4>ToTheFront.CC</span></a><span class=cF0>
|
||||
<a name="l16"></a>
|
||||
<a name="l17"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -32,5 +32,7 @@ body {background-color:#000000;}
|
|||
<a name="l4"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Vocabulary/Load.CC.html#l1"><span class=cF4>Load.CC</span></a><span class=cF4>
|
||||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Vocabulary/Run.CC.html#l1"><span class=cF4>Run.CC</span></a><span class=cF4>
|
||||
<a name="l6"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Vocabulary/VocabQuiz.CC.html#l1"><span class=cF4>VocabQuiz.CC</span></a><span class=cF0>
|
||||
<a name="l7"></a>
|
||||
<a name="l8"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -33,5 +33,7 @@ body {background-color:#000000;}
|
|||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/X-Caliber/Run.CC.html#l1"><span class=cF4>Run.CC</span></a><span class=cF4>
|
||||
<a name="l6"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/X-Caliber/X-Caliber.CC.html#l1"><span class=cF4>X-Caliber.CC</span></a><span class=cF4>
|
||||
<a name="l7"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/X-Caliber/XCCtrls.CC.html#l1"><span class=cF4>XCCtrls.CC</span></a><span class=cF0>
|
||||
<a name="l8"></a>
|
||||
<a name="l9"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -41,5 +41,7 @@ body {background-color:#000000;}
|
|||
<a name="l13"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/ToTheFront/index.html#l1"><span class=c04>ToTheFront/</span></a><span class=cF0>
|
||||
<a name="l14"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/Vocabulary/index.html#l1"><span class=c04>Vocabulary/</span></a><span class=cF0>
|
||||
<a name="l15"></a></span><a href="https://tomawezome.github.io/ZealOS/Apps/X-Caliber/index.html#l1"><span class=c04>X-Caliber/</span></a><span class=cF0>
|
||||
<a name="l16"></a>
|
||||
<a name="l17"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -66,5 +66,7 @@ body {background-color:#000000;}
|
|||
<a name="l38"></a></span><a href="https://tomawezome.github.io/ZealOS/Compiler/CompilerB.HH.html#l1"><span class=cF4>CompilerB.HH</span></a><span class=cF4>
|
||||
<a name="l39"></a></span><a href="https://tomawezome.github.io/ZealOS/Compiler/Compiler.MAP.html#l1"><span class=cF4>Compiler.MAP</span></a><span class=cF4>
|
||||
<a name="l40"></a></span><a href="https://tomawezome.github.io/ZealOS/Compiler/Compiler.PRJ.html#l1"><span class=cF4>Compiler.PRJ</span></a><span class=cF0>
|
||||
<a name="l41"></a>
|
||||
<a name="l42"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> TODO</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> TODO</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>* Get rid of niggerlicious name "binary".
|
||||
<a name="l4"></a>
|
||||
|
@ -66,8 +66,8 @@ body {background-color:#000000;}
|
|||
<a name="l39"></a>
|
||||
<a name="l40"></a>* Investigate why packet loss </span><a href="https://tomawezome.github.io/ZealOS/System/Training.CC.html#l122"><span class=cF4>Training Sleep(1)</span></a><span class=cF0>.
|
||||
<a name="l41"></a>
|
||||
<a name="l42"></a>* Add AVL or red/black binary tree library support. We have fixed-size stack. Auto-balancing binary tree is very needed. I've
|
||||
<a name="l43"></a>done everything myself. I don't want to ruin a perfect record. I'm in no hurry.
|
||||
<a name="l42"></a>* Add AVL or red/black binary tree library support. We have fixed-size stack. Auto-balancing binary tree is very needed. I'
|
||||
<a name="l43"></a>ve done everything myself. I don't want to ruin a perfect record. I'm in no hurry.
|
||||
<a name="l44"></a>
|
||||
<a name="l45"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/SpriteEd.CC.html#l1"><span class=cF4>SpriteEd</span></a><span class=cF0> shift pts, Ctrl pt for ellipse/polygon w,h is off when rotated.
|
||||
<a name="l46"></a>
|
||||
|
@ -141,7 +141,7 @@ body {background-color:#000000;}
|
|||
<a name="l114"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrPrimatives.CC.html#l1676"><span class=cF4>GrFillTri0</span></a><span class=cF0>() with both </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l2101"><span class=cF4>GrHLine</span></a><span class=cF0>() and </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l2315"><span class=cF4>GrVLine</span></a><span class=cF0>() don't match in </span><a href="https://tomawezome.github.io/ZealOS/Demo/Games/CastleFrankenstein.CC.html#l1"><span class=cF4>::/Demo/Games/CastleFrankenstein.CC</span></a><span class=cF0> causing wall spot pixels.
|
||||
<a name="l115"></a>
|
||||
<a name="l116"></a>
|
||||
<a name="l117"></a></span><span class=cF5> TODO? Meh</span><span class=cF0>
|
||||
<a name="l117"></a></span><span class=cF5> TODO? Meh</span><span class=cF0>
|
||||
<a name="l118"></a>* Compiler: lock{} needs warn on invalid modes or something.
|
||||
<a name="l119"></a>
|
||||
<a name="l120"></a>* Compiler: Warn recurse class define?
|
||||
|
@ -170,333 +170,335 @@ body {background-color:#000000;}
|
|||
<a name="l143"></a>* Fix Chess game so not isometric view.
|
||||
<a name="l144"></a>
|
||||
<a name="l145"></a>
|
||||
<a name="l146"></a></span><span class=cF5> TODO: Too Hard, or Not Worth Doing.</span><span class=cF0>
|
||||
<a name="l146"></a></span><span class=cF5> TODO: Too Hard, or Not Worth Doing.</span><span class=cF0>
|
||||
<a name="l147"></a>* AutoComplete/</span><a href="https://tomawezome.github.io/ZealOS/Kernel/FunSeg.CC.html#l422"><span class=cF4>Man</span></a><span class=cF0>() Jmp for user code.
|
||||
<a name="l148"></a>
|
||||
<a name="l149"></a>* </span><span class=cF4><u>Bible sized nodes</span><span class=cF0>
|
||||
<a name="l150"></a>
|
||||
<a name="l151"></a></u>* </span><a href="https://tomawezome.github.io/ZealOS/System/BlkDev/FileMgr.CC.html#l678"><span class=cF4>FileMgr</span></a><span class=cF0>() is bad with lots of files.
|
||||
<a name="l152"></a>
|
||||
<a name="l153"></a>* Would be nice to have a routine telling how much free memory, so apps can plan a big alloc. This is doable, depending on how.
|
||||
<a name="l154"></a>
|
||||
<a name="l155"></a>* Log-to-file is inefficient because we load and save whole file.
|
||||
<a name="l156"></a>
|
||||
<a name="l157"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Compiler/BackLib.CC.html#l517"><span class=cF4>ICMov</span></a><span class=cF0>() </span><a href="https://tomawezome.github.io/ZealOS/Compiler/BackLib.CC.html#l642"><span class=cF4>PUSH_CMP</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1715"><span class=cF4>MDf_STACK</span></a><span class=cF0>? Perhaps, it's okay.
|
||||
<a name="l158"></a>
|
||||
<a name="l159"></a>* Short FAT32 ~ names.
|
||||
<a name="l160"></a>
|
||||
<a name="l161"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/Utils/Find.CC.html#l166"><span class=cF4>Find</span></a><span class=cF0>() search text in sprites.
|
||||
<a name="l162"></a>
|
||||
<a name="l163"></a>* Links in text in sprites.
|
||||
<a name="l164"></a>
|
||||
<a name="l165"></a>* Compiler: Inline functions?
|
||||
<a name="l166"></a>
|
||||
<a name="l167"></a>* Compiler: FunPtr local vars? I forgot if this was hard or not.
|
||||
<a name="l168"></a> </span><span class=cF1>U0</span><span class=cF0> Main()
|
||||
<a name="l169"></a> {
|
||||
<a name="l170"></a> </span><span class=cF1>U0</span><span class=cF0> (*fp_old_draw_mouse)(</span><span class=cF9>CDC</span><span class=cF0> *dc,</span><span class=cF9>I64</span><span class=cF0> x,</span><span class=cF9>I64</span><span class=cF0> y)=</span><span class=cFB>gr</span><span class=cF0>.fp_draw_mouse;
|
||||
<a name="l171"></a> }
|
||||
<a name="l172"></a>
|
||||
<a name="l173"></a>* Compiler: Get rid of </span><a href="https://tomawezome.github.io/ZealOS/Compiler/CMain.CC.html#l496"><span class=cF4>0x20000</span></a><span class=cF0> limit.
|
||||
<a name="l174"></a>
|
||||
<a name="l175"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrPrimatives.CC.html#l194"><span class=cF4>GrFloodFillRay</span></a><span class=cF0>: Get rid of </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrPrimatives.CC.html#l199"><span class=cF4>0x80000</span></a><span class=cF0> limit.
|
||||
<a name="l176"></a>
|
||||
<a name="l153"></a>* Would be nice to have a routine telling how much free memory, so apps can plan a big alloc. This is doable, depending on
|
||||
<a name="l154"></a>how.
|
||||
<a name="l155"></a>
|
||||
<a name="l156"></a>* Log-to-file is inefficient because we load and save whole file.
|
||||
<a name="l157"></a>
|
||||
<a name="l158"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Compiler/BackLib.CC.html#l517"><span class=cF4>ICMov</span></a><span class=cF0>() </span><a href="https://tomawezome.github.io/ZealOS/Compiler/BackLib.CC.html#l642"><span class=cF4>PUSH_CMP</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1715"><span class=cF4>MDf_STACK</span></a><span class=cF0>? Perhaps, it's okay.
|
||||
<a name="l159"></a>
|
||||
<a name="l160"></a>* Short FAT32 ~ names.
|
||||
<a name="l161"></a>
|
||||
<a name="l162"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/Utils/Find.CC.html#l166"><span class=cF4>Find</span></a><span class=cF0>() search text in sprites.
|
||||
<a name="l163"></a>
|
||||
<a name="l164"></a>* Links in text in sprites.
|
||||
<a name="l165"></a>
|
||||
<a name="l166"></a>* Compiler: Inline functions?
|
||||
<a name="l167"></a>
|
||||
<a name="l168"></a>* Compiler: FunPtr local vars? I forgot if this was hard or not.
|
||||
<a name="l169"></a> </span><span class=cF1>U0</span><span class=cF0> Main()
|
||||
<a name="l170"></a> {
|
||||
<a name="l171"></a> </span><span class=cF1>U0</span><span class=cF0> (*fp_old_draw_mouse)(</span><span class=cF9>CDC</span><span class=cF0> *dc,</span><span class=cF9>I64</span><span class=cF0> x,</span><span class=cF9>I64</span><span class=cF0> y)=</span><span class=cFB>gr</span><span class=cF0>.fp_draw_mouse;
|
||||
<a name="l172"></a> }
|
||||
<a name="l173"></a>
|
||||
<a name="l174"></a>* Compiler: Get rid of </span><a href="https://tomawezome.github.io/ZealOS/Compiler/CMain.CC.html#l496"><span class=cF4>0x20000</span></a><span class=cF0> limit.
|
||||
<a name="l175"></a>
|
||||
<a name="l176"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrPrimatives.CC.html#l194"><span class=cF4>GrFloodFillRay</span></a><span class=cF0>: Get rid of </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrPrimatives.CC.html#l199"><span class=cF4>0x80000</span></a><span class=cF0> limit.
|
||||
<a name="l177"></a>
|
||||
<a name="l178"></a></span><span class=cF5> Bugs</span><span class=cF0>
|
||||
<a name="l179"></a>* 1/28/16 </span><a href="https://tomawezome.github.io/ZealOS/Demo/Graphics/Pick3D.CC.html#l1"><span class=cF4>::/Demo/Graphics/Pick3D.CC</span></a><span class=cF0> crashed in TestSuite.
|
||||
<a name="l180"></a>
|
||||
<a name="l181"></a>* 1/12/16 make RAM drive 2288 blks, </span><span class=cF2>CopyTree("C:/Home","B:/Home"); </span><span class=cF0> Disk runs-out of space and hangs instead of reporting
|
||||
<a name="l182"></a>errors.
|
||||
<a name="l183"></a>
|
||||
<a name="l184"></a>* Bug introduced around 11/1/15. Changed </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Sched.CC.html#l1"><span class=cF4>::/Kernel/Sched.CC</span></a><span class=cF0> and now </span><a href="https://tomawezome.github.io/ZealOS/System/Win.CC.html#l315"><span class=cF4>WinToTop</span></a><span class=cF0> is called on System task at start-up, sometimes.
|
||||
<a name="l185"></a>Might be user's fault because of bad keys pressed during VMware power-on init. Might be fixed by </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1623"><span class=cF4>ACf_INIT_IN_PROGRESS</span></a><span class=cF0>.
|
||||
<a name="l186"></a>
|
||||
<a name="l187"></a>* 1/12/16 </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskATAId.CC.html#l1"><span class=cF4>ATARepEntry</span></a><span class=cF0> shows corrupted bttns. Weird. Perhaps, my imagination.
|
||||
<a name="l178"></a>
|
||||
<a name="l179"></a></span><span class=cF5> Bugs</span><span class=cF0>
|
||||
<a name="l180"></a>* 1/28/16 </span><a href="https://tomawezome.github.io/ZealOS/Demo/Graphics/Pick3D.CC.html#l1"><span class=cF4>::/Demo/Graphics/Pick3D.CC</span></a><span class=cF0> crashed in TestSuite.
|
||||
<a name="l181"></a>
|
||||
<a name="l182"></a>* 1/12/16 make RAM drive 2288 blks, </span><span class=cF2>CopyTree("C:/Home","B:/Home"); </span><span class=cF0> Disk runs-out of space and hangs instead of reporting
|
||||
<a name="l183"></a>errors.
|
||||
<a name="l184"></a>
|
||||
<a name="l185"></a>* Bug introduced around 11/1/15. Changed </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Sched.CC.html#l1"><span class=cF4>::/Kernel/Sched.CC</span></a><span class=cF0> and now </span><a href="https://tomawezome.github.io/ZealOS/System/Win.CC.html#l315"><span class=cF4>WinToTop</span></a><span class=cF0> is called on System task at start-up,
|
||||
<a name="l186"></a>sometimes. Might be user's fault because of bad keys pressed during VMware power-on init. Might be fixed by </span><span class=cF4>
|
||||
<a name="l187"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1623"><span class=cF4>ACf_INIT_IN_PROGRESS</span></a><span class=cF0>.
|
||||
<a name="l188"></a>
|
||||
<a name="l189"></a>
|
||||
<a name="l190"></a></span><span class=cF5> 3rd Party Bugs</span><span class=cF0>
|
||||
<a name="l191"></a>* VMware: Stretch to full screen
|
||||
<a name="l192"></a>* VMware: PC speaker sound distorted.
|
||||
<a name="l193"></a>* VMware: 8/2/2015 start-up. Probably multicore.
|
||||
<a name="l194"></a>* VMware: </span><a href="https://tomawezome.github.io/ZealOS/Kernel/SerialDev/Keyboard.CC.html#l421"><span class=cF4>CtrlAltDel</span></a><span class=cF0> on <CTRL-ALT-INS>
|
||||
<a name="l195"></a>* VMware: Size zero files don't copy out of mounted disk? (Might be fixed.)
|
||||
<a name="l196"></a>
|
||||
<a name="l197"></a>
|
||||
<a name="l198"></a></span><span class=cF5> Bugs? Not really sure.</span><span class=cF0>
|
||||
<a name="l199"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/BlkDev/Mount.CC.html#l235"><span class=cF4>Mount</span></a><span class=cF0>() crashes on bad drive.
|
||||
<a name="l200"></a>
|
||||
<a name="l201"></a>* Graphics clipping: screen y+top<0 for top<0?
|
||||
<a name="l189"></a>* 1/12/16 </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskATAId.CC.html#l1"><span class=cF4>ATARepEntry</span></a><span class=cF0> shows corrupted bttns. Weird. Perhaps, my imagination.
|
||||
<a name="l190"></a>
|
||||
<a name="l191"></a>
|
||||
<a name="l192"></a></span><span class=cF5> 3rd Party Bugs</span><span class=cF0>
|
||||
<a name="l193"></a>* VMware: Stretch to full screen
|
||||
<a name="l194"></a>* VMware: PC speaker sound distorted.
|
||||
<a name="l195"></a>* VMware: 8/2/2015 start-up. Probably multicore.
|
||||
<a name="l196"></a>* VMware: </span><a href="https://tomawezome.github.io/ZealOS/Kernel/SerialDev/Keyboard.CC.html#l421"><span class=cF4>CtrlAltDel</span></a><span class=cF0> on <CTRL-ALT-INS>
|
||||
<a name="l197"></a>* VMware: Size zero files don't copy out of mounted disk? (Might be fixed.)
|
||||
<a name="l198"></a>
|
||||
<a name="l199"></a>
|
||||
<a name="l200"></a></span><span class=cF5> Bugs? Not really sure.</span><span class=cF0>
|
||||
<a name="l201"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/BlkDev/Mount.CC.html#l235"><span class=cF4>Mount</span></a><span class=cF0>() crashes on bad drive.
|
||||
<a name="l202"></a>
|
||||
<a name="l203"></a>* 1/1/2015 Bug messing-up keyboard, like no CTRL key. Was working on Sprites.
|
||||
<a name="l203"></a>* Graphics clipping: screen y+top<0 for top<0?
|
||||
<a name="l204"></a>
|
||||
<a name="l205"></a>* 4/13/14 Strut or RawHide crashed when </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l145"><span class=cF4>sys_var_init_flag</span></a><span class=cF0> was set during testsuite. Perhaps, floodfill?
|
||||
<a name="l205"></a>* 1/1/2015 Bug messing-up keyboard, like no CTRL key. Was working on Sprites.
|
||||
<a name="l206"></a>
|
||||
<a name="l207"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/BlkDev/DiskCheck.CC.html#l232"><span class=cF4>DiskCheck</span></a><span class=cF0> alloc unalloced. I don't know if I fixed this.
|
||||
<a name="l207"></a>* 4/13/14 Strut or RawHide crashed when </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l145"><span class=cF4>sys_var_init_flag</span></a><span class=cF0> was set during testsuite. Perhaps, floodfill?
|
||||
<a name="l208"></a>
|
||||
<a name="l209"></a>* 1/?/2015,8/10/2015 Macro sel in Menu did not go to shell? No, I think just <CTRL-m> twice. Not a bug.
|
||||
<a name="l209"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/BlkDev/DiskCheck.CC.html#l232"><span class=cF4>DiskCheck</span></a><span class=cF0> alloc unalloced. I don't know if I fixed this.
|
||||
<a name="l210"></a>
|
||||
<a name="l211"></a>* 5/7/14:Something like </span><a href="https://tomawezome.github.io/ZealOS/System/InFile.CC.html#l152"><span class=cF4>InSetMouse</span></a><span class=cF0> caused hang, then reboot in TestSuite.
|
||||
<a name="l212"></a>* 5/7/14:#63 Maybe, </span><a href="https://tomawezome.github.io/ZealOS/Demo/Graphics/Pick3D.CC.html#l1"><span class=cF4>::/Demo/Graphics/Pick3D.CC</span></a><span class=cF0> crashed in TestSuite.
|
||||
<a name="l213"></a>
|
||||
<a name="l214"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/StrPrint.CC.html#l249"><span class=cF4>StrPrintJoin</span></a><span class=cF0>(,st); With st="\n\\"; (Forgot what this is talking about.)
|
||||
<a name="l211"></a>* 1/?/2015,8/10/2015 Macro sel in Menu did not go to shell? No, I think just <CTRL-m> twice. Not a bug.
|
||||
<a name="l212"></a>
|
||||
<a name="l213"></a>* 5/7/14:Something like </span><a href="https://tomawezome.github.io/ZealOS/System/InFile.CC.html#l152"><span class=cF4>InSetMouse</span></a><span class=cF0> caused hang, then reboot in TestSuite.
|
||||
<a name="l214"></a>* 5/7/14:#63 Maybe, </span><a href="https://tomawezome.github.io/ZealOS/Demo/Graphics/Pick3D.CC.html#l1"><span class=cF4>::/Demo/Graphics/Pick3D.CC</span></a><span class=cF0> crashed in TestSuite.
|
||||
<a name="l215"></a>
|
||||
<a name="l216"></a>
|
||||
<a name="l217"></a></span><span class=cF5> TODO? Not really, just angst.</span><span class=cF0>
|
||||
<a name="l218"></a>* Should these be moved into </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l973"><span class=cF4>CHashClass</span></a><span class=cF0> from </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l936"><span class=cF4>CMemberList</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1013"><span class=cF4>CHashGlobalVar</span></a><span class=cF0>?
|
||||
<a name="l219"></a> CArrayDim dim;
|
||||
<a name="l220"></a> CHashFun *fun_ptr;
|
||||
<a name="l221"></a>
|
||||
<a name="l222"></a>* extern of fun with default arg of str?
|
||||
<a name="l216"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/StrPrint.CC.html#l249"><span class=cF4>StrPrintJoin</span></a><span class=cF0>(,st); With st="\n\\"; (Forgot what this is talking about.)
|
||||
<a name="l217"></a>
|
||||
<a name="l218"></a>
|
||||
<a name="l219"></a></span><span class=cF5> TODO? Not really, just angst.</span><span class=cF0>
|
||||
<a name="l220"></a>* Should these be moved into </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l973"><span class=cF4>CHashClass</span></a><span class=cF0> from </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l936"><span class=cF4>CMemberList</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1013"><span class=cF4>CHashGlobalVar</span></a><span class=cF0>?
|
||||
<a name="l221"></a> CArrayDim dim;
|
||||
<a name="l222"></a> CHashFun *fun_ptr;
|
||||
<a name="l223"></a>
|
||||
<a name="l224"></a>* ISO.C on FAT32 created by Windows or Linux are not contiguous.
|
||||
<a name="l224"></a>* extern of fun with default arg of str?
|
||||
<a name="l225"></a>
|
||||
<a name="l226"></a>* Might want to warn switch[] dup case numbers.
|
||||
<a name="l226"></a>* ISO.C on FAT32 created by Windows or Linux are not contiguous.
|
||||
<a name="l227"></a>
|
||||
<a name="l228"></a>* Make </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMathB.CC.html#l1"><span class=cF4>Clamp</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMathB.CC.html#l11"><span class=cF4>Min</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMathB.CC.html#l19"><span class=cF4>Max</span></a><span class=cF0>() into asm routines?
|
||||
<a name="l228"></a>* Might want to warn switch[] dup case numbers.
|
||||
<a name="l229"></a>
|
||||
<a name="l230"></a>* Add local vars to sym table in </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l732"><span class=cF4>Debug</span></a><span class=cF0>()?
|
||||
<a name="l230"></a>* Make </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMathB.CC.html#l1"><span class=cF4>Clamp</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMathB.CC.html#l11"><span class=cF4>Min</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMathB.CC.html#l19"><span class=cF4>Max</span></a><span class=cF0>() into asm routines?
|
||||
<a name="l231"></a>
|
||||
<a name="l232"></a>* Compiler: Prints two error messages for expressions in statements.
|
||||
<a name="l232"></a>* Add local vars to sym table in </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l732"><span class=cF4>Debug</span></a><span class=cF0>()?
|
||||
<a name="l233"></a>
|
||||
<a name="l234"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Compiler/UAsm.CC.html#l771"><span class=cF4>U</span></a><span class=cF0>() negative byte displacement, neg 32-bit disp.
|
||||
<a name="l234"></a>* Compiler: Prints two error messages for expressions in statements.
|
||||
<a name="l235"></a>
|
||||
<a name="l236"></a>* Race condition in </span><a href="https://tomawezome.github.io/ZealOS/Demo/Games/FlatTops.CC.html#l1"><span class=cF4>::/Demo/Games/FlatTops.CC</span></a><span class=cF0> torpedo.
|
||||
<a name="l236"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Compiler/UAsm.CC.html#l771"><span class=cF4>U</span></a><span class=cF0>() negative byte displacement, neg 32-bit disp.
|
||||
<a name="l237"></a>
|
||||
<a name="l238"></a>* Links to self document if empty file name? </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocLink.CC.html#l19"><span class=cF4>Document Links</span></a><span class=cF0>
|
||||
<a name="l238"></a>* Race condition in </span><a href="https://tomawezome.github.io/ZealOS/Demo/Games/FlatTops.CC.html#l1"><span class=cF4>::/Demo/Games/FlatTops.CC</span></a><span class=cF0> torpedo.
|
||||
<a name="l239"></a>
|
||||
<a name="l240"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3210"><span class=cF4>FUF_RECURSE</span></a><span class=cF0> would be nice if capital "+R".
|
||||
<a name="l240"></a>* Links to self document if empty file name? </span><a href="https://tomawezome.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>* Sprites in cmd line code.
|
||||
<a name="l242"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3210"><span class=cF4>FUF_RECURSE</span></a><span class=cF0> would be nice if capital "+R".
|
||||
<a name="l243"></a>
|
||||
<a name="l244"></a>* 16-Bit Assembly and Unassembly and is bad.
|
||||
<a name="l244"></a>* Sprites in cmd line code.
|
||||
<a name="l245"></a>
|
||||
<a name="l246"></a>* Compiler: Cmd to enable/disable warnings.
|
||||
<a name="l246"></a>* 16-Bit Assembly and Unassembly and is bad.
|
||||
<a name="l247"></a>
|
||||
<a name="l248"></a>* Compiler: Type for either F64 or I64, like Print -- no conversion.
|
||||
<a name="l249"></a>* Compiler: Arg type ... that did do conversion, if we have one that doesn't.
|
||||
<a name="l250"></a>
|
||||
<a name="l251"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Home/HomeWrappers.CC.html#l13"><span class=cF4>R</span></a><span class=cF0>("char_bmp_","set_");
|
||||
<a name="l248"></a>* Compiler: Cmd to enable/disable warnings.
|
||||
<a name="l249"></a>
|
||||
<a name="l250"></a>* Compiler: Type for either F64 or I64, like Print -- no conversion.
|
||||
<a name="l251"></a>* Compiler: Arg type ... that did do conversion, if we have one that doesn't.
|
||||
<a name="l252"></a>
|
||||
<a name="l253"></a>* Clean-up code </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskStrA.CC.html#l191"><span class=cF4>FileNameAbs</span></a><span class=cF0>(), does it need so many local var names? I guess no choice.
|
||||
<a name="l253"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Home/HomeWrappers.CC.html#l13"><span class=cF4>R</span></a><span class=cF0>("char_bmp_","set_");
|
||||
<a name="l254"></a>
|
||||
<a name="l255"></a>
|
||||
<a name="l256"></a></span><span class=cF5> Committee Needed</span><span class=cF0>
|
||||
<a name="l257"></a>* Make binary tree look-up using FUN_SEG symbol addresses, so we can eliminate fun_seg cache and wall-paper kludge? All CosmiC
|
||||
<a name="l258"></a>functions and global vars would have left-right for address search.
|
||||
<a name="l259"></a>
|
||||
<a name="l260"></a>* Should we get rid of drive mapping. It's ugly.
|
||||
<a name="l255"></a>* Clean-up code </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskStrA.CC.html#l191"><span class=cF4>FileNameAbs</span></a><span class=cF0>(), does it need so many local var names? I guess no choice.
|
||||
<a name="l256"></a>
|
||||
<a name="l257"></a>
|
||||
<a name="l258"></a></span><span class=cF5> Committee Needed</span><span class=cF0>
|
||||
<a name="l259"></a>* Make binary tree look-up using FUN_SEG symbol addresses, so we can eliminate fun_seg cache and wall-paper kludge? All
|
||||
<a name="l260"></a>CosmiC functions and global vars would have left-right for address search.
|
||||
<a name="l261"></a>
|
||||
<a name="l262"></a>* Can we get rid of </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3845"><span class=cF4>MESSAGE_CMD</span></a><span class=cF0>?
|
||||
<a name="l262"></a>* Should we get rid of drive mapping. It's ugly.
|
||||
<a name="l263"></a>
|
||||
<a name="l264"></a>* Make so just CdRom; command to copy entire disk to ::/CdRom directory?
|
||||
<a name="l264"></a>* Can we get rid of </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3845"><span class=cF4>MESSAGE_CMD</span></a><span class=cF0>?
|
||||
<a name="l265"></a>
|
||||
<a name="l266"></a>* </span><span class=cF4><u>MP DepthBuf</u></span><span class=cF0> is a kludge because of dc->depth_buf=NULL in various graphics routines.
|
||||
<a name="l266"></a>* Make so just CdRom; command to copy entire disk to ::/CdRom directory?
|
||||
<a name="l267"></a>
|
||||
<a name="l268"></a>* Improve editor undo, add redo.
|
||||
<a name="l268"></a>* </span><span class=cF4><u>MP DepthBuf</u></span><span class=cF0> is a kludge because of dc->depth_buf=NULL in various graphics routines.
|
||||
<a name="l269"></a>
|
||||
<a name="l270"></a>* Compiler: F32?
|
||||
<a name="l270"></a>* Improve editor undo, add redo.
|
||||
<a name="l271"></a>
|
||||
<a name="l272"></a>* International Date output: </span><a href="https://tomawezome.github.io/ZealOS/Kernel/StrPrint.CC.html#l57"><span class=cF4>MPrintDate</span></a><span class=cF0>(). Every country make own version?
|
||||
<a name="l273"></a>* International Date input: </span><a href="https://tomawezome.github.io/ZealOS/Kernel/StrScan.CC.html#l162"><span class=cF4>Str2Date</span></a><span class=cF0>().
|
||||
<a name="l274"></a>
|
||||
<a name="l275"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4237"><span class=cF4>DCF_SYMMETRY</span></a><span class=cF0> before transformation? (Currently, it's after.)
|
||||
<a name="l272"></a>* Compiler: F32?
|
||||
<a name="l273"></a>
|
||||
<a name="l274"></a>* International Date output: </span><a href="https://tomawezome.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://tomawezome.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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3579"><span class=cF4>TRANSPARENT</span></a><span class=cF0> does not work with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3575"><span class=cF4>ROPF_DITHER</span></a><span class=cF0>.
|
||||
<a name="l277"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4237"><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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3565"><span class=cF4>ROP_XOR</span></a><span class=cF0> with thick>1 is broken.
|
||||
<a name="l279"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3579"><span class=cF4>TRANSPARENT</span></a><span class=cF0> does not work with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3575"><span class=cF4>ROPF_DITHER</span></a><span class=cF0>.
|
||||
<a name="l280"></a>
|
||||
<a name="l281"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrPrimatives.CC.html#l982"><span class=cF4>GrPutChar3</span></a><span class=cF0>() with depth buf?
|
||||
<a name="l281"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3565"><span class=cF4>ROP_XOR</span></a><span class=cF0> with thick>1 is broken.
|
||||
<a name="l282"></a>
|
||||
<a name="l283"></a>* Eliminate? </span><a href="https://tomawezome.github.io/ZealOS/System/Ctrls/CtrlsA.CC.html#l1"><span class=cF4>::/System/Ctrls/CtrlsA.CC</span></a><span class=cF0>?
|
||||
<a name="l284"></a>* Eliminate? </span><a href="https://tomawezome.github.io/ZealOS/System/ZMathODE.CC.html#l1"><span class=cF4>::/System/ZMathODE.CC</span></a><span class=cF0>?
|
||||
<a name="l285"></a>* Eliminate? </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l114"><span class=cF4>Complex</span></a><span class=cF0>?
|
||||
<a name="l286"></a>* Eliminate? </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4263"><span class=cF4>CDC</span></a><span class=cF0>.brush?
|
||||
<a name="l287"></a>* Eliminate? </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrDC.CC.html#l6"><span class=cF4>Mat4x4MulXYZ</span></a><span class=cF0>() change to 3x3?
|
||||
<a name="l288"></a>* Eliminate? </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3565"><span class=cF4>ROP_XOR</span></a><span class=cF0>?
|
||||
<a name="l289"></a>
|
||||
<a name="l290"></a>* </span><a href="https://tomawezome.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://tomawezome.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://tomawezome.github.io/ZealOS/Kernel/SerialDev/Mouse.CC.html#l47"><span class=cF4>MouseSet</span></a><span class=cF0>()?
|
||||
<a name="l283"></a>* </span><a href="https://tomawezome.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://tomawezome.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://tomawezome.github.io/ZealOS/System/ZMathODE.CC.html#l1"><span class=cF4>::/System/ZMathODE.CC</span></a><span class=cF0>?
|
||||
<a name="l287"></a>* Eliminate? </span><a href="https://tomawezome.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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4263"><span class=cF4>CDC</span></a><span class=cF0>.brush?
|
||||
<a name="l289"></a>* Eliminate? </span><a href="https://tomawezome.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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3565"><span class=cF4>ROP_XOR</span></a><span class=cF0>?
|
||||
<a name="l291"></a>
|
||||
<a name="l292"></a>* Should Messages in PopUp queue get fwded to parent when task dies?
|
||||
<a name="l292"></a>* </span><a href="https://tomawezome.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://tomawezome.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://tomawezome.github.io/ZealOS/Kernel/SerialDev/Mouse.CC.html#l47"><span class=cF4>MouseSet</span></a><span class=cF0>()?
|
||||
<a name="l293"></a>
|
||||
<a name="l294"></a>* Import Intel datasheets so we can use links in </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/PageTables.CC.html#l1"><span class=cF4>Code</span></a><span class=cF0> for documentation. I tried a PDF-to-text convertor and it wasn't
|
||||
<a name="l295"></a>acceptible.
|
||||
<a name="l296"></a>
|
||||
<a name="l297"></a>* Switch stmt with sparse cases? Maybe, ban sparse switch statements.
|
||||
<a name="l294"></a>* Should Messages in PopUp queue get fwded to parent when task dies?
|
||||
<a name="l295"></a>
|
||||
<a name="l296"></a>* Import Intel datasheets so we can use links in </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/PageTables.CC.html#l1"><span class=cF4>Code</span></a><span class=cF0> for documentation. I tried a PDF-to-text convertor and it wasn't
|
||||
<a name="l297"></a>acceptible.
|
||||
<a name="l298"></a>
|
||||
<a name="l299"></a>* Compiler Optimization: Postpone LocalVar init until last possible moment in case of return.
|
||||
<a name="l299"></a>* Switch stmt with sparse cases? Maybe, ban sparse switch statements.
|
||||
<a name="l300"></a>
|
||||
<a name="l301"></a>* Compiler: Local var array/struct initialization.
|
||||
<a name="l301"></a>* Compiler Optimization: Postpone LocalVar init until last possible moment in case of return.
|
||||
<a name="l302"></a>
|
||||
<a name="l303"></a>* Compiler Optimization: Bools use r,rm in </span><a href="https://tomawezome.github.io/ZealOS/Compiler/BackB.CC.html#l103"><span class=cF4>ICComp</span></a><span class=cF0>() like in </span><a href="https://tomawezome.github.io/ZealOS/Compiler/BackB.CC.html#l509"><span class=cF4>ICCompAndBranch</span></a><span class=cF0>()?
|
||||
<a name="l303"></a>* Compiler: Local var array/struct initialization.
|
||||
<a name="l304"></a>
|
||||
<a name="l305"></a>* Compiler: !F64 ~F64
|
||||
<a name="l305"></a>* Compiler Optimization: Bools use r,rm in </span><a href="https://tomawezome.github.io/ZealOS/Compiler/BackB.CC.html#l103"><span class=cF4>ICComp</span></a><span class=cF0>() like in </span><a href="https://tomawezome.github.io/ZealOS/Compiler/BackB.CC.html#l509"><span class=cF4>ICCompAndBranch</span></a><span class=cF0>()?
|
||||
<a name="l306"></a>
|
||||
<a name="l307"></a>* Compiler: &=, |= can overflow with Bts Btr on small data types?
|
||||
<a name="l307"></a>* Compiler: !F64 ~F64
|
||||
<a name="l308"></a>
|
||||
<a name="l309"></a>* Implement </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3158"><span class=cF4>RS_ATTR_FIXED</span></a><span class=cF0> fixed pos files?
|
||||
<a name="l309"></a>* Compiler: &=, |= can overflow with Bts Btr on small data types?
|
||||
<a name="l310"></a>
|
||||
<a name="l311"></a>* SIMD in </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrDC.CC.html#l6"><span class=cF4>Mat4x4MulXYZ</span></a><span class=cF0>?
|
||||
<a name="l311"></a>* Implement </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3158"><span class=cF4>RS_ATTR_FIXED</span></a><span class=cF0> fixed pos files?
|
||||
<a name="l312"></a>
|
||||
<a name="l313"></a>* I use fixed-point in </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrMath.CC.html#l341"><span class=cF4>Circle</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrMath.CC.html#l390"><span class=cF4>Ellipse</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrDC.CC.html#l6"><span class=cF4>Mat4x4MulXYZ</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrMath.CC.html#l124"><span class=cF4>Mat4x4MulMat4x4New</span></a><span class=cF0>() and others. God says I might want to change to
|
||||
<a name="l314"></a>float. </span><a href="https://tomawezome.github.io/ZealOS/Demo/Lectures/FixedPoint.CC.html#l1"><span class=cF4>::/Demo/Lectures/FixedPoint.CC</span></a><span class=cF0> </span><a href="https://tomawezome.github.io/ZealOS/Demo/Lectures/FixedPointAdvanced.CC.html#l1"><span class=cF4>::/Demo/Lectures/FixedPointAdvanced.CC</span></a><span class=cF0>.
|
||||
<a name="l315"></a>
|
||||
<a name="l316"></a>* Note: We will never put multiple </span><a href="https://tomawezome.github.io/ZealOS/Kernel/SerialDev/Keyboard.CC.html#l1"><span class=cF4>Keyboard Tables</span></a><span class=cF0>. Each country must make their own version of ZealOS. The </span><span class=cF4>
|
||||
<a name="l317"></a><u>Intel Factory ROM</u></span><span class=cF0> will have just English. Our </span><a href="https://tomawezome.github.io/ZealOS/Doc/Charter.DD.html#l1"><span class=cF4>Charter</span></a><span class=cF0> bans multiple country or architectures in the same version.
|
||||
<a name="l318"></a>
|
||||
<a name="l319"></a>* 12 border chars in screen font codes 0x02-0x0D. </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrTextBase.CC.html#l333"><span class=cF4>TextBorder</span></a><span class=cF0>() </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l313"><span class=cF4>RawDr</span></a><span class=cF0>() </span><a href="https://tomawezome.github.io/ZealOS/Demo/Games/CharDemo.CC.html#l1"><span class=cF4>::/Demo/Games/CharDemo.CC</span></a><span class=cF0>. LineFeed shows-up in </span><span class=cF2><CTRL-m></span><span class=cF0>
|
||||
<a name="l320"></a>PersonalMenu.
|
||||
<a name="l321"></a>
|
||||
<a name="l322"></a>* Super-simple high speed serial needs flow control. </span><span class=cF2><CTRL-s></span><span class=cF0> and </span><span class=cF2><CTRL-q></span><span class=cF0>?
|
||||
<a name="l313"></a>* SIMD in </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrDC.CC.html#l6"><span class=cF4>Mat4x4MulXYZ</span></a><span class=cF0>?
|
||||
<a name="l314"></a>
|
||||
<a name="l315"></a>* I use fixed-point in </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrMath.CC.html#l341"><span class=cF4>Circle</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrMath.CC.html#l390"><span class=cF4>Ellipse</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrDC.CC.html#l6"><span class=cF4>Mat4x4MulXYZ</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrMath.CC.html#l124"><span class=cF4>Mat4x4MulMat4x4New</span></a><span class=cF0>() and others. God says I might want to change
|
||||
<a name="l316"></a>to float. </span><a href="https://tomawezome.github.io/ZealOS/Demo/Lectures/FixedPoint.CC.html#l1"><span class=cF4>::/Demo/Lectures/FixedPoint.CC</span></a><span class=cF0> </span><a href="https://tomawezome.github.io/ZealOS/Demo/Lectures/FixedPointAdvanced.CC.html#l1"><span class=cF4>::/Demo/Lectures/FixedPointAdvanced.CC</span></a><span class=cF0>.
|
||||
<a name="l317"></a>
|
||||
<a name="l318"></a>* Note: We will never put multiple </span><a href="https://tomawezome.github.io/ZealOS/Kernel/SerialDev/Keyboard.CC.html#l1"><span class=cF4>Keyboard Tables</span></a><span class=cF0>. Each country must make their own version of ZealOS. The </span><span class=cF4>
|
||||
<a name="l319"></a><u>Intel Factory ROM</u></span><span class=cF0> will have just English. Our </span><a href="https://tomawezome.github.io/ZealOS/Doc/Charter.DD.html#l1"><span class=cF4>Charter</span></a><span class=cF0> bans multiple country or architectures in the same version.
|
||||
<a name="l320"></a>
|
||||
<a name="l321"></a>* 12 border chars in screen font codes 0x02-0x0D. </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrTextBase.CC.html#l333"><span class=cF4>TextBorder</span></a><span class=cF0>() </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l313"><span class=cF4>RawDr</span></a><span class=cF0>() </span><a href="https://tomawezome.github.io/ZealOS/Demo/Games/CharDemo.CC.html#l1"><span class=cF4>::/Demo/Games/CharDemo.CC</span></a><span class=cF0>. LineFeed shows-up in </span><span class=cF2><CTRL-
|
||||
<a name="l322"></a>m></span><span class=cF0> PersonalMenu.
|
||||
<a name="l323"></a>
|
||||
<a name="l324"></a>
|
||||
<a name="l325"></a></span><span class=cF5> Inspirational Ideas</span><span class=cF0>
|
||||
<a name="l326"></a>* Redo videos, make more professional.
|
||||
<a name="l327"></a>
|
||||
<a name="l328"></a>* Add icons.
|
||||
<a name="l324"></a>* Super-simple high speed serial needs flow control. </span><span class=cF2><CTRL-s></span><span class=cF0> and </span><span class=cF2><CTRL-q></span><span class=cF0>?
|
||||
<a name="l325"></a>
|
||||
<a name="l326"></a>
|
||||
<a name="l327"></a></span><span class=cF5> Inspirational Ideas</span><span class=cF0>
|
||||
<a name="l328"></a>* Redo videos, make more professional.
|
||||
<a name="l329"></a>
|
||||
<a name="l330"></a>* Use standard terminology from "the literature".
|
||||
<a name="l330"></a>* Add icons.
|
||||
<a name="l331"></a>
|
||||
<a name="l332"></a>* Striped and other dither patterns. Brushes?
|
||||
<a name="l332"></a>* Use standard terminology from "the literature".
|
||||
<a name="l333"></a>
|
||||
<a name="l334"></a>* Get rid of BYTE, WORD, DWORD in opcode and replace with U8, U16, U32.
|
||||
<a name="l334"></a>* Striped and other dither patterns. Brushes?
|
||||
<a name="l335"></a>
|
||||
<a name="l336"></a>* Get rid of "Char".
|
||||
<a name="l336"></a>* Get rid of BYTE, WORD, DWORD in opcode and replace with U8, U16, U32.
|
||||
<a name="l337"></a>
|
||||
<a name="l338"></a>* Get rid of having two terms and pick one, "Disk" and "BlkDev"? (Probably, not that one.)
|
||||
<a name="l338"></a>* Get rid of "Char".
|
||||
<a name="l339"></a>
|
||||
<a name="l340"></a>* Could switch to having just C and D drives and RAMDrive and CD/DVD?
|
||||
<a name="l340"></a>* Get rid of having two terms and pick one, "Disk" and "BlkDev"? (Probably, not that one.)
|
||||
<a name="l341"></a>
|
||||
<a name="l342"></a>* New editor widgets.
|
||||
<a name="l342"></a>* Could switch to having just C and D drives and RAMDrive and CD/DVD?
|
||||
<a name="l343"></a>
|
||||
<a name="l344"></a>* Make use of flag potential in </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskFind.CC.html#l32"><span class=cF4>FilesFind</span></a><span class=cF0>() and possibly </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskDirContext.CC.html#l30"><span class=cF4>DirContextNew</span></a><span class=cF0>().
|
||||
<a name="l345"></a>* Sort options for </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskFind.CC.html#l32"><span class=cF4>FilesFind</span></a><span class=cF0>()?
|
||||
<a name="l346"></a>
|
||||
<a name="l347"></a>* New </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> language features?
|
||||
<a name="l344"></a>* New editor widgets.
|
||||
<a name="l345"></a>
|
||||
<a name="l346"></a>* Make use of flag potential in </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskFind.CC.html#l32"><span class=cF4>FilesFind</span></a><span class=cF0>() and possibly </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskDirContext.CC.html#l30"><span class=cF4>DirContextNew</span></a><span class=cF0>().
|
||||
<a name="l347"></a>* Sort options for </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskFind.CC.html#l32"><span class=cF4>FilesFind</span></a><span class=cF0>()?
|
||||
<a name="l348"></a>
|
||||
<a name="l349"></a>* Better </span><span class=cF4><u>Debugging</u></span><span class=cF0>?
|
||||
<a name="l349"></a>* New </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> language features?
|
||||
<a name="l350"></a>
|
||||
<a name="l351"></a>* Look for mem leaks?
|
||||
<a name="l351"></a>* Better </span><span class=cF4><u>Debugging</u></span><span class=cF0>?
|
||||
<a name="l352"></a>
|
||||
<a name="l353"></a>* Std local var names.
|
||||
<a name="l353"></a>* Look for mem leaks?
|
||||
<a name="l354"></a>
|
||||
<a name="l355"></a>* Ticketmaster format statements? Overflow "t='*'" and padding character?
|
||||
<a name="l355"></a>* Std local var names.
|
||||
<a name="l356"></a>
|
||||
<a name="l357"></a>* Move stuff out of </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Kernel.PRJ.html#l1"><span class=cF4>Kernel</span></a><span class=cF0> module.
|
||||
<a name="l357"></a>* Ticketmaster format statements? Overflow "t='*'" and padding character?
|
||||
<a name="l358"></a>
|
||||
<a name="l359"></a>* $LK,L="FL:D:/Kernel/File.CC"$ instead of A=
|
||||
<a name="l360"></a>* $SP,B=1$ instead of $SP,BI=1$
|
||||
<a name="l361"></a>* $CM+LE+RE is nasty
|
||||
<a name="l362"></a>
|
||||
<a name="l363"></a>* DCF_TRANSFORMATION|DCF_SYMMETRY|DCF_JUST_MIRROR -- maybe not both needed at once.
|
||||
<a name="l359"></a>* Move stuff out of </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Kernel.PRJ.html#l1"><span class=cF4>Kernel</span></a><span class=cF0> module.
|
||||
<a name="l360"></a>
|
||||
<a name="l361"></a>* $LK,L="FL:D:/Kernel/File.CC"$ instead of A=
|
||||
<a name="l362"></a>* $SP,B=1$ instead of $SP,BI=1$
|
||||
<a name="l363"></a>* $CM+LE+RE is nasty
|
||||
<a name="l364"></a>
|
||||
<a name="l365"></a>* More </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3735"><span class=cF4>Controls</span></a><span class=cF0>?
|
||||
<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>* Compiler: More use of more floating-point stack?
|
||||
<a name="l367"></a>* More </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3735"><span class=cF4>Controls</span></a><span class=cF0>?
|
||||
<a name="l368"></a>
|
||||
<a name="l369"></a>* Compiler: More aggressive in </span><a href="https://tomawezome.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="l369"></a>* Compiler: More use of more floating-point stack?
|
||||
<a name="l370"></a>
|
||||
<a name="l371"></a>* Playing with </span><a href="https://tomawezome.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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3941"><span class=cF4>CTask</span></a><span class=cF0>?
|
||||
<a name="l372"></a> $=-CTASK_NEG_OFFSET
|
||||
<a name="l373"></a> offset(CTask.addr)==0
|
||||
<a name="l374"></a> Spawn(): CAlloc()
|
||||
<a name="l375"></a> TaskDel(): Free()
|
||||
<a name="l376"></a> CSysFixedArea.system
|
||||
<a name="l377"></a> Looks like task_flags,locked_flags cause problems with neg offset.
|
||||
<a name="l378"></a>
|
||||
<a name="l379"></a>* Make a game, S.E.T.I., with radio telescope array. Put God on air.
|
||||
<a name="l371"></a>* Compiler: More aggressive in </span><a href="https://tomawezome.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://tomawezome.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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3941"><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()
|
||||
<a name="l377"></a> TaskDel(): Free()
|
||||
<a name="l378"></a> CSysFixedArea.system
|
||||
<a name="l379"></a> Looks like task_flags,locked_flags cause problems with neg offset.
|
||||
<a name="l380"></a>
|
||||
<a name="l381"></a>
|
||||
<a name="l382"></a></span><span class=cF5> Test</span><span class=cF0>
|
||||
<a name="l383"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/SpriteBitMap.CC.html#l1"><span class=cF4>SpriteBitMap</span></a><span class=cF0>: Grabscroll?
|
||||
<a name="l384"></a>
|
||||
<a name="l385"></a>* Return ress for </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l93"><span class=cF4>GrBlot</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l1217"><span class=cF4>GrRect</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l817"><span class=cF4>GrPutChar</span></a><span class=cF0>?
|
||||
<a name="l386"></a>* Collision counts for </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l93"><span class=cF4>GrBlot</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l1217"><span class=cF4>GrRect</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l817"><span class=cF4>GrPutChar</span></a><span class=cF0>?
|
||||
<a name="l387"></a>
|
||||
<a name="l388"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/SerialDev/Message.CC.html#l233"><span class=cF4>StrGet</span></a><span class=cF0>() or </span><a href="https://tomawezome.github.io/ZealOS/Kernel/SerialDev/Message.CC.html#l220"><span class=cF4>CharGet</span></a><span class=cF0>() in </span><a href="https://tomawezome.github.io/ZealOS/Misc/OSInstall.CC.html#l1"><span class=cF4>OSInstall</span></a><span class=cF0> didn't like focus change.
|
||||
<a name="l381"></a>* Make a game, S.E.T.I., with radio telescope array. Put God on air.
|
||||
<a name="l382"></a>
|
||||
<a name="l383"></a>
|
||||
<a name="l384"></a></span><span class=cF5> Test</span><span class=cF0>
|
||||
<a name="l385"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/SpriteBitMap.CC.html#l1"><span class=cF4>SpriteBitMap</span></a><span class=cF0>: Grabscroll?
|
||||
<a name="l386"></a>
|
||||
<a name="l387"></a>* Return ress for </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l93"><span class=cF4>GrBlot</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l1217"><span class=cF4>GrRect</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l817"><span class=cF4>GrPutChar</span></a><span class=cF0>?
|
||||
<a name="l388"></a>* Collision counts for </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l93"><span class=cF4>GrBlot</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l1217"><span class=cF4>GrRect</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l817"><span class=cF4>GrPutChar</span></a><span class=cF0>?
|
||||
<a name="l389"></a>
|
||||
<a name="l390"></a>* Test on Dad's computer or other people's?
|
||||
<a name="l390"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/SerialDev/Message.CC.html#l233"><span class=cF4>StrGet</span></a><span class=cF0>() or </span><a href="https://tomawezome.github.io/ZealOS/Kernel/SerialDev/Message.CC.html#l220"><span class=cF4>CharGet</span></a><span class=cF0>() in </span><a href="https://tomawezome.github.io/ZealOS/Misc/OSInstall.CC.html#l1"><span class=cF4>OSInstall</span></a><span class=cF0> didn't like focus change.
|
||||
<a name="l391"></a>
|
||||
<a name="l392"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Compiler/BackA.CC.html#l437"><span class=cF4>ICDivEqu</span></a><span class=cF0>() assumes RBX. Is it okay?
|
||||
<a name="l392"></a>* Test on Dad's computer or other people's?
|
||||
<a name="l393"></a>
|
||||
<a name="l394"></a>* InFile PopUp of PopUp?
|
||||
<a name="l394"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Compiler/BackA.CC.html#l437"><span class=cF4>ICDivEqu</span></a><span class=cF0>() assumes RBX. Is it okay?
|
||||
<a name="l395"></a>
|
||||
<a name="l396"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/BlkDev/FileMgr.CC.html#l678"><span class=cF4>FileMgr</span></a><span class=cF0>() help link scrolls out of window.
|
||||
<a name="l396"></a>* InFile PopUp of PopUp?
|
||||
<a name="l397"></a>
|
||||
<a name="l398"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/SerialDev/Mouse.CC.html#l330"><span class=cF4>MouseHardDriverInstall</span></a><span class=cF0>() throws exceptions? Doesn't work? Why mouse </span><a href="https://tomawezome.github.io/ZealOS/Kernel/SerialDev/Mouse.CC.html#l131"><span class=cF4>0x9FC30</span></a><span class=cF0>?
|
||||
<a name="l398"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/BlkDev/FileMgr.CC.html#l678"><span class=cF4>FileMgr</span></a><span class=cF0>() help link scrolls out of window.
|
||||
<a name="l399"></a>
|
||||
<a name="l400"></a>* VirtualBox MP reboot?
|
||||
<a name="l400"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/SerialDev/Mouse.CC.html#l330"><span class=cF4>MouseHardDriverInstall</span></a><span class=cF0>() throws exceptions? Doesn't work? Why mouse </span><a href="https://tomawezome.github.io/ZealOS/Kernel/SerialDev/Mouse.CC.html#l131"><span class=cF4>0x9FC30</span></a><span class=cF0>?
|
||||
<a name="l401"></a>
|
||||
<a name="l402"></a>* Compiler: Err/Warn line nums?
|
||||
<a name="l403"></a>* Asm branch-out-of-range warn by one line?
|
||||
<a name="l404"></a>
|
||||
<a name="l405"></a>* Make sure queue links safe in one direction. Task </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l50"><span class=cF4>QueueInsert</span></a><span class=cF0> and </span><a href="https://tomawezome.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="l402"></a>* VirtualBox MP reboot?
|
||||
<a name="l403"></a>
|
||||
<a name="l404"></a>* Compiler: Err/Warn line nums?
|
||||
<a name="l405"></a>* Asm branch-out-of-range warn by one line?
|
||||
<a name="l406"></a>
|
||||
<a name="l407"></a>* Test removable media id and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3156"><span class=cF4>RS_ATTR_RESIDENT</span></a><span class=cF0>. </span><a href="https://tomawezome.github.io/ZealOS/System/BlkDev/ZDiskA.CC.html#l280"><span class=cF4>Touch</span></a><span class=cF0>("","+T");
|
||||
<a name="l407"></a>* Make sure queue links safe in one direction. Task </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l50"><span class=cF4>QueueInsert</span></a><span class=cF0> and </span><a href="https://tomawezome.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>
|
||||
<a name="l410"></a></span><span class=cF5> Uncategorized</span><span class=cF0>
|
||||
<a name="l411"></a>* DiskCache during FileRead. <CTRL-ALT-c>, </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KTask.CC.html#l50"><span class=cF4>Kill</span></a><span class=cF0>().
|
||||
<a name="l412"></a>
|
||||
<a name="l413"></a>* MOV U8 [RSP+RCX],DL
|
||||
<a name="l409"></a>* Test removable media id and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3156"><span class=cF4>RS_ATTR_RESIDENT</span></a><span class=cF0>. </span><a href="https://tomawezome.github.io/ZealOS/System/BlkDev/ZDiskA.CC.html#l280"><span class=cF4>Touch</span></a><span class=cF0>("","+T");
|
||||
<a name="l410"></a>
|
||||
<a name="l411"></a>
|
||||
<a name="l412"></a></span><span class=cF5> Uncategorized</span><span class=cF0>
|
||||
<a name="l413"></a>* DiskCache during FileRead. <CTRL-ALT-c>, </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KTask.CC.html#l50"><span class=cF4>Kill</span></a><span class=cF0>().
|
||||
<a name="l414"></a>
|
||||
<a name="l415"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrGlobals.CC.html#l3"><span class=cF4>gr.screen_image</span></a><span class=cF0>
|
||||
<a name="l416"></a> >Might want to do ZOOM in U8 graphics and convert screen capture to U8
|
||||
<a name="l417"></a> >Might want to rev bit order
|
||||
<a name="l418"></a>
|
||||
<a name="l419"></a>* This </span><span class=cF4><u>Fs->catch_except=TRUE</u></span><span class=cF0> causes problems because it
|
||||
<a name="l420"></a>catches divide and out-of-mem. Not sure what to do, yet.
|
||||
<a name="l421"></a>
|
||||
<a name="l422"></a>* Release semaphores or break lock sema,usb_td
|
||||
<a name="l415"></a>* MOV U8 [RSP+RCX],DL
|
||||
<a name="l416"></a>
|
||||
<a name="l417"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrGlobals.CC.html#l3"><span class=cF4>gr.screen_image</span></a><span class=cF0>
|
||||
<a name="l418"></a> >Might want to do ZOOM in U8 graphics and convert screen capture to U8
|
||||
<a name="l419"></a> >Might want to rev bit order
|
||||
<a name="l420"></a>
|
||||
<a name="l421"></a>* This </span><span class=cF4><u>Fs->catch_except=TRUE</u></span><span class=cF0> causes problems because it
|
||||
<a name="l422"></a>catches divide and out-of-mem. Not sure what to do, yet.
|
||||
<a name="l423"></a>
|
||||
<a name="l424"></a>* Might make CSprite flood fill operate on a separate bitmap
|
||||
<a name="l425"></a>and blotted at the end.
|
||||
<a name="l426"></a>* <CTRL-r> delete subsprite in menu near others
|
||||
<a name="l427"></a>* make better heapwalk, do something with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3438"><span class=cF4>_CONFIG_HEAP_DEBUG</span></a><span class=cF0>.
|
||||
<a name="l428"></a>
|
||||
<a name="l429"></a>* static var off of data heap.
|
||||
<a name="l430"></a>* could add "const" to not set CCF_NOT_CONST flag for trig, etc.
|
||||
<a name="l431"></a>* could make globalvar imports use MDF_RIP_DISP32.
|
||||
<a name="l432"></a>* PUSH_CMP allocs reg R9 or whatever
|
||||
<a name="l433"></a>* Might be problem with NOP in OPT pass1 for NO_PUSH in expressions besides
|
||||
<a name="l434"></a>assignments. Is ShiftNoPush fully implemented?
|
||||
<a name="l435"></a>
|
||||
<a name="l436"></a>
|
||||
<a name="l437"></a></span><span class=cF5> Bible Passages</span><span class=cF0>
|
||||
<a name="l438"></a>It is love I desire </span><a href="http://www.biblegateway.com/verse/en/Hosea%206:6"><span class=cF0>Hosea 6:6</span></a><span class=cF0>
|
||||
<a name="l439"></a>Males appear three times, not empty </span><a href="http://www.biblegateway.com/verse/en/Deuteronomy%2016:16"><span class=cF0>Deuteronomy 16:16</span></a><span class=cF0>
|
||||
<a name="l440"></a>Offer a sacrifice of praise </span><a href="http://www.biblegateway.com/verse/en/Hebrews%2013:15"><span class=cF0>Hebrews 13:15</span></a><span class=cF0>
|
||||
<a name="l441"></a>Do I drink blood of goats? Offer praise </span><a href="http://www.biblegateway.com/verse/en/Psalms%2050:14"><span class=cF0>Psalms 50:14</span></a><span class=cF0>
|
||||
<a name="l442"></a>When a servant becomes king... </span><a href="http://www.biblegateway.com/verse/en/Proverb%2030:22"><span class=cF0>Proverb 30:22</span></a><span class=cF0>
|
||||
<a name="l443"></a>Runner's stride </span><a href="http://www.biblegateway.com/verse/en/Psalms%20147:10"><span class=cF0>Psalms 147:10</span></a><span class=cF0>
|
||||
<a name="l444"></a>Buckling armor </span><a href="http://www.biblegateway.com/verse/en/1%20Kings%2020:11"><span class=cF0>1 Kings 20:11</span></a><span class=cF0>
|
||||
<a name="l445"></a>Lot cast in the lap </span><a href="http://www.biblegateway.com/verse/en/Proverbs%2016:33"><span class=cF0>Proverbs 16:33</span></a><span class=cF0>
|
||||
<a name="l446"></a>Lord does not repeat </span><a href="http://www.biblegateway.com/verse/en/Job%2033:14"><span class=cF0>Job 33:14</span></a><span class=cF0>
|
||||
<a name="l447"></a>Offer only in approved place </span><a href="http://www.biblegateway.com/passage/?search=Deuteronomy%2012:13-18&version=NIV"><span class=cF0>Deuteronomy 12:13-18</span></a><span class=cF0>
|
||||
<a name="l448"></a>Jesus' zeal for the Temple </span><a href="http://www.biblegateway.com/passage/?search=John%202:14-19&version=NIV"><span class=cF0>John 2:14-19</span></a><span class=cF0>
|
||||
<a name="l449"></a>Famine not for bread </span><a href="http://www.biblegateway.com/passage/?search=Amos%208:11-12&version=NIV"><span class=cF0>Amos 8:11-12</span></a><span class=cF0>
|
||||
<a name="l450"></a>To the honest, you are honest </span><a href="http://www.biblegateway.com/verse/en/Psalm%2018:26"><span class=cF0>Psalm 18:26</span></a><span class=cF0>
|
||||
<a name="l451"></a>Meek and humble of heart </span><a href="http://www.biblegateway.com/verse/en/Matthew%2011:29"><span class=cF0>Matthew 11:29</span></a><span class=cF0>
|
||||
<a name="l452"></a>Moses gets Aaron </span><a href="http://www.biblegateway.com/passage/?search=Exodus%204:10-16&version=NIV"><span class=cF0>Exodus 4:10-16</span></a><span class=cF0>
|
||||
<a name="l453"></a>There is no council against the Lord </span><a href="http://www.biblegateway.com/verse/en/Proverbs%2021:30"><span class=cF0>Proverbs 21:30</span></a><span class=cF0>
|
||||
<a name="l454"></a>Human help is worthless </span><a href="http://www.biblegateway.com/verse/en/Psalm%20108:12"><span class=cF0>Psalm 108:12</span></a><span class=cF0>
|
||||
<a name="l455"></a>Do not seek your own wealth </span><a href="http://www.biblegateway.com/verse/en/1%20Corinthians%2010:24"><span class=cF0>1 Corinthians 10:24</span></a><span class=cF0>
|
||||
<a name="l456"></a>Abundance of Spirits </span><a href="http://www.usccb.org/bible/1corinthians/14:12"><span class=cF0>1 Corinthians 14:12</span></a><span class=cF0>
|
||||
<a name="l457"></a>The stone rejected is cornerstone </span><a href="http://www.biblegateway.com/verse/en/Matthew%2021:42"><span class=cF0>Matthew 21:42</span></a><span class=cF0>
|
||||
<a name="l458"></a>Egypt rise like flood </span><a href="http://www.biblegateway.com/passage/?search=Jeremiah%2046:7-8&version=NIV"><span class=cF0>Jeremiah 46:7-8</span></a><span class=cF0>
|
||||
<a name="l459"></a>New wineskins </span><a href="http://www.biblegateway.com/verse/en/Mark%202:22"><span class=cF0>Mark 2:22</span></a><span class=cF0>
|
||||
<a name="l460"></a>Thousand songs of Solomon </span><a href="http://www.biblegateway.com/passage/?search=1%20Kings%204:32&version=NIV"><span class=cF0>1 Kings 4:32</span></a><span class=cF0>
|
||||
<a name="l461"></a>Not rich, nor poor, but my portion </span><a href="http://www.biblegateway.com/verse/en/Proverbs%2030:8"><span class=cF0>Proverbs 30:8</span></a><span class=cF0>
|
||||
<a name="l462"></a>Be hot or cold. Lukewarm I spit you out </span><a href="http://www.biblegateway.com/verse/en/Revelation%203:16"><span class=cF0>Revelation 3:16</span></a><span class=cF0>
|
||||
<a name="l463"></a>
|
||||
<a name="l464"></a></span><a href="https://en.wikipedia.org/wiki/Linus_Torvalds"><span class=cF0>Linus Torvalds (Dec 28, 1969)</span></a><span class=cF0>
|
||||
<a name="l465"></a></span><a href="https://en.wikipedia.org/wiki/John_Carmack"><span class=cF0>John Carmack (Aug 20, 1970)</span></a><span class=cF0>
|
||||
<a name="l466"></a></span><a href="https://motherboard.vice.com/en_us/article/gods-lonely-programmer"><span class=cF0>Terry A. Davis (Dec 15, 1969)</span></a><span class=cF0>
|
||||
<a name="l467"></a></span><a href="https://webapp4.asu.edu/directory/person/77201"><span class=cF0>Dr. David Pheanis</span></a><span class=cF0>
|
||||
<a name="l468"></a></span><a href="http://ecee.engineering.asu.edu/directory/tenured-and-tenure-track-faculty/kostantinos-s-tsakalis"><span class=cF0>Dr. Konstantinos S. Tsakalis</span></a><span class=cF0>
|
||||
<a name="l469"></a></span><a href="https://webapp4.asu.edu/directory/directorysearch?cn=Walter+Higgins"><span class=cF0>Dr. Walter Higgins</span></a><span class=cF0>
|
||||
<a name="l470"></a></span><a href="http://www.wired.com/magazine/2010/11/mf_ticketmaster/all/1"><span class=cF0>Peter Gadwa</span></a><span class=cF0>
|
||||
<a name="l471"></a></span><a href="http://www.nytimes.com/1994/11/06/business/ticketmaster-s-mr-tough-guy.html?pagewanted=a"><span class=cF0>Ticketmaster</span></a><span class=cF0>
|
||||
<a name="l472"></a></span><a href="http://web.gccaz.edu/~tfoley/perspage.html"><span class=cF0>Tom Foley</span></a><span class=cF0>
|
||||
<a name="l473"></a></span><a href="https://web.archive.org/web/20020811060541/http://www.graphic-technologies.com/"><span class=cF0>Graphic Technologies</span></a><span class=cF0>
|
||||
<a name="l424"></a>* Release semaphores or break lock sema,usb_td
|
||||
<a name="l425"></a>
|
||||
<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>* <CTRL-r> delete subsprite in menu near others
|
||||
<a name="l429"></a>* make better heapwalk, do something with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3438"><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 "const" to not set CCF_NOT_CONST flag for trig, etc.
|
||||
<a name="l433"></a>* could make globalvar imports use MDF_RIP_DISP32.
|
||||
<a name="l434"></a>* PUSH_CMP allocs reg R9 or whatever
|
||||
<a name="l435"></a>* Might be problem with NOP in OPT pass1 for NO_PUSH in expressions besides
|
||||
<a name="l436"></a>assignments. Is ShiftNoPush fully implemented?
|
||||
<a name="l437"></a>
|
||||
<a name="l438"></a>
|
||||
<a name="l439"></a></span><span class=cF5> Bible Passages</span><span class=cF0>
|
||||
<a name="l440"></a>It is love I desire </span><a href="http://www.biblegateway.com/verse/en/Hosea%206:6"><span class=cF0>Hosea 6:6</span></a><span class=cF0>
|
||||
<a name="l441"></a>Males appear three times, not empty </span><a href="http://www.biblegateway.com/verse/en/Deuteronomy%2016:16"><span class=cF0>Deuteronomy 16:16</span></a><span class=cF0>
|
||||
<a name="l442"></a>Offer a sacrifice of praise </span><a href="http://www.biblegateway.com/verse/en/Hebrews%2013:15"><span class=cF0>Hebrews 13:15</span></a><span class=cF0>
|
||||
<a name="l443"></a>Do I drink blood of goats? Offer praise </span><a href="http://www.biblegateway.com/verse/en/Psalms%2050:14"><span class=cF0>Psalms 50:14</span></a><span class=cF0>
|
||||
<a name="l444"></a>When a servant becomes king... </span><a href="http://www.biblegateway.com/verse/en/Proverb%2030:22"><span class=cF0>Proverb 30:22</span></a><span class=cF0>
|
||||
<a name="l445"></a>Runner's stride </span><a href="http://www.biblegateway.com/verse/en/Psalms%20147:10"><span class=cF0>Psalms 147:10</span></a><span class=cF0>
|
||||
<a name="l446"></a>Buckling armor </span><a href="http://www.biblegateway.com/verse/en/1%20Kings%2020:11"><span class=cF0>1 Kings 20:11</span></a><span class=cF0>
|
||||
<a name="l447"></a>Lot cast in the lap </span><a href="http://www.biblegateway.com/verse/en/Proverbs%2016:33"><span class=cF0>Proverbs 16:33</span></a><span class=cF0>
|
||||
<a name="l448"></a>Lord does not repeat </span><a href="http://www.biblegateway.com/verse/en/Job%2033:14"><span class=cF0>Job 33:14</span></a><span class=cF0>
|
||||
<a name="l449"></a>Offer only in approved place </span><a href="http://www.biblegateway.com/passage/?search=Deuteronomy%2012:13-18&version=NIV"><span class=cF0>Deuteronomy 12:13-18</span></a><span class=cF0>
|
||||
<a name="l450"></a>Jesus' zeal for the Temple </span><a href="http://www.biblegateway.com/passage/?search=John%202:14-19&version=NIV"><span class=cF0>John 2:14-19</span></a><span class=cF0>
|
||||
<a name="l451"></a>Famine not for bread </span><a href="http://www.biblegateway.com/passage/?search=Amos%208:11-12&version=NIV"><span class=cF0>Amos 8:11-12</span></a><span class=cF0>
|
||||
<a name="l452"></a>To the honest, you are honest </span><a href="http://www.biblegateway.com/verse/en/Psalm%2018:26"><span class=cF0>Psalm 18:26</span></a><span class=cF0>
|
||||
<a name="l453"></a>Meek and humble of heart </span><a href="http://www.biblegateway.com/verse/en/Matthew%2011:29"><span class=cF0>Matthew 11:29</span></a><span class=cF0>
|
||||
<a name="l454"></a>Moses gets Aaron </span><a href="http://www.biblegateway.com/passage/?search=Exodus%204:10-16&version=NIV"><span class=cF0>Exodus 4:10-16</span></a><span class=cF0>
|
||||
<a name="l455"></a>There is no council against the Lord </span><a href="http://www.biblegateway.com/verse/en/Proverbs%2021:30"><span class=cF0>Proverbs 21:30</span></a><span class=cF0>
|
||||
<a name="l456"></a>Human help is worthless </span><a href="http://www.biblegateway.com/verse/en/Psalm%20108:12"><span class=cF0>Psalm 108:12</span></a><span class=cF0>
|
||||
<a name="l457"></a>Do not seek your own wealth </span><a href="http://www.biblegateway.com/verse/en/1%20Corinthians%2010:24"><span class=cF0>1 Corinthians 10:24</span></a><span class=cF0>
|
||||
<a name="l458"></a>Abundance of Spirits </span><a href="http://www.usccb.org/bible/1corinthians/14:12"><span class=cF0>1 Corinthians 14:12</span></a><span class=cF0>
|
||||
<a name="l459"></a>The stone rejected is cornerstone </span><a href="http://www.biblegateway.com/verse/en/Matthew%2021:42"><span class=cF0>Matthew 21:42</span></a><span class=cF0>
|
||||
<a name="l460"></a>Egypt rise like flood </span><a href="http://www.biblegateway.com/passage/?search=Jeremiah%2046:7-8&version=NIV"><span class=cF0>Jeremiah 46:7-8</span></a><span class=cF0>
|
||||
<a name="l461"></a>New wineskins </span><a href="http://www.biblegateway.com/verse/en/Mark%202:22"><span class=cF0>Mark 2:22</span></a><span class=cF0>
|
||||
<a name="l462"></a>Thousand songs of Solomon </span><a href="http://www.biblegateway.com/passage/?search=1%20Kings%204:32&version=NIV"><span class=cF0>1 Kings 4:32</span></a><span class=cF0>
|
||||
<a name="l463"></a>Not rich, nor poor, but my portion </span><a href="http://www.biblegateway.com/verse/en/Proverbs%2030:8"><span class=cF0>Proverbs 30:8</span></a><span class=cF0>
|
||||
<a name="l464"></a>Be hot or cold. Lukewarm I spit you out </span><a href="http://www.biblegateway.com/verse/en/Revelation%203:16"><span class=cF0>Revelation 3:16</span></a><span class=cF0>
|
||||
<a name="l465"></a>
|
||||
<a name="l466"></a></span><a href="https://en.wikipedia.org/wiki/Linus_Torvalds"><span class=cF0>Linus Torvalds (Dec 28, 1969)</span></a><span class=cF0>
|
||||
<a name="l467"></a></span><a href="https://en.wikipedia.org/wiki/John_Carmack"><span class=cF0>John Carmack (Aug 20, 1970)</span></a><span class=cF0>
|
||||
<a name="l468"></a></span><a href="https://motherboard.vice.com/en_us/article/gods-lonely-programmer"><span class=cF0>Terry A. Davis (Dec 15, 1969)</span></a><span class=cF0>
|
||||
<a name="l469"></a></span><a href="https://webapp4.asu.edu/directory/person/77201"><span class=cF0>Dr. David Pheanis</span></a><span class=cF0>
|
||||
<a name="l470"></a></span><a href="http://ecee.engineering.asu.edu/directory/tenured-and-tenure-track-faculty/kostantinos-s-tsakalis"><span class=cF0>Dr. Konstantinos S. Tsakalis</span></a><span class=cF0>
|
||||
<a name="l471"></a></span><a href="https://webapp4.asu.edu/directory/directorysearch?cn=Walter+Higgins"><span class=cF0>Dr. Walter Higgins</span></a><span class=cF0>
|
||||
<a name="l472"></a></span><a href="http://www.wired.com/magazine/2010/11/mf_ticketmaster/all/1"><span class=cF0>Peter Gadwa</span></a><span class=cF0>
|
||||
<a name="l473"></a></span><a href="http://www.nytimes.com/1994/11/06/business/ticketmaster-s-mr-tough-guy.html?pagewanted=a"><span class=cF0>Ticketmaster</span></a><span class=cF0>
|
||||
<a name="l474"></a></span><a href="http://web.gccaz.edu/~tfoley/perspage.html"><span class=cF0>Tom Foley</span></a><span class=cF0>
|
||||
<a name="l475"></a></span><a href="https://web.archive.org/web/20020811060541/http://www.graphic-technologies.com/"><span class=cF0>Graphic Technologies</span></a><span class=cF0>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -35,5 +35,7 @@ body {background-color:#000000;}
|
|||
<a name="l7"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/AcctExample/TOS/TOSExtern.CC.html#l1"><span class=cF4>TOSExtern.CC</span></a><span class=cF4>
|
||||
<a name="l8"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/AcctExample/TOS/TOSMisc.CC.html#l1"><span class=cF4>TOSMisc.CC</span></a><span class=cF4>
|
||||
<a name="l9"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/AcctExample/TOS/TOSTheme.CC.html#l1"><span class=cF4>TOSTheme.CC</span></a><span class=cF0>
|
||||
<a name="l10"></a>
|
||||
<a name="l11"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -39,5 +39,7 @@ body {background-color:#000000;}
|
|||
<a name="l11"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/AcctExample/Registry.CC.html#l1"><span class=cF4>Registry.CC</span></a><span class=cF4>
|
||||
<a name="l12"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/AcctExample/PersonalMenu.DD.html#l1"><span class=cF4>PersonalMenu.DD</span></a><span class=cF4>
|
||||
<a name="l13"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/AcctExample/PersonalNotes.DD.html#l1"><span class=cF4>PersonalNotes.DD</span></a><span class=cF0>
|
||||
<a name="l14"></a>
|
||||
<a name="l15"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -37,5 +37,7 @@ body {background-color:#000000;}
|
|||
<a name="l9"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Asm/DivByHand.CC.html#l1"><span class=cF4>DivByHand.CC</span></a><span class=cF4>
|
||||
<a name="l10"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Asm/MulByHand.CC.html#l1"><span class=cF4>MulByHand.CC</span></a><span class=cF4>
|
||||
<a name="l11"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Asm/PutDec.CC.html#l1"><span class=cF4>PutDec.CC</span></a><span class=cF0>
|
||||
<a name="l12"></a>
|
||||
<a name="l13"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -35,5 +35,7 @@ body {background-color:#000000;}
|
|||
<a name="l7"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Disk/FPrintF.CC.html#l1"><span class=cF4>FPrintF.CC</span></a><span class=cF4>
|
||||
<a name="l8"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Disk/SerializeTree.CC.html#l1"><span class=cF4>SerializeTree.CC</span></a><span class=cF4>
|
||||
<a name="l9"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Disk/UnusedSpaceRep.CC.html#l1"><span class=cF4>UnusedSpaceRep.CC</span></a><span class=cF0>
|
||||
<a name="l10"></a>
|
||||
<a name="l11"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -43,5 +43,7 @@ body {background-color:#000000;}
|
|||
<a name="l15"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/DolDoc/TreeDemo.CC.html#l1"><span class=cF4>TreeDemo.CC</span></a><span class=cF4>
|
||||
<a name="l16"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/DolDoc/UnusedDefine.CC.html#l1"><span class=cF4>UnusedDefine.CC</span></a><span class=cF4>
|
||||
<a name="l17"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/DolDoc/DemoDoc.DD.html#l1"><span class=cF4>DemoDoc.DD</span></a><span class=cF0>
|
||||
<a name="l18"></a>
|
||||
<a name="l19"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -33,5 +33,7 @@ body {background-color:#000000;}
|
|||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Games/Stadium/StadiumGen.CC.html#l1"><span class=cF4>StadiumGen.CC</span></a><span class=cF4>
|
||||
<a name="l6"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Games/Stadium/StadiumBG.DD.html#l1"><span class=cF4>StadiumBG.DD</span></a><span class=cF4>
|
||||
<a name="l7"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Games/Stadium/StadiumBG.GR.html#l1"><span class=cF4>StadiumBG.GR</span></a><span class=cF0>
|
||||
<a name="l8"></a>
|
||||
<a name="l9"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -61,5 +61,7 @@ body {background-color:#000000;}
|
|||
<a name="l33"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Games/Whap.CC.html#l1"><span class=cF4>Whap.CC</span></a><span class=cF4>
|
||||
<a name="l34"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Games/Zing.CC.html#l1"><span class=cF4>Zing.CC</span></a><span class=cF4>
|
||||
<a name="l35"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Games/ZoneOut.CC.html#l1"><span class=cF4>ZoneOut.CC</span></a><span class=cF0>
|
||||
<a name="l36"></a>
|
||||
<a name="l37"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -30,7 +30,7 @@ body {background-color:#000000;}
|
|||
<a name="l3"></a></span><span class=cF2>$IB,"<1>",BI=1,BP="::/Demo/Graphics/SpritePut.CC,2"$</span><span class=cF0>
|
||||
<a name="l4"></a>
|
||||
<a name="l5"></a></span><span class=cF2>That imports an external sprite.</span><span class=cF0> </span><span class=cF2>It's</span><span class=cF0>
|
||||
<a name="l6"></a></span><span class=cF2>called a </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1114"><span class=cF4>DOCEF_BIN_PTR_LINK</span></a><span class=cF2>. See </span><a href="https://tomawezome.github.io/ZealOS/Doc/DolDocOverview.DD.html#l296"><span class=cF4>BP=""</span></a><span class=cF2>.</span><span class=cF0>
|
||||
<a name="l6"></a></span><span class=cF2>called a </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1114"><span class=cF4>DOCEF_BIN_PTR_LINK</span></a><span class=cF2>. See </span><a href="https://tomawezome.github.io/ZealOS/Doc/DolDocOverview.DD.html#l297"><span class=cF4>BP=""</span></a><span class=cF2>.</span><span class=cF0>
|
||||
<a name="l7"></a>
|
||||
<a name="l8"></a></span><span class=cF2>Press <CTRL-r> and "Ptr to Sprite".</span><span class=cF0>
|
||||
<a name="l9"></a></span><span class=cF2>Then, enter a file and the number of</span><span class=cF0>
|
||||
|
|
|
@ -82,5 +82,7 @@ body {background-color:#000000;}
|
|||
<a name="l54"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Graphics/WallPaperFish.CC.html#l1"><span class=cF4>WallPaperFish.CC</span></a><span class=cF4>
|
||||
<a name="l55"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Graphics/WallPaperStars.CC.html#l1"><span class=cF4>WallPaperStars.CC</span></a><span class=cF4>
|
||||
<a name="l56"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Graphics/WinZBuf.CC.html#l1"><span class=cF4>WinZBuf.CC</span></a><span class=cF0>
|
||||
<a name="l57"></a>
|
||||
<a name="l58"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -28,7 +28,7 @@ body {background-color:#000000;}
|
|||
<a name="l1"></a><span class=cF2>/* To run this, do a directory, right click on</span><span class=cF0>
|
||||
<a name="l2"></a></span><span class=cF2>this file's name and sel "InFile".</span><span class=cF0>
|
||||
<a name="l3"></a></span><span class=cF2>Or, type </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l572"><span class=cF4>InFile</span></a><span class=cF2>(filename);</span><span class=cF0>
|
||||
<a name="l4"></a></span><span class=cF2>See </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l218"><span class=cF4>InFile</span></a><span class=cF2> in the glossary for more info.</span><span class=cF0>
|
||||
<a name="l4"></a></span><span class=cF2>See </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l219"><span class=cF4>InFile</span></a><span class=cF2> in the glossary for more info.</span><span class=cF0>
|
||||
<a name="l5"></a></span><span class=cF2>*/</span><span class=cF0>
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a></span><span class=cF9>I64</span><span class=cF0> i;
|
||||
|
|
|
@ -28,7 +28,7 @@ body {background-color:#000000;}
|
|||
<a name="l1"></a><span class=cF2>/* To run this, do a directory, right click on</span><span class=cF0>
|
||||
<a name="l2"></a></span><span class=cF2>this file's name and sel "InFile".</span><span class=cF0>
|
||||
<a name="l3"></a></span><span class=cF2>Or, type </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l572"><span class=cF4>InFile</span></a><span class=cF2>(filename);</span><span class=cF0>
|
||||
<a name="l4"></a></span><span class=cF2>See </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l218"><span class=cF4>InFile</span></a><span class=cF2> in the glossary for more info.</span><span class=cF0>
|
||||
<a name="l4"></a></span><span class=cF2>See </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l219"><span class=cF4>InFile</span></a><span class=cF2> in the glossary for more info.</span><span class=cF0>
|
||||
<a name="l5"></a>
|
||||
<a name="l6"></a></span><span class=cF2>This InFile will renum the defines in</span><span class=cF0>
|
||||
<a name="l7"></a></span><span class=cF2>InEd.DD.</span><span class=cF0> </span><span class=cF2>Test it by numbering a few wrong</span><span class=cF0>
|
||||
|
|
|
@ -28,7 +28,7 @@ body {background-color:#000000;}
|
|||
<a name="l1"></a><span class=cF2>/* To run this, do a directory, right click on</span><span class=cF0>
|
||||
<a name="l2"></a></span><span class=cF2>this file's name and sel "InFile".</span><span class=cF0>
|
||||
<a name="l3"></a></span><span class=cF2>Or, type </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l572"><span class=cF4>InFile</span></a><span class=cF2>(filename);</span><span class=cF0>
|
||||
<a name="l4"></a></span><span class=cF2>See </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l218"><span class=cF4>InFile</span></a><span class=cF2> in the glossary for more info.</span><span class=cF0>
|
||||
<a name="l4"></a></span><span class=cF2>See </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l219"><span class=cF4>InFile</span></a><span class=cF2> in the glossary for more info.</span><span class=cF0>
|
||||
<a name="l5"></a>
|
||||
<a name="l6"></a></span><span class=cF2>Profiling does not require InFiles.</span><span class=cF0>
|
||||
<a name="l7"></a></span><span class=cF2>*/</span><span class=cF0>
|
||||
|
|
|
@ -36,5 +36,7 @@ body {background-color:#000000;}
|
|||
<a name="l8"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/InFile/InEd.IN.html#l1"><span class=cF4>InEd.IN</span></a><span class=cF4>
|
||||
<a name="l9"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/InFile/InPopUpWait.IN.html#l1"><span class=cF4>InPopUpWait.IN</span></a><span class=cF4>
|
||||
<a name="l10"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/InFile/InProfile.IN.html#l1"><span class=cF4>InProfile.IN</span></a><span class=cF0>
|
||||
<a name="l11"></a>
|
||||
<a name="l12"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> 64-Bit Assembly Quiz</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> 64-Bit Assembly Quiz</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>1) In 64-bit mode, how many bytes are always pushed?
|
||||
<a name="l4"></a>
|
||||
|
@ -81,9 +81,9 @@ body {background-color:#000000;}
|
|||
<a name="l54"></a>
|
||||
<a name="l55"></a>----
|
||||
<a name="l56"></a>
|
||||
<a name="l57"></a>ZealOS identity-maps everything, all the time, so the usual convention of upper memory being for kernel does not apply. It uses
|
||||
<a name="l58"></a>physical addresses, basically. It puts all code in the lowest 2-Gig memory range so that it can use the CALL REL32 instruction,
|
||||
<a name="l59"></a>the fastest. It never changes privilege levels or messes with page tables, once it is up-and-running.
|
||||
<a name="l57"></a>ZealOS identity-maps everything, all the time, so the usual convention of upper memory being for kernel does not apply. It
|
||||
<a name="l58"></a>uses physical addresses, basically. It puts all code in the lowest 2-Gig memory range so that it can use the CALL REL32
|
||||
<a name="l59"></a>instruction, the fastest. It never changes privilege levels or messes with page tables, once it is up-and-running.
|
||||
<a name="l60"></a>
|
||||
<a name="l61"></a>----
|
||||
<a name="l62"></a>
|
||||
|
|
|
@ -35,8 +35,8 @@ body {background-color:#000000;}
|
|||
<a name="l8"></a> </span><span class=cF2>The main compiler optimizes See </span><a href="https://tomawezome.github.io/ZealOS/Compiler/CInit.CC.html#l26"><span class=cF4>Intermediate Code Attributes</span></a><span class=cF2>, </span><a href="https://tomawezome.github.io/ZealOS/Compiler/OptPass012.CC.html#l374"><span class=cF4>Combining Consts</span></a><span class=cF2>, </span><a href="https://tomawezome.github.io/ZealOS/Compiler/OptPass3.CC.html#l627"><span class=cF4>Choosing Reg Vars</span></a><span class=cF2>. Use </span><a href="https://tomawezome.github.io/ZealOS/Compiler/CMisc.CC.html#l50"><span class=cF4>PassTrace</span></a><span class=cF2>() to see </span><span class=cF0>
|
||||
<a name="l9"></a> </span><span class=cF2>the optimization stages.</span><span class=cF0>
|
||||
<a name="l10"></a>
|
||||
<a name="l11"></a> </span><span class=cF2>The main compiler makes machine code in the back end. See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1798"><span class=cF4>IC Struct</span></a><span class=cF2>, </span><a href="https://tomawezome.github.io/ZealOS/Compiler/ParseLib.CC.html#l289"><span class=cF4>COCCompile</span></a><span class=cF2> and </span><a href="https://tomawezome.github.io/ZealOS/Compiler/OptPass789A.CC.html#l596"><span class=cF4>OptPass789A</span></a><span class=cF2>(), </span><a href="https://tomawezome.github.io/ZealOS/Compiler/BackA.CC.html#l273"><span class=cF4>BackEnd</span></a><span class=cF2>. Set </span><a href="https://tomawezome.github.io/ZealOS/Compiler/CMisc.CC.html#l61"><span class=cF4>Trace</span></a><span class=cF2>(ON) to </span><span class=cF0>
|
||||
<a name="l12"></a> </span><span class=cF2>see the output of the backend.</span><span class=cF0>
|
||||
<a name="l11"></a> </span><span class=cF2>The main compiler makes machine code in the back end. See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1798"><span class=cF4>IC Struct</span></a><span class=cF2>, </span><a href="https://tomawezome.github.io/ZealOS/Compiler/ParseLib.CC.html#l289"><span class=cF4>COCCompile</span></a><span class=cF2> and </span><a href="https://tomawezome.github.io/ZealOS/Compiler/OptPass789A.CC.html#l596"><span class=cF4>OptPass789A</span></a><span class=cF2>(), </span><a href="https://tomawezome.github.io/ZealOS/Compiler/BackA.CC.html#l273"><span class=cF4>BackEnd</span></a><span class=cF2>. Set </span><a href="https://tomawezome.github.io/ZealOS/Compiler/CMisc.CC.html#l61"><span class=cF4>Trace</span></a><span class=cF2>(ON) </span><span class=cF0>
|
||||
<a name="l12"></a> </span><span class=cF2>to see the output of the backend.</span><span class=cF0>
|
||||
<a name="l13"></a></span><span class=cF5>
|
||||
<a name="l14"></a><u>-] Mini Compiler</span><span class=cF0>
|
||||
<a name="l15"></a></u> </span><span class=cF2>For this mini compiler, some things you should know about 64-bit asm:</span><span class=cF0>
|
||||
|
|
|
@ -40,5 +40,7 @@ body {background-color:#000000;}
|
|||
<a name="l12"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Lectures/PCIInterrupts.CC.html#l1"><span class=cF4>PCIInterrupts.CC</span></a><span class=cF4>
|
||||
<a name="l13"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Lectures/Ring3.CC.html#l1"><span class=cF4>Ring3.CC</span></a><span class=cF4>
|
||||
<a name="l14"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Lectures/64BitAsmQuiz.DD.html#l1"><span class=cF4>64BitAsmQuiz.DD</span></a><span class=cF0>
|
||||
<a name="l15"></a>
|
||||
<a name="l16"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -37,5 +37,7 @@ body {background-color:#000000;}
|
|||
<a name="l9"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/MultiCore/MPRadix.CC.html#l1"><span class=cF4>MPRadix.CC</span></a><span class=cF4>
|
||||
<a name="l10"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/MultiCore/Palindrome.CC.html#l1"><span class=cF4>Palindrome.CC</span></a><span class=cF4>
|
||||
<a name="l11"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/MultiCore/Primes.CC.html#l1"><span class=cF4>Primes.CC</span></a><span class=cF0>
|
||||
<a name="l12"></a>
|
||||
<a name="l13"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -31,5 +31,7 @@ body {background-color:#000000;}
|
|||
<a name="l3"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/index.html#l1"><span class=c04>../</span></a><span class=cF4>
|
||||
<a name="l4"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/RevFileDemo/Rev.CC.html#l1"><span class=cF4>Rev.CC</span></a><span class=cF4>
|
||||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/RevFileDemo/DemoPoemBwd.DD.html#l1"><span class=cF4>DemoPoemBwd.DD</span></a><span class=cF0>
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -31,5 +31,7 @@ body {background-color:#000000;}
|
|||
<a name="l3"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/index.html#l1"><span class=c04>../</span></a><span class=cF4>
|
||||
<a name="l4"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/SortFileDemo/F64FileGen.CC.html#l1"><span class=cF4>F64FileGen.CC</span></a><span class=cF4>
|
||||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/SortFileDemo/F64FileSort.CC.html#l1"><span class=cF4>F64FileSort.CC</span></a><span class=cF0>
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -33,5 +33,7 @@ body {background-color:#000000;}
|
|||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Sound/MorseCode.CC.html#l1"><span class=cF4>MorseCode.CC</span></a><span class=cF4>
|
||||
<a name="l6"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Sound/OhGreat.CC.html#l1"><span class=cF4>OhGreat.CC</span></a><span class=cF4>
|
||||
<a name="l7"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Sound/WaterFowl.CC.html#l1"><span class=cF4>WaterFowl.CC</span></a><span class=cF0>
|
||||
<a name="l8"></a>
|
||||
<a name="l9"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -37,5 +37,7 @@ body {background-color:#000000;}
|
|||
<a name="l9"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Templates/Util1.CC.html#l1"><span class=cF4>Util1.CC</span></a><span class=cF4>
|
||||
<a name="l10"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Templates/Util2.CC.html#l1"><span class=cF4>Util2.CC</span></a><span class=cF4>
|
||||
<a name="l11"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Templates/InEdUtil.IN.html#l1"><span class=cF4>InEdUtil.IN</span></a><span class=cF0>
|
||||
<a name="l12"></a>
|
||||
<a name="l13"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -25,20 +25,20 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> </span><a href="http://www.templeos.org"><span class=cF5>The Temple Operating System</span></a><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> </span><a href="http://www.templeos.org"><span class=cF5>The Temple Operating System</span></a><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a></span><a href="http://www.templeos.org/Downloads"><span class=cF4>TempleOS File Downloads (100% Public Domain)</span></a><span class=cF0>
|
||||
<a name="l4"></a>
|
||||
<a name="l5"></a>TempleOS is a free, public domain, open source, x86_64, non-preemptive multi-tasking, multi-cored, ring-0-only,
|
||||
<a name="l6"></a>single-address-map (identity-mapped), non-networked, PC operating system. Paging is, basically, not used.
|
||||
<a name="l7"></a>
|
||||
<a name="l8"></a>The CIA obsfucates to foil India, China, Russia and Korea. They make things more complicated than necessary. TempleOS is more
|
||||
<a name="l9"></a>simple than necessary. It is obnoxiously simple. If you look at this </span><a href="http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html"><span class=cF0>"Hello World" joke</span></a><span class=cF0>, you can see why Terry capped the line
|
||||
<a name="l10"></a>count of TempleOS at 100,000.
|
||||
<a name="l8"></a>The CIA obsfucates to foil India, China, Russia and Korea. They make things more complicated than necessary. TempleOS is
|
||||
<a name="l9"></a>more simple than necessary. It is obnoxiously simple. If you look at this </span><a href="http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html"><span class=cF0>"Hello World" joke</span></a><span class=cF0>, you can see why Terry capped
|
||||
<a name="l10"></a>the line count of TempleOS at 100,000.
|
||||
<a name="l11"></a>
|
||||
<a name="l12"></a>God said TempleOS must be perfect, so backward compatibility is not promised.
|
||||
<a name="l13"></a>
|
||||
<a name="l14"></a>Terry Davis wrote all 80,849 lines of TempleOS over a span of 15.0 years, including the 64-bit compiler. He was a professional
|
||||
<a name="l15"></a>operating system developer since 1990 when he worked on Ticketmaster's VAX OS.
|
||||
<a name="l14"></a>Terry Davis wrote all 80,849 lines of TempleOS over a span of 15.0 years, including the 64-bit compiler. He was a
|
||||
<a name="l15"></a>professional operating system developer since 1990 when he worked on Ticketmaster's VAX OS.
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -66,13 +66,14 @@ body {background-color:#000000;}
|
|||
<a name="l39"></a> </span><span class=cF5>DirEntryDel</span><span class=cF0>(tmpde1);
|
||||
<a name="l40"></a> tmpde1 = tmpde2;
|
||||
<a name="l41"></a> }
|
||||
<a name="l42"></a> </span><span class=cF7>}</span><span class=cF0>
|
||||
<a name="l43"></a> </span><span class=cF1>else</span><span class=cF0>
|
||||
<a name="l44"></a> </span><span class=cF6>"No matching entries\n"</span><span class=cF0>;
|
||||
<a name="l45"></a>
|
||||
<a name="l46"></a> </span><span class=cF1>return</span><span class=cF0> res;
|
||||
<a name="l47"></a>}
|
||||
<a name="l48"></a>
|
||||
<a name="l42"></a> </span><span class=cF6>"\n\n"</span><span class=cF0>;
|
||||
<a name="l43"></a> </span><span class=cF7>}</span><span class=cF0>
|
||||
<a name="l44"></a> </span><span class=cF1>else</span><span class=cF0>
|
||||
<a name="l45"></a> </span><span class=cF6>"No matching entries\n"</span><span class=cF0>;
|
||||
<a name="l46"></a>
|
||||
<a name="l47"></a> </span><span class=cF1>return</span><span class=cF0> res;
|
||||
<a name="l48"></a>}
|
||||
<a name="l49"></a>
|
||||
<a name="l50"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -433,7 +433,7 @@ body {background-color:#000000;}
|
|||
<a name="l406"></a> </span><span class=cF9>CDoc</span><span class=cF0> *doc_in, *doc_out;
|
||||
<a name="l407"></a>
|
||||
<a name="l408"></a> </span><span class=cF5>SettingsPush</span><span class=cF0>; </span><span class=cF2>//See </span><a href="https://tomawezome.github.io/ZealOS/System/TaskSettings.CC.html#l3"><span class=cF4>SettingsPush</span></a><span class=cF0>
|
||||
<a name="l409"></a> </span><span class=cF5>WinHorz</span><span class=cF0>(</span><span class=cFE>0</span><span class=cF0>, width - </span><span class=cFE>1</span><span class=cF0>); </span><span class=cF2>//Sets doc width for word wrap.</span><span class=cF0>
|
||||
<a name="l409"></a> </span><span class=cF5>WinHorz</span><span class=cF0>(</span><span class=cFE>1</span><span class=cF0>, width - </span><span class=cFE>2</span><span class=cF0>); </span><span class=cF2>//Sets doc width for word wrap.</span><span class=cF0>
|
||||
<a name="l410"></a>
|
||||
<a name="l411"></a> in_name=</span><span class=cF5>ExtDefault</span><span class=cF0>(_in_name, </span><span class=cF6>"CC"</span><span class=cF0>);
|
||||
<a name="l412"></a> </span><span class=cF1>if</span><span class=cF0> (_out_name)
|
||||
|
|
|
@ -34,5 +34,7 @@ body {background-color:#000000;}
|
|||
<a name="l6"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/ToHtmlToTXTDemo/TXTGen.CC.html#l1"><span class=cF4>TXTGen.CC</span></a><span class=cF4>
|
||||
<a name="l7"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/ToHtmlToTXTDemo/ToHtml.CC.html#l1"><span class=cF4>ToHtml.CC</span></a><span class=cF4>
|
||||
<a name="l8"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/ToHtmlToTXTDemo/DemoInPage.DD.html#l1"><span class=cF4>DemoInPage.DD</span></a><span class=cF0>
|
||||
<a name="l9"></a>
|
||||
<a name="l10"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -31,5 +31,7 @@ body {background-color:#000000;}
|
|||
<a name="l3"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/index.html#l1"><span class=c04>../</span></a><span class=cF4>
|
||||
<a name="l4"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/WebLogDemo/WebLogRep.CC.html#l1"><span class=cF4>WebLogRep.CC</span></a><span class=cF4>
|
||||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/WebLogDemo/WebLogScramble.CC.html#l1"><span class=cF4>WebLogScramble.CC</span></a><span class=cF0>
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -78,5 +78,7 @@ body {background-color:#000000;}
|
|||
<a name="l50"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/SuggestSpelling.CC.html#l1"><span class=cF4>SuggestSpelling.CC</span></a><span class=cF4>
|
||||
<a name="l51"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/TimeIns.CC.html#l1"><span class=cF4>TimeIns.CC</span></a><span class=cF4>
|
||||
<a name="l52"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/WordSearch.CC.html#l1"><span class=cF4>WordSearch.CC</span></a><span class=cF0>
|
||||
<a name="l53"></a>
|
||||
<a name="l54"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> ZealOS</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> ZealOS</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>
|
||||
<a name="l4"></a></span><span class=cF5>Websites:</span><span class=cF0>
|
||||
|
@ -49,13 +49,13 @@ body {background-color:#000000;}
|
|||
<a name="l22"></a>Engineering from ASU, basically, embedded systems, and a master's in Electrical Engineering from ASU, control systems. He
|
||||
<a name="l23"></a>worked as a software, hardware and mechanical engineer at Ticketmaster from 1990-1996.
|
||||
<a name="l24"></a>
|
||||
<a name="l25"></a>He designed a 3 axis stepper-motor-driven milling machine 1996-1997 with a CAD/CAM package for a company he started called Home
|
||||
<a name="l26"></a>Automation and Robotic Equipment.
|
||||
<a name="l25"></a>He designed a 3 axis stepper-motor-driven milling machine 1996-1997 with a CAD/CAM package for a company he started called
|
||||
<a name="l26"></a>Home Automation and Robotic Equipment.
|
||||
<a name="l27"></a></span><span class=cFA>
|
||||
<a name="l28"></a></span><center><img src="http://www.templeos.org/images/Machine.jpg" width="600" height="400" alt=""></center><span class=cF0>
|
||||
<a name="l29"></a>
|
||||
<a name="l30"></a>Terry worked for a company named Xytec Corp. 1997-1999. They made FPGA-based image processing equipment. He wrote </span><span class=cF2>SimStructure</span><span class=cF0>
|
||||
<a name="l31"></a>from 2000-2001 for H.A.R.E. He worked as head software/electrical engineer for a company called Graphic Technologies,
|
||||
<a name="l30"></a>Terry worked for a company named Xytec Corp. 1997-1999. They made FPGA-based image processing equipment. He wrote </span><span class=cF2>SimStructu
|
||||
<a name="l31"></a>re</span><span class=cF0> from 2000-2001 for H.A.R.E. He worked as head software/electrical engineer for a company called Graphic Technologies,
|
||||
<a name="l32"></a>2001-2002, making replacement chips for toner printer cartridges so they could be refilled.
|
||||
<a name="l33"></a>
|
||||
<a name="l34"></a></span><span class=cF5>Credits:</span><span class=cF0>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Assembler</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Assembler</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>See </span><a href="https://tomawezome.github.io/ZealOS/Compiler/OpCodes.DD.html#l1"><span class=cF4>::/Compiler/OpCodes.DD</span></a><span class=cF0> for opcodes. They're not standard. Some invalid insts are not flagged and some valid insts are not
|
||||
<a name="l4"></a>implemented. 16-bit asm support is limited.
|
||||
|
|
|
@ -25,15 +25,15 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Block Chain</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Block Chain</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>There was a technique on the Commodore 64 where disk blocks were chained together with a block pointer at the end of each block.
|
||||
<a name="l4"></a>This is far inferior to having a file allocation table, as in FAT32.
|
||||
<a name="l3"></a>There was a technique on the Commodore 64 where disk blocks were chained together with a block pointer at the end of each
|
||||
<a name="l4"></a>block. This is far inferior to having a file allocation table, as in FAT32.
|
||||
<a name="l5"></a>
|
||||
<a name="l6"></a>The </span><a href="https://tomawezome.github.io/ZealOS/Doc/RedSea.DD.html#l1"><span class=cF4>RedSea</span></a><span class=cF0> file system does not allow files to grow because it only has an allocation bitmap and not a FAT table. This "flaw"
|
||||
<a name="l7"></a>is by design. Terry intentionally crippled the operating system, making it a toy with the wisdom that this will prevent
|
||||
<a name="l8"></a>commercialization and corruption. The toy spirit of the operating system will be preserved going into the future. The vision
|
||||
<a name="l9"></a>for this operating system was a modern Commodore 64, which was a fun toy.
|
||||
<a name="l6"></a>The </span><a href="https://tomawezome.github.io/ZealOS/Doc/RedSea.DD.html#l1"><span class=cF4>RedSea</span></a><span class=cF0> file system does not allow files to grow because it only has an allocation bitmap and not a FAT table. This
|
||||
<a name="l7"></a>"flaw" is by design. Terry intentionally crippled the operating system, making it a toy with the wisdom that this will
|
||||
<a name="l8"></a>prevent commercialization and corruption. The toy spirit of the operating system will be preserved going into the future. Th
|
||||
<a name="l9"></a>e vision for this operating system was a modern Commodore 64, which was a fun toy.
|
||||
<a name="l10"></a>
|
||||
<a name="l11"></a>Doing whole file operations is the ZealOS way of doing thinks. It is the simplest and, ironically, the fastest. It is
|
||||
<a name="l12"></a>obnoxious in the characteristic way that ZealOS is obnoxious, flaunting massive modern resources in a way that makes old
|
||||
|
@ -42,20 +42,20 @@ body {background-color:#000000;}
|
|||
<a name="l15"></a>When doing large, whole-file operations, immediately memory fragmentation is a serious problem, but not so for allocations in
|
||||
<a name="l16"></a>the range under a Meg (with occasional larger ones).
|
||||
<a name="l17"></a>
|
||||
<a name="l18"></a>The file compression scheme in ZealOS only works on whole file operations and the </span><a href="https://tomawezome.github.io/ZealOS/Doc/DolDoc.DD.html#l1"><span class=cF4>DolDoc</span></a><span class=cF0> format cannot have text tacked onto the
|
||||
<a name="l19"></a>end, since binary data is at the end.
|
||||
<a name="l18"></a>The file compression scheme in ZealOS only works on whole file operations and the </span><a href="https://tomawezome.github.io/ZealOS/Doc/DolDoc.DD.html#l1"><span class=cF4>DolDoc</span></a><span class=cF0> format cannot have text tacked onto
|
||||
<a name="l19"></a>the end, since binary data is at the end.
|
||||
<a name="l20"></a>
|
||||
<a name="l21"></a>Terry didn't want to spoil fun, so of course offered a way to get awesome performance that is, ironically, superior. </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskCFile.CC.html#l151"><span class=cF4>FBlkRead</span></a><span class=cF0>()
|
||||
<a name="l22"></a>and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskCFile.CC.html#l214"><span class=cF4>FBlkWrite</span></a><span class=cF0>() allow you to read a block offset from the start of a file. Since files are all contiguous, this is incredibly
|
||||
<a name="l23"></a>efficient. You just have to declare the desired file size when you create it with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskCFile.CC.html#l9"><span class=cF4>FOpen</span></a><span class=cF0>() and cannot change it. See </span><span class=cF4>
|
||||
<a name="l24"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Disk/DataBase.CC.html#l1"><span class=cF4>::/Demo/Disk/DataBase.CC</span></a><span class=cF0>.
|
||||
<a name="l21"></a>Terry didn't want to spoil fun, so of course offered a way to get awesome performance that is, ironically, superior. </span><span class=cF4>
|
||||
<a name="l22"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskCFile.CC.html#l151"><span class=cF4>FBlkRead</span></a><span class=cF0>() and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskCFile.CC.html#l214"><span class=cF4>FBlkWrite</span></a><span class=cF0>() allow you to read a block offset from the start of a file. Since files are all contiguous, this is
|
||||
<a name="l23"></a>incredibly efficient. You just have to declare the desired file size when you create it with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskCFile.CC.html#l9"><span class=cF4>FOpen</span></a><span class=cF0>() and cannot change it.
|
||||
<a name="l24"></a>See </span><a href="https://tomawezome.github.io/ZealOS/Demo/Disk/DataBase.CC.html#l1"><span class=cF4>::/Demo/Disk/DataBase.CC</span></a><span class=cF0>.
|
||||
<a name="l25"></a>
|
||||
<a name="l26"></a>If you like, you are encouraged to to do raw </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskBlk.CC.html#l37"><span class=cF4>BlkRead</span></a><span class=cF0>() and </span><a href="https://tomawezome.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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3340"><span class=cF4>CDrive</span></a><span class=cF0> with </span><span class=cF4>
|
||||
<a name="l27"></a></span><a href="https://tomawezome.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 used for a
|
||||
<a name="l28"></a>database, or invent a file system.
|
||||
<a name="l26"></a>If you like, you are encouraged to to do raw </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskBlk.CC.html#l37"><span class=cF4>BlkRead</span></a><span class=cF0>() and </span><a href="https://tomawezome.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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3340"><span class=cF4>CDrive</span></a><span class=cF0>
|
||||
<a name="l27"></a>with </span><a href="https://tomawezome.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="l28"></a>used for a database, or invent a file system.
|
||||
<a name="l29"></a>
|
||||
<a name="l30"></a>On the whole, the </span><a href="https://tomawezome.github.io/ZealOS/Doc/RedSea.DD.html#l1"><span class=cF4>RedSea</span></a><span class=cF0> file system with its whole-file-only limitation bring beautiful harmony. It beautifully captures the
|
||||
<a name="l31"></a>spirit of ZealOS with simplicity and, ironic speed, since contiguous is fastest.
|
||||
<a name="l30"></a>On the whole, the </span><a href="https://tomawezome.github.io/ZealOS/Doc/RedSea.DD.html#l1"><span class=cF4>RedSea</span></a><span class=cF0> file system with its whole-file-only limitation bring beautiful harmony. It beautifully captures
|
||||
<a name="l31"></a>the spirit of ZealOS with simplicity and, ironic speed, since contiguous is fastest.
|
||||
<a name="l32"></a>
|
||||
<a name="l33"></a></span><span class=cF8>
|
||||
<a name="l34"></a>* "Commodore 64" is a trademark owned by Polabe Holding NV.
|
||||
|
|
|
@ -25,23 +25,23 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Booting A PC</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Booting A PC</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>ZealOS only supports traditional </span><span class=cF2>BIOS</span><span class=cF0> booting, not the newer technique, </span><span class=cF2>UEFI</span><span class=cF0>. This document describes </span><span class=cF2>BIOS</span><span class=cF0> booting.
|
||||
<a name="l4"></a>
|
||||
<a name="l5"></a>When you turn-on (power-up) a computer or you do a hardware reset, the computer starts executing the </span><span class=cF2>BIOS</span><span class=cF0>. Sometimes, you must
|
||||
<a name="l6"></a>change the </span><span class=cF2>BIOS</span><span class=cF0> boot order to boot the device you want.
|
||||
<a name="l5"></a>When you turn-on (power-up) a computer or you do a hardware reset, the computer starts executing the </span><span class=cF2>BIOS</span><span class=cF0>. Sometimes, you
|
||||
<a name="l6"></a>must change the </span><span class=cF2>BIOS</span><span class=cF0> boot order to boot the device you want.
|
||||
<a name="l7"></a>
|
||||
<a name="l8"></a>The </span><span class=cF2>BIOS</span><span class=cF0> loads a boot sector from CD/DVD, hard disk or whatever. The boot sector runs in 16-bit real mode and often loads-in
|
||||
<a name="l9"></a>a second file that's bigger if it can't be done by just one sector. It's a safe bet that boot sectors are hand-coded assembly
|
||||
<a name="l10"></a>language. Most boot sectors use the </span><span class=cF2>BIOS</span><span class=cF0> to load-in the next stage.
|
||||
<a name="l8"></a>The </span><span class=cF2>BIOS</span><span class=cF0> loads a boot sector from CD/DVD, hard disk or whatever. The boot sector runs in 16-bit real mode and often
|
||||
<a name="l9"></a>loads-in a second file that's bigger if it can't be done by just one sector. It's a safe bet that boot sectors are hand-coded
|
||||
<a name="l10"></a>assembly language. Most boot sectors use the </span><span class=cF2>BIOS</span><span class=cF0> to load-in the next stage.
|
||||
<a name="l11"></a>
|
||||
<a name="l12"></a>Not only do boot sectors have a size limit, 512 bytes or 2048 bytes for CD/DVD, the files they load have to fit within 640K
|
||||
<a name="l13"></a>because they run in 16-bit mode. This means they usually can't just load the whole operating system and start it running.
|
||||
<a name="l14"></a>Some boot loaders, like Grub, have a capability of switching modes before handing-off control to the operating system. The
|
||||
<a name="l15"></a>operating system must load the rest of itself. With ZealOS, the </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Kernel.PRJ.html#l1"><span class=cF4>::/Kernel.BIN.C</span></a><span class=cF0> file is loaded by the boot sector. We try to
|
||||
<a name="l16"></a>put a minimum in the </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Kernel.PRJ.html#l1"><span class=cF4>Kernel Module</span></a><span class=cF0>, so that it will always fit in 640K. When Kernel.BIN runs, it switches to 32-bit mode, then,
|
||||
<a name="l17"></a>to 64-bit mode allowing access to more memory. Then, it loads in the rest of ZealOS by executing </span><a href="https://tomawezome.github.io/ZealOS/StartOS.CC.html#l1"><span class=cF4>::/StartOS.CC</span></a><span class=cF0>.
|
||||
<a name="l16"></a>put a minimum in the </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Kernel.PRJ.html#l1"><span class=cF4>Kernel Module</span></a><span class=cF0>, so that it will always fit in 640K. When Kernel.BIN runs, it switches to 32-bit mode,
|
||||
<a name="l17"></a>then, to 64-bit mode allowing access to more memory. Then, it loads in the rest of ZealOS by executing </span><a href="https://tomawezome.github.io/ZealOS/StartOS.CC.html#l1"><span class=cF4>::/StartOS.CC</span></a><span class=cF0>.
|
||||
<a name="l18"></a>
|
||||
<a name="l19"></a>All the boot related code for ZealOS is in the </span><span class=cF2>/System/Boot</span><span class=cF0> directory.
|
||||
<a name="l20"></a></span><span class=cF4>
|
||||
|
@ -62,19 +62,19 @@ body {background-color:#000000;}
|
|||
<a name="l35"></a>
|
||||
<a name="l36"></a>The boot records don't access directories because that would make them too big for one block and would make them depend on a
|
||||
<a name="l37"></a>file system layout. Instead, they get patched with the LBA, logical block addresses, to load files. To update with a new
|
||||
<a name="l38"></a>ZealOS kernel, you must create a </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Kernel.PRJ.html#l1"><span class=cF4>::/Kernel.BIN.C</span></a><span class=cF0> binary file and patch the boot loader so it knows the LBA blocks to load. Ther
|
||||
<a name="l39"></a>efore, you usually recompile the kernel and update the boot sector at the same time with </span><a href="https://tomawezome.github.io/ZealOS/System/Boot/BootHDIns.CC.html#l24"><span class=cF4>BootHDIns</span></a><span class=cF0>(). </span><a href="https://tomawezome.github.io/ZealOS/System/Boot/BootMHDIns.CC.html#l76"><span class=cF4>BootMHDIns</span></a><span class=cF0>() will
|
||||
<a name="l38"></a>ZealOS kernel, you must create a </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Kernel.PRJ.html#l1"><span class=cF4>::/Kernel.BIN.C</span></a><span class=cF0> binary file and patch the boot loader so it knows the LBA blocks to load. Th
|
||||
<a name="l39"></a>erefore, you usually recompile the kernel and update the boot sector at the same time with </span><a href="https://tomawezome.github.io/ZealOS/System/Boot/BootHDIns.CC.html#l24"><span class=cF4>BootHDIns</span></a><span class=cF0>(). </span><a href="https://tomawezome.github.io/ZealOS/System/Boot/BootMHDIns.CC.html#l76"><span class=cF4>BootMHDIns</span></a><span class=cF0>() will
|
||||
<a name="l40"></a>install a master boot loader.
|
||||
<a name="l41"></a>
|
||||
<a name="l42"></a>With ZealOS, </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Kernel.PRJ.html#l1"><span class=cF4>::/Kernel.BIN.C</span></a><span class=cF0> loads </span><a href="https://tomawezome.github.io/ZealOS/Compiler/Compiler.PRJ.html#l1"><span class=cF4>::/Compiler/Compiler.BIN</span></a><span class=cF0> so it can work with source code from then on. It compiles start-up
|
||||
<a name="l43"></a>scripts beginning with </span><a href="https://tomawezome.github.io/ZealOS/StartOS.CC.html#l1"><span class=cF4>::/StartOS.CC</span></a><span class=cF0> into the </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l154"><span class=cF4>System Task</span></a><span class=cF0>'s memory including the code in the </span><span class=cF2>/System</span><span class=cF0> and </span><span class=cF2>/Home</span><span class=cF0> directories.
|
||||
<a name="l44"></a>
|
||||
<a name="l45"></a>It is possible to do a fast reboot without doing a hardware reset. You might do this when working on </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Kernel.PRJ.html#l1"><span class=cF4>::/Kernel.BIN.C</span></a><span class=cF0> or your
|
||||
<a name="l46"></a>start-up scripts when you want to compile them effect. See </span><a href="https://tomawezome.github.io/ZealOS/System/Boot/BootRAM.CC.html#l33"><span class=cF4>BootRAM</span></a><span class=cF0>().
|
||||
<a name="l47"></a>
|
||||
<a name="l48"></a></span><span class=cFA>
|
||||
<a name="l49"></a>/* Graphics Not Rendered in HTML */</span><span class=cF0>
|
||||
<a name="l50"></a>
|
||||
<a name="l42"></a>With ZealOS, </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Kernel.PRJ.html#l1"><span class=cF4>::/Kernel.BIN.C</span></a><span class=cF0> loads </span><a href="https://tomawezome.github.io/ZealOS/Compiler/Compiler.PRJ.html#l1"><span class=cF4>::/Compiler/Compiler.BIN</span></a><span class=cF0> so it can work with source code from then on. It compiles
|
||||
<a name="l43"></a>start-up scripts beginning with </span><a href="https://tomawezome.github.io/ZealOS/StartOS.CC.html#l1"><span class=cF4>::/StartOS.CC</span></a><span class=cF0> into the </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l154"><span class=cF4>System Task</span></a><span class=cF0>'s memory including the code in the </span><span class=cF2>/System</span><span class=cF0> and </span><span class=cF2>/Home</span><span class=cF0>
|
||||
<a name="l44"></a>directories.
|
||||
<a name="l45"></a>
|
||||
<a name="l46"></a>It is possible to do a fast reboot without doing a hardware reset. You might do this when working on </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Kernel.PRJ.html#l1"><span class=cF4>::/Kernel.BIN.C</span></a><span class=cF0> or your
|
||||
<a name="l47"></a>start-up scripts when you want to compile them effect. See </span><a href="https://tomawezome.github.io/ZealOS/System/Boot/BootRAM.CC.html#l33"><span class=cF4>BootRAM</span></a><span class=cF0>().
|
||||
<a name="l48"></a>
|
||||
<a name="l49"></a></span><span class=cFA>
|
||||
<a name="l50"></a>/* Graphics Not Rendered in HTML */</span><span class=cF0>
|
||||
<a name="l51"></a>
|
||||
<a name="l52"></a>
|
||||
<a name="l53"></a>
|
||||
|
@ -120,5 +120,6 @@ body {background-color:#000000;}
|
|||
<a name="l93"></a>
|
||||
<a name="l94"></a>
|
||||
<a name="l95"></a>
|
||||
<a name="l96"></a>
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -26,7 +26,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> ChangeLog</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> ChangeLog</span><span class=cF0>
|
||||
<a name="l2"></a></span><span class=c0F>----07/11/21 17:26:32----</span><span class=cF0>
|
||||
<a name="l3"></a>* Raised version number to 0.07.
|
||||
<a name="l4"></a>* Added </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KInterrupts.CC.html#l133"><span class=cF4>IntEntryAlloc</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KInterrupts.CC.html#l149"><span class=cF4>IntEntryFree</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3550"><span class=cF4>dev.user_int_bitmap</span></a><span class=cF0> to allow acquiring dynamic user APIC IRQ.
|
||||
|
@ -282,17 +282,17 @@ body {background-color:#000000;}
|
|||
<a name="l254"></a>* Updated </span><a href="https://tomawezome.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="l255"></a>* Renamed VGAFlush() -> </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Display.CC.html#l92"><span class=cF4>LFBFlush</span></a><span class=cF0>().
|
||||
<a name="l256"></a>* Updated </span><a href="https://tomawezome.github.io/ZealOS/Demo/Graphics/Palette.CC.html#l1"><span class=cF4>Palette Demo</span></a><span class=cF0> to use current palette environment.
|
||||
<a name="l257"></a>* Shortened </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l1"><span class=cF4>CheckPtr</span></a><span class=cF0>() and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l9"><span class=cF4>CheckCodePtr</span></a><span class=cF0>(). Even though boolean expressions outside of </span><span class=cF1>if</span><span class=cF0> statements are compiled inefficiently,
|
||||
<a name="l258"></a>clarity and low line count is more important.
|
||||
<a name="l257"></a>* Shortened </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l1"><span class=cF4>CheckPtr</span></a><span class=cF0>() and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l9"><span class=cF4>CheckCodePtr</span></a><span class=cF0>(). Even though boolean expressions outside of </span><span class=cF1>if</span><span class=cF0> statements are compiled
|
||||
<a name="l258"></a>inefficiently, clarity and low line count is more important.
|
||||
<a name="l259"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l313"><span class=cF4>RawDr</span></a><span class=cF0>() is 40 columns off the right of the screen, instead of fixed at column 40.
|
||||
<a name="l260"></a>* Windows start at </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KTask.CC.html#l248"><span class=cF4>4/5th the screen height</span></a><span class=cF0> instead of row 13. System task window is </span><a href="https://tomawezome.github.io/ZealOS/StartOS.CC.html#l22"><span class=cF4>1/5th the screen height</span></a><span class=cF0>.
|
||||
<a name="l261"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Home/HomeWrappers.CC.html#l13"><span class=cF4>R</span></a><span class=cF0>("RLf_VGA", "</span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l576"><span class=cF4>RLf_VESA</span></a><span class=cF0>");
|
||||
<a name="l262"></a>* Removed VGA text mode support, and all definitions relating to it, including from the </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KConfig.CC.html#l1"><span class=cF4>kernel config</span></a><span class=cF0>.
|
||||
<a name="l263"></a>* Added </span><span class=cF9><u>screen resolution selection</u></span><span class=cF0> to kernel configuration procedure.
|
||||
<a name="l264"></a>* Added </span><a href="https://tomawezome.github.io/ZealOS/System/Utils/VideoRep.CC.html#l1"><span class=cF4>VideoRep</span></a><span class=cF0>() to report on VBE modes and info, added test case to the </span><a href="https://tomawezome.github.io/ZealOS/Misc/OSTestSuite.CC.html#l1821"><span class=cF4>OSTestSuite</span></a><span class=cF0>.
|
||||
<a name="l265"></a>* <u>Added VBE graphics support.</u> Screen zooming is non-functional at the moment. We are setting 32-bit color graphics modes but the
|
||||
<a name="l266"></a>graphics library is still 4-bit (16 color) internally. </span><a href="https://tomawezome.github.io/ZealOS/Demo/Lectures/MiniGrLib.CC.html#l1"><span class=cF4>MiniGrLib</span></a><span class=cF0> broken for obvious reasons. Keeping it because its intention is
|
||||
<a name="l267"></a>to teach a how a graphics library works, generically. Removed 2 smaller VGA hardware programming demos.
|
||||
<a name="l265"></a>* <u>Added VBE graphics support.</u> Screen zooming is non-functional at the moment. We are setting 32-bit color graphics modes but
|
||||
<a name="l266"></a>the graphics library is still 4-bit (16 color) internally. </span><a href="https://tomawezome.github.io/ZealOS/Demo/Lectures/MiniGrLib.CC.html#l1"><span class=cF4>MiniGrLib</span></a><span class=cF0> broken for obvious reasons. Keeping it because its
|
||||
<a name="l267"></a>intention is to teach a how a graphics library works, generically. Removed 2 smaller VGA hardware programming demos.
|
||||
<a name="l268"></a> Rundown:
|
||||
<a name="l269"></a> - Added classes </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l503"><span class=cF4>CVBEInfo</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l520"><span class=cF4>CVBEMode</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l539"><span class=cF4>CVBEModeShort</span></a><span class=cF0>
|
||||
<a name="l270"></a> - </span><a href="https://tomawezome.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>.
|
||||
|
@ -325,15 +325,15 @@ body {background-color:#000000;}
|
|||
<a name="l297"></a>* Replaced the </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l215"><span class=cF4>endian-swapping functions</span></a><span class=cF0> with assembly versions.
|
||||
<a name="l298"></a>* Added </span><span class=cF1>POPCNT</span><span class=cF0> instruction and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l18"><span class=cF4>PopCount</span></a><span class=cF0>() compiler intrinsic, to replace BCount() and the set_bits_table.
|
||||
<a name="l299"></a>* Renamed opcodes PUSHFW, POPFW, PUSHAW, POPAW -> </span><span class=cF1>PUSHF</span><span class=cF0>, </span><span class=cF1>POPF</span><span class=cF0>, </span><span class=cF1>PUSHA</span><span class=cF0>, </span><span class=cF1>POPA</span><span class=cF0> respectively.
|
||||
<a name="l300"></a>* The </span><span class=cF9><u>VGA ROM Font</u></span><span class=cF0> is used as the standard system font, with the old one being used as the auxilliary one. The cyrillic font has
|
||||
<a name="l301"></a>been removed.
|
||||
<a name="l300"></a>* The </span><span class=cF9><u>VGA ROM Font</u></span><span class=cF0> is used as the standard system font, with the old one being used as the auxilliary one. The cyrillic font
|
||||
<a name="l301"></a>has been removed.
|
||||
<a name="l302"></a>* Added </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MemPhysical.CC.html#l209"><span class=cF4>Seg2Linear</span></a><span class=cF0>() to convert segmented 32-bit far pointers obtained from real mode to linear pointers.
|
||||
<a name="l303"></a>* Disabled the mouse in debug mode. No more garbage text on mouse movement. </span><span class=cF9><u>MouseHardEnable</u></span><span class=cF0>. You can use this function in your
|
||||
<a name="l304"></a>own applications to disable the mouse completely.
|
||||
<a name="l305"></a>* AutoComplete now stays where you move it instead of snapping back to a fixed location, and that location persists after
|
||||
<a name="l306"></a>rebooting by using the Registry to save the window location. Increased number of symbol links shown to 12, so you can use all
|
||||
<a name="l307"></a>the functions keys F1-F12. It does syntax highlighting on the symbols now, so you know what type they are. Public symbols are </span><span class=c0F>in
|
||||
<a name="l308"></a>verted</span><span class=cF0>. Dictionary words are BLACK to differentiate between symbols.
|
||||
<a name="l307"></a>the functions keys F1-F12. It does syntax highlighting on the symbols now, so you know what type they are. Public symbols are </span><span class=c0F>
|
||||
<a name="l308"></a>inverted</span><span class=cF0>. Dictionary words are BLACK to differentiate between symbols.
|
||||
<a name="l309"></a>* Added more keyboard shortcuts to the AutoComplete </span><a href="https://tomawezome.github.io/ZealOS/Doc/StandBy.DD.html#l1"><span class=cF4>standby doc</span></a><span class=cF0>.
|
||||
<a name="l310"></a>* Removed "TOS Staff" and "InsReg" related code.
|
||||
<a name="l311"></a>* Renamed /Kernel/KInts.CC to </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KInterrupts.CC.html#l1"><span class=cF4>KInterrupts.CC</span></a><span class=cF0>.
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Char Overview</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Char Overview</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<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>
|
||||
|
@ -38,8 +38,8 @@ body {background-color:#000000;}
|
|||
<a name="l11"></a>ZealOS ASCII is 8-bit instead of 7-bit, so it also uses the range from 128-255. Press </span><span class=cF2><CTRL-ALT-a></span><span class=cF0> to see shapes for 128-255.
|
||||
<a name="l12"></a>Technically, </span><span class=cF2><CTRL-ALT-a></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 upper
|
||||
<a name="l15"></a>3 bytes. See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4149"><span class=cF4>Scan Code Flags</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4183"><span class=cF4>Scan Codes</span></a><span class=cF0>.
|
||||
<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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4149"><span class=cF4>Scan Code Flags</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4183"><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.
|
||||
|
|
|
@ -25,35 +25,35 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> ZealOS Charter</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> ZealOS Charter</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>* The vision is the same usage model and niche as the Commodore 64 -- a simple machine where programming was the goal, not just
|
||||
<a name="l4"></a>a means to an end. However, it is modern, 64-bit and </span><span class=cF2>multi-cored</span><span class=cF0>. It is special purpose, not general purpose, so some things
|
||||
<a name="l5"></a>it will not do. Also, it's a kayak, not a Titanic. The priority is </span><span class=cF2>user developers</span><span class=cF0>, not </span><span class=cF2>3rd party developers</span><span class=cF0>.
|
||||
<a name="l3"></a>* The vision is the same usage model and niche as the Commodore 64 -- a simple machine where programming was the goal, not
|
||||
<a name="l4"></a>just a means to an end. However, it is modern, 64-bit and </span><span class=cF2>multi-cored</span><span class=cF0>. It is special purpose, not general purpose, so some
|
||||
<a name="l5"></a>things it will not do. Also, it's a kayak, not a Titanic. The priority is </span><span class=cF2>user developers</span><span class=cF0>, not </span><span class=cF2>3rd party developers</span><span class=cF0>.
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a>* </span><span class=cF4>We don't think twice about breaking compatibility. </span><span class=cF0> We do not put any hooks for future changes. "Perfect" means we always act
|
||||
<a name="l8"></a>as though it is final, for all time. Microsoft allowed the </span><a href="http://en.wikipedia.org/wiki/BMP_file"><span class=cF2>Windows BMP</span></a><span class=cF0> file format to adapt to the future and it became
|
||||
<a name="l7"></a>* </span><span class=cF4>We don't think twice about breaking compatibility. </span><span class=cF0> We do not put any hooks for future changes. "Perfect" means we always
|
||||
<a name="l8"></a>act as though it is final, for all time. Microsoft allowed the </span><a href="http://en.wikipedia.org/wiki/BMP_file"><span class=cF2>Windows BMP</span></a><span class=cF0> file format to adapt to the future and it became
|
||||
<a name="l9"></a>grotesque.
|
||||
<a name="l10"></a>
|
||||
<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 at
|
||||
<a name="l12"></a>the end of the tunnel. One file system, for example, is better than many file systems.
|
||||
<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,805
|
||||
<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 that
|
||||
<a name="l17"></a>is no longer blissful.
|
||||
<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.
|
||||
<a name="l18"></a>
|
||||
<a name="l19"></a>* The metric for resolving all ZealOS code governance issues is how fast the compiler compiles itself and the kernel with </span><span class=cF4>
|
||||
<a name="l20"></a></span><a href="https://tomawezome.github.io/ZealOS/System/Boot/BootHDIns.CC.html#l24"><span class=cF4>BootHDIns</span></a><span class=cF0>(). The </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> language should be changed to optimize this metric, as Terry Davis did when he changed type casting from
|
||||
<a name="l21"></a>prefix standard C to postfix </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0>, but we need a rule to prevent degenerating into a brainfuck language.
|
||||
<a name="l20"></a></span><a href="https://tomawezome.github.io/ZealOS/System/Boot/BootHDIns.CC.html#l24"><span class=cF4>BootHDIns</span></a><span class=cF0>(). The </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> language should be changed to optimize this metric, as Terry Davis did when he changed type casting
|
||||
<a name="l21"></a>from prefix standard C to postfix </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0>, but we need a rule to prevent degenerating into a brainfuck language.
|
||||
<a name="l22"></a>
|
||||
<a name="l23"></a>* Minimal abstraction is a goal. Sheep are fools. They always respect a design that is more complicated than another. Any
|
||||
<a name="l24"></a>genius can make it complicated. Like in physics, it takes a supra-genius to make it simple.
|
||||
<a name="l25"></a>
|
||||
<a name="l26"></a>* It is for one platform -- </span><a href="http://en.wikipedia.org/wiki/Amd64#AMD64"><span class=cF4>x86_64</span></a><span class=cF0> desktop PC compatibles, more like super-computers than battery efficient wimpy mobiles.
|
||||
<a name="l27"></a>
|
||||
<a name="l28"></a>* One driver for each class of device. Limited exceptions are allowed. With divergent device capabilities, it is a nightmare for
|
||||
<a name="l29"></a>user applications and what is gained?
|
||||
<a name="l28"></a>* One driver for each class of device. Limited exceptions are allowed. With divergent device capabilities, it is a nightmare
|
||||
<a name="l29"></a>for user applications and what is gained?
|
||||
<a name="l30"></a>
|
||||
<a name="l31"></a>* </span><span class=cF2>Ring-0-only</span><span class=cF0>. Everything runs in kernel mode, including user applications.
|
||||
<a name="l32"></a>
|
||||
|
@ -62,8 +62,8 @@ body {background-color:#000000;}
|
|||
<a name="l35"></a>* </span><span class=cF4>No GPU</span><span class=cF0>. We want one processing platform, the CPU, for everything.
|
||||
<a name="l36"></a>
|
||||
<a name="l37"></a>* Full access to everything. All memory, I/O ports, instructions, and similar things must never be off limits. All
|
||||
<a name="l38"></a>functions, variables and class members will be accessible. There are no C++ </span><span class=cF2>public</span><span class=cF0>/</span><span class=cF2>private</span><span class=cF0> protections and all functions, even
|
||||
<a name="l39"></a>secondary ones in the kernel, can be called.
|
||||
<a name="l38"></a>functions, variables and class members will be accessible. There are no C++ </span><span class=cF2>public</span><span class=cF0>/</span><span class=cF2>private</span><span class=cF0> protections and all functions,
|
||||
<a name="l39"></a>even secondary ones in the kernel, can be called.
|
||||
<a name="l40"></a>
|
||||
<a name="l41"></a>* </span><span class=cF2>Single-address-map</span><span class=cF0> as though paging is not used. Long mode requires paging, however, so the nearest thing is keeping all
|
||||
<a name="l42"></a>memory </span><span class=cF2>identity-mapped</span><span class=cF0>.
|
||||
|
@ -85,10 +85,10 @@ body {background-color:#000000;}
|
|||
<a name="l58"></a>* "Windows" is a trademark owned by MicroSoft Corp.
|
||||
<a name="l59"></a></span><span class=cF0>
|
||||
<a name="l60"></a>
|
||||
<a name="l61"></a></span><span class=cF5> Possible Amendments</span><span class=cF0>
|
||||
<a name="l61"></a></span><span class=cF5> Possible Amendments</span><span class=cF0>
|
||||
<a name="l62"></a>
|
||||
<a name="l63"></a>The compiler's parser makes RISC code which it optimizes to CISC. Terry Davis discovered this does not matter because the CPU
|
||||
<a name="l64"></a>converts it back to RISC and schedules it, internally. A ZealOS zealot with more zeal might say we should save lines-of-code by
|
||||
<a name="l65"></a>removing the CISC optimizing.
|
||||
<a name="l64"></a>converts it back to RISC and schedules it, internally. A ZealOS zealot with more zeal might say we should save lines-of-code
|
||||
<a name="l65"></a>by removing the CISC optimizing.
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Command Line Overview</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Command Line Overview</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>The cmd line feeds into the </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> compiler line-by-line as you type. A stmt outside a function executes immediately.
|
||||
<a name="l4"></a>Remember to add a semicolon.
|
||||
|
@ -40,8 +40,8 @@ body {background-color:#000000;}
|
|||
<a name="l13"></a>
|
||||
<a name="l14"></a>></span><span class=cF2>Dir;</span><span class=cF0>
|
||||
<a name="l15"></a>
|
||||
<a name="l16"></a>Directories are referenced with </span><span class=cF2>/</span><span class=cF0> not </span><span class=cF2>\</span><span class=cF0>. There is a current directory, but not a path. To run a program, you typically </span><span class=cF2>#incl
|
||||
<a name="l17"></a>ude </span><span class=cF0>it. There are several shortcuts for </span><span class=cF2>#include</span><span class=cF0>ing files. Right-click or hit </span><span class=cF2><ENTER></span><span class=cF0> on a directory listing or press </span><span class=cF2><F5></span><span class=cF0>
|
||||
<a name="l16"></a>Directories are referenced with </span><span class=cF2>/</span><span class=cF0> not </span><span class=cF2>\</span><span class=cF0>. There is a current directory, but not a path. To run a program, you typically </span><span class=cF2>#in
|
||||
<a name="l17"></a>clude </span><span class=cF0>it. There are several shortcuts for </span><span class=cF2>#include</span><span class=cF0>ing files. Right-click or hit </span><span class=cF2><ENTER></span><span class=cF0> on a directory listing or press </span><span class=cF2><F5></span><span class=cF0>
|
||||
<a name="l18"></a>while editing.
|
||||
<a name="l19"></a>
|
||||
<a name="l20"></a>></span><span class=cF2>Ed("NewFile.CC");</span><span class=cF0> Invokes the editor. See </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocLink.CC.html#l29"><span class=cF4>Doc Link Type</span></a><span class=cF0>.
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Compiler Index</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Compiler Index</span><span class=cF0>
|
||||
<a name="l2"></a></span><span class=cF4>
|
||||
<a name="l3"></a></span><a href="https://tomawezome.github.io/ZealOS/Doc/Asm.DD.html#l1"><span class=cF4>::/Doc/Asm.DD</span></a><span class=cF0>
|
||||
<a name="l4"></a></span><span class=cF4>
|
||||
|
|
|
@ -25,14 +25,14 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> CosmiC</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> CosmiC</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>* See </span><a href="https://tomawezome.github.io/ZealOS/Doc/CompilerOverview.DD.html#l1"><span class=cF4>::/Doc/CompilerOverview.DD</span></a><span class=cF0>.
|
||||
<a name="l4"></a>
|
||||
<a name="l5"></a>* See </span><a href="https://tomawezome.github.io/ZealOS/Doc/ScopingLinkage.DD.html#l1"><span class=cF4>Scoping and Linkage</span></a><span class=cF0> for details on </span><span class=cF2>extern</span><span class=cF0>, </span><span class=cF2>import</span><span class=cF0>, </span><span class=cF2>_extern</span><span class=cF0>, </span><span class=cF2>_import</span><span class=cF0>, etc.
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a>* Built-in types include </span><span class=cF2>I0, I8, I16, I32, I64</span><span class=cF0> for signed 0-8 byte ints and </span><span class=cF2>U0, U8, U16, U32, U64</span><span class=cF0> for unsigned 0-8 byte ints and </span><span class=cF2>
|
||||
<a name="l8"></a>F64</span><span class=cF0> for 8 byte floats.
|
||||
<a name="l7"></a>* Built-in types include </span><span class=cF2>I0, I8, I16, I32, I64</span><span class=cF0> for signed 0-8 byte ints and </span><span class=cF2>U0, U8, U16, U32, U64</span><span class=cF0> for unsigned 0-8 byte ints
|
||||
<a name="l8"></a>and </span><span class=cF2>F64</span><span class=cF0> for 8 byte floats.
|
||||
<a name="l9"></a>
|
||||
<a name="l10"></a></span><span class=cF2> U0 void, but ZERO size!
|
||||
<a name="l11"></a> I8 char
|
||||
|
@ -141,8 +141,8 @@ body {background-color:#000000;}
|
|||
<a name="l114"></a> </span><span class=cF2>if (13 <= age < 20)
|
||||
<a name="l115"></a> "Teen-ager";
|
||||
<a name="l116"></a></span><span class=cF0>
|
||||
<a name="l117"></a>* if you know a switch stmt will not exceed the lowest or highest case values. </span><span class=cF2>switch []</span><span class=cF0> is a little faster because it doesn't
|
||||
<a name="l118"></a>check.
|
||||
<a name="l117"></a>* if you know a switch stmt will not exceed the lowest or highest case values. </span><span class=cF2>switch []</span><span class=cF0> is a little faster because it
|
||||
<a name="l118"></a>doesn't check.
|
||||
<a name="l119"></a>
|
||||
<a name="l120"></a>* </span><span class=cF2>switch</span><span class=cF0> statements always use a jump table. Don't use them with cases with really big, sparse ranges.
|
||||
<a name="l121"></a>
|
||||
|
@ -251,8 +251,8 @@ body {background-color:#000000;}
|
|||
<a name="l224"></a>
|
||||
<a name="l225"></a>* You can use </span><a href="https://tomawezome.github.io/ZealOS/Compiler/CMisc.CC.html#l1"><span class=cF4>Option</span></a><span class=cF0>(</span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1680"><span class=cF4>OPTf_WARN_DUP_TYPES</span></a><span class=cF0>, ON) to find dup local var type statements.
|
||||
<a name="l226"></a>
|
||||
<a name="l227"></a>* With the </span><span class=cF2>#exe{}</span><span class=cF0> feature in your src code, you can place programs that insert text into the stream of code being compiled. See </span><span class=cF4>
|
||||
<a name="l228"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMain.CC.html#l252"><span class=cF4>#exe {}</span></a><span class=cF0> for an example where the date/time and compile-time prompting for configuration data is placed into a program. </span><span class=cF4>
|
||||
<a name="l227"></a>* With the </span><span class=cF2>#exe{}</span><span class=cF0> feature in your src code, you can place programs that insert text into the stream of code being compiled.
|
||||
<a name="l228"></a>See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMain.CC.html#l252"><span class=cF4>#exe {}</span></a><span class=cF0> for an example where the date/time and compile-time prompting for configuration data is placed into a program. </span><span class=cF4>
|
||||
<a name="l229"></a></span><a href="https://tomawezome.github.io/ZealOS/Compiler/CMisc.CC.html#l71"><span class=cF4>StreamPrint</span></a><span class=cF0>() places text into a src program stream following the conclusion of the </span><span class=cF2>#exe{}</span><span class=cF0> blk.
|
||||
<a name="l230"></a>
|
||||
<a name="l231"></a>* No </span><span class=cF2>#define</span><span class=cF0> functions exist (Terry was not a fan)
|
||||
|
@ -263,15 +263,15 @@ body {background-color:#000000;}
|
|||
<a name="l236"></a>
|
||||
<a name="l237"></a>* Can't use </span><span class=cF2><></span><span class=cF0> with </span><span class=cF2>#include</span><span class=cF0>, use </span><span class=cF2>""</span><span class=cF0>.
|
||||
<a name="l238"></a>
|
||||
<a name="l239"></a>* "</span><span class=cF2>$</span><span class=cF0>" is an escape character. Two dollar signs signify an ordinary $. See </span><a href="https://tomawezome.github.io/ZealOS/Doc/DolDocOverview.DD.html#l1"><span class=cF4>DolDoc</span></a><span class=cF0>. In </span><span class=cF2>asm</span><span class=cF0> or </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> code, it also refers to the
|
||||
<a name="l240"></a>instruction's address or the offset in a </span><span class=cF2>class</span><span class=cF0> definition.
|
||||
<a name="l239"></a>* "</span><span class=cF2>$</span><span class=cF0>" is an escape character. Two dollar signs signify an ordinary $. See </span><a href="https://tomawezome.github.io/ZealOS/Doc/DolDocOverview.DD.html#l1"><span class=cF4>DolDoc</span></a><span class=cF0>. In </span><span class=cF2>asm</span><span class=cF0> or </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> code, it also refers to
|
||||
<a name="l240"></a>the instruction's address or the offset in a </span><span class=cF2>class</span><span class=cF0> definition.
|
||||
<a name="l241"></a>
|
||||
<a name="l242"></a>* </span><span class=cF2>union</span><span class=cF0> is more like a class, so you don't reference it with a </span><span class=cF2>union</span><span class=cF0> label after you define it. Some common unions are declared
|
||||
<a name="l243"></a>in </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l65"><span class=cF4>KernelA.HH</span></a><span class=cF0> for 1,2,4 and 8 byte objects. If you place a type in front of a union declaration, that is the type when used by
|
||||
<a name="l244"></a>itself. See </span><a href="https://tomawezome.github.io/ZealOS/Demo/SubIntAccess.CC.html#l1"><span class=cF4>::/Demo/SubIntAccess.CC</span></a><span class=cF0>.
|
||||
<a name="l242"></a>* </span><span class=cF2>union</span><span class=cF0> is more like a class, so you don't reference it with a </span><span class=cF2>union</span><span class=cF0> label after you define it. Some common unions are
|
||||
<a name="l243"></a>declared in </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l65"><span class=cF4>KernelA.HH</span></a><span class=cF0> for 1,2,4 and 8 byte objects. If you place a type in front of a union declaration, that is the type
|
||||
<a name="l244"></a>when used by itself. See </span><a href="https://tomawezome.github.io/ZealOS/Demo/SubIntAccess.CC.html#l1"><span class=cF4>::/Demo/SubIntAccess.CC</span></a><span class=cF0>.
|
||||
<a name="l245"></a>
|
||||
<a name="l246"></a>* </span><span class=cF2>class</span><span class=cF0> member vars can have meta data. </span><span class=cF2>format</span><span class=cF0> and </span><span class=cF2>data</span><span class=cF0> are two meta data types now used. All compiler structures are saved and
|
||||
<a name="l247"></a>you can access the compiler's info about classes and vars. See </span><a href="https://tomawezome.github.io/ZealOS/Demo/ClassMeta.CC.html#l1"><span class=cF4>::/Demo/ClassMeta.CC</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocForm.CC.html#l263"><span class=cF4>DocForm</span></a><span class=cF0>().
|
||||
<a name="l246"></a>* </span><span class=cF2>class</span><span class=cF0> member vars can have meta data. </span><span class=cF2>format</span><span class=cF0> and </span><span class=cF2>data</span><span class=cF0> are two meta data types now used. All compiler structures are saved
|
||||
<a name="l247"></a>and you can access the compiler's info about classes and vars. See </span><a href="https://tomawezome.github.io/ZealOS/Demo/ClassMeta.CC.html#l1"><span class=cF4>::/Demo/ClassMeta.CC</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocForm.CC.html#l263"><span class=cF4>DocForm</span></a><span class=cF0>().
|
||||
<a name="l248"></a>
|
||||
<a name="l249"></a>* There is a keyword </span><span class=cF2>lastclass</span><span class=cF0> you use as a default arg. It is set to the class name of the prev arg. See </span><span class=cF4>
|
||||
<a name="l250"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/LastClass.CC.html#l1"><span class=cF4>::/Demo/LastClass.CC</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/System/Debug.CC.html#l216"><span class=cF4>ClassRep</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocForm.CC.html#l263"><span class=cF4>DocForm</span></a><span class=cF0>() and </span><a href="https://tomawezome.github.io/ZealOS/Demo/Disk/BlkDevRep.CC.html#l1"><span class=cF4>::/Demo/Disk/BlkDevRep.CC</span></a><span class=cF0>.
|
||||
|
@ -282,23 +282,23 @@ body {background-color:#000000;}
|
|||
<a name="l255"></a>like.
|
||||
<a name="l256"></a>
|
||||
<a name="l257"></a>* A function is available similar to </span><span class=cF2>sizeof</span><span class=cF0> which provides the offset of a member of a class. It's called </span><span class=cF2>offset</span><span class=cF0>. You place
|
||||
<a name="l258"></a>the class name and member inside as in </span><span class=cF2>offset(classname.membername)</span><span class=cF0>. It has nothing to do with 16-bit code. Both </span><span class=cF2>sizeof</span><span class=cF0> and </span><span class=cF2>
|
||||
<a name="l259"></a>offset</span><span class=cF0> only accept one level of member vars. That is, you can't do </span><span class=cF2>sizeof(classname.membername.submembername)</span><span class=cF0>.
|
||||
<a name="l258"></a>the class name and member inside as in </span><span class=cF2>offset(classname.membername)</span><span class=cF0>. It has nothing to do with 16-bit code. Both </span><span class=cF2>sizeof</span><span class=cF0>
|
||||
<a name="l259"></a>and </span><span class=cF2>offset</span><span class=cF0> only accept one level of member vars. That is, you can't do </span><span class=cF2>sizeof(classname.membername.submembername)</span><span class=cF0>.
|
||||
<a name="l260"></a>
|
||||
<a name="l261"></a>* There is no </span><span class=cF2>continue</span><span class=cF0> stmt. Use </span><span class=cF2>goto</span><span class=cF0>.
|
||||
<a name="l262"></a>
|
||||
<a name="l263"></a>* </span><span class=cF2>lock{}</span><span class=cF0> can be used to apply asm </span><span class=cF2>LOCK</span><span class=cF0> prefixes to code for safe multicore read-modify-write accesses. The code bracked with
|
||||
<a name="l264"></a>have </span><span class=cF2>LOCK</span><span class=cF0> asm prefix's applied to relevant insts within. It's a little shoddy. See </span><a href="https://tomawezome.github.io/ZealOS/Demo/MultiCore/Lock.CC.html#l1"><span class=cF4>::/Demo/MultiCore/Lock.CC</span></a><span class=cF0>.
|
||||
<a name="l265"></a>
|
||||
<a name="l266"></a>* There is a function called </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l388"><span class=cF4>MSize</span></a><span class=cF0>() which gives the size of an object alloced off the heap. For larger size allocations, the
|
||||
<a name="l267"></a>system rounds-up to a power of two, so </span><span class=cF2>MSize()</span><span class=cF0> lets you know the real size and you can take full advantage of it.
|
||||
<a name="l266"></a>* There is a function called </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l388"><span class=cF4>MSize</span></a><span class=cF0>() which gives the size of an object alloced off the heap. For larger size allocations,
|
||||
<a name="l267"></a>the system rounds-up to a power of two, so </span><span class=cF2>MSize()</span><span class=cF0> lets you know the real size and you can take full advantage of it.
|
||||
<a name="l268"></a>
|
||||
<a name="l269"></a>* You CAN </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l387"><span class=cF4>Free</span></a><span class=cF0>() a </span><span class=cF2>NULL</span><span class=cF0> ptr. Useful variants of </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l391"><span class=cF4>MAlloc</span></a><span class=cF0>() can be found </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l399"><span class=cF4>Here</span></a><span class=cF0>. Each task has a heap and you can </span><span class=cF2>MAlloc</span><span class=cF0> and </span><span class=cF2>Free</span><span class=cF0>
|
||||
<a name="l270"></a>off-of other task's heaps, or make an independent heap with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/HeapCtrl.CC.html#l1"><span class=cF4>HeapCtrlInit</span></a><span class=cF0>(). See </span><a href="https://tomawezome.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. You
|
||||
<a name="l273"></a>can change </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3508"><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://tomawezome.github.io/ZealOS/Kernel/KTask.CC.html#l264"><span class=cF4>Spawn</span></a><span class=cF0>(). You can use </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KTask.CC.html#l129"><span class=cF4>CallStackGrow</span></a><span class=cF0>(), but it's
|
||||
<a name="l274"></a>odd. See </span><a href="https://tomawezome.github.io/ZealOS/Demo/StackGrow.CC.html#l1"><span class=cF4>::/Demo/StackGrow.CC</span></a><span class=cF0>.
|
||||
<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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3508"><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://tomawezome.github.io/ZealOS/Kernel/KTask.CC.html#l264"><span class=cF4>Spawn</span></a><span class=cF0>(). You can use </span><a href="https://tomawezome.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://tomawezome.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.
|
||||
<a name="l277"></a>
|
||||
|
|
|
@ -25,28 +25,28 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Credits</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Credits</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a></span><span class=cF2>Terry A. Davis</span><span class=cF0> wrote all of TempleOS over a span of </span><span class=cF2>15.0</span><span class=cF0> years (full-time). ZealOS, written over a span of </span><span class=cF2>1.9</span><span class=cF0> years, is a fork
|
||||
<a name="l4"></a>of ZenithOS, which itself is a fork of TempleOS. It can run on some bare metal 64-bit PC's from about 2007-2019 with no
|
||||
<a name="l5"></a>layering, libraries, tools, modules or anything from other sources. Otherwise, you run it in a virtual machine, like </span><span class=cF2>VMware</span><span class=cF0>, </span><span class=cF2>QEM
|
||||
<a name="l6"></a>U</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="l3"></a></span><span class=cF2>Terry A. Davis</span><span class=cF0> wrote all of TempleOS over a span of </span><span class=cF2>15.0</span><span class=cF0> years (full-time). ZealOS, written over a span of </span><span class=cF2>1.9</span><span class=cF0> years, is a
|
||||
<a name="l4"></a>fork of ZenithOS, which itself is a fork of TempleOS. It can run on some bare metal 64-bit PC's from about 2007-2019 with no
|
||||
<a name="l5"></a>layering, libraries, tools, modules or anything from other sources. Otherwise, you run it in a virtual machine, like </span><span class=cF2>VMware</span><span class=cF0>, </span><span class=cF2>Q
|
||||
<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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l2903"><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://tomawezome.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 VAX
|
||||
<a name="l12"></a>operating system.
|
||||
<a name="l11"></a>*) The heap algorithm, </span><a href="https://tomawezome.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.
|
||||
<a name="l13"></a>
|
||||
<a name="l14"></a>*) The adaptive-step-size-Runge-Kutta algorithm, </span><a href="https://tomawezome.github.io/ZealOS/System/ZMathODE.CC.html#l1"><span class=cF4>::/System/ZMathODE.CC</span></a><span class=cF0>, is adapted from the book, <u>Numeric Recipies in C</u>.
|
||||
<a name="l15"></a>
|
||||
<a name="l16"></a>*) The mountain in some games is from </span><a href="http://www.public-domain-photos.com"><span class=cF4>http://www.public-domain-photos.com</span></a><span class=cF0>. The wolf in BlackDiamond is also from there. Terr
|
||||
<a name="l17"></a>y took watermarked photos and converted to 16 color.
|
||||
<a name="l16"></a>*) The mountain in some games is from </span><a href="http://www.public-domain-photos.com"><span class=cF4>http://www.public-domain-photos.com</span></a><span class=cF0>. The wolf in BlackDiamond is also from there. Te
|
||||
<a name="l17"></a>rry took watermarked photos and converted to 16 color.
|
||||
<a name="l18"></a>
|
||||
<a name="l19"></a>*) The </span><span class=cF2>FAT32</span><span class=cF0> file system is owned by MicroSoft.
|
||||
<a name="l20"></a>
|
||||
<a name="l21"></a>*) A few features were inspired by </span><span class=cF2>MATLAB</span><span class=cF0>, such as </span><span class=cF2>ans</span><span class=cF0> in expressions at the command-line. There is a lot of </span><span class=cF2>MSDOS</span><span class=cF0> , </span><span class=cF2>Windows</span><span class=cF0>, </span><span class=cF2>V
|
||||
<a name="l22"></a>AXTMOS</span><span class=cF0> (VAX Ticketmaster O.S.) and </span><span class=cF2>Unix</span><span class=cF0> inspiration, too, such as drive letters, command names, etc.
|
||||
<a name="l21"></a>*) A few features were inspired by </span><span class=cF2>MATLAB</span><span class=cF0>, such as </span><span class=cF2>ans</span><span class=cF0> in expressions at the command-line. There is a lot of </span><span class=cF2>MSDOS</span><span class=cF0> , </span><span class=cF2>Windows</span><span class=cF0>, </span><span class=cF2>
|
||||
<a name="l22"></a>VAXTMOS</span><span class=cF0> (VAX Ticketmaster O.S.) and </span><span class=cF2>Unix</span><span class=cF0> inspiration, too, such as drive letters, command names, etc.
|
||||
<a name="l23"></a>
|
||||
<a name="l24"></a>*) Terry included </span><a href="http://www.pcidatabase.com/reports.php?type=tab-delimeted"><span class=cF4>PCIDevice List File</span></a><span class=cF0>.
|
||||
<a name="l25"></a>
|
||||
|
@ -57,15 +57,15 @@ body {background-color:#000000;}
|
|||
<a name="l30"></a>
|
||||
<a name="l31"></a>*) Terry thought he got his original PC speaker code from </span><span class=cF2>Borland C</span><span class=cF0>.
|
||||
<a name="l32"></a>
|
||||
<a name="l33"></a>*) Terry found PS/2 keyboard and mouse code on the net and documentation. His code is very different. He found VGA reg info on
|
||||
<a name="l34"></a>the net.
|
||||
<a name="l33"></a>*) Terry found PS/2 keyboard and mouse code on the net and documentation. His code is very different. He found VGA reg info
|
||||
<a name="l34"></a>on the net.
|
||||
<a name="l35"></a>
|
||||
<a name="l36"></a>*) Thanks to </span><a href="http://www.osdev.org"><span class=cF4>http://www.osdev.org</span></a><span class=cF0> for a couple tips.
|
||||
<a name="l37"></a>
|
||||
<a name="l38"></a>*) Terry got </span><a href="http://www.templeos.org/files/DICTIONARY.DD"><span class=cF4>Webster's Dictionary</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Misc/Bible.TXT.html#l1"><span class=cF4>The King James Bible</span></a><span class=cF0> from </span><a href="http://web.archive.org/web/20110730111436/http://promo.net/pg/"><span class=cF4>Project Gutenberg</span></a><span class=cF0>.
|
||||
<a name="l39"></a>
|
||||
<a name="l40"></a>*) John Carmack inspired Terry to use "</span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMathB.CC.html#l1"><span class=cF4>Clamp</span></a><span class=cF0>" as a name instead of "Limit". He inspired Terry to use "needle" and "haystack" as
|
||||
<a name="l41"></a>names. He inspired Terry to simplify his Frames-Per-Second code.
|
||||
<a name="l40"></a>*) John Carmack inspired Terry to use "</span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMathB.CC.html#l1"><span class=cF4>Clamp</span></a><span class=cF0>" as a name instead of "Limit". He inspired Terry to use "needle" and "haystack"
|
||||
<a name="l41"></a>as names. He inspired Terry to simplify his Frames-Per-Second code.
|
||||
<a name="l42"></a>
|
||||
<a name="l43"></a>*) Bill Gates inspired Terry to add comments to the </span><a href="https://tomawezome.github.io/ZealOS/Doc/HelpIndex.DD.html#l1"><span class=cF4>Help & Index</span></a><span class=cF0>.
|
||||
<a name="l44"></a>
|
||||
|
|
|
@ -28,8 +28,8 @@ body {background-color:#000000;}
|
|||
<a name="l1"></a><span class=cF0>
|
||||
<a name="l2"></a>* You can adjust the mouse movement rate by setting global vars in your start-up file. See </span><a href="https://tomawezome.github.io/ZealOS/Home/HomeLocalize.CC.html#l11"><span class=cF4>mouse scale</span></a><span class=cF0>.
|
||||
<a name="l3"></a>
|
||||
<a name="l4"></a>* You can set your local time zone by setting the </span><span class=cF4>local_time_offset</span><span class=cF0> global var in a start-up file. It's units are </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l707"><span class=cF4>CDATE_FREQ</span></a><span class=cF0>.
|
||||
<a name="l5"></a>See </span><a href="https://tomawezome.github.io/ZealOS/Home/HomeLocalize.CC.html#l8"><span class=cF4>local time</span></a><span class=cF0>.
|
||||
<a name="l4"></a>* You can set your local time zone by setting the </span><span class=cF4>local_time_offset</span><span class=cF0> global var in a start-up file. It's units are </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l707"><span class=cF4>CDATE_FREQ</span></a><span class=cF0>.
|
||||
<a name="l5"></a> See </span><a href="https://tomawezome.github.io/ZealOS/Home/HomeLocalize.CC.html#l8"><span class=cF4>local time</span></a><span class=cF0>.
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a>* Get rid of this message </span><span class=cF4><u>here</u></span><span class=cF0>.
|
||||
</span></pre></body>
|
||||
|
|
|
@ -25,18 +25,18 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Cut Corners
|
||||
<a name="l1"></a><span class=cF5> Cut Corners
|
||||
<a name="l2"></a></span><span class=cF0>
|
||||
<a name="l3"></a>There are a few places where corners are cut in the interest of not junking-up code. This is part of the ZealOS mentality.
|
||||
<a name="l4"></a>Try not to let stupid legacy compatibility issues enter and junk-up ZealOS.
|
||||
<a name="l5"></a>
|
||||
<a name="l6"></a>* The type-casting operator was made post-fix because it makes the compiler way cleaner.
|
||||
<a name="l7"></a>
|
||||
<a name="l8"></a>* ZealOS does not figure-out </span><span class=cF2>FAT32</span><span class=cF0> short name alias numbers. </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/FileSysFAT.CC.html#l646"><span class=cF4>FAT32DirNew</span></a><span class=cF0>(). It can cause hard drive corruption, so it might
|
||||
<a name="l9"></a>have to do it eventually. It would really take a lot of junky code for this hatefully, detestable, legacy issue. "Please don't
|
||||
<a name="l10"></a>make us ruin the beautiful shiny-new ZealOS with that!" </span><span class=cF2>FAT32</span><span class=cF0> is also unappealing because it is in patent limbo. </span><span class=cF2>FAT32</span><span class=cF0> might
|
||||
<a name="l11"></a>get removed from ZealOS. There is the </span><a href="https://tomawezome.github.io/ZealOS/Doc/RedSea.DD.html#l1"><span class=cF4>RedSea</span></a><span class=cF0> 64-bit file system that works perfectly well. </span><span class=cF2>FAT32</span><span class=cF0> is useful, however, because
|
||||
<a name="l12"></a>it assists in transferring between dual booted operating systems.
|
||||
<a name="l8"></a>* ZealOS does not figure-out </span><span class=cF2>FAT32</span><span class=cF0> short name alias numbers. </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/FileSysFAT.CC.html#l646"><span class=cF4>FAT32DirNew</span></a><span class=cF0>(). It can cause hard drive corruption, so it
|
||||
<a name="l9"></a>might have to do it eventually. It would really take a lot of junky code for this hatefully, detestable, legacy issue.
|
||||
<a name="l10"></a>"Please don't make us ruin the beautiful shiny-new ZealOS with that!" </span><span class=cF2>FAT32</span><span class=cF0> is also unappealing because it is in patent
|
||||
<a name="l11"></a>limbo. </span><span class=cF2>FAT32</span><span class=cF0> might get removed from ZealOS. There is the </span><a href="https://tomawezome.github.io/ZealOS/Doc/RedSea.DD.html#l1"><span class=cF4>RedSea</span></a><span class=cF0> 64-bit file system that works perfectly well. </span><span class=cF2>FAT32</span><span class=cF0> is
|
||||
<a name="l12"></a>useful, however, because it assists in transferring between dual booted operating systems.
|
||||
<a name="l13"></a>
|
||||
<a name="l14"></a>* The </span><a href="https://tomawezome.github.io/ZealOS/Compiler/OpCodes.DD.html#l1"><span class=cF4>asm opcodes</span></a><span class=cF0> names were changed to remove the ambiguity between insts with different numbers of arguments, making the </span><span class=cF4>
|
||||
<a name="l15"></a></span><a href="https://tomawezome.github.io/ZealOS/Compiler/Asm.CC.html#l1"><span class=cF4>assembler</span></a><span class=cF0> simpler and minimal 16-bit asm support was done, since 64-bit is what you should be using, unless you're doing a </span><span class=cF4>
|
||||
|
|
|
@ -26,8 +26,8 @@ body {background-color:#000000;}
|
|||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF0>ZealOS has a class for 3 dimensional points consisting of F64s. CosmiC is not C++ -- it does not support passing or returning
|
||||
<a name="l2"></a>values from functions which are not 64-bits, therefore, it can't be implemented with operator overloading. Making all function
|
||||
<a name="l3"></a>args and returns 64-bit is a core prinicple of ZealOS.
|
||||
<a name="l2"></a>values from functions which are not 64-bits, therefore, it can't be implemented with operator overloading. Making all
|
||||
<a name="l3"></a>function args and returns 64-bit is a core prinicple of ZealOS.
|
||||
<a name="l4"></a>
|
||||
<a name="l5"></a>As a courtesy, most of the CD3 functions return the addr of the destination vect, so you can nestle calls. They do not alloc
|
||||
<a name="l6"></a>new space for the destination vect.
|
||||
|
|
|
@ -25,6 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF0>Dates are 32-bit signed ints representing the number of days since the birth of Christ. Negative values represent B.C.E. dates.
|
||||
<a name="l1"></a><span class=cF0>Dates are 32-bit signed ints representing the number of days since the birth of Christ. Negative values represent B.C.E.
|
||||
<a name="l2"></a>dates.
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -25,11 +25,11 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Debugging Overview</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Debugging Overview</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>* You can enter the debugger with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l732"><span class=cF4>Debug</span></a><span class=cF0>() or </span><span class=cF2><CTRL-ALT-d></span><span class=cF0>. You might enter the debugger through a fault. Enter </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l499"><span class=cF4>G</span></a><span class=cF0>() or </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l530"><span class=cF4>G2</span></a><span class=cF0>() to
|
||||
<a name="l4"></a>continue execution. Place a call to </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l732"><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 dump,
|
||||
<a name="l5"></a>record the label+offset and unassemble, </span><a href="https://tomawezome.github.io/ZealOS/Compiler/UAsm.CC.html#l771"><span class=cF4>U</span></a><span class=cF0>(). </span><a href="https://tomawezome.github.io/ZealOS/Compiler/UAsm.CC.html#l771"><span class=cF4>U</span></a><span class=cF0>(</span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4046"><span class=cF4>_RIP</span></a><span class=cF0>);
|
||||
<a name="l3"></a>* You can enter the debugger with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l732"><span class=cF4>Debug</span></a><span class=cF0>() or </span><span class=cF2><CTRL-ALT-d></span><span class=cF0>. You might enter the debugger through a fault. Enter </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l499"><span class=cF4>G</span></a><span class=cF0>() or </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l530"><span class=cF4>G2</span></a><span class=cF0>()
|
||||
<a name="l4"></a>to continue execution. Place a call to </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l732"><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://tomawezome.github.io/ZealOS/Compiler/UAsm.CC.html#l771"><span class=cF4>U</span></a><span class=cF0>(). </span><a href="https://tomawezome.github.io/ZealOS/Compiler/UAsm.CC.html#l771"><span class=cF4>U</span></a><span class=cF0>(</span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4046"><span class=cF4>_RIP</span></a><span class=cF0>);
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Compiler/UAsm.CC.html#l771"><span class=cF4>U</span></a><span class=cF0>(&FunName+offset) to unassemble mem or </span><a href="https://tomawezome.github.io/ZealOS/System/Debug.CC.html#l330"><span class=cF4>Uf</span></a><span class=cF0>("FunName") to unassemble a function. </span><a href="https://tomawezome.github.io/ZealOS/Compiler/UAsm.CC.html#l771"><span class=cF4>U</span></a><span class=cF0>(</span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4046"><span class=cF4>_RIP</span></a><span class=cF0>-16);
|
||||
<a name="l8"></a>
|
||||
|
@ -40,8 +40,8 @@ body {background-color:#000000;}
|
|||
<a name="l13"></a>
|
||||
<a name="l14"></a>* You can use </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l507"><span class=cF4>SysLog</span></a><span class=cF0>() to send text to the </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l154"><span class=cF4>System Task</span></a><span class=cF0> window. It works like </span><a href="https://tomawezome.github.io/ZealOS/Kernel/StrPrint.CC.html#l1110"><span class=cF4>Print</span></a><span class=cF0>(). You could also use </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l232"><span class=cF4>RawPrint</span></a><span class=cF0>().
|
||||
<a name="l15"></a>
|
||||
<a name="l16"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l183"><span class=cF4>D</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocPutS.CC.html#l366"><span class=cF4>DocD</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l251"><span class=cF4>RawD</span></a><span class=cF0>() to do 16 column hex dump mem with numbering from zero. With </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocPutS.CC.html#l366"><span class=cF4>DocD</span></a><span class=cF0> the values are updated continually and
|
||||
<a name="l17"></a>you can alter mem by editing.
|
||||
<a name="l16"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l183"><span class=cF4>D</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocPutS.CC.html#l366"><span class=cF4>DocD</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l251"><span class=cF4>RawD</span></a><span class=cF0>() to do 16 column hex dump mem with numbering from zero. With </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocPutS.CC.html#l366"><span class=cF4>DocD</span></a><span class=cF0> the values are updated continually
|
||||
<a name="l17"></a>and you can alter mem by editing.
|
||||
<a name="l18"></a>
|
||||
<a name="l19"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l218"><span class=cF4>Dm</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocPutS.CC.html#l352"><span class=cF4>DocDm</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l269"><span class=cF4>RawDm</span></a><span class=cF0>() to do 16 column hex dump mem with addresses showing.
|
||||
<a name="l20"></a>
|
||||
|
@ -51,17 +51,17 @@ body {background-color:#000000;}
|
|||
<a name="l24"></a>
|
||||
<a name="l25"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/Debug.CC.html#l216"><span class=cF4>ClassRep</span></a><span class=cF0>() and the dynamic version </span><a href="https://tomawezome.github.io/ZealOS/System/Debug.CC.html#l246"><span class=cF4>ClassRepD</span></a><span class=cF0>() can be used to dump structures.
|
||||
<a name="l26"></a>
|
||||
<a name="l27"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/Utils/Profiler.CC.html#l30"><span class=cF4>Prof</span></a><span class=cF0>() and </span><a href="https://tomawezome.github.io/ZealOS/System/Utils/Profiler.CC.html#l61"><span class=cF4>ProfRep</span></a><span class=cF0>() provide code profiling. See </span><a href="https://tomawezome.github.io/ZealOS/Demo/InFile/InProfile.IN.html#l1"><span class=cF4>::/Demo/InFile/InProfile.IN</span></a><span class=cF0> (This is an </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l218"><span class=cF4>InFile</span></a><span class=cF0>.)
|
||||
<a name="l27"></a>* </span><a href="https://tomawezome.github.io/ZealOS/System/Utils/Profiler.CC.html#l30"><span class=cF4>Prof</span></a><span class=cF0>() and </span><a href="https://tomawezome.github.io/ZealOS/System/Utils/Profiler.CC.html#l61"><span class=cF4>ProfRep</span></a><span class=cF0>() provide code profiling. See </span><a href="https://tomawezome.github.io/ZealOS/Demo/InFile/InProfile.IN.html#l1"><span class=cF4>::/Demo/InFile/InProfile.IN</span></a><span class=cF0> (This is an </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l219"><span class=cF4>InFile</span></a><span class=cF0>.)
|
||||
<a name="l28"></a>
|
||||
<a name="l29"></a>* Use </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l232"><span class=cF4>RawPrint</span></a><span class=cF0>() to print debug info bypassing the window framework. You pass these routines a count in milliseconds for how
|
||||
<a name="l30"></a>long it should be displayed. You can use </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMisc.CC.html#l257"><span class=cF4>Raw</span></a><span class=cF0>(</span><span class=cF2>TRUE</span><span class=cF0>) to make all output bypass the window framework. The </span><span class=cF2>WinMgr</span><span class=cF0> runs on </span><span class=cF2>Core0</span><span class=cF0> and
|
||||
<a name="l31"></a>will overwrite raw text from other cores when it updates the screen.
|
||||
<a name="l30"></a>long it should be displayed. You can use </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMisc.CC.html#l257"><span class=cF4>Raw</span></a><span class=cF0>(</span><span class=cF2>TRUE</span><span class=cF0>) to make all output bypass the window framework. The </span><span class=cF2>WinMgr</span><span class=cF0> runs on </span><span class=cF2>Core0</span><span class=cF0>
|
||||
<a name="l31"></a>and will overwrite raw text from other cores when it updates the screen.
|
||||
<a name="l32"></a>
|
||||
<a name="l33"></a>* Use </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMisc.CC.html#l247"><span class=cF4>SysDebug</span></a><span class=cF0>() to set a flag which you can read with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMisc.CC.html#l252"><span class=cF4>IsSysDebug</span></a><span class=cF0>() when you wish to trigger some debug activity. It's just a
|
||||
<a name="l34"></a>handy simple flag, nothing fancy.
|
||||
<a name="l35"></a>
|
||||
<a name="l36"></a>* There are flags for various trace options that can help debugging when there are compiler bugs. Often, you place them in </span><span class=cF2>#exe
|
||||
<a name="l37"></a>{}</span><span class=cF0> blocks.
|
||||
<a name="l36"></a>* There are flags for various trace options that can help debugging when there are compiler bugs. Often, you place them in </span><span class=cF2>#e
|
||||
<a name="l37"></a>xe{}</span><span class=cF0> blocks.
|
||||
<a name="l38"></a> </span><span class=cF4>
|
||||
<a name="l39"></a> </span><a href="https://tomawezome.github.io/ZealOS/Compiler/CMisc.CC.html#l66"><span class=cF4>Echo</span></a><span class=cF0>() turns on or off raw data going into the lexical analyzer.
|
||||
<a name="l40"></a> </span><span class=cF4>
|
||||
|
@ -77,9 +77,9 @@ body {background-color:#000000;}
|
|||
<a name="l50"></a>environment or in the window mgr when it queues kbd messages. You can do </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMisc.CC.html#l257"><span class=cF4>Raw</span></a><span class=cF0>() output. </span><span class=cF2><CTRL-ALT-letter></span><span class=cF0> handlers take a
|
||||
<a name="l51"></a>scan_code as an arg.
|
||||
<a name="l52"></a>
|
||||
<a name="l53"></a>* If you recompile </span><span class=cF2>Kernel</span><span class=cF0> with </span><a href="https://tomawezome.github.io/ZealOS/System/Boot/BootHDIns.CC.html#l24"><span class=cF4>BootHDIns</span></a><span class=cF0>(), you can set the </span><span class=cF4>MemInit</span><span class=cF0>, option to initialize memory to a value at boot, the </span><span class=cF4>HeapIni
|
||||
<a name="l54"></a>t</span><span class=cF0> option to cause mem alloced off the heap to be initialized or </span><span class=cF4>VarInit</span><span class=cF0> option so both global and local vars will be initialized
|
||||
<a name="l55"></a>to a value, but global AOT variables are always zero if not initialized. Pick a non-zero value to discover uninitialized var
|
||||
<a name="l56"></a>bugs. You can set </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l145"><span class=cF4>sys_var_init_flag</span></a><span class=cF0>, and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l141"><span class=cF4>sys_heap_init_flag</span></a><span class=cF0> directly after booting.
|
||||
<a name="l53"></a>* If you recompile </span><span class=cF2>Kernel</span><span class=cF0> with </span><a href="https://tomawezome.github.io/ZealOS/System/Boot/BootHDIns.CC.html#l24"><span class=cF4>BootHDIns</span></a><span class=cF0>(), you can set the </span><span class=cF4>MemInit</span><span class=cF0>, option to initialize memory to a value at boot, the </span><span class=cF4>HeapI
|
||||
<a name="l54"></a>nit</span><span class=cF0> option to cause mem alloced off the heap to be initialized or </span><span class=cF4>VarInit</span><span class=cF0> option so both global and local vars will be
|
||||
<a name="l55"></a>initialized to a value, but global AOT variables are always zero if not initialized. Pick a non-zero value to discover
|
||||
<a name="l56"></a>uninitialized var bugs. You can set </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l145"><span class=cF4>sys_var_init_flag</span></a><span class=cF0>, and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l141"><span class=cF4>sys_heap_init_flag</span></a><span class=cF0> directly after booting.
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -31,11 +31,11 @@ body {background-color:#000000;}
|
|||
<a name="l4"></a>
|
||||
<a name="l5"></a>If you have an </span><span class=cF2>@</span><span class=cF0> as the first char of a define list entry, it is an alias for the prev entry num.
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a>Each task can load its own Define strings. Remember, when a </span><span class=cF4><u>Hash</u></span><span class=cF0> table is searched for a string, if it is not found, the parent
|
||||
<a name="l8"></a>task's table is searched.
|
||||
<a name="l7"></a>Each task can load its own Define strings. Remember, when a </span><span class=cF4><u>Hash</u></span><span class=cF0> table is searched for a string, if it is not found, the
|
||||
<a name="l8"></a>parent task's table is searched.
|
||||
<a name="l9"></a>
|
||||
<a name="l10"></a>The </span><a href="https://tomawezome.github.io/ZealOS/Doc/DolDocOverview.DD.html#l1"><span class=cF4>DolDoc</span></a><span class=cF0> framework supports text that changes based on entries in the task's symbol table. Set a text entry with a </span><span class=cF2>D=</span><span class=cF0> arg, as
|
||||
<a name="l11"></a>in </span><span class=cF2>$TX,"",D="DD_MYSTRING"$</span><span class=cF0>. See </span><a href="https://tomawezome.github.io/ZealOS/Demo/DolDoc/DefineStr.CC.html#l1"><span class=cF4>::/Demo/DolDoc/DefineStr.CC</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/System/ZDefine.CC.html#l1"><span class=cF4>::/System/ZDefine.CC</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Doc/MemoryOverview.DD.html#l1"><span class=cF4>::/Doc/MemoryOverview.DD</span></a><span class=cF0>.
|
||||
<a name="l10"></a>The </span><a href="https://tomawezome.github.io/ZealOS/Doc/DolDocOverview.DD.html#l1"><span class=cF4>DolDoc</span></a><span class=cF0> framework supports text that changes based on entries in the task's symbol table. Set a text entry with a </span><span class=cF2>D=</span><span class=cF0> arg,
|
||||
<a name="l11"></a>as in </span><span class=cF2>$TX,"",D="DD_MYSTRING"$</span><span class=cF0>. See </span><a href="https://tomawezome.github.io/ZealOS/Demo/DolDoc/DefineStr.CC.html#l1"><span class=cF4>::/Demo/DolDoc/DefineStr.CC</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/System/ZDefine.CC.html#l1"><span class=cF4>::/System/ZDefine.CC</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Doc/MemoryOverview.DD.html#l1"><span class=cF4>::/Doc/MemoryOverview.DD</span></a><span class=cF0>.
|
||||
<a name="l12"></a>
|
||||
<a name="l13"></a>See </span><a href="https://tomawezome.github.io/ZealOS/Demo/Define.CC.html#l1"><span class=cF4>::/Demo/Define.CC</span></a><span class=cF0>.
|
||||
</span></pre></body>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> ZealOS Demo Index</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> ZealOS Demo Index</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>These are arranged in increasing order of difficulty, more or less. This can be used as a tutorial if you start at the
|
||||
<a name="l4"></a>beginning and work your way forward.
|
||||
|
|
|
@ -25,8 +25,8 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF0>A </span><a href="https://tomawezome.github.io/ZealOS/Doc/DolDocOverview.DD.html#l1"><span class=cF4>DolDoc</span></a><span class=cF0> in memory is a </span><span class=cF4><u>Circular Queue</u></span><span class=cF0> of cmds and graphics. See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1326"><span class=cF4>CDocEntry</span></a><span class=cF0> for the entry structure. See </span><a href="https://tomawezome.github.io/ZealOS/System/Training.CC.html#l174"><span class=cF4>TipOfDay</span></a><span class=cF0>() for a nice
|
||||
<a name="l2"></a>example.
|
||||
<a name="l1"></a><span class=cF0>A </span><a href="https://tomawezome.github.io/ZealOS/Doc/DolDocOverview.DD.html#l1"><span class=cF4>DolDoc</span></a><span class=cF0> in memory is a </span><span class=cF4><u>Circular Queue</u></span><span class=cF0> of cmds and graphics. See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1326"><span class=cF4>CDocEntry</span></a><span class=cF0> for the entry structure. See </span><a href="https://tomawezome.github.io/ZealOS/System/Training.CC.html#l174"><span class=cF4>TipOfDay</span></a><span class=cF0>() for a
|
||||
<a name="l2"></a>nice example.
|
||||
<a name="l3"></a></span><span class=cF4>
|
||||
<a name="l4"></a></span><a href="https://tomawezome.github.io/ZealOS/Doc/DolDocOverview.DD.html#l1"><span class=cF4>DolDoc</span></a><span class=cF0>'s are used for the editor, viewer, browser, and cmd line.
|
||||
</span></pre></body>
|
||||
|
|
|
@ -26,10 +26,10 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> DolDoc Overview</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> DolDoc Overview</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>DolDoc is a ZealOS document type supported by </span><span class=cF4><u>DolDoc Routines</u></span><span class=cF0>. In a document, commands are bracketed with '</span><span class=cF2>$</span><span class=cF0>'s. Use </span><span class=cF2><CTRL-l></span><span class=cF0>
|
||||
<a name="l4"></a>to experiment inserting a command. Then, use </span><span class=cF2><CTRL-t></span><span class=cF0> to toggle to plain text to see it.
|
||||
<a name="l3"></a>DolDoc is a ZealOS document type supported by </span><span class=cF4><u>DolDoc Routines</u></span><span class=cF0>. In a document, commands are bracketed with '</span><span class=cF2>$</span><span class=cF0>'s. Use </span><span class=cF2><CTRL-
|
||||
<a name="l4"></a>l></span><span class=cF0> to experiment inserting a command. Then, use </span><span class=cF2><CTRL-t></span><span class=cF0> to toggle to plain text to see it.
|
||||
<a name="l5"></a>
|
||||
<a name="l6"></a>Here is the grammar:
|
||||
<a name="l7"></a>
|
||||
|
@ -40,106 +40,107 @@ body {background-color:#000000;}
|
|||
<a name="l12"></a><ArgList> := <</span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocInit.CC.html#l14"><span class=cF4>ArgCode</span></a><span class=cF0>></span><span class=cF2>=</span><span class=cF0><ArgExpression>[</span><span class=cF2>,</span><span class=cF0><ArgList>]
|
||||
<a name="l13"></a>
|
||||
<a name="l14"></a>
|
||||
<a name="l15"></a>The format of DolDoc cmds is a two character code, +/-flags, a comma and args separated by commas. Some commands have mandatory
|
||||
<a name="l16"></a>args. Optional args are indicated with <</span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocInit.CC.html#l14"><span class=cF4>ArgCode</span></a><span class=cF0>></span><span class=cF2>=</span><span class=cF0>. A </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDefine.CC.html#l246"><span class=cF4>ColorName</span></a><span class=cF0> bracked by dollars, will change the foreground color.
|
||||
<a name="l17"></a>
|
||||
<a name="l18"></a>See </span><a href="https://tomawezome.github.io/ZealOS/Doc/Widget.DD.html#l1"><span class=cF4>::/Doc/Widget.DD</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/Demo/DolDoc/DemoDoc.DD.html#l1"><span class=cF4>::/Demo/DolDoc/DemoDoc.DD</span></a><span class=cF0>, and </span><a href="https://tomawezome.github.io/ZealOS/Demo/ToHtmlToTXTDemo/ToHtml.CC.html#l1"><span class=cF4>::/Demo/ToHtmlToTXTDemo/ToHtml.CC</span></a><span class=cF0>.
|
||||
<a name="l19"></a>
|
||||
<a name="l20"></a><</span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocInit.CC.html#l9"><span class=cF4>TwoLetterCmd</span></a><span class=cF0>> See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1041"><span class=cF4>Type Defines</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocPlain.CC.html#l272"><span class=cF4>ParseDollarCmd</span></a><span class=cF0>().</span><span class=cF5>
|
||||
<a name="l21"></a><u>+] TX Text
|
||||
<a name="l22"></a>+] CR Hard New Line
|
||||
<a name="l23"></a>+] SR Soft New Line
|
||||
<a name="l24"></a>+] CU Cursor pos
|
||||
<a name="l25"></a>+] TB Tab
|
||||
<a name="l26"></a>+] CL Clear
|
||||
<a name="l27"></a>+] PB Page Break
|
||||
<a name="l28"></a>+] PL Page Length
|
||||
<a name="l29"></a>+] LM Left Margin
|
||||
<a name="l30"></a>+] RM Right Margin
|
||||
<a name="l31"></a>+] HD Header
|
||||
<a name="l32"></a>+] FO Footer
|
||||
<a name="l33"></a>+] ID Indent +/- num
|
||||
<a name="l34"></a>+] Text Colors
|
||||
<a name="l35"></a>+] PT User Prompt
|
||||
<a name="l36"></a>+] WW Word Wrap
|
||||
<a name="l37"></a>+] UL Underline
|
||||
<a name="l38"></a>+] IV Invert
|
||||
<a name="l39"></a>+] BK Blink
|
||||
<a name="l40"></a>+] SX Shift X pos
|
||||
<a name="l41"></a>+] SY Shift Y pos
|
||||
<a name="l42"></a>+] CM Cursor Movement
|
||||
<a name="l43"></a>+] AN Anchor
|
||||
<a name="l44"></a>+] LK Link
|
||||
<a name="l45"></a>+] BT Bttn
|
||||
<a name="l46"></a>+] DA Data
|
||||
<a name="l47"></a>+] CB Check Box
|
||||
<a name="l48"></a>+] LS List Widget
|
||||
<a name="l49"></a>+] MA Macro
|
||||
<a name="l50"></a>+] MU Menu Value
|
||||
<a name="l51"></a>+] HX Hex Edit
|
||||
<a name="l52"></a>+] TR Tree Widget
|
||||
<a name="l53"></a>+] SP Sprite
|
||||
<a name="l54"></a>+] IB Insert Binary
|
||||
<a name="l55"></a>+] IS Insert Binary Size
|
||||
<a name="l56"></a>+] SO Song
|
||||
<a name="l57"></a>+] HL Highlighting
|
||||
<a name="l58"></a>+] HC html
|
||||
<a name="l59"></a>+] ER Error</span><span class=cF0>
|
||||
<a name="l60"></a>
|
||||
<a name="l61"></a></u><</span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocInit.CC.html#l14"><span class=cF4>FlagCode</span></a><span class=cF0>> See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1209"><span class=cF4>Flag Defines</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Doc/Widget.DD.html#l1"><span class=cF4>Simple Flags</span></a><span class=cF0>.</span><span class=cF5>
|
||||
<a name="l62"></a><u>+] +H Hold
|
||||
<a name="l63"></a>+] +L Link
|
||||
<a name="l64"></a>+] +TR Tree
|
||||
<a name="l65"></a>+] +LS List
|
||||
<a name="l66"></a>+] +PU PopUp
|
||||
<a name="l67"></a>+] +C Collapsed
|
||||
<a name="l68"></a>+] +X <ESC> (Exit)
|
||||
<a name="l69"></a>+] +Q <SHIFT-ESC> (Abort Quit)
|
||||
<a name="l70"></a>+] +Z Zero
|
||||
<a name="l71"></a>+] +RD Refresh Data
|
||||
<a name="l72"></a>+] +UD Update Data
|
||||
<a name="l73"></a>+] +TC Tag CallBack
|
||||
<a name="l74"></a>+] +LC Left CallBack
|
||||
<a name="l75"></a>+] +RC Right CallBack</span><span class=cF0>
|
||||
<a name="l76"></a>
|
||||
<a name="l77"></a></u><</span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocInit.CC.html#l14"><span class=cF4>ArgCode</span></a><span class=cF0>> See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1191"><span class=cF4>Arg Defines</span></a><span class=cF0>.</span><span class=cF5>
|
||||
<a name="l78"></a><u>+] T="" Tag Str
|
||||
<a name="l79"></a>+] LEN="" Field Length
|
||||
<a name="l80"></a>+] A="" Auxilliary Str
|
||||
<a name="l81"></a>+] D="" Define Str
|
||||
<a name="l82"></a>+] HTML=""
|
||||
<a name="l83"></a>+] LE=<Exp> Left Expression
|
||||
<a name="l84"></a>+] LM="" Left Macro Str
|
||||
<a name="l85"></a>+] RE=<Exp> Right Expression
|
||||
<a name="l86"></a>+] RM="" Right Macro Str
|
||||
<a name="l87"></a>+] BI=<Exp> Bin Number
|
||||
<a name="l88"></a>+] BP="" Bin Ptr
|
||||
<a name="l89"></a>+] RT=<raw_data_type>
|
||||
<a name="l90"></a>+] SX=<Exp> Shift X
|
||||
<a name="l91"></a>+] SY=<Exp> Shift Y
|
||||
<a name="l92"></a>+] SCX=<Exp> Scroll X
|
||||
<a name="l93"></a>+] U=<Exp> User Data</span><span class=cF0>
|
||||
<a name="l94"></a>
|
||||
<a name="l95"></a></u></span><span class=cF5>EXAMPLES:
|
||||
<a name="l96"></a>
|
||||
<a name="l97"></a></span><span class=cF0><CTRL-t> to see how the following were done.
|
||||
<a name="l98"></a><u>Underlined</u> </span><span class=c0F>Inverted</span><span class=cF0> <blink>Blinking</blink> super sub
|
||||
<a name="l99"></a>This is a big long scrolling message.
|
||||
<a name="l100"></a>
|
||||
<a name="l101"></a></span><span class=cF5>Cursor Movements:</span><span class=cF0>
|
||||
<a name="l102"></a>
|
||||
<a name="l15"></a>The format of DolDoc cmds is a two character code, +/-flags, a comma and args separated by commas. Some commands have
|
||||
<a name="l16"></a>mandatory args. Optional args are indicated with <</span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocInit.CC.html#l14"><span class=cF4>ArgCode</span></a><span class=cF0>></span><span class=cF2>=</span><span class=cF0>. A </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDefine.CC.html#l246"><span class=cF4>ColorName</span></a><span class=cF0> bracked by dollars, will change the foreground
|
||||
<a name="l17"></a>color.
|
||||
<a name="l18"></a>
|
||||
<a name="l19"></a>See </span><a href="https://tomawezome.github.io/ZealOS/Doc/Widget.DD.html#l1"><span class=cF4>::/Doc/Widget.DD</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/Demo/DolDoc/DemoDoc.DD.html#l1"><span class=cF4>::/Demo/DolDoc/DemoDoc.DD</span></a><span class=cF0>, and </span><a href="https://tomawezome.github.io/ZealOS/Demo/ToHtmlToTXTDemo/ToHtml.CC.html#l1"><span class=cF4>::/Demo/ToHtmlToTXTDemo/ToHtml.CC</span></a><span class=cF0>.
|
||||
<a name="l20"></a>
|
||||
<a name="l21"></a><</span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocInit.CC.html#l9"><span class=cF4>TwoLetterCmd</span></a><span class=cF0>> See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1041"><span class=cF4>Type Defines</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocPlain.CC.html#l272"><span class=cF4>ParseDollarCmd</span></a><span class=cF0>().</span><span class=cF5>
|
||||
<a name="l22"></a><u>+] TX Text
|
||||
<a name="l23"></a>+] CR Hard New Line
|
||||
<a name="l24"></a>+] SR Soft New Line
|
||||
<a name="l25"></a>+] CU Cursor pos
|
||||
<a name="l26"></a>+] TB Tab
|
||||
<a name="l27"></a>+] CL Clear
|
||||
<a name="l28"></a>+] PB Page Break
|
||||
<a name="l29"></a>+] PL Page Length
|
||||
<a name="l30"></a>+] LM Left Margin
|
||||
<a name="l31"></a>+] RM Right Margin
|
||||
<a name="l32"></a>+] HD Header
|
||||
<a name="l33"></a>+] FO Footer
|
||||
<a name="l34"></a>+] ID Indent +/- num
|
||||
<a name="l35"></a>+] Text Colors
|
||||
<a name="l36"></a>+] PT User Prompt
|
||||
<a name="l37"></a>+] WW Word Wrap
|
||||
<a name="l38"></a>+] UL Underline
|
||||
<a name="l39"></a>+] IV Invert
|
||||
<a name="l40"></a>+] BK Blink
|
||||
<a name="l41"></a>+] SX Shift X pos
|
||||
<a name="l42"></a>+] SY Shift Y pos
|
||||
<a name="l43"></a>+] CM Cursor Movement
|
||||
<a name="l44"></a>+] AN Anchor
|
||||
<a name="l45"></a>+] LK Link
|
||||
<a name="l46"></a>+] BT Bttn
|
||||
<a name="l47"></a>+] DA Data
|
||||
<a name="l48"></a>+] CB Check Box
|
||||
<a name="l49"></a>+] LS List Widget
|
||||
<a name="l50"></a>+] MA Macro
|
||||
<a name="l51"></a>+] MU Menu Value
|
||||
<a name="l52"></a>+] HX Hex Edit
|
||||
<a name="l53"></a>+] TR Tree Widget
|
||||
<a name="l54"></a>+] SP Sprite
|
||||
<a name="l55"></a>+] IB Insert Binary
|
||||
<a name="l56"></a>+] IS Insert Binary Size
|
||||
<a name="l57"></a>+] SO Song
|
||||
<a name="l58"></a>+] HL Highlighting
|
||||
<a name="l59"></a>+] HC html
|
||||
<a name="l60"></a>+] ER Error</span><span class=cF0>
|
||||
<a name="l61"></a>
|
||||
<a name="l62"></a></u><</span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocInit.CC.html#l14"><span class=cF4>FlagCode</span></a><span class=cF0>> See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1209"><span class=cF4>Flag Defines</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Doc/Widget.DD.html#l1"><span class=cF4>Simple Flags</span></a><span class=cF0>.</span><span class=cF5>
|
||||
<a name="l63"></a><u>+] +H Hold
|
||||
<a name="l64"></a>+] +L Link
|
||||
<a name="l65"></a>+] +TR Tree
|
||||
<a name="l66"></a>+] +LS List
|
||||
<a name="l67"></a>+] +PU PopUp
|
||||
<a name="l68"></a>+] +C Collapsed
|
||||
<a name="l69"></a>+] +X <ESC> (Exit)
|
||||
<a name="l70"></a>+] +Q <SHIFT-ESC> (Abort Quit)
|
||||
<a name="l71"></a>+] +Z Zero
|
||||
<a name="l72"></a>+] +RD Refresh Data
|
||||
<a name="l73"></a>+] +UD Update Data
|
||||
<a name="l74"></a>+] +TC Tag CallBack
|
||||
<a name="l75"></a>+] +LC Left CallBack
|
||||
<a name="l76"></a>+] +RC Right CallBack</span><span class=cF0>
|
||||
<a name="l77"></a>
|
||||
<a name="l78"></a></u><</span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocInit.CC.html#l14"><span class=cF4>ArgCode</span></a><span class=cF0>> See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1191"><span class=cF4>Arg Defines</span></a><span class=cF0>.</span><span class=cF5>
|
||||
<a name="l79"></a><u>+] T="" Tag Str
|
||||
<a name="l80"></a>+] LEN="" Field Length
|
||||
<a name="l81"></a>+] A="" Auxilliary Str
|
||||
<a name="l82"></a>+] D="" Define Str
|
||||
<a name="l83"></a>+] HTML=""
|
||||
<a name="l84"></a>+] LE=<Exp> Left Expression
|
||||
<a name="l85"></a>+] LM="" Left Macro Str
|
||||
<a name="l86"></a>+] RE=<Exp> Right Expression
|
||||
<a name="l87"></a>+] RM="" Right Macro Str
|
||||
<a name="l88"></a>+] BI=<Exp> Bin Number
|
||||
<a name="l89"></a>+] BP="" Bin Ptr
|
||||
<a name="l90"></a>+] RT=<raw_data_type>
|
||||
<a name="l91"></a>+] SX=<Exp> Shift X
|
||||
<a name="l92"></a>+] SY=<Exp> Shift Y
|
||||
<a name="l93"></a>+] SCX=<Exp> Scroll X
|
||||
<a name="l94"></a>+] U=<Exp> User Data</span><span class=cF0>
|
||||
<a name="l95"></a>
|
||||
<a name="l96"></a></u></span><span class=cF5>EXAMPLES:
|
||||
<a name="l97"></a>
|
||||
<a name="l98"></a></span><span class=cF0><CTRL-t> to see how the following were done.
|
||||
<a name="l99"></a><u>Underlined</u> </span><span class=c0F>Inverted</span><span class=cF0> <blink>Blinking</blink> super sub
|
||||
<a name="l100"></a>This is a big long scrolling message.
|
||||
<a name="l101"></a>
|
||||
<a name="l102"></a></span><span class=cF5>Cursor Movements:</span><span class=cF0>
|
||||
<a name="l103"></a>
|
||||
<a name="l104"></a>
|
||||
<a name="l105"></a> Cursor moved 3 rows down and to 3rd column from left.
|
||||
<a name="l106"></a>
|
||||
<a name="l107"></a>
|
||||
<a name="l105"></a>
|
||||
<a name="l106"></a> Cursor moved 3 rows down and to 3rd column from left.
|
||||
<a name="l107"></a>
|
||||
<a name="l108"></a>
|
||||
<a name="l109"></a> Note mandatory comma after flags
|
||||
<a name="l110"></a>
|
||||
<a name="l111"></a>The following may be changed to modes instead of attr with flags.
|
||||
<a name="l112"></a>
|
||||
<a name="l113"></a> This is centered
|
||||
<a name="l114"></a>
|
||||
<a name="l115"></a> This is right justified
|
||||
<a name="l109"></a>
|
||||
<a name="l110"></a> Note mandatory comma after flags
|
||||
<a name="l111"></a>
|
||||
<a name="l112"></a>The following may be changed to modes instead of attr with flags.
|
||||
<a name="l113"></a>
|
||||
<a name="l114"></a> This is centered
|
||||
<a name="l115"></a>
|
||||
<a name="l116"></a> This is right justified
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Frequently Asked Queuestions</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Frequently Asked Queuestions</span><span class=cF0>
|
||||
<a name="l2"></a></span><span class=cF5>
|
||||
<a name="l3"></a><u>+] How come it is public domain, not GPL?
|
||||
<a name="l4"></a>+] Shouldn't it be GNU/ZealOS?
|
||||
|
|
|
@ -26,7 +26,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=c0F> </span><span class=cF0> </span><span class=cF5> ZealOS Features</span><span class=cF0>
|
||||
<a name="l1"></a><span class=c0F> </span><span class=cF0> </span><span class=cF5> ZealOS Features</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>* Oracle with </span><span class=cF2><F7></span><span class=cF0> for words or </span><span class=cF2><SHIFT-F7></span><span class=cF0> for passages.
|
||||
<a name="l4"></a>
|
||||
|
@ -36,8 +36,8 @@ body {background-color:#000000;}
|
|||
<a name="l8"></a>
|
||||
<a name="l9"></a>* Free, </span><span class=cF2>public domain</span><span class=cF0>, </span><span class=cF2>100% open source</span><span class=cF0>.
|
||||
<a name="l10"></a>
|
||||
<a name="l11"></a>* 64-bit </span><span class=cF2>compiler/assembler</span><span class=cF0> for </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0>. Truly compiles, doesn't interpret. </span><span class=cF2>Just-in-Time</span><span class=cF0> and </span><span class=cF2>Ahead-of-Time</span><span class=cF0> compilation. With </span><span class=cF2>JI
|
||||
<a name="l12"></a>T</span><span class=cF0>, no need for object or exe files.
|
||||
<a name="l11"></a>* 64-bit </span><span class=cF2>compiler/assembler</span><span class=cF0> for </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0>. Truly compiles, doesn't interpret. </span><span class=cF2>Just-in-Time</span><span class=cF0> and </span><span class=cF2>Ahead-of-Time</span><span class=cF0> compilation. With </span><span class=cF2>
|
||||
<a name="l12"></a>JIT</span><span class=cF0>, no need for object or exe files.
|
||||
<a name="l13"></a>
|
||||
<a name="l14"></a>* No 32-bit krufty code.
|
||||
<a name="l15"></a>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> File Manager</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> File Manager</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a></span><span class=cF2><SHIFT CURSOR></span><span class=cF0>
|
||||
<a name="l4"></a> Select files.
|
||||
|
@ -77,8 +77,8 @@ body {background-color:#000000;}
|
|||
<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://tomawezome.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> "::/Tmp/CDDVD.ISO.C"</span><span class=cF0> </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3382"><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 on
|
||||
<a name="l54"></a> a different drive.
|
||||
<a name="l53"></a> "::/Tmp/CDDVD.ISO.C"</span><span class=cF0> </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3382"><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>"::/Tmp/CDDVD.ISO"</span><span class=cF0> </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3382"><span class=cF4>blkdev.default_iso_filename</span></a><span class=cF0> to the drive
|
||||
|
@ -87,8 +87,8 @@ body {background-color:#000000;}
|
|||
<a name="l60"></a>
|
||||
<a name="l61"></a></span><span class=cF5>Instructions on Using CD/DVD's</span><span class=cF0>
|
||||
<a name="l62"></a> If you have not recompiled Kernel and defined your CD/DVD drive, exit the FileMgr and use </span><a href="https://tomawezome.github.io/ZealOS/System/BlkDev/Mount.CC.html#l235"><span class=cF4>Mount</span></a><span class=cF0> to define your CD/DVD drive.
|
||||
<a name="l63"></a> Place a CD/DVD in the drive and press </span><span class=cF2>'c'</span><span class=cF0> when on top of the CD/DVD drive letter to mount the drive. It will call </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskDrive.CC.html#l269"><span class=cF4>DiskChange</span></a><span class=cF0>(
|
||||
<a name="l64"></a> ), the ZealOS cmd to mount removable media.
|
||||
<a name="l63"></a> Place a CD/DVD in the drive and press </span><span class=cF2>'c'</span><span class=cF0> when on top of the CD/DVD drive letter to mount the drive. It will call </span><span class=cF4>
|
||||
<a name="l64"></a> </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskDrive.CC.html#l269"><span class=cF4>DiskChange</span></a><span class=cF0>(), the ZealOS cmd to mount removable media.
|
||||
<a name="l65"></a>
|
||||
<a name="l66"></a>
|
||||
<a name="l67"></a></span><span class=cF5>Instructions on Burning CD/DVD's</span><span class=cF0>
|
||||
|
|
|
@ -25,10 +25,10 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> File Utils</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> File Utils</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>File util </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskFind.CC.html#l32"><span class=cF4>FilesFind</span></a><span class=cF0>() wildcard mask consists of a single base dir with multiple file masks separated by </span><span class=cF2>';'</span><span class=cF0>. The </span><span class=cF2>'*'</span><span class=cF0> and </span><span class=cF2>'?'</span><span class=cF0>
|
||||
<a name="l4"></a>wildcard chars are accepted. The </span><span class=cF2>'~'</span><span class=cF0> is your home directory and </span><span class=cF2>'!'</span><span class=cF0> indicates an exclusion mask.
|
||||
<a name="l3"></a>File util </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskFind.CC.html#l32"><span class=cF4>FilesFind</span></a><span class=cF0>() wildcard mask consists of a single base dir with multiple file masks separated by </span><span class=cF2>';'</span><span class=cF0>. The </span><span class=cF2>'*'</span><span class=cF0> and </span><span class=cF2>'?
|
||||
<a name="l4"></a>'</span><span class=cF0> wildcard chars are accepted. The </span><span class=cF2>'~'</span><span class=cF0> is your home directory and </span><span class=cF2>'!'</span><span class=cF0> indicates an exclusion mask.
|
||||
<a name="l5"></a>
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a></span><span class=cF2>"/Kernel/*"</span><span class=cF0> BaseDir: </span><span class=cF2>/Kernel</span><span class=cF0> Mask: </span><span class=cF2>*</span><span class=cF0>
|
||||
|
|
|
@ -25,8 +25,8 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF0>GR graphics files are 8-bits-per-pixels but only 4-bits of color, with transparency and no palette. Compression is the standard
|
||||
<a name="l2"></a>ZealOS LZW compression.
|
||||
<a name="l1"></a><span class=cF0>GR graphics files are 8-bits-per-pixels but only 4-bits of color, with transparency and no palette. Compression is the
|
||||
<a name="l2"></a>standard ZealOS LZW compression.
|
||||
<a name="l3"></a>
|
||||
<a name="l4"></a>#</span><span class=cF1>define</span><span class=cF0> DCF_COMPRESSED </span><span class=cFE>1</span><span class=cF0> </span><span class=cF2>//This is the only saved flag.</span><span class=cF0>
|
||||
<a name="l5"></a>#</span><span class=cF1>define</span><span class=cF0> </span><span class=cF3>DCF_PALETTE</span><span class=cF0> </span><span class=cFE>2</span><span class=cF0>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Glossary</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Glossary</span><span class=cF0>
|
||||
<a name="l2"></a></span><span class=cF5>
|
||||
<a name="l3"></a><u>+] Abbreviations
|
||||
<a name="l4"></a>+] Task/Process/Thread
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Graphics Overview</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Graphics Overview</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>Dive into </span><a href="https://tomawezome.github.io/ZealOS/Doc/DemoIndex.DD.html#l1"><span class=cF4>Demo Index</span></a><span class=cF0> to learn.
|
||||
<a name="l4"></a>
|
||||
|
@ -70,18 +70,18 @@ body {background-color:#000000;}
|
|||
<a name="l43"></a>
|
||||
<a name="l44"></a>
|
||||
<a name="l45"></a>* See </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrScreen.CC.html#l415"><span class=cF4>GrUpdateScreen</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrScreen.CC.html#l69"><span class=cF4>GrUpdateTasks</span></a><span class=cF0>() and </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrScreen.CC.html#l19"><span class=cF4>GrUpdateTaskWin</span></a><span class=cF0>() called by the WinMgr task 60fps. Notice the task's </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrScreen.CC.html#l41"><span class=cF4>draw_it</span></a><span class=cF0>()
|
||||
<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. You
|
||||
<a name="l47"></a>can have pop-up child tasks.
|
||||
<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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4263"><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://tomawezome.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://tomawezome.github.io/ZealOS/System/Gr/GrDC.CC.html#l230"><span class=cF4>DCDel</span></a><span class=cF0>() when finished.
|
||||
<a name="l52"></a>
|
||||
<a name="l53"></a>* </span><span class=cF4>gr.dc</span><span class=cF0> is a device context for persistent data on the screen, not needing to be redrawn. You create an alias for this by using </span><span class=cF4>
|
||||
<a name="l54"></a></span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrDC.CC.html#l182"><span class=cF4>DCAlias</span></a><span class=cF0>() and work with that. See </span><a href="https://tomawezome.github.io/ZealOS/Demo/Graphics/NetOfDots.CC.html#l1"><span class=cF4>::/Demo/Graphics/NetOfDots.CC</span></a><span class=cF0>.
|
||||
<a name="l53"></a>* </span><span class=cF4>gr.dc</span><span class=cF0> is a device context for persistent data on the screen, not needing to be redrawn. You create an alias for this by
|
||||
<a name="l54"></a>using </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrDC.CC.html#l182"><span class=cF4>DCAlias</span></a><span class=cF0>() and work with that. See </span><a href="https://tomawezome.github.io/ZealOS/Demo/Graphics/NetOfDots.CC.html#l1"><span class=cF4>::/Demo/Graphics/NetOfDots.CC</span></a><span class=cF0>.
|
||||
<a name="l55"></a>
|
||||
<a name="l56"></a>* There are various flavors of line and point plotting routines. </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrPrimatives.CC.html#l663"><span class=cF4>GrLine</span></a><span class=cF0>() and </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrPrimatives.CC.html#l61"><span class=cF4>GrPlot</span></a><span class=cF0>() are the simplest. The others allow 3D
|
||||
<a name="l57"></a>graphics and rotations.
|
||||
<a name="l56"></a>* There are various flavors of line and point plotting routines. </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrPrimatives.CC.html#l663"><span class=cF4>GrLine</span></a><span class=cF0>() and </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrPrimatives.CC.html#l61"><span class=cF4>GrPlot</span></a><span class=cF0>() are the simplest. The others allow
|
||||
<a name="l57"></a>3D graphics and rotations.
|
||||
<a name="l58"></a>
|
||||
<a name="l59"></a>* See </span><a href="https://tomawezome.github.io/ZealOS/Doc/Transform.DD.html#l1"><span class=cF4>::/Doc/Transform.DD</span></a><span class=cF0> for adding a transformation.
|
||||
<a name="l60"></a>
|
||||
|
@ -93,34 +93,34 @@ body {background-color:#000000;}
|
|||
<a name="l66"></a>numbers work, after creating a sprite with </span><span class=cF2><CTRL-r></span><span class=cF0>, toggle to plain text with </span><span class=cF2><CTRL-t></span><span class=cF0> and check its num. Make an assignment
|
||||
<a name="l67"></a>to a ptr var or pass to </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrSpritePlot.CC.html#l18"><span class=cF4>Sprite3</span></a><span class=cF0>() with </span><span class=cF2>$IB,"",BI=n$</span><span class=cF0>. Use </span><span class=cF2><CTRL-r></span><span class=cF0>'s "Pointer to Sprite" to make a </span><span class=cF2>$IB...$</span><span class=cF0> entry. See </span><span class=cF4>
|
||||
<a name="l68"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/Graphics/SpritePlot.CC.html#l1"><span class=cF4>::/Demo/Graphics/SpritePlot.CC</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Demo/Graphics/SpritePlot3D.CC.html#l1"><span class=cF4>::/Demo/Graphics/SpritePlot3D.CC</span></a><span class=cF0>. The origin (zero point) for a sprite is defined by the
|
||||
<a name="l69"></a>cursor location when you pressed </span><span class=cF2><CTRL-r></span><span class=cF0> to make it. You can edit a sprite by clicking the cursor on it and pressing </span><span class=cF2><CTRL-r></span><span class=cF0>
|
||||
<a name="l70"></a>again.
|
||||
<a name="l69"></a>cursor location when you pressed </span><span class=cF2><CTRL-r></span><span class=cF0> to make it. You can edit a sprite by clicking the cursor on it and pressing </span><span class=cF2><CTRL-r
|
||||
<a name="l70"></a>></span><span class=cF0> again.
|
||||
<a name="l71"></a>
|
||||
<a name="l72"></a>* Set </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4237"><span class=cF4>DCF_SYMMETRY</span></a><span class=cF0> in the </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4263"><span class=cF4>CDC</span></a><span class=cF2>.flags</span><span class=cF0> and call </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrMath.CC.html#l236"><span class=cF4>DCSymmetrySet</span></a><span class=cF0>() or </span><a href="https://tomawezome.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 to
|
||||
<a name="l73"></a>the primary image. Set </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4241"><span class=cF4>DCF_JUST_MIRROR</span></a><span class=cF0> to plot just the image, but this required </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4237"><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://tomawezome.github.io/ZealOS/System/Gr/Gr.HH.html#l157"><span class=cF4>CSprite</span></a><span class=cF0>s.
|
||||
<a name="l72"></a>* Set </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4237"><span class=cF4>DCF_SYMMETRY</span></a><span class=cF0> in the </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4263"><span class=cF4>CDC</span></a><span class=cF2>.flags</span><span class=cF0> and call </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrMath.CC.html#l236"><span class=cF4>DCSymmetrySet</span></a><span class=cF0>() or </span><a href="https://tomawezome.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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4241"><span class=cF4>DCF_JUST_MIRROR</span></a><span class=cF0> to plot just the image, but this required </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4237"><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://tomawezome.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://tomawezome.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://tomawezome.github.io/ZealOS/System/Gr/GrBitMap.CC.html#l93"><span class=cF4>GrBlot</span></a><span class=cF0>ed onto the screen. If you set </span><span class=cF2>
|
||||
<a name="l77"></a>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://tomawezome.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://tomawezome.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="l76"></a>* Use </span><a href="https://tomawezome.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://tomawezome.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://tomawezome.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://tomawezome.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://tomawezome.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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3564"><span class=cF4>raster operations</span></a><span class=cF0> available. They go in bits 8-11 of the </span><span class=cF2>dc->color</span><span class=cF0> member var which is a </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3605"><span class=cF4>CColorROPU32</span></a><span class=cF0>. </span><span class=cF4>
|
||||
<a name="l81"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3566"><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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3566"><span class=cF4>ROP_COLLISION</span></a><span class=cF0> with vector </span><span class=cF4>
|
||||
<a name="l82"></a></span><a href="https://tomawezome.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://tomawezome.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://tomawezome.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>->bkcolor</span><span class=cF0> before using </span><span class=cF4>
|
||||
<a name="l84"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3566"><span class=cF4>ROP_COLLISION</span></a><span class=cF0>. See </span><a href="https://tomawezome.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://tomawezome.github.io/ZealOS/Apps/Titanium/Titanium.CC.html#l555"><span class=cF4>Titanium</span></a><span class=cF0>.
|
||||
<a name="l83"></a>count or convert your </span><a href="https://tomawezome.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>->bkcolor</span><span class=cF0> before
|
||||
<a name="l84"></a>using </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3566"><span class=cF4>ROP_COLLISION</span></a><span class=cF0>. See </span><a href="https://tomawezome.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://tomawezome.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>->dither_probability_u16</span><span class=cF0> member of </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4263"><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://tomawezome.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://tomawezome.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 routines,
|
||||
<a name="l88"></a>but not those with pens.
|
||||
<a name="l87"></a>more shades of color. See </span><a href="https://tomawezome.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://tomawezome.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>
|
||||
<a name="l90"></a>* There is a mechanism built-in for generating motion based on differential equations, which allows realistic physics. You
|
||||
<a name="l91"></a>create an </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l281"><span class=cF4>CMathODE</span></a><span class=cF0> struct with </span><a href="https://tomawezome.github.io/ZealOS/System/MathODE.CC.html#l31"><span class=cF4>ODENew</span></a><span class=cF0>(), passing it the num of vars in the state vect. For realistic physics, you usually have
|
||||
<a name="l92"></a>2 state vars for each dimension (for each mass) because motion is governed by F=mA which is a 2nd order equation. The two
|
||||
<a name="l93"></a>states are pos and velocity and to solve these you need to supply the derivative of pos and velocity. The derivative of pos is
|
||||
<a name="l94"></a>usually simply the current velocity and the derivative of velocity is the acceleration (the sum of forces on a mass divided by
|
||||
<a name="l95"></a>mass). To help provide meaningful names for values in the state vect, you can create an </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l230"><span class=cF4>COrder2D3</span></a><span class=cF0> ptr and point it to a mass in
|
||||
<a name="l96"></a>the state vect. Six elements in the state vect are required for each mass.
|
||||
<a name="l91"></a>create an </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l281"><span class=cF4>CMathODE</span></a><span class=cF0> struct with </span><a href="https://tomawezome.github.io/ZealOS/System/MathODE.CC.html#l31"><span class=cF4>ODENew</span></a><span class=cF0>(), passing it the num of vars in the state vect. For realistic physics, you usually
|
||||
<a name="l92"></a>have 2 state vars for each dimension (for each mass) because motion is governed by F=mA which is a 2nd order equation. The
|
||||
<a name="l93"></a>two states are pos and velocity and to solve these you need to supply the derivative of pos and velocity. The derivative of
|
||||
<a name="l94"></a>pos is usually simply the current velocity and the derivative of velocity is the acceleration (the sum of forces on a mass
|
||||
<a name="l95"></a>divided by mass). To help provide meaningful names for values in the state vect, you can create an </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l230"><span class=cF4>COrder2D3</span></a><span class=cF0> ptr and point
|
||||
<a name="l96"></a>it to a mass in the state vect. Six elements in the state vect are required for each mass.
|
||||
<a name="l97"></a>
|
||||
<a name="l98"></a>See </span><span class=cF4><u>Math/CMathODE</u></span><span class=cF0>.
|
||||
<a name="l99"></a>See </span><a href="https://tomawezome.github.io/ZealOS/Demo/Games/Rocket.CC.html#l1"><span class=cF4>::/Demo/Games/Rocket.CC</span></a><span class=cF0>.
|
||||
|
|
|
@ -25,36 +25,36 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Directory Structure</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Directory Structure</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a></span><span class=cF2>/Home</span><span class=cF0> All your user data should be placed in here to ease backing-up your data. When you install an application it will create
|
||||
<a name="l4"></a>a subdirectory of your </span><span class=cF2>/Home</span><span class=cF0> directory for storage.
|
||||
<a name="l3"></a></span><span class=cF2>/Home</span><span class=cF0> All your user data should be placed in here to ease backing-up your data. When you install an application it will
|
||||
<a name="l4"></a>create a subdirectory of your </span><span class=cF2>/Home</span><span class=cF0> directory for storage.
|
||||
<a name="l5"></a>
|
||||
<a name="l6"></a></span><span class=cF2>/Apps</span><span class=cF0> Applications are placed in subdirectories of </span><span class=cF2>/Apps</span><span class=cF0>. Applications should have a file called </span><span class=cF2>Install.CC</span><span class=cF0> which will install
|
||||
<a name="l7"></a>the app, possibly making files or directories in </span><span class=cF2>/Home</span><span class=cF0>. The file, </span><span class=cF2>Load.CC</span><span class=cF0> will load the application into mem. The file, </span><span class=cF2>Run.CC</span><span class=cF0>
|
||||
<a name="l8"></a>, will usually load and execute the app. To add an app to your PersonalMenu, use </span><span class=cF2><CTRL-l></span><span class=cF0>, insert a macro with the PopUp
|
||||
<a name="l9"></a>option checked and invoke the </span><span class=cF2>Run.CC</span><span class=cF0> file.
|
||||
<a name="l6"></a></span><span class=cF2>/Apps</span><span class=cF0> Applications are placed in subdirectories of </span><span class=cF2>/Apps</span><span class=cF0>. Applications should have a file called </span><span class=cF2>Install.CC</span><span class=cF0> which will
|
||||
<a name="l7"></a>install the app, possibly making files or directories in </span><span class=cF2>/Home</span><span class=cF0>. The file, </span><span class=cF2>Load.CC</span><span class=cF0> will load the application into mem. The
|
||||
<a name="l8"></a>file, </span><span class=cF2>Run.CC</span><span class=cF0>, will usually load and execute the app. To add an app to your PersonalMenu, use </span><span class=cF2><CTRL-l></span><span class=cF0>, insert a macro with
|
||||
<a name="l9"></a>the PopUp option checked and invoke the </span><span class=cF2>Run.CC</span><span class=cF0> file.
|
||||
<a name="l10"></a>
|
||||
<a name="l11"></a></span><span class=cF2>/Demo</span><span class=cF0> Here you can find lots of sample code to do various things.
|
||||
<a name="l12"></a>
|
||||
<a name="l13"></a></span><span class=cF2>/Doc</span><span class=cF0> Here you can find documentation.
|
||||
<a name="l14"></a>
|
||||
<a name="l15"></a></span><span class=cF2>/Kernel</span><span class=cF0> The core of the operating system is found here. Since priviledge levels are not used, calling it a </span><span class=cF2>kernel</span><span class=cF0> is deceptive.
|
||||
<a name="l16"></a>It is </span><span class=cF2>AOT</span><span class=cF0> compiled by </span><a href="https://tomawezome.github.io/ZealOS/System/Boot/BootHDIns.CC.html#l24"><span class=cF4>BootHDIns</span></a><span class=cF0>(). It is loaded by the boot loader and must fit in 640K.
|
||||
<a name="l15"></a></span><span class=cF2>/Kernel</span><span class=cF0> The core of the operating system is found here. Since priviledge levels are not used, calling it a </span><span class=cF2>kernel</span><span class=cF0> is
|
||||
<a name="l16"></a>deceptive. It is </span><span class=cF2>AOT</span><span class=cF0> compiled by </span><a href="https://tomawezome.github.io/ZealOS/System/Boot/BootHDIns.CC.html#l24"><span class=cF4>BootHDIns</span></a><span class=cF0>(). It is loaded by the boot loader and must fit in 640K.
|
||||
<a name="l17"></a>
|
||||
<a name="l18"></a></span><span class=cF2>/Compiler</span><span class=cF0> The compiler module src code is found here. The compiler is </span><span class=cF2>AOT</span><span class=cF0> compiled to produce a binary file which is loaded at
|
||||
<a name="l19"></a>boot. It, too, is </span><span class=cF2>AOT</span><span class=cF0> compiled by </span><a href="https://tomawezome.github.io/ZealOS/System/Boot/BootHDIns.CC.html#l24"><span class=cF4>BootHDIns</span></a><span class=cF0>().
|
||||
<a name="l18"></a></span><span class=cF2>/Compiler</span><span class=cF0> The compiler module src code is found here. The compiler is </span><span class=cF2>AOT</span><span class=cF0> compiled to produce a binary file which is loaded
|
||||
<a name="l19"></a>at boot. It, too, is </span><span class=cF2>AOT</span><span class=cF0> compiled by </span><a href="https://tomawezome.github.io/ZealOS/System/Boot/BootHDIns.CC.html#l24"><span class=cF4>BootHDIns</span></a><span class=cF0>().
|
||||
<a name="l20"></a>
|
||||
<a name="l21"></a></span><span class=cF2>/System</span><span class=cF0> The non-kernel part of the operating system is found here. It is </span><span class=cF2>JIT</span><span class=cF0> compiled during boot. The </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l154"><span class=cF4>System Task</span></a><span class=cF0> is the most
|
||||
<a name="l22"></a>important task. It never dies.
|
||||
<a name="l21"></a></span><span class=cF2>/System</span><span class=cF0> The non-kernel part of the operating system is found here. It is </span><span class=cF2>JIT</span><span class=cF0> compiled during boot. The </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l154"><span class=cF4>System Task</span></a><span class=cF0> is the
|
||||
<a name="l22"></a>most important task. It never dies.
|
||||
<a name="l23"></a>
|
||||
<a name="l24"></a></span><span class=cF2>/0000Boot</span><span class=cF0> Boot files go here. Stage 2 of the ZealOS hard drive master boot loader, the old hard drive master boot record which
|
||||
<a name="l25"></a>is just blk#0, and the CD/DVD </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Kernel.PRJ.html#l1"><span class=cF4>0000Kernel.BIN.C</span></a><span class=cF0> file go here. ASCII </span><span class=cF2>0000</span><span class=cF0> is near the top, alphabetically, in case you use
|
||||
<a name="l26"></a></span><a href="http://www.magiciso.com"><span class=cF0>MagicISO</span></a><span class=cF0>.
|
||||
<a name="l24"></a></span><span class=cF2>/0000Boot</span><span class=cF0> Boot files go here. Stage 2 of the ZealOS hard drive master boot loader, the old hard drive master boot record
|
||||
<a name="l25"></a>which is just blk#0, and the CD/DVD </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Kernel.PRJ.html#l1"><span class=cF4>0000Kernel.BIN.C</span></a><span class=cF0> file go here. ASCII </span><span class=cF2>0000</span><span class=cF0> is near the top, alphabetically, in case you
|
||||
<a name="l26"></a>use </span><a href="http://www.magiciso.com"><span class=cF0>MagicISO</span></a><span class=cF0>.
|
||||
<a name="l27"></a>
|
||||
<a name="l28"></a>
|
||||
<a name="l29"></a>
|
||||
<a name="l30"></a></span><span class=cF5> ::/Home Files</span><span class=cF0>
|
||||
<a name="l30"></a></span><span class=cF5> ::/Home Files</span><span class=cF0>
|
||||
<a name="l31"></a>
|
||||
<a name="l32"></a>The home dir is specified with </span><span class=cF2>'~'</span><span class=cF0>. The home dir is </span><span class=cF2>::/Home</span><span class=cF0> unless you change it with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskDirB.CC.html#l1"><span class=cF4>HomeSet</span></a><span class=cF0>() or compile the kernel with a
|
||||
<a name="l33"></a>config option. An empty </span><span class=cF2>/Home</span><span class=cF0> dir should be valid because it will get default files from the root dir.
|
||||
|
@ -73,7 +73,7 @@ body {background-color:#000000;}
|
|||
<a name="l46"></a>
|
||||
<a name="l47"></a>
|
||||
<a name="l48"></a>
|
||||
<a name="l49"></a></span><span class=cF5> Application Policies</span><span class=cF0>
|
||||
<a name="l49"></a></span><span class=cF5> Application Policies</span><span class=cF0>
|
||||
<a name="l50"></a>
|
||||
<a name="l51"></a>* Place applications in their own </span><span class=cF2>/Apps</span><span class=cF0> subdirectory.
|
||||
<a name="l52"></a>
|
||||
|
@ -89,17 +89,17 @@ body {background-color:#000000;}
|
|||
<a name="l62"></a>
|
||||
<a name="l63"></a>
|
||||
<a name="l64"></a>
|
||||
<a name="l65"></a></span><span class=cF5> Programming Guidelines</span><span class=cF0>
|
||||
<a name="l65"></a></span><span class=cF5> Programming Guidelines</span><span class=cF0>
|
||||
<a name="l66"></a>
|
||||
<a name="l67"></a>* Virtual mem/Paging is not used -- it is identity mapped in </span><span class=cF2>x86_64</span><span class=cF0> mode. The stack does not grow, so alloc enough when the
|
||||
<a name="l68"></a>task (process) is </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KTask.CC.html#l264"><span class=cF4>Spawn</span></a><span class=cF0>ed and use the heap for most things. (The </span><span class=cF2>heap</span><span class=cF0> refers to </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l391"><span class=cF4>MAlloc</span></a><span class=cF0>() and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l387"><span class=cF4>Free</span></a><span class=cF0>().)
|
||||
<a name="l69"></a>
|
||||
<a name="l70"></a>* You can </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l387"><span class=cF4>Free</span></a><span class=cF0>(</span><span class=cF2>NULL</span><span class=cF0>).
|
||||
<a name="l71"></a>
|
||||
<a name="l72"></a>* See </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l259"><span class=cF4>Naming Convention</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l3"><span class=cF4>Abbreviations</span></a><span class=cF0>.
|
||||
<a name="l72"></a>* See </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l260"><span class=cF4>Naming Convention</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l3"><span class=cF4>Abbreviations</span></a><span class=cF0>.
|
||||
<a name="l73"></a>
|
||||
<a name="l74"></a>* There are two modes of compiling, </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l178"><span class=cF4>AOT Compile Mode</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l186"><span class=cF4>JIT Compile Mode</span></a><span class=cF0>. Compilation is done in both -- neither is
|
||||
<a name="l75"></a>"interpreted". Use </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l186"><span class=cF4>JIT Mode</span></a><span class=cF0>.
|
||||
<a name="l74"></a>* There are two modes of compiling, </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l179"><span class=cF4>AOT Compile Mode</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l187"><span class=cF4>JIT Compile Mode</span></a><span class=cF0>. Compilation is done in both -- neither is
|
||||
<a name="l75"></a>"interpreted". Use </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l187"><span class=cF4>JIT Mode</span></a><span class=cF0>.
|
||||
<a name="l76"></a>
|
||||
<a name="l77"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0>
|
||||
<a name="l78"></a>
|
||||
|
@ -136,25 +136,25 @@ body {background-color:#000000;}
|
|||
<a name="l109"></a>
|
||||
<a name="l110"></a>
|
||||
<a name="l111"></a>
|
||||
<a name="l112"></a></span><span class=cF5> Hash Sym Tables</span><span class=cF0>
|
||||
<a name="l112"></a></span><span class=cF5> Hash Sym Tables</span><span class=cF0>
|
||||
<a name="l113"></a>
|
||||
<a name="l114"></a>* See </span><a href="https://tomawezome.github.io/ZealOS/System/ZHash.CC.html#l1"><span class=cF4>::/System/ZHash.CC</span></a><span class=cF0> for examples of how the hash tables are set-up. Basically, syms are placed into hash tables and child
|
||||
<a name="l115"></a>process hash tables are chained to parents. This provides scopes for vars and functions.
|
||||
<a name="l114"></a>* See </span><a href="https://tomawezome.github.io/ZealOS/System/ZHash.CC.html#l1"><span class=cF4>::/System/ZHash.CC</span></a><span class=cF0> for examples of how the hash tables are set-up. Basically, syms are placed into hash tables and
|
||||
<a name="l115"></a>child process hash tables are chained to parents. This provides scopes for vars and functions.
|
||||
<a name="l116"></a>
|
||||
<a name="l117"></a>* </span><span class=cF2>sys_task->hash_table</span><span class=cF0> holds the </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> syms loaded in on start-up.
|
||||
<a name="l118"></a>
|
||||
<a name="l119"></a>* </span><span class=cF2>Fs->hash_table</span><span class=cF0> holds user CosmiC syms and if a sym is not found, it checks parents. When a duplicate sym is added to the
|
||||
<a name="l120"></a>table, it overshadows the prev sym. When developing software, typically you include the file at the cmd prompt, make changes
|
||||
<a name="l121"></a>and reinclude it. Old syms are overshadowed but they are still there. Periodically, kill the TASK and start fresh when mem is
|
||||
<a name="l122"></a>low. If you wish your applications to free themselves instead of staying in mem, spawn or </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l447"><span class=cF4>PopUp</span></a><span class=cF0>() a task to run the
|
||||
<a name="l121"></a>and reinclude it. Old syms are overshadowed but they are still there. Periodically, kill the TASK and start fresh when mem
|
||||
<a name="l122"></a>is low. If you wish your applications to free themselves instead of staying in mem, spawn or </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l447"><span class=cF4>PopUp</span></a><span class=cF0>() a task to run the
|
||||
<a name="l123"></a>application and kill it when it's done.
|
||||
<a name="l124"></a>
|
||||
<a name="l125"></a>* To display the contents of a hash table, use the </span><a href="https://tomawezome.github.io/ZealOS/System/Hash.CC.html#l169"><span class=cF4>Who</span></a><span class=cF0>() routine or the varients. </span><a href="https://tomawezome.github.io/ZealOS/System/Hash.CC.html#l370"><span class=cF4>HashDepthRep</span></a><span class=cF0>() gives a histogram of how long
|
||||
<a name="l126"></a>the chains are, in case you wish to make hash table sizes bigger.
|
||||
<a name="l125"></a>* To display the contents of a hash table, use the </span><a href="https://tomawezome.github.io/ZealOS/System/Hash.CC.html#l169"><span class=cF4>Who</span></a><span class=cF0>() routine or the varients. </span><a href="https://tomawezome.github.io/ZealOS/System/Hash.CC.html#l370"><span class=cF4>HashDepthRep</span></a><span class=cF0>() gives a histogram of how
|
||||
<a name="l126"></a>long the chains are, in case you wish to make hash table sizes bigger.
|
||||
<a name="l127"></a>
|
||||
<a name="l128"></a>
|
||||
<a name="l129"></a>
|
||||
<a name="l130"></a></span><span class=cF5> Assembly Language</span><span class=cF0>
|
||||
<a name="l130"></a></span><span class=cF5> Assembly Language</span><span class=cF0>
|
||||
<a name="l131"></a>
|
||||
<a name="l132"></a>See </span><a href="https://tomawezome.github.io/ZealOS/Doc/Asm.DD.html#l1"><span class=cF4>::/Doc/Asm.DD</span></a><span class=cF0>.
|
||||
<a name="l133"></a>
|
||||
|
@ -164,8 +164,8 @@ body {background-color:#000000;}
|
|||
<a name="l137"></a>
|
||||
<a name="l138"></a>* Don't change the segment regs unless interrupts are off. It's hard to do, anyway. </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KUtils.CC.html#l536"><span class=cF4>SET_FS_BASE</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KUtils.CC.html#l522"><span class=cF4>SET_GS_BASE</span></a><span class=cF0>.
|
||||
<a name="l139"></a>
|
||||
<a name="l140"></a>* When interacting with </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> compiled code, preserve </span><span class=cF2>RBP, RSI, RDI, R10-R15</span><span class=cF0> because the compiler uses these for reg vars. You
|
||||
<a name="l141"></a>are free to clobber </span><span class=cF2>RAX, RBX, RCX, RDX</span><span class=cF0>, </span><span class=cF2>R8</span><span class=cF0> and </span><span class=cF2>R9</span><span class=cF0>. See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1939"><span class=cF4>Compiler Reg Masks</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1911"><span class=cF4>PUSH_C_REGS</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1912"><span class=cF4>POP_C_REGS</span></a><span class=cF0>
|
||||
<a name="l140"></a>* When interacting with </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> compiled code, preserve </span><span class=cF2>RBP, RSI, RDI, R10-R15</span><span class=cF0> because the compiler uses these for reg vars. Yo
|
||||
<a name="l141"></a>u are free to clobber </span><span class=cF2>RAX, RBX, RCX, RDX</span><span class=cF0>, </span><span class=cF2>R8</span><span class=cF0> and </span><span class=cF2>R9</span><span class=cF0>. See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1939"><span class=cF4>Compiler Reg Masks</span></a><span class=cF0>, </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1911"><span class=cF4>PUSH_C_REGS</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1912"><span class=cF4>POP_C_REGS</span></a><span class=cF0>
|
||||
<a name="l142"></a>
|
||||
<a name="l143"></a>* It is recommended to use the standard stack frame for functions because </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KDebug.CC.html#l53"><span class=cF4>Caller</span></a><span class=cF0>() is used to display the call stack, such as
|
||||
<a name="l144"></a>for the wallpaper.
|
||||
|
|
|
@ -52,12 +52,12 @@ body {background-color:#000000;}
|
|||
<a name="l25"></a>
|
||||
<a name="l26"></a>
|
||||
<a name="l27"></a>
|
||||
<a name="l28"></a>There is a symbol (hash) table for each task. When a sym is not found, the parent task's sym table is checked. All tasks chain
|
||||
<a name="l29"></a>back to the </span><span class=cF2>System</span><span class=cF0> task.
|
||||
<a name="l28"></a>There is a symbol (hash) table for each task. When a sym is not found, the parent task's sym table is checked. All tasks
|
||||
<a name="l29"></a>chain back to the </span><span class=cF2>System</span><span class=cF0> task.
|
||||
<a name="l30"></a>
|
||||
<a name="l31"></a>ZealOS sym tables are implemented with an array of linked-lists. A num is generated from a string by </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KHashA.CC.html#l258"><span class=cF4>HashStr</span></a><span class=cF0>() to index into
|
||||
<a name="l32"></a>the array of linked-lists. Multiple strings can generate the same num, so linked-lists are built. Newer entries overshadow
|
||||
<a name="l33"></a>older ones.
|
||||
<a name="l31"></a>ZealOS sym tables are implemented with an array of linked-lists. A num is generated from a string by </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KHashA.CC.html#l258"><span class=cF4>HashStr</span></a><span class=cF0>() to index
|
||||
<a name="l32"></a>into the array of linked-lists. Multiple strings can generate the same num, so linked-lists are built. Newer entries
|
||||
<a name="l33"></a>overshadow older ones.
|
||||
<a name="l34"></a>
|
||||
<a name="l35"></a>There are various types of entries. See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l822"><span class=cF4>Hash Entry Types</span></a><span class=cF0>.
|
||||
<a name="l36"></a>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Help</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Help</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a></span><span class=cF5><u>+] Keyboard Ctrls
|
||||
<a name="l4"></a>+] Mouse Ctrls
|
||||
|
@ -47,7 +47,7 @@ body {background-color:#000000;}
|
|||
<a name="l20"></a>+] System Programmer Help</span><span class=cF0>
|
||||
<a name="l21"></a>
|
||||
<a name="l22"></a>
|
||||
<a name="l23"></a></u></span><span class=cF5> Index</span><span class=cF4>
|
||||
<a name="l23"></a></u></span><span class=cF5> Index</span><span class=cF4>
|
||||
<a name="l24"></a><u>AutoComplete
|
||||
<a name="l25"></a>Bit
|
||||
<a name="l26"></a>Boot
|
||||
|
|
|
@ -26,8 +26,8 @@ body {background-color:#000000;}
|
|||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF2>#help_index "Topic/SubTopic;OtherTopic"</span><span class=cF0>
|
||||
<a name="l2"></a>The help index preprocessor compiler directive sets the topics for syms subsequently defined. You specify subtopics with a '</span><span class=cF2>/</span><span class=cF0>'
|
||||
<a name="l3"></a>tree hierarchy and separate multiple topics with a '</span><span class=cF2>;</span><span class=cF0>'. The index ctrls </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocLink.CC.html#l39"><span class=cF4>HI:index</span></a><span class=cF0> links.
|
||||
<a name="l2"></a>The help index preprocessor compiler directive sets the topics for syms subsequently defined. You specify subtopics with a '</span><span class=cF2>/</span><span class=cF0>
|
||||
<a name="l3"></a>' tree hierarchy and separate multiple topics with a '</span><span class=cF2>;</span><span class=cF0>'. The index ctrls </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocLink.CC.html#l39"><span class=cF4>HI:index</span></a><span class=cF0> links.
|
||||
<a name="l4"></a>
|
||||
<a name="l5"></a></span><span class=cF2>public</span><span class=cF0> causes a sym to appear in help_index reports.
|
||||
<a name="l6"></a>
|
||||
|
|
|
@ -25,14 +25,14 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF2>InFiles</span><span class=cF0> are used to generate user input to automate operations. The ZealOS tour is done with an </span><span class=cF2>InFile</span><span class=cF0>. It is akin to a Unix
|
||||
<a name="l2"></a>pipe because </span><span class=cF2>StdOut</span><span class=cF0> of one gets chained into </span><span class=cF2>StdIn</span><span class=cF0> of another.
|
||||
<a name="l1"></a><span class=cF2>InFiles</span><span class=cF0> are used to generate user input to automate operations. The ZealOS tour is done with an </span><span class=cF2>InFile</span><span class=cF0>. It is akin to a
|
||||
<a name="l2"></a>Unix pipe because </span><span class=cF2>StdOut</span><span class=cF0> of one gets chained into </span><span class=cF2>StdIn</span><span class=cF0> of another.
|
||||
<a name="l3"></a>
|
||||
<a name="l4"></a>When an </span><span class=cF2>InFile</span><span class=cF0> runs, a child task is </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KTask.CC.html#l264"><span class=cF4>Spawn</span></a><span class=cF0>()ed which intercepts real user input and generates fake input. InFiles are </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0>
|
||||
<a name="l5"></a>programs run by the child whose stdout goes to the parent's input buffer. </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l312"><span class=cF4>Message</span></a><span class=cF0>() can be included in an </span><span class=cF2>InFile</span><span class=cF0> to send
|
||||
<a name="l6"></a>special keys or mouse cmds to the parent. While an </span><span class=cF2>InFile</span><span class=cF0> is running, the normal input gets diverted to the InFile task and
|
||||
<a name="l7"></a>can be filtered and sent back to the parent task. Unless you are driving functions which prompt for data, you can probably use
|
||||
<a name="l8"></a>an </span><span class=cF2>#include</span><span class=cF0> file in place of an </span><span class=cF2>InFile</span><span class=cF0>.
|
||||
<a name="l7"></a>can be filtered and sent back to the parent task. Unless you are driving functions which prompt for data, you can probably
|
||||
<a name="l8"></a>use an </span><span class=cF2>#include</span><span class=cF0> file in place of an </span><span class=cF2>InFile</span><span class=cF0>.
|
||||
<a name="l9"></a>
|
||||
<a name="l10"></a>See </span><a href="https://tomawezome.github.io/ZealOS/Demo/InFile/InDir.IN.html#l1"><span class=cF4>::/Demo/InFile/InDir.IN</span></a><span class=cF0>.
|
||||
<a name="l11"></a>
|
||||
|
|
|
@ -25,15 +25,15 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Installing ZealOS</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Installing ZealOS</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>Burn a CD with software that supports ISO files. Then, boot it. It's a live CD, so you can look around with or without
|
||||
<a name="l4"></a>installing.
|
||||
<a name="l5"></a>
|
||||
<a name="l6"></a>Dual booting with another operating system is the best way to use ZealOS. It is often used in a virtual machine because it
|
||||
<a name="l7"></a>won't boot natively on some machines, though. For native dual booting, you need a partition for ZealOS. Windows often comes
|
||||
<a name="l8"></a>with a restore disk that does not allow repartitioning. It's recommended to connect a spare additional hard drive and use the </span><span class=cF2>B
|
||||
<a name="l9"></a>IOS</span><span class=cF0> to select which drive to boot.
|
||||
<a name="l7"></a>won't boot natively on some machines, though. For native dual booting, you need a partition for ZealOS. Windows often
|
||||
<a name="l8"></a>comes with a restore disk that does not allow repartitioning. It's recommended to connect a spare additional hard drive and
|
||||
<a name="l9"></a>use the </span><span class=cF2>BIOS</span><span class=cF0> to select which drive to boot.
|
||||
<a name="l10"></a>
|
||||
<a name="l11"></a>The </span><a href="https://tomawezome.github.io/ZealOS/Misc/OSInstall.CC.html#l1"><span class=cF4>::/Misc/OSInstall.CC</span></a><span class=cF0> script will automate much of this. It runs if you boot the CD/DVD-ROM.
|
||||
<a name="l12"></a>
|
||||
|
@ -51,16 +51,16 @@ body {background-color:#000000;}
|
|||
<a name="l24"></a>
|
||||
<a name="l25"></a> This will perform a special </span><a href="https://tomawezome.github.io/ZealOS/System/BlkDev/Mount.CC.html#l235"><span class=cF4>Mount</span></a><span class=cF0>() automatically.
|
||||
<a name="l26"></a>
|
||||
<a name="l27"></a> <blink>WARNING:</blink> This command erases everything on a hard drive. It repartitions a whole drive and formats the partitions. This
|
||||
<a name="l28"></a> command should be skipped if you already have your hard drive partitioned.
|
||||
<a name="l27"></a> <blink>WARNING:</blink> This command erases everything on a hard drive. It repartitions a whole drive and formats the partitions. Th
|
||||
<a name="l28"></a> is command should be skipped if you already have your hard drive partitioned.
|
||||
<a name="l29"></a>
|
||||
<a name="l30"></a>
|
||||
<a name="l31"></a> <blink>WARNING:</blink> This command doesn't play well with other operating systems. You'll need to do a </span><a href="https://tomawezome.github.io/ZealOS/System/Boot/BootMHDIns.CC.html#l58"><span class=cF4>BootMHDZero</span></a><span class=cF0>() to restore
|
||||
<a name="l32"></a> your drive to a state where other operating systems can partition it.
|
||||
<a name="l33"></a>
|
||||
<a name="l34"></a>2) </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskFormat.CC.html#l67"><span class=cF4>Format</span></a><span class=cF0>(</span><span class=cF2>'D'</span><span class=cF0>,</span><span class=cF2> TRUE</span><span class=cF0>,</span><span class=cF2> FALSE</span><span class=cF0>,</span><span class=cF2> FSt_FAT32</span><span class=cF0>)
|
||||
<a name="l35"></a> This command formats a drive with </span><span class=cF2>FAT32</span><span class=cF0> or the </span><a href="https://tomawezome.github.io/ZealOS/Doc/RedSea.DD.html#l1"><span class=cF4>RedSea</span></a><span class=cF0> file system type. Use the drive letter of the partition in place of </span><span class=cF2>'D
|
||||
<a name="l36"></a> '</span><span class=cF0>.
|
||||
<a name="l35"></a> This command formats a drive with </span><span class=cF2>FAT32</span><span class=cF0> or the </span><a href="https://tomawezome.github.io/ZealOS/Doc/RedSea.DD.html#l1"><span class=cF4>RedSea</span></a><span class=cF0> file system type. Use the drive letter of the partition in place of </span><span class=cF2>
|
||||
<a name="l36"></a> 'D'</span><span class=cF0>.
|
||||
<a name="l37"></a>
|
||||
<a name="l38"></a> <blink>WARNING:</blink> If you are upgrading, be sure not to lose the file, </span><span class=cF2>/0000Boot/OldMBR.BIN.C</span><span class=cF0>.
|
||||
<a name="l39"></a>
|
||||
|
@ -78,8 +78,8 @@ body {background-color:#000000;}
|
|||
<a name="l51"></a> replaces it. When you boot, you will have the option of booting the old master boot record. This command can be skipped if
|
||||
<a name="l52"></a> you already have a boot loader. Be sure not to lose the copy of the old boot record, like if you reformat the drive.
|
||||
<a name="l53"></a>
|
||||
<a name="l54"></a> Delete </span><span class=cF2>/0000Boot/OldMBR.BIN.C</span><span class=cF0> if you want to get a fresh copy of a mbr, like if installing from your own custom CD containing
|
||||
<a name="l55"></a> it's own </span><span class=cF2>/0000Boot/OldMBR.BIN.C</span><span class=cF0> onto a system with a non-ZealOS boot loader.
|
||||
<a name="l54"></a> Delete </span><span class=cF2>/0000Boot/OldMBR.BIN.C</span><span class=cF0> if you want to get a fresh copy of a mbr, like if installing from your own custom CD
|
||||
<a name="l55"></a> containing it's own </span><span class=cF2>/0000Boot/OldMBR.BIN.C</span><span class=cF0> onto a system with a non-ZealOS boot loader.
|
||||
<a name="l56"></a>
|
||||
<a name="l57"></a> If you have anti-virus software, it might object to having a different master boot record.
|
||||
<a name="l58"></a>
|
||||
|
|
|
@ -25,22 +25,22 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Key Allocations</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Key Allocations</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>See </span><span class=cF4><u>Char</u></span><span class=cF0> for definition of scan codes.
|
||||
<a name="l4"></a>
|
||||
<a name="l5"></a>See </span><span class=cF9><u>Key Map</u></span><span class=cF0> for a detailed list of key commands.
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a>When you are at the cmd line, editing documents, browsing documentation and help, entering items in forms or in menu's, the </span><span class=cF4>
|
||||
<a name="l8"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>DolDoc</span></a><span class=cF0> editor handles keys. It allows you to define your own key handlers in a </span><a href="https://tomawezome.github.io/ZealOS/Home/HomeKeyPlugIns.CC.html#l11"><span class=cF4>MyPutKey</span></a><span class=cF0>() function. If you choose, you can catch
|
||||
<a name="l9"></a>keys, overriding the default handlers. See </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocPutKey.CC.html#l3"><span class=cF4>DocPutKey</span></a><span class=cF0>(). The following is an overview of key allocations.
|
||||
<a name="l8"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>DolDoc</span></a><span class=cF0> editor handles keys. It allows you to define your own key handlers in a </span><a href="https://tomawezome.github.io/ZealOS/Home/HomeKeyPlugIns.CC.html#l11"><span class=cF4>MyPutKey</span></a><span class=cF0>() function. If you choose, you can
|
||||
<a name="l9"></a>catch keys, overriding the default handlers. See </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocPutKey.CC.html#l3"><span class=cF4>DocPutKey</span></a><span class=cF0>(). The following is an overview of key allocations.
|
||||
<a name="l10"></a>
|
||||
<a name="l11"></a></span><span class=cF2><ALT-keys></span><span class=cF0> and </span><span class=cF2><ALT-SHIFT-keys></span><span class=cF0> Free for user configurations in your </span><a href="https://tomawezome.github.io/ZealOS/Home/HomeKeyPlugIns.CC.html#l11"><span class=cF4>MyPutKey</span></a><span class=cF0>() handler, except for </span><span class=cF2>ALT-BACKSPACE</span><span class=cF0> (undo).
|
||||
<a name="l12"></a>There are a few examples pre-defined, but you can change them if you wish.
|
||||
<a name="l13"></a>
|
||||
<a name="l14"></a></span><span class=cF2><CTRL-ALT-keys></span><span class=cF0> and </span><span class=cF2><CTRL-ALT-SHIFT-keys></span><span class=cF0> Handled at a system level, NOT by the </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>CDoc</span></a><span class=cF0> editor. You can define your own handlers
|
||||
<a name="l15"></a>with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KeyDev.CC.html#l201"><span class=cF4>CtrlAltCBSet</span></a><span class=cF0>(). They operate either in a interrupt environment or in the window mgr when it queues kbd messages. You
|
||||
<a name="l16"></a>can do </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMisc.CC.html#l257"><span class=cF4>Raw</span></a><span class=cF0>() output. </span><span class=cF2><CTRL-ALT-letter></span><span class=cF0> handlers take a scan_code as an arg.
|
||||
<a name="l14"></a></span><span class=cF2><CTRL-ALT-keys></span><span class=cF0> and </span><span class=cF2><CTRL-ALT-SHIFT-keys></span><span class=cF0> Handled at a system level, NOT by the </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>CDoc</span></a><span class=cF0> editor. You can define your own
|
||||
<a name="l15"></a>handlers with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KeyDev.CC.html#l201"><span class=cF4>CtrlAltCBSet</span></a><span class=cF0>(). They operate either in a interrupt environment or in the window mgr when it queues kbd
|
||||
<a name="l16"></a>messages. You can do </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMisc.CC.html#l257"><span class=cF4>Raw</span></a><span class=cF0>() output. </span><span class=cF2><CTRL-ALT-letter></span><span class=cF0> handlers take a scan_code as an arg.
|
||||
<a name="l17"></a>
|
||||
<a name="l18"></a></span><span class=cF2><CTRL-function key></span><span class=cF0> Auto-completes local words.
|
||||
<a name="l19"></a>
|
||||
|
|
|
@ -25,16 +25,16 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Memory Overview</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Memory Overview</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>Paging is practically not used. 64-bit mode requires paging, however, so it is identity-mapped -- virtual identical to
|
||||
<a name="l4"></a>physical. All tasks on all cores use the same page table map, just as though all addresses are physical addresses. 2Meg or
|
||||
<a name="l5"></a>1Gig page table entries are used. Nothing swaps to disk.
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a>In ZealOS, the lowest 2Gig of memory is called the </span><span class=cF2>code heap</span><span class=cF0>. ZealOS's compiler always uses 32-bit signed relative JMP & CALL
|
||||
<a name="l8"></a>insts because 64-bit CALLs take two insts. With signed +/- 32-bit values, code can only call a function within 2Gig distance.
|
||||
<a name="l9"></a>Therefore, ZealOS keeps all code in the lowest 2Gig memory addresses including what would normally be called "the kernel". Two
|
||||
<a name="l10"></a>Gig is plenty for code, don't worry.
|
||||
<a name="l8"></a>insts because 64-bit CALLs take two insts. With signed +/- 32-bit values, code can only call a function within 2Gig distance.
|
||||
<a name="l9"></a> Therefore, ZealOS keeps all code in the lowest 2Gig memory addresses including what would normally be called "the kernel".
|
||||
<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://tomawezome.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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3528"><span class=cF4>CHeapCtrl</span></a><span class=cF0> as the 2nd arg to </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l391"><span class=cF4>MAlloc</span></a><span class=cF0>(). See </span><a href="https://tomawezome.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.
|
||||
|
@ -52,7 +52,7 @@ body {background-color:#000000;}
|
|||
<a name="l25"></a>See </span><a href="https://tomawezome.github.io/ZealOS/System/Utils/MemRep.CC.html#l219"><span class=cF4>MemRep</span></a><span class=cF0>() and </span><a href="https://tomawezome.github.io/ZealOS/Demo/MemDemo.CC.html#l1"><span class=cF4>::/Demo/MemDemo.CC</span></a><span class=cF0>.
|
||||
<a name="l26"></a>
|
||||
<a name="l27"></a>
|
||||
<a name="l28"></a></span><span class=cF5> Single System-wide Memory Map
|
||||
<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- 0x000003702F</span><span class=cF0>
|
||||
<a name="l31"></a> Kernel module, placed here by the boot-loader, </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4441"><span class=cF4>BOOT_RAM_BASE</span></a><span class=cF0>.
|
||||
|
@ -89,27 +89,27 @@ body {background-color:#000000;}
|
|||
<a name="l62"></a>the code heap is 1/4 of the total. See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/BlkPool.CC.html#l31"><span class=cF4>BlkPoolsInit</span></a><span class=cF0>().
|
||||
<a name="l63"></a>
|
||||
<a name="l64"></a>
|
||||
<a name="l65"></a></span><span class=cF5> History</span><span class=cF0>
|
||||
<a name="l65"></a></span><span class=cF5> History</span><span class=cF0>
|
||||
<a name="l66"></a>
|
||||
<a name="l67"></a>In 2003, Terry Davis wanted to make a no-paging ring-0-only 64-bit operating system for super speed with simplicity and full
|
||||
<a name="l68"></a>access. With paging, every memory request requires 5 accesses -- it must access the address itself, 4K, 2Meg, 1Gig, and 512Gig
|
||||
<a name="l69"></a>page tables, but the CPU's translation look-aside buffer mostly removes the penalty for using paging. So, he did not want to
|
||||
<a name="l70"></a>use paging, but long mode requires it. He did the next best thing -- he identity-mapped everything and achieved the simplicity
|
||||
<a name="l71"></a>he was after with subtle performance boosts, not wasting time changing address maps. We look forward to the day Intel makes an
|
||||
<a name="l72"></a>optimized no-paging long mode.
|
||||
<a name="l70"></a>use paging, but long mode requires it. He did the next best thing -- he identity-mapped everything and achieved the
|
||||
<a name="l71"></a>simplicity he was after with subtle performance boosts, not wasting time changing address maps. We look forward to the day
|
||||
<a name="l72"></a>Intel makes an optimized no-paging long mode.
|
||||
<a name="l73"></a>
|
||||
<a name="l74"></a>Terry needed VGA A0000-BFFFF memory to be write-through and 0xE0000000-0xFFFFFFFF to be uncached for various devices. All
|
||||
<a name="l75"></a>64-bit computers allow stopping address translation at 2Meg page size, not using 4K. He wanted to use 2Meg for everything
|
||||
<a name="l76"></a>because it's faster, with one less level of page tables. He had to make A0000-BFFFF write-through, though, so he could not use
|
||||
<a name="l77"></a>2Meg size on the lowest page. He did the lowest 2Meg area as 4K pages. He also unmapped the first 4K to cause a fault when
|
||||
<a name="l78"></a>dereferencing NULL.
|
||||
<a name="l76"></a>because it's faster, with one less level of page tables. He had to make A0000-BFFFF write-through, though, so he could not
|
||||
<a name="l77"></a>use 2Meg size on the lowest page. He did the lowest 2Meg area as 4K pages. He also unmapped the first 4K to cause a fault
|
||||
<a name="l78"></a>when dereferencing NULL.
|
||||
<a name="l79"></a>
|
||||
<a name="l80"></a>In 2016, Terry came-up with an alternate idea. He double mapped the lowest memory with an alias that was uncached. Accessing
|
||||
<a name="l81"></a>the lowest 2Meg area directly was cached but the alias he created up at the top of address space was uncached. See </span><span class=cF4>
|
||||
<a name="l82"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MemPhysical.CC.html#l157"><span class=cF4>UncachedAliasAlloc</span></a><span class=cF0>(). Unfortunately, he could no longer boast of the simplicity of identity mapping everything. Since many of
|
||||
<a name="l83"></a>the users are familiar with A0000-BFFFF, it is actually pretty seriously unfortunate that they cannot use the easy-to-understand
|
||||
<a name="l84"></a>numbers of A0000-BFFFF, but must access the relocated alias location. See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMain.CC.html#l113"><span class=cF4>text.vga_alias</span></a><span class=cF0>. We also no longer cause a fault
|
||||
<a name="l85"></a>when dereferencing NULL.
|
||||
<a name="l82"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MemPhysical.CC.html#l157"><span class=cF4>UncachedAliasAlloc</span></a><span class=cF0>(). Unfortunately, he could no longer boast of the simplicity of identity mapping everything. Since many
|
||||
<a name="l83"></a>of the users are familiar with A0000-BFFFF, it is actually pretty seriously unfortunate that they cannot use the
|
||||
<a name="l84"></a>easy-to-understand numbers of A0000-BFFFF, but must access the relocated alias location. See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMain.CC.html#l113"><span class=cF4>text.vga_alias</span></a><span class=cF0>. We also no
|
||||
<a name="l85"></a>longer cause a fault when dereferencing NULL.
|
||||
<a name="l86"></a>
|
||||
<a name="l87"></a>Then, Terry switched to 1Gig page sizes. For the lowest 4Gig, he set-up an alias up at the top of address space. See </span><span class=cF4>
|
||||
<a name="l88"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MemPhysical.CC.html#l157"><span class=cF4>UncachedAliasAlloc</span></a><span class=cF0>(). Not all computers support 1Gig page tables, however, so he also supported 2Meg.
|
||||
|
|
|
@ -50,8 +50,8 @@ body {background-color:#000000;}
|
|||
<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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3859"><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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4095"><span class=cF4>ASCII</span></a><span class=cF0> of the key in the case of </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3846"><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 is
|
||||
<a name="l27"></a>the </span><a href="https://tomawezome.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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3846"><span class=cF4>MESSAGE_KEY_DOWN</span></a><span class=cF0>.
|
||||
<a name="l26"></a>message </span><span class=cF2>arg1</span><span class=cF0> value which is </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l4095"><span class=cF4>ASCII</span></a><span class=cF0> of the key in the case of </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3846"><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://tomawezome.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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3846"><span class=cF4>MESSAGE_KEY_DOWN</span></a><span class=cF0>.
|
||||
<a name="l28"></a>
|
||||
<a name="l29"></a>Press </span><span class=cF2><CTRL-SHIFT-l></span><span class=cF0> and "Insert ASCII/ScanCode".
|
||||
<a name="l30"></a>
|
||||
|
|
|
@ -33,15 +33,16 @@ body {background-color:#000000;}
|
|||
<a name="l6"></a>
|
||||
<a name="l7"></a>Only tasks on </span><span class=cF2>Core0</span><span class=cF0> can have windows, but other cores can help render them.
|
||||
<a name="l8"></a>
|
||||
<a name="l9"></a>Each core has an </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l160"><span class=cF4>Executive Task</span></a><span class=cF0> which is the father of all tasks on that core. </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l154"><span class=cF4>System</span></a><span class=cF0> is the </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l160"><span class=cF4>Executive Task</span></a><span class=cF0> on </span><span class=cF2>Core0</span><span class=cF0>.
|
||||
<a name="l9"></a>Each core has an </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l161"><span class=cF4>Executive Task</span></a><span class=cF0> which is the father of all tasks on that core. </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l154"><span class=cF4>System</span></a><span class=cF0> is the </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l161"><span class=cF4>Executive Task</span></a><span class=cF0> on </span><span class=cF2>Core0</span><span class=cF0>.
|
||||
<a name="l10"></a>
|
||||
<a name="l11"></a>You give a job to an </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l160"><span class=cF4>Executive Task</span></a><span class=cF0> with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/MultiProc.CC.html#l224"><span class=cF4>JobQueue</span></a><span class=cF0>() and get the result with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l242"><span class=cF4>JobResGet</span></a><span class=cF0>(). You spawn a task on any core with </span><span class=cF4>
|
||||
<a name="l11"></a>You give a job to an </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l161"><span class=cF4>Executive Task</span></a><span class=cF0> with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/MultiProc.CC.html#l224"><span class=cF4>JobQueue</span></a><span class=cF0>() and get the result with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l242"><span class=cF4>JobResGet</span></a><span class=cF0>(). You spawn a task on any core with </span><span class=cF4>
|
||||
<a name="l12"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/KTask.CC.html#l264"><span class=cF4>Spawn</span></a><span class=cF0>().
|
||||
<a name="l13"></a>
|
||||
<a name="l14"></a>Note: You must use the </span><span class=cF2>LOCK</span><span class=cF0> asm prefix when changing shared structures in a multicore environment. The </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l17"><span class=cF4>LBts</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l16"><span class=cF4>LBtr</span></a><span class=cF0>() and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l15"><span class=cF4>LBtc</span></a><span class=cF0>(
|
||||
<a name="l15"></a>) insts have </span><span class=cF2>LOCK</span><span class=cF0> prefixes. The compiler has a </span><span class=cF2>lock{}</span><span class=cF0> feature but it doesn't work well. See </span><a href="https://tomawezome.github.io/ZealOS/Demo/MultiCore/Lock.CC.html#l1"><span class=cF4>::/Demo/MultiCore/Lock.CC</span></a><span class=cF0>.
|
||||
<a name="l16"></a>
|
||||
<a name="l17"></a>See </span><a href="https://tomawezome.github.io/ZealOS/Demo/Graphics/Transform.CC.html#l1"><span class=cF4>::/Demo/Graphics/Transform.CC</span></a><span class=cF0>.
|
||||
<a name="l18"></a>See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/MultiProc.CC.html#l1"><span class=cF4>::/Kernel/MultiProc.CC</span></a><span class=cF0>.
|
||||
<a name="l14"></a>Note: You must use the </span><span class=cF2>LOCK</span><span class=cF0> asm prefix when changing shared structures in a multicore environment. The </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l17"><span class=cF4>LBts</span></a><span class=cF0>(), </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l16"><span class=cF4>LBtr</span></a><span class=cF0>() and </span><span class=cF4>
|
||||
<a name="l15"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l15"><span class=cF4>LBtc</span></a><span class=cF0>() insts have </span><span class=cF2>LOCK</span><span class=cF0> prefixes. The compiler has a </span><span class=cF2>lock{}</span><span class=cF0> feature but it doesn't work well. See </span><span class=cF4>
|
||||
<a name="l16"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/MultiCore/Lock.CC.html#l1"><span class=cF4>::/Demo/MultiCore/Lock.CC</span></a><span class=cF0>.
|
||||
<a name="l17"></a>
|
||||
<a name="l18"></a>See </span><a href="https://tomawezome.github.io/ZealOS/Demo/Graphics/Transform.CC.html#l1"><span class=cF4>::/Demo/Graphics/Transform.CC</span></a><span class=cF0>.
|
||||
<a name="l19"></a>See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/MultiProc.CC.html#l1"><span class=cF4>::/Kernel/MultiProc.CC</span></a><span class=cF0>.
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> New ASCII</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> New ASCII</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>
|
||||
<a name="l4"></a>We want to use one set for ASCII, ScanCodes and ScreenCodes.
|
||||
|
|
|
@ -25,16 +25,16 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Compiler Options</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Compiler Options</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>Use </span><a href="https://tomawezome.github.io/ZealOS/Compiler/CMisc.CC.html#l1"><span class=cF4>Option</span></a><span class=cF0>(). You might need to do </span><span class=cF2>#exe {Option();}</span><span class=cF0>.
|
||||
<a name="l4"></a></span><span class=cF4>
|
||||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1685"><span class=cF4>OPTf_GLOBALS_ON_DATA_HEAP</span></a><span class=cF0> without this option, global vars are placed in the code heap which is limited to 2Gig. In </span><span class=cF2>AOT</span><span class=cF0>
|
||||
<a name="l6"></a>modules, global vars take-up room in the </span><span class=cF2>.BIN</span><span class=cF0> file, so you might want to use this option, instead. You might wish to turn it on
|
||||
<a name="l7"></a>and off around specific vars. A disadvantage of data heap global vars in </span><span class=cF2>AOT</span><span class=cF0> modules is they can't be initialized.
|
||||
<a name="l6"></a>modules, global vars take-up room in the </span><span class=cF2>.BIN</span><span class=cF0> file, so you might want to use this option, instead. You might wish to turn it
|
||||
<a name="l7"></a>on and off around specific vars. A disadvantage of data heap global vars in </span><span class=cF2>AOT</span><span class=cF0> modules is they can't be initialized.
|
||||
<a name="l8"></a></span><span class=cF4>
|
||||
<a name="l9"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1682"><span class=cF4>OPTf_EXTERNS_TO_IMPORTS</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1683"><span class=cF4>OPTf_KEEP_PRIVATE</span></a><span class=cF0> are strange options, you'll never need. They're to allow the same header file for </span><span class=cF2>
|
||||
<a name="l10"></a>Kernel</span><span class=cF0> to act as </span><span class=cF2>extern</span><span class=cF0>s when compiling itself and </span><span class=cF2>import</span><span class=cF0>s when compiled by </span><span class=cF2>AOT</span><span class=cF0> modules.
|
||||
<a name="l9"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1682"><span class=cF4>OPTf_EXTERNS_TO_IMPORTS</span></a><span class=cF0> and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1683"><span class=cF4>OPTf_KEEP_PRIVATE</span></a><span class=cF0> are strange options, you'll never need. They're to allow the same header file
|
||||
<a name="l10"></a>for </span><span class=cF2>Kernel</span><span class=cF0> to act as </span><span class=cF2>extern</span><span class=cF0>s when compiling itself and </span><span class=cF2>import</span><span class=cF0>s when compiled by </span><span class=cF2>AOT</span><span class=cF0> modules.
|
||||
<a name="l11"></a></span><span class=cF4>
|
||||
<a name="l12"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1678"><span class=cF4>OPTf_WARN_UNUSED_VAR</span></a><span class=cF0> warning if unused var. It is applied to functions.
|
||||
<a name="l13"></a></span><span class=cF4>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> PreProcessor</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> PreProcessor</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>There is no separate preprocessor pass. The parser front-end calls </span><a href="https://tomawezome.github.io/ZealOS/Compiler/Lex.CC.html#l529"><span class=cF4>Lex</span></a><span class=cF0>() which has the preprocessor built-in. The compiler
|
||||
<a name="l4"></a>looks ahead a token, most of the time, so you might throw an extra semicolon after a directive if it's not taking affect right
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Print Format Strs</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Print Format Strs</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a><format_arg> := </span><span class=cF2>%</span><span class=cF0>[</span><span class=cF2>-</span><span class=cF0>][</span><span class=cF2>0</span><span class=cF0>][<width>][</span><span class=cF2>.</span><span class=cF0><decimals>][<flags>][</span><span class=cF2>h</span><span class=cF0><aux_format_num>]<format_code>
|
||||
<a name="l4"></a>
|
||||
|
@ -40,8 +40,8 @@ body {background-color:#000000;}
|
|||
<a name="l13"></a>
|
||||
<a name="l14"></a><aux_format_num>:
|
||||
<a name="l15"></a>
|
||||
<a name="l16"></a> For </span><span class=cF2>"%n"</span><span class=cF0>, </span><span class=cF2>"%d"</span><span class=cF0> or </span><span class=cF2>"%u"</span><span class=cF0>, the <aux_format_num> causes thousands mode. </span><span class=cF2>"%h?n"</span><span class=cF0> will pick a var exponent multiples of three unit,
|
||||
<a name="l17"></a> while </span><span class=cF2>"%h-3n"</span><span class=cF0> will display milli units or </span><span class=cF2>"%h6n"</span><span class=cF0> will display mega units. The </span><span class=cF2>'k'</span><span class=cF0> flag is always on for </span><span class=cF2>"%n"</span><span class=cF0>. See </span><span class=cF4>
|
||||
<a name="l16"></a> For </span><span class=cF2>"%n"</span><span class=cF0>, </span><span class=cF2>"%d"</span><span class=cF0> or </span><span class=cF2>"%u"</span><span class=cF0>, the <aux_format_num> causes thousands mode. </span><span class=cF2>"%h?n"</span><span class=cF0> will pick a var exponent multiples of three
|
||||
<a name="l17"></a> unit, while </span><span class=cF2>"%h-3n"</span><span class=cF0> will display milli units or </span><span class=cF2>"%h6n"</span><span class=cF0> will display mega units. The </span><span class=cF2>'k'</span><span class=cF0> flag is always on for </span><span class=cF2>"%n"</span><span class=cF0>. See </span><span class=cF4>
|
||||
<a name="l18"></a> </span><a href="https://tomawezome.github.io/ZealOS/Demo/Print.CC.html#l1"><span class=cF4>::/Demo/Print.CC</span></a><span class=cF0>.
|
||||
<a name="l19"></a>
|
||||
<a name="l20"></a>For </span><span class=cF2>"%c"</span><span class=cF0> or </span><span class=cF2>"%C"</span><span class=cF0>, the <aux_format_num> repeats the char that many times.
|
||||
|
@ -84,7 +84,7 @@ body {background-color:#000000;}
|
|||
<a name="l57"></a> </span><span class=cF2>"%q"</span><span class=cF0> rev a </span><span class=cF2>"%Q"</span><span class=cF0>.
|
||||
<a name="l58"></a>
|
||||
<a name="l59"></a>
|
||||
<a name="l60"></a></span><span class=cF5> Print Family</span><span class=cF0>
|
||||
<a name="l60"></a></span><span class=cF5> Print Family</span><span class=cF0>
|
||||
<a name="l61"></a></span><span class=cF4>
|
||||
<a name="l62"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/StrPrint.CC.html#l1119"><span class=cF4>MStrPrint</span></a><span class=cF0>(U8 *format, ...) is like </span><a href="https://tomawezome.github.io/ZealOS/Kernel/StrPrint.CC.html#l1094"><span class=cF4>StrPrint</span></a><span class=cF0>(U8 *dst,U8 *format,...) but it returns a </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l391"><span class=cF4>MAlloc</span></a><span class=cF0>ated str. It is vary handy because
|
||||
<a name="l63"></a>you don't have to worry about overflow.
|
||||
|
@ -92,14 +92,14 @@ body {background-color:#000000;}
|
|||
<a name="l65"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/StrPrint.CC.html#l1099"><span class=cF4>CatPrint</span></a><span class=cF0>(U8 *_dst, U8 *format, ...) concatenates a formated string.
|
||||
<a name="l66"></a></span><span class=cF4>
|
||||
<a name="l67"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l580"><span class=cF4>In</span></a><span class=cF0>(U8 *format, ...) sends text to the current task's input buffer.</span><span class=cF4>
|
||||
<a name="l68"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l561"><span class=cF4>InStr</span></a><span class=cF0>(U8 *format, ...) sends text of an </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l218"><span class=cF4>InFile</span></a><span class=cF0> to the keyboard stream of the current TASK but can also do mouse cmds.
|
||||
<a name="l68"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l561"><span class=cF4>InStr</span></a><span class=cF0>(U8 *format, ...) sends text of an </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l219"><span class=cF4>InFile</span></a><span class=cF0> to the keyboard stream of the current TASK but can also do mouse cmds.
|
||||
<a name="l69"></a></span><span class=cF4>
|
||||
<a name="l70"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l542"><span class=cF4>XTalk</span></a><span class=cF0>(CTask *task, U8 *format, ...) and text to another task's input buffer.</span><span class=cF4>
|
||||
<a name="l71"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l588"><span class=cF4>XTalkStr</span></a><span class=cF0>(CTask *task, U8 *format, ...) sends text of an </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l218"><span class=cF4>InFile</span></a><span class=cF0> to the keyboard stream of another TASK but can also do mouse
|
||||
<a name="l71"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l588"><span class=cF4>XTalkStr</span></a><span class=cF0>(CTask *task, U8 *format, ...) sends text of an </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l219"><span class=cF4>InFile</span></a><span class=cF0> to the keyboard stream of another TASK but can also do mouse
|
||||
<a name="l72"></a>cmds.
|
||||
<a name="l73"></a></span><span class=cF4>
|
||||
<a name="l74"></a></span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocPutS.CC.html#l164"><span class=cF4>DocPrint</span></a><span class=cF0>(CDoc *doc, U8 *format, ...) sends text to a document. You can buffer to a Doc and save it, providing the functionality
|
||||
<a name="l75"></a>of </span><span class=cF2>fprintf</span><span class=cF0>. See </span><a href="https://tomawezome.github.io/ZealOS/Demo/Disk/FPrintF.CC.html#l1"><span class=cF4>::/Demo/Disk/FPrintF.CC</span></a><span class=cF0>.
|
||||
<a name="l74"></a></span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocPutS.CC.html#l164"><span class=cF4>DocPrint</span></a><span class=cF0>(CDoc *doc, U8 *format, ...) sends text to a document. You can buffer to a Doc and save it, providing the
|
||||
<a name="l75"></a>functionality of </span><span class=cF2>fprintf</span><span class=cF0>. See </span><a href="https://tomawezome.github.io/ZealOS/Demo/Disk/FPrintF.CC.html#l1"><span class=cF4>::/Demo/Disk/FPrintF.CC</span></a><span class=cF0>.
|
||||
<a name="l76"></a></span><span class=cF4>
|
||||
<a name="l77"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l485"><span class=cF4>Sys</span></a><span class=cF0>(U8 *format, ...) sends text to the </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l154"><span class=cF4>System Task</span></a><span class=cF0> to be compiled and run.</span><span class=cF4>
|
||||
<a name="l78"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l507"><span class=cF4>SysLog</span></a><span class=cF0>(U8 *format, ...) and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Job.CC.html#l530"><span class=cF4>SysErr</span></a><span class=cF0>(U8 *format,...) send text to the </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l154"><span class=cF4>System Task</span></a><span class=cF0> to be displayed.
|
||||
|
|
|
@ -25,13 +25,14 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF0>The profiler records where the CPU was executing when the 1000Hz timer interrupt occured, so you can learn where time is spent.
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>Use the </span><a href="https://tomawezome.github.io/ZealOS/System/Utils/Profiler.CC.html#l30"><span class=cF4>Prof</span></a><span class=cF0>() depth argument to record a hit in the N routines which called the current routine, as well.
|
||||
<a name="l4"></a>
|
||||
<a name="l5"></a>When done collecting statistics, use </span><a href="https://tomawezome.github.io/ZealOS/System/Utils/Profiler.CC.html#l61"><span class=cF4>ProfRep</span></a><span class=cF0>() for a report. You might need a </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocRecalcLib.CC.html#l193"><span class=cF4>DocMax</span></a><span class=cF0>() to expand the command line window
|
||||
<a name="l6"></a>buffer to fit it all.
|
||||
<a name="l7"></a>
|
||||
<a name="l8"></a>Study the code. The profiler is very simple. You might want to enhance it or modify it to debug something in particular.
|
||||
<a name="l1"></a><span class=cF0>The profiler records where the CPU was executing when the 1000Hz timer interrupt occured, so you can learn where time is
|
||||
<a name="l2"></a>spent.
|
||||
<a name="l3"></a>
|
||||
<a name="l4"></a>Use the </span><a href="https://tomawezome.github.io/ZealOS/System/Utils/Profiler.CC.html#l30"><span class=cF4>Prof</span></a><span class=cF0>() depth argument to record a hit in the N routines which called the current routine, as well.
|
||||
<a name="l5"></a>
|
||||
<a name="l6"></a>When done collecting statistics, use </span><a href="https://tomawezome.github.io/ZealOS/System/Utils/Profiler.CC.html#l61"><span class=cF4>ProfRep</span></a><span class=cF0>() for a report. You might need a </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocRecalcLib.CC.html#l193"><span class=cF4>DocMax</span></a><span class=cF0>() to expand the command line window
|
||||
<a name="l7"></a>buffer to fit it all.
|
||||
<a name="l8"></a>
|
||||
<a name="l9"></a>Study the code. The profiler is very simple. You might want to enhance it or modify it to debug something in particular.
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF0>A </span><span class=cF2>Queue</span><span class=cF0> is a bunch of </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l391"><span class=cF4>MAlloc</span></a><span class=cF0>()ed chunks of mem linked together in a circle with one ptr to the </span><span class=cF2>next</span><span class=cF0> value and another ptr to the </span><span class=cF2>
|
||||
<a name="l2"></a>last</span><span class=cF0> value. These ptrs must be stored in the first locations in the structure.
|
||||
<a name="l1"></a><span class=cF0>A </span><span class=cF2>Queue</span><span class=cF0> is a bunch of </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l391"><span class=cF4>MAlloc</span></a><span class=cF0>()ed chunks of mem linked together in a circle with one ptr to the </span><span class=cF2>next</span><span class=cF0> value and another ptr to
|
||||
<a name="l2"></a>the </span><span class=cF2>last</span><span class=cF0> value. These ptrs must be stored in the first locations in the structure.
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -25,17 +25,17 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Quirks</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Quirks</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>* You run a risk of problems if you do file operations on the same files simultaneously because there is <blink>no file sharing/locking
|
||||
<a name="l4"></a>mechanism</blink>. Generally, the last write wins.
|
||||
<a name="l3"></a>* You run a risk of problems if you do file operations on the same files simultaneously because there is <blink>no file
|
||||
<a name="l4"></a>sharing/locking mechanism</blink>. Generally, the last write wins.
|
||||
<a name="l5"></a>
|
||||
<a name="l6"></a>* When using </span><span class=cF2>FAT32</span><span class=cF0>, ZealOS does not generate unique short-entry names, the ones with the </span><span class=cF2>~</span><span class=cF0>s. Not all </span><span class=cF2>FAT32</span><span class=cF0> filenames are
|
||||
<a name="l7"></a>valid ZealOS names and it will complain. Do not access </span><span class=cF2>FAT32</span><span class=cF0> drives not dedicated to ZealOS. Disable them with </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskAddDev.CC.html#l195"><span class=cF4>DriveEnable</span></a><span class=cF0>(O
|
||||
<a name="l8"></a>FF), 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="l7"></a>valid ZealOS names and it will complain. Do not access </span><span class=cF2>FAT32</span><span class=cF0> drives not dedicated to ZealOS. Disable them with </span><span class=cF4>
|
||||
<a name="l8"></a></span><a href="https://tomawezome.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 heap.
|
||||
<a name="l11"></a>You can change </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3508"><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://tomawezome.github.io/ZealOS/Kernel/KTask.CC.html#l264"><span class=cF4>Spawn</span></a><span class=cF0>().
|
||||
<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://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l3508"><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://tomawezome.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>
|
||||
|
@ -46,13 +46,13 @@ body {background-color:#000000;}
|
|||
<a name="l19"></a>* You can only </span><span class=cF2>extern</span><span class=cF0> something once. There is a varient called </span><span class=cF2>_extern</span><span class=cF0> which binds a CosmiC definition to a asm sym. This,
|
||||
<a name="l20"></a>too, can only be done once.
|
||||
<a name="l21"></a>
|
||||
<a name="l22"></a>* A terminal task has a </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>CDoc</span></a><span class=cF0> document structure that remains active even when you change </span><span class=cF4>Fs->draw_it</span><span class=cF0>. To prevent links in the </span><span class=cF4>
|
||||
<a name="l23"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>CDoc</span></a><span class=cF0> from being activated when the user clicks in the window, do one of three things:
|
||||
<a name="l22"></a>* A terminal task has a </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>CDoc</span></a><span class=cF0> document structure that remains active even when you change </span><span class=cF4>Fs->draw_it</span><span class=cF0>. To prevent links in
|
||||
<a name="l23"></a>the </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>CDoc</span></a><span class=cF0> from being activated when the user clicks in the window, do one of three things:
|
||||
<a name="l24"></a>
|
||||
<a name="l25"></a> A) </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocRecalcLib.CC.html#l121"><span class=cF4>DocBottom</span></a><span class=cF0>() followed by </span><a href="https://tomawezome.github.io/ZealOS/System/DolDoc/DocRecalcLib.CC.html#l135"><span class=cF4>DocClear</span></a><span class=cF0>() to clear the </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>CDoc</span></a><span class=cF0> so it has no active widgets.
|
||||
<a name="l26"></a>
|
||||
<a name="l27"></a> B) Disable window mgr bttn click checking with </span><span class=cF4>Fs->win_inhibit</span><span class=cF0> set to mask </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1552"><span class=cF4>WIF_SELF_MS_L</span></a><span class=cF0>|</span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1566"><span class=cF4>WIF_FOCUS_TASK_MS_L_D</span></a><span class=cF0>|</span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1554"><span class=cF4>WIF_SELF_MS_R</span></a><span class=cF0>|</span><span class=cF4>
|
||||
<a name="l28"></a> </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1568"><span class=cF4>WIF_FOCUS_TASK_MS_R_D</span></a><span class=cF0>. This inhibits window mgr operations but still generates messages from bttn clicks.
|
||||
<a name="l27"></a> B) Disable window mgr bttn click checking with </span><span class=cF4>Fs->win_inhibit</span><span class=cF0> set to mask </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1552"><span class=cF4>WIF_SELF_MS_L</span></a><span class=cF0>|</span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1566"><span class=cF4>WIF_FOCUS_TASK_MS_L_D</span></a><span class=cF0>|</span><span class=cF4>
|
||||
<a name="l28"></a> </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1554"><span class=cF4>WIF_SELF_MS_R</span></a><span class=cF0>|</span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1568"><span class=cF4>WIF_FOCUS_TASK_MS_R_D</span></a><span class=cF0>. This inhibits window mgr operations but still generates messages from bttn clicks.
|
||||
<a name="l29"></a>
|
||||
<a name="l30"></a>* </span><span class=cF2>switch/case</span><span class=cF0> statements alloc a single jump table--do not use with wide, sparse ranges of case values.
|
||||
<a name="l31"></a>
|
||||
|
@ -63,16 +63,16 @@ body {background-color:#000000;}
|
|||
<a name="l36"></a>
|
||||
<a name="l37"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelB.HH.html#l135"><span class=cF4>MemCopy</span></a><span class=cF0>() only goes forward.
|
||||
<a name="l38"></a>
|
||||
<a name="l39"></a>* A </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskDirB.CC.html#l9"><span class=cF4>Cd</span></a><span class=cF0>() cmd must be followed by two semicolons if a </span><span class=cF2>#include</span><span class=cF0> is after it. This is because the preprocessor processes the next
|
||||
<a name="l40"></a>token ahead.
|
||||
<a name="l39"></a>* A </span><a href="https://tomawezome.github.io/ZealOS/Kernel/BlkDev/DiskDirB.CC.html#l9"><span class=cF4>Cd</span></a><span class=cF0>() cmd must be followed by two semicolons if a </span><span class=cF2>#include</span><span class=cF0> is after it. This is because the preprocessor processes the
|
||||
<a name="l40"></a>next token ahead.
|
||||
<a name="l41"></a>
|
||||
<a name="l42"></a>* The assembler's error messages are often off by a line and undefines are cryptic.
|
||||
<a name="l43"></a>
|
||||
<a name="l44"></a>* The last semicolon on the cmd line is converted to a double semicolon because the compiler looks ahead before doing a cmd.
|
||||
<a name="l45"></a>This normally has no negative effect, but when entering </span><span class=cF2>if</span><span class=cF0> statements with </span><span class=cF2>else</span><span class=cF0> clauses it presents problems.
|
||||
<a name="l46"></a>
|
||||
<a name="l47"></a>* You can do a </span><span class=cF2>class</span><span class=cF0> forward reference by using </span><span class=cF2>extern</span><span class=cF0> on the first declaration, but you can only do ptr references to the </span><span class=cF2>class</span><span class=cF0>
|
||||
<a name="l48"></a>.
|
||||
<a name="l47"></a>* You can do a </span><span class=cF2>class</span><span class=cF0> forward reference by using </span><span class=cF2>extern</span><span class=cF0> on the first declaration, but you can only do ptr references to the </span><span class=cF2>cla
|
||||
<a name="l48"></a>ss</span><span class=cF0>.
|
||||
<a name="l49"></a>
|
||||
<a name="l50"></a>* When doing something like
|
||||
<a name="l51"></a></span><span class=cF2> U0 Main()
|
||||
|
@ -83,7 +83,7 @@ body {background-color:#000000;}
|
|||
<a name="l56"></a> </span><span class=cF0>The </span><span class=cF2>|=</span><span class=cF0> will be coded as a </span><span class=cF2>U32 Bts</span><span class=cF0> instruction resulting in a </span><span class=cF2>U32</span><span class=cF0> access instead of a </span><span class=cF2>U16</span><span class=cF0> access. This affects some hardware
|
||||
<a name="l57"></a> operations.
|
||||
<a name="l58"></a>
|
||||
<a name="l59"></a>* Compiler warning or error message line numbers will be off if you have a block of word-wrapped comments. You might press </span><span class=cF2><CTR
|
||||
<a name="l60"></a>L-t></span><span class=cF0> before doing an editor goto-line-number command.
|
||||
<a name="l59"></a>* Compiler warning or error message line numbers will be off if you have a block of word-wrapped comments. You might press </span><span class=cF2><C
|
||||
<a name="l60"></a>TRL-t></span><span class=cF0> before doing an editor goto-line-number command.
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -25,11 +25,11 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> RedSea File System</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> RedSea File System</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>The RedSea file system is a simple, 64-bit, file system which is similar to FAT32, but with absolute block addresses instead of
|
||||
<a name="l4"></a>clus, fixed-sized 64-byte directory entries and no FAT table, just an allocation bitmap. A clus is just one 512 byte sector.
|
||||
<a name="l5"></a>Files are stored in contiguous blocks and cannot grow in size.
|
||||
<a name="l3"></a>The RedSea file system is a simple, 64-bit, file system which is similar to FAT32, but with absolute block addresses instead
|
||||
<a name="l4"></a>of clus, fixed-sized 64-byte directory entries and no FAT table, just an allocation bitmap. A clus is just one 512 byte
|
||||
<a name="l5"></a>sector. Files are stored in contiguous blocks and cannot grow in size.
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a>#</span><span class=cF1>define</span><span class=cF0> </span><span class=cF3>CDIR_FILENAME_LEN</span><span class=cF0> </span><span class=cFE>38</span><span class=cF0> </span><span class=cF2>//Must include terminator zero</span><span class=cF0>
|
||||
<a name="l8"></a>
|
||||
|
@ -63,9 +63,9 @@ body {background-color:#000000;}
|
|||
<a name="l36"></a>
|
||||
<a name="l37"></a>Files with names ending in are compressed. See </span><a href="https://tomawezome.github.io/ZealOS/Kernel/Compress.CC.html#l1"><span class=cF4>::/Kernel/Compress.CC</span></a><span class=cF0>.
|
||||
<a name="l38"></a>
|
||||
<a name="l39"></a>To replace ISO9660, make hard-drive partition image of a measured size and copy onto a CD/DVD starting at about sector 20, with
|
||||
<a name="l40"></a>EL TORITO booting. 512-byte sectors will be placed on top of 2048-byte CD/DCD sectors, so there will be four blocks per CD/DVD
|
||||
<a name="l41"></a>sector.
|
||||
<a name="l39"></a>To replace ISO9660, make hard-drive partition image of a measured size and copy onto a CD/DVD starting at about sector 20,
|
||||
<a name="l40"></a>with EL TORITO booting. 512-byte sectors will be placed on top of 2048-byte CD/DCD sectors, so there will be four blocks per
|
||||
<a name="l41"></a>CD/DVD sector.
|
||||
<a name="l42"></a>
|
||||
<a name="l43"></a>RedSea file system has no bad block table and no redundant allocation table.
|
||||
<a name="l44"></a>
|
||||
|
|
|
@ -25,28 +25,28 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> RedSea Reliability</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> RedSea Reliability</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>ZealOS is like the 1040EZ tax form compared to the full 1040 form. Obviously, it is simpler. If you allow mission creep,
|
||||
<a name="l4"></a>pretty soon the 1040EZ looks just like the 1040 and the messed-up 1040EZ has no purpose.
|
||||
<a name="l5"></a>
|
||||
<a name="l6"></a>The Commodore 64 had a file system that was simple enough for peers in Terry's generation to enjoy the thrill of knowing exactly
|
||||
<a name="l7"></a>what is going on at the hardware level and writing fun projects to access it.
|
||||
<a name="l6"></a>The Commodore 64 had a file system that was simple enough for peers in Terry's generation to enjoy the thrill of knowing
|
||||
<a name="l7"></a>exactly what is going on at the hardware level and writing fun projects to access it.
|
||||
<a name="l8"></a>
|
||||
<a name="l9"></a>The primary design criteria is simplicity. If it is simple enough for only 100,000 people to learn, lets try to make it simpler
|
||||
<a name="l10"></a>so that 1 million can learn it.
|
||||
<a name="l9"></a>The primary design criteria is simplicity. If it is simple enough for only 100,000 people to learn, lets try to make it
|
||||
<a name="l10"></a>simpler so that 1 million can learn it.
|
||||
<a name="l11"></a>
|
||||
<a name="l12"></a>Obviously, we don't do bad block tables, or redundant FATs.
|
||||
<a name="l13"></a>
|
||||
<a name="l14"></a>We use the simplest possible technique, a contiguous-file-only allocation bitmap, not </span><a href="https://tomawezome.github.io/ZealOS/Doc/BlkChain.DD.html#l1"><span class=cF4>Block Chains</span></a><span class=cF0> or FAT tables.
|
||||
<a name="l15"></a>
|
||||
<a name="l16"></a>You can be a good toy or you can be a good professional tool, but not both. ZealOS's file manager will start too slowly once a
|
||||
<a name="l17"></a>few thousand files exist because the file manager makes a list of all files on start-up.
|
||||
<a name="l16"></a>You can be a good toy or you can be a good professional tool, but not both. ZealOS's file manager will start too slowly once
|
||||
<a name="l17"></a>a few thousand files exist because the file manager makes a list of all files on start-up.
|
||||
<a name="l18"></a>
|
||||
<a name="l19"></a>Do not have more than a few thousand files or the file manager will not function.
|
||||
<a name="l20"></a>
|
||||
<a name="l21"></a>You are encouraged to keep your entire drive limited to, maybe, 100 Meg of files because you are suppoosed to operate as a kayak
|
||||
<a name="l22"></a>instead of a Titanic. If you do this, backing-up will be only a minute or so and you should do it at least once a day.
|
||||
<a name="l21"></a>You are encouraged to keep your entire drive limited to, maybe, 100 Meg of files because you are suppoosed to operate as a
|
||||
<a name="l22"></a>kayak instead of a Titanic. If you do this, backing-up will be only a minute or so and you should do it at least once a day.
|
||||
<a name="l23"></a>
|
||||
<a name="l24"></a>Third party software should be run from ISO files or CD/DVDs directly, without installing to hard drive.
|
||||
<a name="l25"></a>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Requirements for ZealOS</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Requirements for ZealOS</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a></span><span class=cF5>User Skills Required</span><span class=cF0>
|
||||
<a name="l4"></a>* Knowledge of the </span><span class=cF2>C</span><span class=cF0> programming language.
|
||||
|
|
|
@ -25,13 +25,13 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Graphic Sprite Resource Help</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Graphic Sprite Resource Help</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>A sprite is an ordered list of elements such as lines, rectangles, bitmaps and color changes. In a program's source code, you
|
||||
<a name="l4"></a>first </span><span class=cF2>make a sprite</span><span class=cF0> somewhere outside a function. Then, you </span><span class=cF2>insert a pointer</span><span class=cF0> to the sprite as an "*elems" arg when calling </span><span class=cF4>
|
||||
<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrSpritePlot.CC.html#l536"><span class=cF4>Sprite</span></a><span class=cF0>() or </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrSpritePlot.CC.html#l18"><span class=cF4>Sprite3</span></a><span class=cF0>(). See </span><span class=cF4><u>Sprites</u></span><span class=cF0>.
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a>You can create a </span><span class=cF2>sprite macro</span><span class=cF0> on your </span><a href="https://tomawezome.github.io/ZealOS/Home/PersonalMenu.DD.html#l1"><span class=cF4>PersonalMenu</span></a><span class=cF0> with a payload of </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> source code to execute when it ESC's back to the cmd
|
||||
<a name="l8"></a>line. If you check "Pop-Up", it will spawn a new task and run the payload. A pop-up macro can be placed in any document.
|
||||
<a name="l7"></a>You can create a </span><span class=cF2>sprite macro</span><span class=cF0> on your </span><a href="https://tomawezome.github.io/ZealOS/Home/PersonalMenu.DD.html#l1"><span class=cF4>PersonalMenu</span></a><span class=cF0> with a payload of </span><a href="https://tomawezome.github.io/ZealOS/Doc/CosmiC.DD.html#l1"><span class=cF4>CosmiC</span></a><span class=cF0> source code to execute when it ESC's back to the
|
||||
<a name="l8"></a>cmd line. If you check "Pop-Up", it will spawn a new task and run the payload. A pop-up macro can be placed in any document.
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -25,16 +25,16 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Scoping and Linkage</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Scoping and Linkage</span><span class=cF0>
|
||||
<a name="l2"></a></span><span class=cF4>
|
||||
<a name="l3"></a></span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l186"><span class=cF4>JIT Compile Mode</span></a><span class=cF0> makes use of the current task's hash sym table and its parent tasks' tables. It fetches syms from parent
|
||||
<a name="l3"></a></span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l187"><span class=cF4>JIT Compile Mode</span></a><span class=cF0> makes use of the current task's hash sym table and its parent tasks' tables. It fetches syms from parent
|
||||
<a name="l4"></a>tasks' tables if not found locally in the current task's table and it places new syms in the current task's table.
|
||||
<a name="l5"></a>Conceptually, syms are at the scope of environment vars in other operating systems.
|
||||
<a name="l6"></a>
|
||||
<a name="l7"></a>When a sym is placed into a table, older syms with ident names will be overshadowed if they exist. Duplicates are not allowed
|
||||
<a name="l8"></a>in many cases, especially in asm blks. Dupicates are allowed, by design in other cases, so that you can repeatedly </span><span class=cF2>#include</span><span class=cF0> the
|
||||
<a name="l9"></a>same file from the cmd line while developing it. Or, so you can repeatedly declare a function with a standard name, like </span><span class=cF2>Draw
|
||||
<a name="l10"></a>It()</span><span class=cF0>. This case might occur when the </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l154"><span class=cF4>System Task</span></a><span class=cF0> is starting-up loading-in many little utilities.
|
||||
<a name="l8"></a>in many cases, especially in asm blks. Dupicates are allowed, by design in other cases, so that you can repeatedly </span><span class=cF2>#include</span><span class=cF0>
|
||||
<a name="l9"></a>the same file from the cmd line while developing it. Or, so you can repeatedly declare a function with a standard name,
|
||||
<a name="l10"></a>like </span><span class=cF2>DrawIt()</span><span class=cF0>. This case might occur when the </span><a href="https://tomawezome.github.io/ZealOS/Doc/Glossary.DD.html#l154"><span class=cF4>System Task</span></a><span class=cF0> is starting-up loading-in many little utilities.
|
||||
<a name="l11"></a>
|
||||
<a name="l12"></a></span><span class=cF2>extern</span><span class=cF0> binds a new </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l828"><span class=cF4>HTT_FUN</span></a><span class=cF0> or </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l825"><span class=cF4>HTT_GLOBAL_VAR</span></a><span class=cF0> sym to an existing sym of the same name if it exists in the sym table (just in
|
||||
<a name="l13"></a>just-in-time code). It also can be used to generate a forward reference.
|
||||
|
@ -155,8 +155,8 @@ body {background-color:#000000;}
|
|||
<a name="l128"></a>
|
||||
<a name="l129"></a>* An unused gap on the stack is left for </span><span class=cF2>reg</span><span class=cF0> vars.
|
||||
<a name="l130"></a>
|
||||
<a name="l131"></a>* Note: </span><span class=cF2>static</span><span class=cF0> function vars do not go on the data heap, no matter the setting of the </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1685"><span class=cF4>OPTf_GLOBALS_ON_DATA_HEAP</span></a><span class=cF0>. They may in
|
||||
<a name="l132"></a>the future.
|
||||
<a name="l131"></a>* Note: </span><span class=cF2>static</span><span class=cF0> function vars do not go on the data heap, no matter the setting of the </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1685"><span class=cF4>OPTf_GLOBALS_ON_DATA_HEAP</span></a><span class=cF0>. They may
|
||||
<a name="l132"></a>in the future.
|
||||
<a name="l133"></a>
|
||||
<a name="l134"></a>* </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KernelA.HH.html#l1682"><span class=cF4>OPTf_EXTERNS_TO_IMPORTS</span></a><span class=cF0> will treat </span><span class=cF2>_extern</span><span class=cF0> as </span><span class=cF2>_import</span><span class=cF0> and </span><span class=cF2>extern</span><span class=cF0> as </span><span class=cF2>import</span><span class=cF0>. This allows a header to be used either as a </span><span class=cF2>JIT
|
||||
<a name="l135"></a>compiled</span><span class=cF0> or </span><span class=cF2>AOT compiled</span><span class=cF0> header.
|
||||
|
|
|
@ -26,7 +26,7 @@ body {background-color:#000000;}
|
|||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF0>Sound is generated with </span><span class=cF2>I8</span><span class=cF0> vals called </span><span class=cF2>ona</span><span class=cF0>'s, which are 88 piano key nums, with 0 as a rest. See </span><a href="https://tomawezome.github.io/ZealOS/System/Sound.CC.html#l215"><span class=cF4>Note2Ona</span></a><span class=cF0>() and </span><a href="https://tomawezome.github.io/ZealOS/Kernel/KMisc.CC.html#l113"><span class=cF4>Ona2Freq</span></a><span class=cF0>().
|
||||
<a name="l2"></a>God does not want death screams, perhaps, because God has PTSD or soldiers have PTSD. (Imagine wounded on battlefields.) </span><span class=cF2>Ona</span><span class=cF0>'s
|
||||
<a name="l3"></a>will allow elegant wave files for export and will allow the creation of simple hardware over the next centuries.
|
||||
<a name="l2"></a>God does not want death screams, perhaps, because God has PTSD or soldiers have PTSD. (Imagine wounded on battlefields.) </span><span class=cF2>Ona</span><span class=cF0>
|
||||
<a name="l3"></a>'s will allow elegant wave files for export and will allow the creation of simple hardware over the next centuries.
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Sprite BitMap Menu Help</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Sprite BitMap Menu Help</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>BitMaps have a background color. If you delete to the clip, what's left will be background colored.
|
||||
<a name="l4"></a>
|
||||
|
|
|
@ -25,14 +25,14 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Sprite Edit Menu Help</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Sprite Edit Menu Help</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>Order of elements matters. They are executed in the order they appear in the side-bar. You can sel or unsel elements
|
||||
<a name="l4"></a>graphically, or with text in the sidebar. Then, cut, copy, paste, shift or transform them.
|
||||
<a name="l5"></a>
|
||||
<a name="l6"></a>You can set the current insert point element by clicking the element in the side-bar and making it RED.
|
||||
<a name="l7"></a>
|
||||
<a name="l8"></a></span><span class=cF2>Insert Shift Suborigin</span><span class=cF0> is an element which shifts subsequent elements. Perhaps, you inserted a sprite's elements from the clip
|
||||
<a name="l9"></a>and want to shift it around? This command is also useful if you call </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrSpritePlot.CC.html#l373"><span class=cF4>SpriteInterpolate</span></a><span class=cF0>() in programs.
|
||||
<a name="l8"></a></span><span class=cF2>Insert Shift Suborigin</span><span class=cF0> is an element which shifts subsequent elements. Perhaps, you inserted a sprite's elements from the
|
||||
<a name="l9"></a>clip and want to shift it around? This command is also useful if you call </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/GrSpritePlot.CC.html#l373"><span class=cF4>SpriteInterpolate</span></a><span class=cF0>() in programs.
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Sprite Edit as Text Help</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Sprite Edit as Text Help</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>See the format for </span><a href="https://tomawezome.github.io/ZealOS/System/Gr/Gr.HH.html#l157"><span class=cF4>CSprites</span></a><span class=cF0>.
|
||||
</span></pre></body>
|
||||
|
|
|
@ -25,7 +25,7 @@ body {background-color:#000000;}
|
|||
</head>
|
||||
<body>
|
||||
<pre style="font-family:monospace;font-size:12pt">
|
||||
<a name="l1"></a><span class=cF5> Sprite Main Menu Help</span><span class=cF0>
|
||||
<a name="l1"></a><span class=cF5> Sprite Main Menu Help</span><span class=cF0>
|
||||
<a name="l2"></a>
|
||||
<a name="l3"></a>Order of elements matters. They are executed in the order they appear in the side-bar. You can set the insert point for new
|
||||
<a name="l4"></a>elements by click the element in the side-bar and making it RED.
|
||||
|
@ -38,8 +38,8 @@ body {background-color:#000000;}
|
|||
<a name="l11"></a>bitmap by seling it in the side bar so it is colored RED and clicking EDIT-BITMAP.
|
||||
<a name="l12"></a>
|
||||
<a name="l13"></a>If you have a 3D icon, you might want to place a background-colored rectangle under the 3D icon, so it hovers above. Use
|
||||
<a name="l14"></a>TRANSFORM-OFF and TRANSFORM-ON. You will also need to set the Z offset of the icon. Go to the Edit menu and sel EDIT-AS-TEXT
|
||||
<a name="l15"></a>and change the third INT to Z offset. Good luck.
|
||||
<a name="l14"></a>TRANSFORM-OFF and TRANSFORM-ON. You will also need to set the Z offset of the icon. Go to the Edit menu and sel
|
||||
<a name="l15"></a>EDIT-AS-TEXT and change the third INT to Z offset. Good luck.
|
||||
<a name="l16"></a>
|
||||
<a name="l17"></a>While inserting vector elements, you can usually press </span><span class=cF2>'c'</span><span class=cF0> to eye-dropper the color under the mouse. Press </span><span class=cF2>'t'</span><span class=cF0> for
|
||||
<a name="l18"></a>transparent.
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue