-dictionary, this is special list that contain names of compiled modules,
-variables etc. and they locations in core. Constants use dictionary space
-only. Random word can be removed from dictionary at any time. Currently
-dictionary can contain at most 1000 entries.
-
-
- dictionary entry format
-
-offset length description
-
-0 4 0 < previous entry
- 0 = last
- -1 = empty
-4 15 module name string
-19 1 entry type
-20 4 entry data
-
-Core headers as linked list of module names make up something like dictionary.
-When some entry address is needed compiler can quickly run through headers
-backwards and find needed entry.
-
- Possible module types
-
-type description "execute" action
-
-0 data compile "num" instruction
- with address to module
-1 submodule compile "call" instruction
- with address to module
-2 imm. submodule immediately call to module
-
-
- Memory map: (average)
-
-<loc> <size> <desc>
-0 ~4096 core
-1500000 ~32000 highlevel Fifth boot code
-200000h core startup messages area
-5200000 end of dynamic memory space
-
-
-
- <h2>Fifth source format</h2>
-
-
-Fifth uses a different character table and codes than ASCII.
-I call it FSCII (Fifth Standard Code for Information Interchange)
-for example space character is not 32 but 255 instead.
-I plan to use mainly HEX numbers, and create new characters
-to represent numeric values. So typical nemric characters "0123..."
-is treated like ordinary letters.
-
- FSCII:
-
-DEC HEX function
-
-0 - 15 0 - F HEX numbers
-252 FC backspace
-253 FD tabulator (TAB)
-254 FE carriage return (CR)
-255 FF space
-
-else ordinary characters, like in ASCII.
-
-
-
-
-
- </pre>
+dictionary, this is special list that contain names of compiled
+modules, variables etc. and they locations in core. Constants use
+dictionary space only. Random word can be removed from dictionary at
+any time. Currently dictionary can contain at most 1000 entries.
+</p>
+</div>
+<div id="outline-container-sec-7-1" class="outline-3">
+<h3 id="sec-7-1"><span class="section-number-3">7.1</span> dictionary entry format</h3>
+<div class="outline-text-3" id="text-7-1">
+<table class="table table-striped table-bordered table-hover table-condensed">
+
+
+<colgroup>
+<col class="right">
+
+<col class="right">
+
+<col class="left">
+</colgroup>
+<thead>
+<tr>
+<th scope="col" class="text-right">offset</th>
+<th scope="col" class="text-right">length</th>
+<th scope="col" class="text-left">description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="text-right">0</td>
+<td class="text-right">4</td>
+<td class="text-left">0 &lt; previous entry</td>
+</tr>
+
+<tr>
+<td class="text-right"> </td>
+<td class="text-right"> </td>
+<td class="text-left">0 = last</td>
+</tr>
+
+<tr>
+<td class="text-right"> </td>
+<td class="text-right"> </td>
+<td class="text-left">-1 = empty</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td class="text-right">4</td>
+<td class="text-right">15</td>
+<td class="text-left">module name string</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td class="text-right">19</td>
+<td class="text-right">1</td>
+<td class="text-left">entry type</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td class="text-right">20</td>
+<td class="text-right">4</td>
+<td class="text-left">entry data</td>
+</tr>
+</tbody>
+</table>
+
+<p>
+Core headers as linked list of module names make up something like
+dictionary. When some entry address is needed compiler can quickly
+run through headers backwards and find needed entry.
+</p>
+</div>
+</div>
+<div id="outline-container-sec-7-2" class="outline-3">
+<h3 id="sec-7-2"><span class="section-number-3">7.2</span> Possible module types</h3>
+<div class="outline-text-3" id="text-7-2">
+<table class="table table-striped table-bordered table-hover table-condensed">
+
+
+<colgroup>
+<col class="right">
+
+<col class="left">
+
+<col class="left">
+</colgroup>
+<thead>
+<tr>
+<th scope="col" class="text-right">type</th>
+<th scope="col" class="text-left">description</th>
+<th scope="col" class="text-left">"execute" action</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="text-right">0</td>
+<td class="text-left">data</td>
+<td class="text-left">compile "num" instruction</td>
+</tr>
+
+<tr>
+<td class="text-right"> </td>
+<td class="text-left"> </td>
+<td class="text-left">with address to module</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td class="text-right">1</td>
+<td class="text-left">submodule</td>
+<td class="text-left">compile "call" instruction</td>
+</tr>
+
+<tr>
+<td class="text-right"> </td>
+<td class="text-left"> </td>
+<td class="text-left">with address to module</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td class="text-right">2</td>
+<td class="text-left">imm. submodule</td>
+<td class="text-left">immediately call to module</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div id="outline-container-sec-7-3" class="outline-3">
+<h3 id="sec-7-3"><span class="section-number-3">7.3</span> Memory map: (average)</h3>
+<div class="outline-text-3" id="text-7-3">
+<table class="table table-striped table-bordered table-hover table-condensed">
+
+
+<colgroup>
+<col class="right">
+
+<col class="left">
+
+<col class="left">
+</colgroup>
+<thead>
+<tr>
+<th scope="col" class="text-right"><loc></th>
+<th scope="col" class="text-left"><size></th>
+<th scope="col" class="text-left"><desc></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="text-right">0</td>
+<td class="text-left">~4096</td>
+<td class="text-left">core</td>
+</tr>
+
+<tr>
+<td class="text-right">1500000</td>
+<td class="text-left">~32000</td>
+<td class="text-left">highlevel Fifth boot code</td>
+</tr>
+
+<tr>
+<td class="text-right">200000h</td>
+<td class="text-left"> </td>
+<td class="text-left">core startup messages area</td>
+</tr>
+
+<tr>
+<td class="text-right">5200000</td>
+<td class="text-left"> </td>
+<td class="text-left">end of dynamic memory space</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div id="outline-container-sec-8" class="outline-2">
+<h2 id="sec-8"><span class="section-number-2">8</span> Fifth source format</h2>
+<div class="outline-text-2" id="text-8">
+<p>
+Fifth uses a different character table and codes than ASCII (still
+almost similar). I call it FSCII (Fifth Standard Code for Information
+Interchange) for example space character is not 32 but 255 instead. I
+plan to use mainly HEX numbers, and create new characters to represent
+numeric values. So typical nemric characters "0123…" is treated
+like ordinary letters.
+</p>
+</div>
+<div id="outline-container-sec-8-1" class="outline-3">
+<h3 id="sec-8-1"><span class="section-number-3">8.1</span> FSCII:</h3>
+<div class="outline-text-3" id="text-8-1">
+<table class="table table-striped table-bordered table-hover table-condensed">
+
+
+<colgroup>
+<col class="right">
+
+<col class="left">
+
+<col class="left">
+</colgroup>
+<thead>
+<tr>
+<th scope="col" class="text-right">DEC</th>
+<th scope="col" class="text-left">HEX</th>
+<th scope="col" class="text-left">function</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="text-right">0 - 15</td>
+<td class="text-left">0 - F</td>
+<td class="text-left">HEX numbers</td>
+</tr>
+
+<tr>
+<td class="text-right">252</td>
+<td class="text-left">FC</td>
+<td class="text-left">backspace</td>
+</tr>
+
+<tr>
+<td class="text-right">253</td>
+<td class="text-left">FD</td>
+<td class="text-left">tabulator (TAB)</td>
+</tr>
+
+<tr>
+<td class="text-right">254</td>
+<td class="text-left">FE</td>
+<td class="text-left">carriage return (CR)</td>
+</tr>
+
+<tr>
+<td class="text-right">255</td>
+<td class="text-left">FF</td>
+<td class="text-left">space</td>
+</tr>
+
+<tr>
+<td class="text-right">else</td>
+<td class="text-left"> </td>
+<td class="text-left">ordinary characters, same as in ASCII.</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+</div><div class="col-md-3"><nav id="table-of-contents">
+<div id="text-table-of-contents" class="bs-docs-sidebar">
+<ul class="nav">
+<li><a href="#sec-1">1. !Project deprecated!</a></li>
+<li><a href="#sec-2">2. Introduction</a></li>
+<li><a href="#sec-3">3. Installation</a></li>
+<li><a href="#sec-4">4. Software/Hardware/Human requirements</a>
+<ul class="nav">
+<li><a href="#sec-4-1">4.1. Software:</a></li>
+<li><a href="#sec-4-2">4.2. Hardware:</a></li>
+<li><a href="#sec-4-3">4.3. Human:</a></li>
+</ul>
+</li>
+<li><a href="#sec-5">5. Numbers representation</a></li>
+<li><a href="#sec-6">6. Disk file map, and it's data structures</a>
+<ul class="nav">
+<li><a href="#sec-6-1">6.1. disk allocation</a></li>
+<li><a href="#sec-6-2">6.2. FAT entry format:</a></li>
+<li><a href="#sec-6-3">6.3. file entry format</a></li>
+</ul>
+</li>
+<li><a href="#sec-7">7. Core architecture</a>
+<ul class="nav">
+<li><a href="#sec-7-1">7.1. dictionary entry format</a></li>
+<li><a href="#sec-7-2">7.2. Possible module types</a></li>
+<li><a href="#sec-7-3">7.3. Memory map: (average)</a></li>
+</ul>
+</li>
+<li><a href="#sec-8">8. Fifth source format</a>
+<ul class="nav">
+<li><a href="#sec-8-1">8.1. FSCII:</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</nav>
+</div></div></div>
+<footer id="postamble" class="">
+<div><p class="author">Author: Svjatoslav Agejenko</p>
+<p class="date">Created: 2017-01-22 Sun 21:08</p>
+<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 24.4.1 (<a href="http://orgmode.org">Org-mode</a> 8.2.10)</p>
+</div>
+</footer>