mirror of
https://github.com/Zeal-Operating-System/ZealOS.git
synced 2024-12-25 23:10:32 +00:00
Add WinMax to EdPullDown menu.
This commit is contained in:
parent
1c438fdcde
commit
43a64c897d
18 changed files with 7292 additions and 7276 deletions
|
@ -44,7 +44,7 @@ Afterwards, you can make a pull request on the `master` branch. (Make sure to in
|
|||
|
||||
## Background
|
||||
|
||||
In around November of 2019, [Z3N1THM4N](https://github.com/Z3N1THM4N) forked [ZenithOS](https://github.com/ZenithOS/ZenithOS) from TempleOS to continue Terry's work in a direction that would make it a viable operating system while still keeping the innovative and divine-intellect ideas and design strategies intact. At first, development occurred exclusively inside a VM and ISOs were occasionally generated as official releases, but this was scrapped and restarted from scratch. [Releases of the "old" ZenithOS are currently archived on the [mega.nz] website.](https://mega.nz/#F!ZIEGmSRQ!qvL6Wk6THzE-dazkfT6N3Q) The repository was removed in August of 2020, and reuploaded to [ZenithOS](https://github.com/ZenithOS/ZenithOS). The latest archived [front page](https://web.archive.org/web/20200811190005/https://github.com/VoidNV/ZenithOS/), [master.zip](https://web.archive.org/web/20200811190054/https://codeload.github.com/VoidNV/ZenithOS/zip/master), and [related links](https://web.archive.org/web/*/https://github.com/VoidNV/ZenithOS/*) can be found on archive.org.
|
||||
In around November of 2019, [VoidNV](https://web.archive.org/web/20210414181948/https://github.com/VoidNV) forked [ZenithOS](https://web.archive.org/web/20200811190005/https://github.com/VoidNV/ZenithOS) from TempleOS to continue Terry's work in a direction that would make it a viable operating system while still keeping the innovative and divine-intellect ideas and design strategies intact. At first, development occurred exclusively inside a VM and ISOs were occasionally generated as official releases, but this was scrapped and restarted from scratch. [Releases of the "old" ZenithOS are currently archived on the mega.nz website.](https://mega.nz/#F!ZIEGmSRQ!qvL6Wk6THzE-dazkfT6N3Q) The repository was removed in August of 2020, and reuploaded to [ZenithOS](https://web.archive.org/web/20210630230454/https://github.com/ZenithOS/ZenithOS). The latest archived [front page](https://web.archive.org/web/20200811190005/https://github.com/VoidNV/ZenithOS/), [master.zip](https://web.archive.org/web/20200811190054/https://codeload.github.com/VoidNV/ZenithOS/zip/master), and [related links](https://web.archive.org/web/*/https://github.com/VoidNV/ZenithOS/*) can be found on archive.org.
|
||||
|
||||
In July of 2021, ZealOS was forked from ZenithOS.
|
||||
|
||||
|
|
Binary file not shown.
|
@ -36,7 +36,7 @@ body {background-color:#fef1f0;}
|
|||
<a name="l9"></a> </span><span class=cF5>WinToTop</span><span class=cF0>;
|
||||
<a name="l10"></a> </span><span class=cF5>WinZBufUpdate</span><span class=cF0>;
|
||||
<a name="l11"></a> </span><span class=cF5>Dir</span><span class=cF0>;
|
||||
<a name="l12"></a> </span><span class=cF6>"94,722LOC:"</span><span class=cF0>;
|
||||
<a name="l12"></a> </span><span class=cF6>"94,724LOC:"</span><span class=cF0>;
|
||||
<a name="l13"></a> </span><span class=cF5>CPURep</span><span class=cF0>;
|
||||
<a name="l14"></a>}
|
||||
<a name="l15"></a>
|
||||
|
|
|
@ -174,128 +174,133 @@ body {background-color:#fef1f0;}
|
|||
<a name="l147"></a> </span><span class=cF1>if</span><span class=cF0> (!st[</span><span class=cFE>2</span><span class=cF0>])
|
||||
<a name="l148"></a> </span><span class=cF5>StrCopy</span><span class=cF0>(st + </span><span class=cFE>2</span><span class=cF0>, </span><span class=cF6>"/"</span><span class=cF0>);
|
||||
<a name="l149"></a>
|
||||
<a name="l150"></a> </span><span class=cF6>"\n$MA,T=\"Directory\",LM=\"PopUpCd;GrDir;\n\"$ of %s\n\n"</span><span class=cF0>, st;
|
||||
<a name="l150"></a> </span><span class=cF6>"%s>$GREEN$GrDir(\"%s\");$FG$\n"</span><span class=cF0>, st, st;
|
||||
<a name="l151"></a>
|
||||
<a name="l152"></a> </span><span class=cF1>while</span><span class=cF0> (tmpde1)
|
||||
<a name="l153"></a> {
|
||||
<a name="l154"></a> tmpde2 = tmpde1->next;
|
||||
<a name="l152"></a> </span><span class=cF6>"\n$MA,\"Drive C\",LM=\"Drive('C');GrDir;\n\"$ $MA,\"Drive D\",LM=\"Drive('D');GrDir;\n\"$ $MA,\"Disk Change T\",LM=\"DiskChange('T');GrDir;\n\"$\n"</span><span class=cF0>;
|
||||
<a name="l153"></a>
|
||||
<a name="l154"></a> </span><span class=cF6>"\n$MA,T=\"Directory\",LM=\"PopUpCd;GrDir;\n\"$ of %s\n\n"</span><span class=cF0>, st;
|
||||
<a name="l155"></a>
|
||||
<a name="l156"></a> </span><span class=cF1>switch</span><span class=cF0> (res % </span><span class=cFE>3</span><span class=cF0>)
|
||||
<a name="l157"></a> </span><span class=cF7>{</span><span class=cF0>
|
||||
<a name="l158"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>0</span><span class=cF0>:
|
||||
<a name="l159"></a> tag = </span><span class=cF6>"LX"</span><span class=cF0>;
|
||||
<a name="l160"></a> </span><span class=cF1>break</span><span class=cF0>;
|
||||
<a name="l161"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>1</span><span class=cF0>:
|
||||
<a name="l162"></a> tag = </span><span class=cF6>"CX"</span><span class=cF0>;
|
||||
<a name="l163"></a> </span><span class=cF1>break</span><span class=cF0>;
|
||||
<a name="l164"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>2</span><span class=cF0>:
|
||||
<a name="l165"></a> tag = </span><span class=cF6>"RX"</span><span class=cF0>;
|
||||
<a name="l166"></a> </span><span class=cF1>break</span><span class=cF0>;
|
||||
<a name="l167"></a> </span><span class=cF7>}</span><span class=cF0>
|
||||
<a name="l168"></a>
|
||||
<a name="l169"></a> </span><span class=cF1>if</span><span class=cF0> (res % </span><span class=cFE>3</span><span class=cF0> == </span><span class=cFE>0</span><span class=cF0> && res != </span><span class=cFE>0</span><span class=cF0>)
|
||||
<a name="l170"></a> </span><span class=cF7>{</span><span class=cF0>
|
||||
<a name="l171"></a> GrDirSprite(, tmpb0, tmpf0, </span><span class=cFE>0</span><span class=cF0>);
|
||||
<a name="l172"></a> GrDirSprite(, tmpb1, tmpf1, </span><span class=cFE>1</span><span class=cF0>);
|
||||
<a name="l173"></a> GrDirSprite(, tmpb2, tmpf2, </span><span class=cFE>2</span><span class=cF0>);
|
||||
<a name="l174"></a>
|
||||
<a name="l175"></a> </span><span class=cF6>"\n\n\n\n\n\n\n"</span><span class=cF0>;
|
||||
<a name="l176"></a> tmpb = </span><span class=cF3>NULL</span><span class=cF0>;
|
||||
<a name="l177"></a> tmpb0 = </span><span class=cF3>NULL</span><span class=cF0>;
|
||||
<a name="l178"></a> tmpb1 = </span><span class=cF3>NULL</span><span class=cF0>;
|
||||
<a name="l179"></a> tmpb2 = </span><span class=cF3>NULL</span><span class=cF0>;
|
||||
<a name="l180"></a>
|
||||
<a name="l181"></a> </span><span class=cF5>Free</span><span class=cF0>(tmpf0);
|
||||
<a name="l182"></a> </span><span class=cF5>Free</span><span class=cF0>(tmpf1);
|
||||
<a name="l183"></a> </span><span class=cF5>Free</span><span class=cF0>(tmpf2);
|
||||
<a name="l184"></a> tmpf0 = </span><span class=cF3>NULL</span><span class=cF0>;
|
||||
<a name="l185"></a> tmpf1 = </span><span class=cF3>NULL</span><span class=cF0>;
|
||||
<a name="l186"></a> tmpf2 = </span><span class=cF3>NULL</span><span class=cF0>;
|
||||
<a name="l187"></a> </span><span class=cF7>}</span><span class=cF0>
|
||||
<a name="l188"></a>
|
||||
<a name="l189"></a> </span><span class=cF1>if</span><span class=cF0> (res % </span><span class=cFE>3</span><span class=cF0> == </span><span class=cFE>2</span><span class=cF0>)
|
||||
<a name="l190"></a> </span><span class=cF6>"$CM-LE-RE$"</span><span class=cF0>;
|
||||
<a name="l191"></a>
|
||||
<a name="l192"></a> </span><span class=cF1>if</span><span class=cF0> (tmpde1->attr & </span><span class=cF3>RS_ATTR_DIR</span><span class=cF0>)
|
||||
<a name="l193"></a> </span><span class=cF7>{</span><span class=cF0>
|
||||
<a name="l194"></a>
|
||||
<a name="l195"></a> </span><span class=cF6>"$MA+%s,T=\"%s\",LM=\"Cd(\\\"%s\\\");GrDir;\n\"$"</span><span class=cF0>, tag, tmpde1->name, tmpde1->full_name;
|
||||
<a name="l196"></a> </span><span class=cF1>switch</span><span class=cF0> (res % </span><span class=cFE>3</span><span class=cF0>)
|
||||
<a name="l197"></a> {
|
||||
<a name="l198"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>0</span><span class=cF0>:
|
||||
<a name="l199"></a> tmpb0 = </span><span class=cFA><3></span><span class=cF0>;
|
||||
<a name="l200"></a> tmpf0 = </span><span class=cF5>StrNew</span><span class=cF0>(tmpde1->full_name);
|
||||
<a name="l201"></a> </span><span class=cF1>break</span><span class=cF0>;
|
||||
<a name="l202"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>1</span><span class=cF0>:
|
||||
<a name="l203"></a> tmpb1 = </span><span class=cFA><3></span><span class=cF0>;
|
||||
<a name="l204"></a> tmpf1 = </span><span class=cF5>StrNew</span><span class=cF0>(tmpde1->full_name);
|
||||
<a name="l156"></a> </span><span class=cF1>while</span><span class=cF0> (tmpde1)
|
||||
<a name="l157"></a> {
|
||||
<a name="l158"></a> tmpde2 = tmpde1->next;
|
||||
<a name="l159"></a>
|
||||
<a name="l160"></a> </span><span class=cF1>switch</span><span class=cF0> (res % </span><span class=cFE>3</span><span class=cF0>)
|
||||
<a name="l161"></a> </span><span class=cF7>{</span><span class=cF0>
|
||||
<a name="l162"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>0</span><span class=cF0>:
|
||||
<a name="l163"></a> tag = </span><span class=cF6>"LX"</span><span class=cF0>;
|
||||
<a name="l164"></a> </span><span class=cF1>break</span><span class=cF0>;
|
||||
<a name="l165"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>1</span><span class=cF0>:
|
||||
<a name="l166"></a> tag = </span><span class=cF6>"CX"</span><span class=cF0>;
|
||||
<a name="l167"></a> </span><span class=cF1>break</span><span class=cF0>;
|
||||
<a name="l168"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>2</span><span class=cF0>:
|
||||
<a name="l169"></a> tag = </span><span class=cF6>"RX"</span><span class=cF0>;
|
||||
<a name="l170"></a> </span><span class=cF1>break</span><span class=cF0>;
|
||||
<a name="l171"></a> </span><span class=cF7>}</span><span class=cF0>
|
||||
<a name="l172"></a>
|
||||
<a name="l173"></a> </span><span class=cF1>if</span><span class=cF0> (res % </span><span class=cFE>3</span><span class=cF0> == </span><span class=cFE>0</span><span class=cF0> && res != </span><span class=cFE>0</span><span class=cF0>)
|
||||
<a name="l174"></a> </span><span class=cF7>{</span><span class=cF0>
|
||||
<a name="l175"></a> GrDirSprite(, tmpb0, tmpf0, </span><span class=cFE>0</span><span class=cF0>);
|
||||
<a name="l176"></a> GrDirSprite(, tmpb1, tmpf1, </span><span class=cFE>1</span><span class=cF0>);
|
||||
<a name="l177"></a> GrDirSprite(, tmpb2, tmpf2, </span><span class=cFE>2</span><span class=cF0>);
|
||||
<a name="l178"></a>
|
||||
<a name="l179"></a> </span><span class=cF6>"\n\n\n\n\n\n\n"</span><span class=cF0>;
|
||||
<a name="l180"></a> tmpb = </span><span class=cF3>NULL</span><span class=cF0>;
|
||||
<a name="l181"></a> tmpb0 = </span><span class=cF3>NULL</span><span class=cF0>;
|
||||
<a name="l182"></a> tmpb1 = </span><span class=cF3>NULL</span><span class=cF0>;
|
||||
<a name="l183"></a> tmpb2 = </span><span class=cF3>NULL</span><span class=cF0>;
|
||||
<a name="l184"></a>
|
||||
<a name="l185"></a> </span><span class=cF5>Free</span><span class=cF0>(tmpf0);
|
||||
<a name="l186"></a> </span><span class=cF5>Free</span><span class=cF0>(tmpf1);
|
||||
<a name="l187"></a> </span><span class=cF5>Free</span><span class=cF0>(tmpf2);
|
||||
<a name="l188"></a> tmpf0 = </span><span class=cF3>NULL</span><span class=cF0>;
|
||||
<a name="l189"></a> tmpf1 = </span><span class=cF3>NULL</span><span class=cF0>;
|
||||
<a name="l190"></a> tmpf2 = </span><span class=cF3>NULL</span><span class=cF0>;
|
||||
<a name="l191"></a> </span><span class=cF7>}</span><span class=cF0>
|
||||
<a name="l192"></a>
|
||||
<a name="l193"></a> </span><span class=cF1>if</span><span class=cF0> (res % </span><span class=cFE>3</span><span class=cF0> == </span><span class=cFE>2</span><span class=cF0>)
|
||||
<a name="l194"></a> </span><span class=cF6>"$CM-LE-RE$"</span><span class=cF0>;
|
||||
<a name="l195"></a>
|
||||
<a name="l196"></a> </span><span class=cF1>if</span><span class=cF0> (tmpde1->attr & </span><span class=cF3>RS_ATTR_DIR</span><span class=cF0>)
|
||||
<a name="l197"></a> </span><span class=cF7>{</span><span class=cF0>
|
||||
<a name="l198"></a>
|
||||
<a name="l199"></a> </span><span class=cF6>"$MA+%s,T=\"%s\",LM=\"Cd(\\\"%s\\\");GrDir;\n\"$"</span><span class=cF0>, tag, tmpde1->name, tmpde1->full_name;
|
||||
<a name="l200"></a> </span><span class=cF1>switch</span><span class=cF0> (res % </span><span class=cFE>3</span><span class=cF0>)
|
||||
<a name="l201"></a> {
|
||||
<a name="l202"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>0</span><span class=cF0>:
|
||||
<a name="l203"></a> tmpb0 = </span><span class=cFA><3></span><span class=cF0>;
|
||||
<a name="l204"></a> tmpf0 = </span><span class=cF5>StrNew</span><span class=cF0>(tmpde1->full_name);
|
||||
<a name="l205"></a> </span><span class=cF1>break</span><span class=cF0>;
|
||||
<a name="l206"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>2</span><span class=cF0>:
|
||||
<a name="l207"></a> tmpb2 = </span><span class=cFA><3></span><span class=cF0>;
|
||||
<a name="l208"></a> tmpf2 = </span><span class=cF5>StrNew</span><span class=cF0>(tmpde1->full_name);
|
||||
<a name="l206"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>1</span><span class=cF0>:
|
||||
<a name="l207"></a> tmpb1 = </span><span class=cFA><3></span><span class=cF0>;
|
||||
<a name="l208"></a> tmpf1 = </span><span class=cF5>StrNew</span><span class=cF0>(tmpde1->full_name);
|
||||
<a name="l209"></a> </span><span class=cF1>break</span><span class=cF0>;
|
||||
<a name="l210"></a> }
|
||||
<a name="l211"></a>
|
||||
<a name="l212"></a> </span><span class=cF7>}</span><span class=cF0>
|
||||
<a name="l213"></a> </span><span class=cF1>else</span><span class=cF0>
|
||||
<a name="l214"></a> </span><span class=cF7>{</span><span class=cF0>
|
||||
<a name="l215"></a> </span><span class=cF6>"$LK+%s+PU,\"%s\",A=\"FI:%s\"$"</span><span class=cF0>, tag, tmpde1->name, tmpde1->full_name;
|
||||
<a name="l216"></a> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".CC"</span><span class=cF7>)</span><span class=cF0>)
|
||||
<a name="l217"></a> tmpb = </span><span class=cFA><1></span><span class=cF0>;
|
||||
<a name="l218"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".DD"</span><span class=cF7>)</span><span class=cF0>)
|
||||
<a name="l219"></a> tmpb = </span><span class=cFA><5></span><span class=cF0>;
|
||||
<a name="l220"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".ISO.C"</span><span class=cF7>)</span><span class=cF0> ||
|
||||
<a name="l221"></a> !</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".ISO"</span><span class=cF7>)</span><span class=cF0> ||
|
||||
<a name="l222"></a> !</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".iso"</span><span class=cF7>)</span><span class=cF0>)
|
||||
<a name="l223"></a> tmpb = </span><span class=cFA><4></span><span class=cF0>;
|
||||
<a name="l224"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".HH"</span><span class=cF7>)</span><span class=cF0>)
|
||||
<a name="l225"></a> tmpb = </span><span class=cFA><2></span><span class=cF0>;
|
||||
<a name="l226"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".BIN.C"</span><span class=cF7>)</span><span class=cF0> ||
|
||||
<a name="l227"></a> !</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".BIN"</span><span class=cF7>)</span><span class=cF0>)
|
||||
<a name="l228"></a> tmpb = </span><span class=cFA><6></span><span class=cF0>;
|
||||
<a name="l229"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".IN"</span><span class=cF7>)</span><span class=cF0>)
|
||||
<a name="l230"></a> tmpb = </span><span class=cFA><7></span><span class=cF0>;
|
||||
<a name="l231"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".TXT"</span><span class=cF7>)</span><span class=cF0>)
|
||||
<a name="l232"></a> tmpb = </span><span class=cFA><8></span><span class=cF0>;
|
||||
<a name="l233"></a> </span><span class=cF1>else</span><span class=cF0>
|
||||
<a name="l234"></a> </span><span class=cF2>// sprite for unknown filetype</span><span class=cF0>
|
||||
<a name="l235"></a> tmpb = </span><span class=cFA><9></span><span class=cF0>;
|
||||
<a name="l236"></a>
|
||||
<a name="l237"></a> </span><span class=cF1>switch</span><span class=cF0> (res % </span><span class=cFE>3</span><span class=cF0>)
|
||||
<a name="l238"></a> {
|
||||
<a name="l239"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>0</span><span class=cF0>:
|
||||
<a name="l240"></a> tmpb0 = tmpb;
|
||||
<a name="l241"></a> tmpf0 = </span><span class=cF5>StrNew</span><span class=cF0>(tmpde1->full_name);
|
||||
<a name="l242"></a> </span><span class=cF1>break</span><span class=cF0>;
|
||||
<a name="l243"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>1</span><span class=cF0>:
|
||||
<a name="l244"></a> tmpb1 = tmpb;
|
||||
<a name="l245"></a> tmpf1 = </span><span class=cF5>StrNew</span><span class=cF0>(tmpde1->full_name);
|
||||
<a name="l210"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>2</span><span class=cF0>:
|
||||
<a name="l211"></a> tmpb2 = </span><span class=cFA><3></span><span class=cF0>;
|
||||
<a name="l212"></a> tmpf2 = </span><span class=cF5>StrNew</span><span class=cF0>(tmpde1->full_name);
|
||||
<a name="l213"></a> </span><span class=cF1>break</span><span class=cF0>;
|
||||
<a name="l214"></a> }
|
||||
<a name="l215"></a>
|
||||
<a name="l216"></a> </span><span class=cF7>}</span><span class=cF0>
|
||||
<a name="l217"></a> </span><span class=cF1>else</span><span class=cF0>
|
||||
<a name="l218"></a> </span><span class=cF7>{</span><span class=cF0>
|
||||
<a name="l219"></a> </span><span class=cF6>"$LK+%s+PU,\"%s\",A=\"FI:%s\"$"</span><span class=cF0>, tag, tmpde1->name, tmpde1->full_name;
|
||||
<a name="l220"></a> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".CC"</span><span class=cF7>)</span><span class=cF0>)
|
||||
<a name="l221"></a> tmpb = </span><span class=cFA><1></span><span class=cF0>;
|
||||
<a name="l222"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".DD"</span><span class=cF7>)</span><span class=cF0>)
|
||||
<a name="l223"></a> tmpb = </span><span class=cFA><5></span><span class=cF0>;
|
||||
<a name="l224"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".ISO.C"</span><span class=cF7>)</span><span class=cF0> ||
|
||||
<a name="l225"></a> !</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".ISO"</span><span class=cF7>)</span><span class=cF0> ||
|
||||
<a name="l226"></a> !</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".iso"</span><span class=cF7>)</span><span class=cF0>)
|
||||
<a name="l227"></a> tmpb = </span><span class=cFA><4></span><span class=cF0>;
|
||||
<a name="l228"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".HH"</span><span class=cF7>)</span><span class=cF0>)
|
||||
<a name="l229"></a> tmpb = </span><span class=cFA><2></span><span class=cF0>;
|
||||
<a name="l230"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".BIN.C"</span><span class=cF7>)</span><span class=cF0> ||
|
||||
<a name="l231"></a> !</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".BIN"</span><span class=cF7>)</span><span class=cF0>)
|
||||
<a name="l232"></a> tmpb = </span><span class=cFA><6></span><span class=cF0>;
|
||||
<a name="l233"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".IN"</span><span class=cF7>)</span><span class=cF0>)
|
||||
<a name="l234"></a> tmpb = </span><span class=cFA><7></span><span class=cF0>;
|
||||
<a name="l235"></a> </span><span class=cF1>else</span><span class=cF0> </span><span class=cF1>if</span><span class=cF0> (!</span><span class=cF5>StrCompare</span><span class=cF7>(</span><span class=cF5>FileExtDot</span><span class=cF0>(tmpde1->name), </span><span class=cF6>".TXT"</span><span class=cF7>)</span><span class=cF0>)
|
||||
<a name="l236"></a> tmpb = </span><span class=cFA><8></span><span class=cF0>;
|
||||
<a name="l237"></a> </span><span class=cF1>else</span><span class=cF0>
|
||||
<a name="l238"></a> </span><span class=cF2>// sprite for unknown filetype</span><span class=cF0>
|
||||
<a name="l239"></a> tmpb = </span><span class=cFA><9></span><span class=cF0>;
|
||||
<a name="l240"></a>
|
||||
<a name="l241"></a> </span><span class=cF1>switch</span><span class=cF0> (res % </span><span class=cFE>3</span><span class=cF0>)
|
||||
<a name="l242"></a> {
|
||||
<a name="l243"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>0</span><span class=cF0>:
|
||||
<a name="l244"></a> tmpb0 = tmpb;
|
||||
<a name="l245"></a> tmpf0 = </span><span class=cF5>StrNew</span><span class=cF0>(tmpde1->full_name);
|
||||
<a name="l246"></a> </span><span class=cF1>break</span><span class=cF0>;
|
||||
<a name="l247"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>2</span><span class=cF0>:
|
||||
<a name="l248"></a> tmpb2 = tmpb;
|
||||
<a name="l249"></a> tmpf2 = </span><span class=cF5>StrNew</span><span class=cF0>(tmpde1->full_name);
|
||||
<a name="l247"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>1</span><span class=cF0>:
|
||||
<a name="l248"></a> tmpb1 = tmpb;
|
||||
<a name="l249"></a> tmpf1 = </span><span class=cF5>StrNew</span><span class=cF0>(tmpde1->full_name);
|
||||
<a name="l250"></a> </span><span class=cF1>break</span><span class=cF0>;
|
||||
<a name="l251"></a> }
|
||||
<a name="l252"></a> </span><span class=cF7>}</span><span class=cF0>
|
||||
<a name="l253"></a>
|
||||
<a name="l254"></a> res++;
|
||||
<a name="l255"></a> </span><span class=cF5>DirEntryDel</span><span class=cF0>(tmpde1);
|
||||
<a name="l256"></a> tmpde1 = tmpde2;
|
||||
<a name="l257"></a> }
|
||||
<a name="l258"></a>
|
||||
<a name="l259"></a> </span><span class=cF5>Free</span><span class=cF0>(st);
|
||||
<a name="l260"></a> </span><span class=cF7>}</span><span class=cF0>
|
||||
<a name="l261"></a> </span><span class=cF1>else</span><span class=cF0>
|
||||
<a name="l262"></a> </span><span class=cF6>"\nNo matching entries!!\n"</span><span class=cF0>;
|
||||
<a name="l263"></a>
|
||||
<a name="l264"></a> GrDirSprite(, tmpb0, tmpf0, </span><span class=cFE>0</span><span class=cF0>);
|
||||
<a name="l265"></a> GrDirSprite(, tmpb1, tmpf1, </span><span class=cFE>1</span><span class=cF0>);
|
||||
<a name="l266"></a> GrDirSprite(, tmpb2, tmpf2, </span><span class=cFE>2</span><span class=cF0>);
|
||||
<a name="l267"></a> </span><span class=cF6>"\n\n\n\n\n\n\n"</span><span class=cF0>;
|
||||
<a name="l268"></a>
|
||||
<a name="l269"></a>
|
||||
<a name="l270"></a> </span><span class=cF1>return</span><span class=cF0> res;
|
||||
<a name="l271"></a>}
|
||||
<a name="l251"></a> </span><span class=cF1>case</span><span class=cF0> </span><span class=cFE>2</span><span class=cF0>:
|
||||
<a name="l252"></a> tmpb2 = tmpb;
|
||||
<a name="l253"></a> tmpf2 = </span><span class=cF5>StrNew</span><span class=cF0>(tmpde1->full_name);
|
||||
<a name="l254"></a> </span><span class=cF1>break</span><span class=cF0>;
|
||||
<a name="l255"></a> }
|
||||
<a name="l256"></a> </span><span class=cF7>}</span><span class=cF0>
|
||||
<a name="l257"></a>
|
||||
<a name="l258"></a> res++;
|
||||
<a name="l259"></a> </span><span class=cF5>DirEntryDel</span><span class=cF0>(tmpde1);
|
||||
<a name="l260"></a> tmpde1 = tmpde2;
|
||||
<a name="l261"></a> }
|
||||
<a name="l262"></a>
|
||||
<a name="l263"></a> </span><span class=cF5>Free</span><span class=cF0>(st);
|
||||
<a name="l264"></a> </span><span class=cF7>}</span><span class=cF0>
|
||||
<a name="l265"></a> </span><span class=cF1>else</span><span class=cF0>
|
||||
<a name="l266"></a> </span><span class=cF6>"\nNo matching entries!!\n"</span><span class=cF0>;
|
||||
<a name="l267"></a>
|
||||
<a name="l268"></a> GrDirSprite(, tmpb0, tmpf0, </span><span class=cFE>0</span><span class=cF0>);
|
||||
<a name="l269"></a> GrDirSprite(, tmpb1, tmpf1, </span><span class=cFE>1</span><span class=cF0>);
|
||||
<a name="l270"></a> GrDirSprite(, tmpb2, tmpf2, </span><span class=cFE>2</span><span class=cF0>);
|
||||
<a name="l271"></a> </span><span class=cF6>"\n\n\n\n\n\n\n"</span><span class=cF0>;
|
||||
<a name="l272"></a>
|
||||
<a name="l273"></a>GrDir;</span></pre></body>
|
||||
<a name="l273"></a>
|
||||
<a name="l274"></a> </span><span class=cF1>return</span><span class=cF0> res;
|
||||
<a name="l275"></a>}
|
||||
<a name="l276"></a>
|
||||
<a name="l277"></a></span><span class=cF5>Cd</span><span class=cF0>;
|
||||
<a name="l278"></a>GrDir;</span></pre></body>
|
||||
</html>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -38,7 +38,7 @@ body {background-color:#fef1f0;}
|
|||
<a name="l11"></a>* Low line count and code complexity is the highest good, so it is easy to learn the whole thing. Users should see the light
|
||||
<a name="l12"></a>at the end of the tunnel. One file system, for example, is better than many file systems.
|
||||
<a name="l13"></a>
|
||||
<a name="l14"></a>* There is a limit of 100,000 lines of code for all time, not including applications and demos. Currently, there are 94,722
|
||||
<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,724
|
||||
<a name="l15"></a>lines of code. </span><span class=cF4>3rd party libraries are banned</span><span class=cF0> because they circumvent the intent of this limit. The vision is a Commodore 64
|
||||
<a name="l16"></a>ROM -- a fixed core API that is the only dependency of applications. Dependency on components and libraries creates a hell
|
||||
<a name="l17"></a>that is no longer blissful.
|
||||
|
|
|
@ -94,13 +94,14 @@ body {background-color:#fef1f0;}
|
|||
<a name="l67"></a> Border(,CH_CTRLB);
|
||||
<a name="l68"></a> FileMgr(,CH_CTRLD,0x42000000420);
|
||||
<a name="l69"></a> Search(,CH_CTRLF,0x62100000621);
|
||||
<a name="l70"></a>}
|
||||
<a name="l71"></a>
|
||||
<a name="l72"></a>Help
|
||||
<a name="l73"></a>{
|
||||
<a name="l74"></a> Menu(,CH_CTRLM,0x43200000432);
|
||||
<a name="l75"></a> Help(,,0x3B0000003B);
|
||||
<a name="l76"></a> About(,,0x23B0000023B);
|
||||
<a name="l77"></a>}
|
||||
<a name="l70"></a> WinMax(,'m',0x283200002832);
|
||||
<a name="l71"></a>}
|
||||
<a name="l72"></a>
|
||||
<a name="l73"></a>Help
|
||||
<a name="l74"></a>{
|
||||
<a name="l75"></a> Menu(,CH_CTRLM,0x43200000432);
|
||||
<a name="l76"></a> Help(,,0x3B0000003B);
|
||||
<a name="l77"></a> About(,,0x23B0000023B);
|
||||
<a name="l78"></a>}
|
||||
</span></pre></body>
|
||||
</html>
|
||||
|
|
|
@ -36,7 +36,7 @@ body {background-color:#fef1f0;}
|
|||
<a name="l9"></a></span><span class=cF2>0x20000000</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeKeyPlugIns.CC.html#l11"><span class=cF4>MyPutKey</span></a><span class=cF0>() user handler
|
||||
<a name="l10"></a></span><span class=cF2>0x40000000</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KeyDev.CC.html#l124"><span class=cF4>KDInputFilterPutKey</span></a><span class=cF0>() for </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Job.CC.html#l580"><span class=cF4>In</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Job.CC.html#l561"><span class=cF4>InStr</span></a><span class=cF0>(), and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Job.CC.html#l572"><span class=cF4>InFile</span></a><span class=cF0>() handling.
|
||||
<a name="l11"></a></span><span class=cF2>0x60000000</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KeyDev.CC.html#l99"><span class=cF4>KDRawPutKey</span></a><span class=cF0>() nonwindowed direct to video mem debug output.
|
||||
<a name="l12"></a></span><span class=cF2>0x80000000</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/System/DolDoc/DocPutKey.CC.html#l946"><span class=cF4>KDDocPutKey</span></a><span class=cF0>() standard document cmds
|
||||
<a name="l12"></a></span><span class=cF2>0x80000000</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/System/DolDoc/DocPutKey.CC.html#l948"><span class=cF4>KDDocPutKey</span></a><span class=cF0>() standard document cmds
|
||||
<a name="l13"></a>
|
||||
<a name="l14"></a>Since handling individual keys is slow, ZealOS supports PutS() as well. If no puts handler is defined, individual keys are
|
||||
<a name="l15"></a>sent.
|
||||
|
|
|
@ -43,7 +43,7 @@ body {background-color:#fef1f0;}
|
|||
<a name="l16"></a>kernel memory in other operating systems. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l408"><span class=cF4>SysCAlloc</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l394"><span class=cF4>SysMAlloc</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l427"><span class=cF4>SysMAllocIdent</span></a><span class=cF0>() and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/MAllocFree.CC.html#l503"><span class=cF4>SysStrNew</span></a><span class=cF0>().
|
||||
<a name="l17"></a>
|
||||
<a name="l18"></a>All of the regular page tables are marked, "cached". When accessing hardware, however, you need uncached page table. The
|
||||
<a name="l19"></a>lowest 4Gig addresses have an alias to access hardware located toward the top of mapped space, </span><span class=cF2>0x015B600000</span><span class=cF0>. See </span><span class=cF4>
|
||||
<a name="l19"></a>lowest 4Gig addresses have an alias to access hardware located toward the top of mapped space, </span><span class=cF2>0x01C4000000</span><span class=cF0>. See </span><span class=cF4>
|
||||
<a name="l20"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/MultiProc.CC.html#l147"><span class=cF4>dev.uncached_alias</span></a><span class=cF0>.
|
||||
<a name="l21"></a>
|
||||
<a name="l22"></a>During an extended powered-on session of ZealOS, in theory, memory will become fragmented, requiring a reboot. It has never
|
||||
|
@ -64,20 +64,20 @@ body {background-color:#fef1f0;}
|
|||
<a name="l37"></a></span><span class=cF2>~0x000009F000- 0x000009FFFF</span><span class=cF0> Extended BIOS data area.
|
||||
<a name="l38"></a></span><span class=cF2> 0x00000A0000- 0x00000BFFFF</span><span class=cF0> VGA graphics mem with alias at </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KGlobals.CC.html#l30"><span class=cF4>text</span></a><span class=cF0>.vga_alias.
|
||||
<a name="l39"></a></span><span class=cF2> 0x0000100000- 0x0000101FFF</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l4123"><span class=cF4>CSysFixedArea</span></a><span class=cF0> for misc.
|
||||
<a name="l40"></a></span><span class=cF2> 0x000010E000- 0x007FFFFFFF</span><span class=cF0> Code Heap mem.
|
||||
<a name="l40"></a></span><span class=cF2> 0x0000110000- 0x007FFFFFFF</span><span class=cF0> Code Heap mem.
|
||||
<a name="l41"></a>
|
||||
<a name="l42"></a></span><span class=cF2> 0x00E0000000- 0x00FFFFFFFF</span><span class=cF0>
|
||||
<a name="l43"></a> 32-bit devices could alloc memory at 0xF0000000 going up, but this is wrong, since some PCs already have devices at
|
||||
<a name="l44"></a> 0xF0000000. PCI devices are supported, so </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/MemPhysical.CC.html#l64"><span class=cF4>Mem32DevAlloc</span></a><span class=cF0>() flaws could become an issue.
|
||||
<a name="l45"></a>
|
||||
<a name="l46"></a></span><span class=cF2> 0x0080000000-~0x00DFFFFFFF</span><span class=cF0>
|
||||
<a name="l47"></a></span><span class=cF2> 0x0100000000-~0x015B5FFFFF</span><span class=cF0>
|
||||
<a name="l47"></a></span><span class=cF2> 0x0100000000-~0x01C3FFFFFF</span><span class=cF0>
|
||||
<a name="l48"></a> Data Heap mem. (The physical memory that exists in this range is data heap.)
|
||||
<a name="l49"></a>
|
||||
<a name="l50"></a></span><span class=cF2> 0x015B600000- 0x025B5FFFFF</span><span class=cF0>
|
||||
<a name="l50"></a></span><span class=cF2> 0x01C4000000- 0x02C3FFFFFF</span><span class=cF0>
|
||||
<a name="l51"></a> Uncached alias of first 4Gig. (For 32-bit device access.)
|
||||
<a name="l52"></a>
|
||||
<a name="l53"></a></span><span class=cF2> - 0x025B5FFFFF</span><span class=cF0>
|
||||
<a name="l53"></a></span><span class=cF2> - 0x02C3FFFFFF</span><span class=cF0>
|
||||
<a name="l54"></a> 64-bit devices are alloced with </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Memory/MemPhysical.CC.html#l122"><span class=cF4>Mem64DevAlloc</span></a><span class=cF0>() counting backward.
|
||||
<a name="l55"></a>
|
||||
<a name="l56"></a>
|
||||
|
|
|
@ -37,7 +37,7 @@ body {background-color:#fef1f0;}
|
|||
<a name="l10"></a>
|
||||
<a name="l11"></a>Simplicity is a goal to </span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/Strategy.DD.html#l1"><span class=cF4>keep the line count down</span></a><span class=cF0>, so it's easy to tinker with. As it turns-out, simplicity makes it faster in
|
||||
<a name="l12"></a>some ways, too. It never switches privilege levels, never changes address maps, tends to load whole contiguous files and
|
||||
<a name="l13"></a>other, similar things which boost speed. It's only 94,722 lines of code including the kernel, the 64-bit compiler, the
|
||||
<a name="l13"></a>other, similar things which boost speed. It's only 94,724 lines of code including the kernel, the 64-bit compiler, the
|
||||
<a name="l14"></a>graphics library and all the tools. More importantly, it's designed to keep the user's line count down -- you can do a </span><span class=cF4>
|
||||
<a name="l15"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Doc/HelloWorld.DD.html#l1"><span class=cF4>Hello World</span></a><span class=cF0> application in one line of code and can put graphics on the screen with a three line program!
|
||||
<a name="l16"></a>
|
||||
|
|
File diff suppressed because it is too large
Load diff
11541
docs/index.html
11541
docs/index.html
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
@ -1,4 +1,7 @@
|
|||
$WW,1$$FG,5$$TX+CX,"ChangeLog"$$FG$
|
||||
$IV,1$----09/15/21 20:33:11----$IV,0$
|
||||
* Added $LK+PU,"WinMax",A="FF:::/Doc/EdPullDown.DD,WinMax"$ to EdPullDown menu.
|
||||
|
||||
$IV,1$----08/23/21 02:28:07----$IV,0$
|
||||
* Added recognition of Linux swap and ext2/3/4 filesystem type in $LK+PU,"BlkDevAdd",A="FF:::/Kernel/BlkDev/DiskAddDev.CC,LINUX"$, added $LK+PU,"MBR_PT_LINUX",A="MN:MBR_PT_LINUX"$ and $LK+PU,"MBR_PT_SWAP",A="MN:MBR_PT_SWAP"$, removed MBR_PT_FAT12, added "LINUX" and "SWAP" to $LK+PU,"ST_DRIVE_TYPES",A="FF:::/Kernel/KDefine.CC,LINUX"$.
|
||||
|
||||
|
|
|
@ -67,6 +67,7 @@ View
|
|||
Border(,CH_CTRLB);
|
||||
FileMgr(,CH_CTRLD,0x42000000420);
|
||||
Search(,CH_CTRLF,0x62100000621);
|
||||
WinMax(,'m',0x283200002832);
|
||||
}
|
||||
|
||||
Help
|
||||
|
|
Binary file not shown.
|
@ -15,7 +15,7 @@ U0 LoadDocDefines()
|
|||
//$LK,"DD_BOOT_HIGH_LOC_DVD",A="FF:::/System/Boot/BootDVD.CC,DD_BOOT_HIGH_LOC_DVD"$
|
||||
|
||||
$TR,"LineRep"$
|
||||
$ID,2$DefinePrint("DD_ZEALOS_LOC","94,722");
|
||||
$ID,2$DefinePrint("DD_ZEALOS_LOC","94,724");
|
||||
$ID,-2$
|
||||
DefinePrint("DD_MP_VECT", "%08X", MP_VECT_ADDR);
|
||||
DefinePrint("DD_MP_VECT_END", "%08X", MP_VECT_ADDR + COREAP_16BIT_INIT_END - COREAP_16BIT_INIT - 1);
|
||||
|
|
|
@ -421,6 +421,8 @@ public U0 DocPutKey(CDoc *doc, I64 ch=0, I64 sc=0)
|
|||
else
|
||||
if (PopUpCancelOk(ST_WARN_ST "Drive not writable.\nCompile file stored on drive?"))
|
||||
st = StrNew(doc->filename.name);
|
||||
else
|
||||
break;
|
||||
}
|
||||
if (st2 = DirFile(st, "Run", "CC"))
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue