Changed license to CC0
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Fri, 1 May 2020 21:06:26 +0000 (00:06 +0300)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Fri, 1 May 2020 21:06:26 +0000 (00:06 +0300)
COPYING
doc/index.html
doc/index.org
tools/commit and push [new file with mode: 0755]

diff --git a/COPYING b/COPYING
index 10828e0..0e259d4 100644 (file)
--- a/COPYING
+++ b/COPYING
-
-                   GNU GENERAL PUBLIC LICENSE
-                      Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                           Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-\f
-                   GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-\f
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-\f
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-\f
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                           NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-\f
-           How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
+Creative Commons Legal Code
+
+CC0 1.0 Universal
+
+    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
+    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
+    INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
+    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
+    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
+    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
+    HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer
+exclusive Copyright and Related Rights (defined below) upon the creator
+and subsequent owner(s) (each and all, an "owner") of an original work of
+authorship and/or a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for
+the purpose of contributing to a commons of creative, cultural and
+scientific works ("Commons") that the public can reliably and without fear
+of later claims of infringement build upon, modify, incorporate in other
+works, reuse and redistribute as freely as possible in any form whatsoever
+and for any purposes, including without limitation commercial purposes.
+These owners may contribute to the Commons to promote the ideal of a free
+culture and the further production of creative, cultural and scientific
+works, or to gain reputation or greater distribution for their Work in
+part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any
+expectation of additional consideration or compensation, the person
+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
+is an owner of Copyright and Related Rights in the Work, voluntarily
+elects to apply CC0 to the Work and publicly distribute the Work under its
+terms, with knowledge of his or her Copyright and Related Rights in the
+Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be
+protected by copyright and related or neighboring rights ("Copyright and
+Related Rights"). Copyright and Related Rights include, but are not
+limited to, the following:
+
+  i. the right to reproduce, adapt, distribute, perform, display,
+     communicate, and translate a Work;
+ ii. moral rights retained by the original author(s) and/or performer(s);
+iii. publicity and privacy rights pertaining to a person's image or
+     likeness depicted in a Work;
+ iv. rights protecting against unfair competition in regards to a Work,
+     subject to the limitations in paragraph 4(a), below;
+  v. rights protecting the extraction, dissemination, use and reuse of data
+     in a Work;
+ vi. database rights (such as those arising under Directive 96/9/EC of the
+     European Parliament and of the Council of 11 March 1996 on the legal
+     protection of databases, and under any national implementation
+     thereof, including any amended or successor version of such
+     directive); and
+vii. other similar, equivalent or corresponding rights throughout the
+     world based on applicable law or treaty, and any national
+     implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention
+of, applicable law, Affirmer hereby overtly, fully, permanently,
+irrevocably and unconditionally waives, abandons, and surrenders all of
+Affirmer's Copyright and Related Rights and associated claims and causes
+of action, whether now known or unknown (including existing as well as
+future claims and causes of action), in the Work (i) in all territories
+worldwide, (ii) for the maximum duration provided by applicable law or
+treaty (including future time extensions), (iii) in any current or future
+medium and for any number of copies, and (iv) for any purpose whatsoever,
+including without limitation commercial, advertising or promotional
+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
+member of the public at large and to the detriment of Affirmer's heirs and
+successors, fully intending that such Waiver shall not be subject to
+revocation, rescission, cancellation, termination, or any other legal or
+equitable action to disrupt the quiet enjoyment of the Work by the public
+as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason
+be judged legally invalid or ineffective under applicable law, then the
+Waiver shall be preserved to the maximum extent permitted taking into
+account Affirmer's express Statement of Purpose. In addition, to the
+extent the Waiver is so judged Affirmer hereby grants to each affected
+person a royalty-free, non transferable, non sublicensable, non exclusive,
+irrevocable and unconditional license to exercise Affirmer's Copyright and
+Related Rights in the Work (i) in all territories worldwide, (ii) for the
+maximum duration provided by applicable law or treaty (including future
+time extensions), (iii) in any current or future medium and for any number
+of copies, and (iv) for any purpose whatsoever, including without
+limitation commercial, advertising or promotional purposes (the
+"License"). The License shall be deemed effective as of the date CC0 was
+applied by Affirmer to the Work. Should any part of the License for any
+reason be judged legally invalid or ineffective under applicable law, such
+partial invalidity or ineffectiveness shall not invalidate the remainder
+of the License, and in such case Affirmer hereby affirms that he or she
+will not (i) exercise any of his or her remaining Copyright and Related
+Rights in the Work or (ii) assert any associated claims and causes of
+action with respect to the Work, in either case contrary to Affirmer's
+express Statement of Purpose.
+
+4. Limitations and Disclaimers.
+
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
+    surrendered, licensed or otherwise affected by this document.
+ b. Affirmer offers the Work as-is and makes no representations or
+    warranties of any kind concerning the Work, express, implied,
+    statutory or otherwise, including without limitation warranties of
+    title, merchantability, fitness for a particular purpose, non
+    infringement, or the absence of latent or other defects, accuracy, or
+    the present or absence of errors, whether or not discoverable, all to
+    the greatest extent permissible under applicable law.
+ c. Affirmer disclaims responsibility for clearing rights of other persons
+    that may apply to the Work or any use thereof, including without
+    limitation any person's Copyright and Related Rights in the Work.
+    Further, Affirmer disclaims responsibility for obtaining any necessary
+    consents, permissions or other rights required for any use of the
+    Work.
+ d. Affirmer understands and acknowledges that Creative Commons is not a
+    party to this document and has no duty or obligation with respect to
+    this CC0 or use of the Work.
index 6d320c6..a46af2c 100644 (file)
@@ -2,14 +2,14 @@
 <html lang="en">
 <head>
 <title>Fifth - virtual machine, operating system, programming language</title>
-<!-- 2018-01-01 Mon 23:29 -->
+<!-- 2020-05-02 Sat 00:04 -->
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta name="generator" content="Org-mode">
 <meta name="author" content="Svjatoslav Agejenko">
-<link href="https://bootswatch.com/4/darkly/bootstrap.min.css" rel="stylesheet">
-<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>"
+<link href="https://bootswatch.com/3/darkly/bootstrap.min.css" rel="stylesheet">
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script>
 <style type="text/css">
 footer {background-color: #111 !important;}
 pre {background-color: #111; color: #ccc;}
@@ -222,34 +222,54 @@ MathJax.Hub.Config({
 <body>
 <div id="content" class="container">
 <div class="row"><div class="col-md-9"><h1 class="title">Fifth - virtual machine, operating system, programming language</h1>
-<hr >
-<ul class="org-ul">
-<li><a href="http://www2.svjatoslav.eu/gitweb/?p=fifth.git;a=snapshot;h=HEAD;sf=tgz">download latest snapshot</a>
-</li>
 
-<li>This program is free software; you can redistribute it and/or modify it under
-the terms of version 3 of the <a href="https://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public License</a> or later as
-published by the Free Software Foundation.
+<div id="outline-container-sec-1" class="outline-2">
+<h2 id="sec-1"><span class="section-number-2">1</span> General</h2>
+<div class="outline-text-2" id="text-1">
+<ul class="org-ul">
+<li>This program is free software: released under Creative Commons Zero
+(CC0) license
 </li>
 
 <li>Program author:
 <ul class="org-ul">
 <li>Svjatoslav Agejenko
 </li>
-<li>Homepage: <a href="http://svjatoslav.eu">http://svjatoslav.eu</a>
+<li>Homepage: <a href="https://svjatoslav.eu">https://svjatoslav.eu</a>
 </li>
 <li>Email: <a href="mailto://svjatoslav@svjatoslav.eu">mailto://svjatoslav@svjatoslav.eu</a>
 </li>
 </ul>
 </li>
 
-<li><a href="http://www.svjatoslav.eu/programs.jsp">other applications hosted at svjatoslav.eu</a>
+<li><a href="https://www.svjatoslav.eu/projects/">Other software projects hosted at svjatoslav.eu</a>
 </li>
 </ul>
+</div>
+<div id="outline-container-sec-1-1" class="outline-3">
+<h3 id="sec-1-1"><span class="section-number-3">1.1</span> Source code</h3>
+<div class="outline-text-3" id="text-1-1">
+<ul class="org-ul">
+<li><a href="https://www2.svjatoslav.eu/gitweb/?p=fifth.git;a=snapshot;h=HEAD;sf=tgz">Download latest snapshot in TAR GZ format</a>
+</li>
 
-<div id="outline-container-sec-1" class="outline-2">
-<h2 id="sec-1"><span class="section-number-2">1</span> !Project deprecated!</h2>
-<div class="outline-text-2" id="text-1">
+<li><a href="https://www2.svjatoslav.eu/gitweb/?p=fifth.git;a=summary">Browse Git repository online</a>
+</li>
+
+<li>Clone Git repository using command:
+<pre class="example">
+git clone https://www2.svjatoslav.eu/git/fifth.git
+
+</pre>
+</li>
+</ul>
+</div>
+</div>
+</div>
+
+<div id="outline-container-sec-2" class="outline-2">
+<h2 id="sec-2"><span class="section-number-2">2</span> !Project deprecated!</h2>
+<div class="outline-text-2" id="text-2">
 <p>
 Current implementation does not support object oriented
 programming. While working on Fifth I got lots of cool new ideas that
@@ -258,7 +278,7 @@ require reimplementation of everything.
 
 <p>
 Currently I try to implement those new ideas in the project called
-<a href="http://www2.svjatoslav.eu/gitbrowse/sixth/doc/index.html">Sixth</a>
+<a href="https://www3.svjatoslav.eu/projects/sixth/">Sixth</a>.
 </p>
 
 <p>
@@ -267,12 +287,12 @@ operating system.
 </p>
 </div>
 </div>
-<div id="outline-container-sec-2" class="outline-2">
-<h2 id="sec-2"><span class="section-number-2">2</span> Introduction</h2>
-<div class="outline-text-2" id="text-2">
+<div id="outline-container-sec-3" class="outline-2">
+<h2 id="sec-3"><span class="section-number-2">3</span> Introduction</h2>
+<div class="outline-text-2" id="text-3">
 <p>
-Fifth is programming lanquage &amp; operating system, running on <i>virtual
-CPU</i>, with custom instruction set. It is much like Charles Chunk
+Fifth is programming lanquage &amp; operating system, running on <a href="#sec-10">virtual
+machine</a>, with custom instruction set. It is much like Charles Chunk
 Moore's Forth, it also uses stack architecture, and many commands are
 similar. Basically I got familiar with concepts of Forth, and being
 inspired created my own system.
@@ -283,9 +303,9 @@ inspired created my own system.
 </li>
 </ul>
 </div>
-<div id="outline-container-sec-2-1" class="outline-3">
-<h3 id="sec-2-1"><span class="section-number-3">2.1</span> screenshots</h3>
-<div class="outline-text-3" id="text-2-1">
+<div id="outline-container-sec-3-1" class="outline-3">
+<h3 id="sec-3-1"><span class="section-number-3">3.1</span> screenshots</h3>
+<div class="outline-text-3" id="text-3-1">
 <ul class="org-ul">
 <li><img src="screenshots/start.png" class="img-responsive" alt="start.png">
 <ul class="org-ul">
@@ -314,9 +334,9 @@ executed they can be selectively compiled or interpreted.
 </div>
 </div>
 
-<div id="outline-container-sec-3" class="outline-2">
-<h2 id="sec-3"><span class="section-number-2">3</span> Installation</h2>
-<div class="outline-text-2" id="text-3">
+<div id="outline-container-sec-4" class="outline-2">
+<h2 id="sec-4"><span class="section-number-2">4</span> Installation</h2>
+<div class="outline-text-2" id="text-4">
 <p>
 Just unpack all files, witout altering original directory structure,
 somewhere in your hard disk. For example: C:\MISC\FIFTH\&#x2026;.  To run
@@ -325,13 +345,14 @@ or EMULATOR.COM ), and virtual disk file ( DISK.RAW ).
 </p>
 
 <p>
-Read more about <i>distribution directory layout</i>
+Read more about <a href="#sec-5">Fifth distribution directory tree description</a>.
 </p>
 </div>
 </div>
-<div id="outline-container-sec-4" class="outline-2">
-<h2 id="sec-4"><span class="section-number-2">4</span> Fifth distribution directory tree description</h2>
-<div class="outline-text-2" id="text-4">
+
+<div id="outline-container-sec-5" class="outline-2">
+<h2 id="sec-5"><a id="ID-0759f3e0-28bb-4901-9e4f-09ef41732173" name="ID-0759f3e0-28bb-4901-9e4f-09ef41732173"></a><span class="section-number-2">5</span> Fifth distribution directory tree description</h2>
+<div class="outline-text-2" id="text-5">
 <p>
 After downloading and unpacking the ZIP file you shoud get directory
 tree similar to this:
@@ -355,12 +376,12 @@ emulator.com            - main executable.<br >
 </div>
 </div>
 
-<div id="outline-container-sec-5" class="outline-2">
-<h2 id="sec-5"><span class="section-number-2">5</span> Software/Hardware/Human requirements</h2>
-<div class="outline-text-2" id="text-5">
-</div><div id="outline-container-sec-5-1" class="outline-3">
-<h3 id="sec-5-1"><span class="section-number-3">5.1</span> Software</h3>
-<div class="outline-text-3" id="text-5-1">
+<div id="outline-container-sec-6" class="outline-2">
+<h2 id="sec-6"><span class="section-number-2">6</span> Software/Hardware/Human requirements</h2>
+<div class="outline-text-2" id="text-6">
+</div><div id="outline-container-sec-6-1" class="outline-3">
+<h3 id="sec-6-1"><span class="section-number-3">6.1</span> Software</h3>
+<div class="outline-text-3" id="text-6-1">
 <ul class="org-ul">
 <li>MS-DOS 6.22, with HIMEM.SYS loaded.
 </li>
@@ -377,9 +398,9 @@ emulator.com            - main executable.<br >
 </ul>
 </div>
 </div>
-<div id="outline-container-sec-5-2" class="outline-3">
-<h3 id="sec-5-2"><span class="section-number-3">5.2</span> Hardware</h3>
-<div class="outline-text-3" id="text-5-2">
+<div id="outline-container-sec-6-2" class="outline-3">
+<h3 id="sec-6-2"><span class="section-number-3">6.2</span> Hardware</h3>
+<div class="outline-text-3" id="text-6-2">
 <ul class="org-ul">
 <li>Minimum CPU 386.
 </li>
@@ -392,9 +413,9 @@ emulator.com            - main executable.<br >
 </ul>
 </div>
 </div>
-<div id="outline-container-sec-5-3" class="outline-3">
-<h3 id="sec-5-3"><span class="section-number-3">5.3</span> Human</h3>
-<div class="outline-text-3" id="text-5-3">
+<div id="outline-container-sec-6-3" class="outline-3">
+<h3 id="sec-6-3"><span class="section-number-3">6.3</span> Human</h3>
+<div class="outline-text-3" id="text-6-3">
 <ul class="org-ul">
 <li>Beginner level Forth knowledge is recommended.
 </li>
@@ -404,14 +425,12 @@ emulator.com            - main executable.<br >
 </div>
 </div>
 </div>
-<div id="outline-container-sec-6" class="outline-2">
-<h2 id="sec-6"><span class="section-number-2">6</span> Numbers representation within Fifth</h2>
-<div class="outline-text-2" id="text-6">
-
-<figure>
-<p><a href="numbers.png"><img src="numbers.png" class="img-responsive" alt="numbers.png"></a>
+<div id="outline-container-sec-7" class="outline-2">
+<h2 id="sec-7"><span class="section-number-2">7</span> Numbers representation within Fifth</h2>
+<div class="outline-text-2" id="text-7">
+<p>
+<a href="numbers.png">file:numbers.png</a>
 </p>
-</figure>
 
 <p>
 Because I can define everything, starting from CPU, why not try also
@@ -425,18 +444,18 @@ their color (black or white).
 </p>
 </div>
 </div>
-<div id="outline-container-sec-7" class="outline-2">
-<h2 id="sec-7"><span class="section-number-2">7</span> Disk file map, and it's data structures</h2>
-<div class="outline-text-2" id="text-7">
+<div id="outline-container-sec-8" class="outline-2">
+<h2 id="sec-8"><span class="section-number-2">8</span> Disk file map, and it's data structures</h2>
+<div class="outline-text-2" id="text-8">
 <p>
 Core and high-level boot code is stored outside of the filesystem to
 allow easy access to it, at early booting time, when filesystem is not
 yet initialized.
 </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> disk allocation</h3>
-<div class="outline-text-3" id="text-7-1">
+<div id="outline-container-sec-8-1" class="outline-3">
+<h3 id="sec-8-1"><span class="section-number-3">8.1</span> disk allocation</h3>
+<div class="outline-text-3" id="text-8-1">
 <table class="table table-striped table-bordered table-hover table-condensed">
 
 
@@ -482,9 +501,9 @@ yet initialized.
 </table>
 </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> FAT entry format:</h3>
-<div class="outline-text-3" id="text-7-2">
+<div id="outline-container-sec-8-2" class="outline-3">
+<h3 id="sec-8-2"><span class="section-number-3">8.2</span> FAT entry format:</h3>
+<div class="outline-text-3" id="text-8-2">
 <table class="table table-striped table-bordered table-hover table-condensed">
 
 
@@ -518,9 +537,9 @@ yet initialized.
 </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> file entry format</h3>
-<div class="outline-text-3" id="text-7-3">
+<div id="outline-container-sec-8-3" class="outline-3">
+<h3 id="sec-8-3"><span class="section-number-3">8.3</span> file entry format</h3>
+<div class="outline-text-3" id="text-8-3">
 <table class="table table-striped table-bordered table-hover table-condensed">
 
 
@@ -573,9 +592,9 @@ yet initialized.
 </div>
 </div>
 </div>
-<div id="outline-container-sec-8" class="outline-2">
-<h2 id="sec-8"><span class="section-number-2">8</span> Core architecture</h2>
-<div class="outline-text-2" id="text-8">
+<div id="outline-container-sec-9" class="outline-2">
+<h2 id="sec-9"><span class="section-number-2">9</span> Core architecture</h2>
+<div class="outline-text-2" id="text-9">
 <p>
 Fifth core is simply some amount of already compiled into machine code
 and linked together modules (entries in other words). In compilation
@@ -587,9 +606,9 @@ 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-8-1" class="outline-3">
-<h3 id="sec-8-1"><span class="section-number-3">8.1</span> Dictionary entry format</h3>
-<div class="outline-text-3" id="text-8-1">
+<div id="outline-container-sec-9-1" class="outline-3">
+<h3 id="sec-9-1"><span class="section-number-3">9.1</span> Dictionary entry format</h3>
+<div class="outline-text-3" id="text-9-1">
 <table class="table table-striped table-bordered table-hover table-condensed">
 
 
@@ -656,9 +675,9 @@ run through headers backwards and find needed entry.
 </p>
 </div>
 </div>
-<div id="outline-container-sec-8-2" class="outline-3">
-<h3 id="sec-8-2"><span class="section-number-3">8.2</span> Possible module types</h3>
-<div class="outline-text-3" id="text-8-2">
+<div id="outline-container-sec-9-2" class="outline-3">
+<h3 id="sec-9-2"><span class="section-number-3">9.2</span> Possible module types</h3>
+<div class="outline-text-3" id="text-9-2">
 <table class="table table-striped table-bordered table-hover table-condensed">
 
 
@@ -712,9 +731,9 @@ run through headers backwards and find needed entry.
 </table>
 </div>
 </div>
-<div id="outline-container-sec-8-3" class="outline-3">
-<h3 id="sec-8-3"><span class="section-number-3">8.3</span> Memory map (average)</h3>
-<div class="outline-text-3" id="text-8-3">
+<div id="outline-container-sec-9-3" class="outline-3">
+<h3 id="sec-9-3"><span class="section-number-3">9.3</span> Memory map (average)</h3>
+<div class="outline-text-3" id="text-9-3">
 <table class="table table-striped table-bordered table-hover table-condensed">
 
 
@@ -761,9 +780,9 @@ run through headers backwards and find needed entry.
 </div>
 </div>
 </div>
-<div id="outline-container-sec-9" class="outline-2">
-<h2 id="sec-9"><span class="section-number-2">9</span> Virtual machine</h2>
-<div class="outline-text-2" id="text-9">
+<div id="outline-container-sec-10" class="outline-2">
+<h2 id="sec-10"><a id="ID-9b251eb9-aff6-4025-94bf-25e89e26d54a" name="ID-9b251eb9-aff6-4025-94bf-25e89e26d54a"></a><span class="section-number-2">10</span> Virtual machine</h2>
+<div class="outline-text-2" id="text-10">
 <p>
 Using CPU emulator slows it down but I shouldn't now think too mutch
 about, and waste my time on batteling with problems whitch results on
@@ -823,93 +842,93 @@ in programming lanquage):
 
 <p class="verse">
 <br >
-code        mnemonic        description<br >
+code    mnemonic        description<br >
 <br >
-0        nop                        does notheing<br >
-1        halt                halt CPU ( return to DOS on emulator )<br >
+0       nop                     does notheing<br >
+1       halt            halt CPU ( return to DOS on emulator )<br >
 <br >
-2        kbd@                ( &#x2013; c ) read scancode of pressed or released key.<br >
+2       kbd@            ( &#x2013; c ) read scancode of pressed or released key.<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;Returns 0, if no data avaiable.<br >
-3        num &lt;dword&gt;        ( &#x2013; n ) put immidiate number into datastack<br >
+3       num &lt;dword&gt;     ( &#x2013; n ) put immidiate number into datastack<br >
 <br >
-4        jmp &lt;dword&gt;        jump to specified code<br >
-5        call &lt;dword&gt;jump to specified code, save return address to<br >
+4       jmp &lt;dword&gt;     jump to specified code<br >
+5       call &lt;dword&gt;jump to specified code, save return address to<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;return stack.<br >
 <br >
-6        1+                        ( n &#x2013; n+1 )<br >
-7        1-                        ( n &#x2013; n-1 )<br >
+6       1+                      ( n &#x2013; n+1 )<br >
+7       1-                      ( n &#x2013; n-1 )<br >
 <br >
-8        dup                        ( n &#x2013; n n ) duplicate top of data stack<br >
-9        drop                ( n &#x2013; ) drop last element in data stack<br >
+8       dup                     ( n &#x2013; n n ) duplicate top of data stack<br >
+9       drop            ( n &#x2013; ) drop last element in data stack<br >
 <br >
-10        if &lt;dword&gt;        ( n &#x2013; ) jump to addr if top element was 0<br >
-11        ret                        jump to code, specified in return stack.<br >
+10      if &lt;dword&gt;      ( n &#x2013; ) jump to addr if top element was 0<br >
+11      ret                     jump to code, specified in return stack.<br >
 <br >
-12        c@                        ( addr &#x2013; n ) read byte from memory at specified address<br >
-13        c!                        ( n addr &#x2013; ) store byte to specified memory<br >
+12      c@                      ( addr &#x2013; n ) read byte from memory at specified address<br >
+13      c!                      ( n addr &#x2013; ) store byte to specified memory<br >
 <br >
-14        push                ( DSTK -&gt; RSTK ) move top of datastack to returnstack<br >
-15        pop                        ( RSTK -&gt; DSTK ) move top of returnstack to datastack<br >
+14      push            ( DSTK -&gt; RSTK ) move top of datastack to returnstack<br >
+15      pop                     ( RSTK -&gt; DSTK ) move top of returnstack to datastack<br >
 <br >
-16        &lt;unused&gt;<br >
-17        rot                        ( n1 n2 n3 &#x2013; n2 n3 n1) rotate stack elements<br >
+16      &lt;unused&gt;<br >
+17      rot                     ( n1 n2 n3 &#x2013; n2 n3 n1) rotate stack elements<br >
 <br >
-18        disk@                ( FromDiskSect ToMem &#x2013; ) read 1KB from disk into RAM<br >
-19        disk!                ( FromMem ToDiskSect &#x2013; ) write 1KB to disk<br >
+18      disk@           ( FromDiskSect ToMem &#x2013; ) read 1KB from disk into RAM<br >
+19      disk!           ( FromMem ToDiskSect &#x2013; ) write 1KB to disk<br >
 <br >
-20        @                        ( addr &#x2013; n ) read 32 bit number from memory<br >
-21        !                        ( n addr &#x2013; ) store 32 bit number to memory<br >
+20      @                       ( addr &#x2013; n ) read 32 bit number from memory<br >
+21      !                       ( n addr &#x2013; ) store 32 bit number to memory<br >
 <br >
-22        over                ( n1 n2 &#x2013; n1 n2 n1 ) self explaining &#x2026;<br >
-23        swap                ( n1 n2 &#x2013; n2 n1 ) -,,-<br >
+22      over            ( n1 n2 &#x2013; n1 n2 n1 ) self explaining &#x2026;<br >
+23      swap            ( n1 n2 &#x2013; n2 n1 ) -,,-<br >
 <br >
-24        +                        ( n1 n2 &#x2013; n1+n2 ) -,,-<br >
-25        -                        ( n1 n2 &#x2013; n1-n2 ) -,,-<br >
+24      +                       ( n1 n2 &#x2013; n1+n2 ) -,,-<br >
+25      -                       ( n1 n2 &#x2013; n1-n2 ) -,,-<br >
 <br >
-26        *                        ( n1 n2 &#x2013; n1*n2 ) -,,-<br >
-27        /                        ( n1 n2 &#x2013; n1/n2 ) -,,-<br >
+26      *                       ( n1 n2 &#x2013; n1*n2 ) -,,-<br >
+27      /                       ( n1 n2 &#x2013; n1/n2 ) -,,-<br >
 <br >
-28        &gt;                        ( n1 n2 &#x2013; result ) is true when n1 &gt; n2<br >
-29        &lt;                        ( n1 n2 &#x2013; result ) is true when n1 &lt; n2<br >
+28      &gt;                       ( n1 n2 &#x2013; result ) is true when n1 &gt; n2<br >
+29      &lt;                       ( n1 n2 &#x2013; result ) is true when n1 &lt; n2<br >
 <br >
-30        not                        ( n1 &#x2013; not_n1 ) logical not<br >
-31        i                        ( &#x2013; n ) copies top of return stack into datastack<br >
+30      not                     ( n1 &#x2013; not_n1 ) logical not<br >
+31      i                       ( &#x2013; n ) copies top of return stack into datastack<br >
 <br >
-32        cprt@                ( addr &#x2013; n ) read one byte from hardware port<br >
-33        cprt!                ( n addr &#x2013; ) store one byte to hardware port<br >
+32      cprt@           ( addr &#x2013; n ) read one byte from hardware port<br >
+33      cprt!           ( n addr &#x2013; ) store one byte to hardware port<br >
 <br >
-34        i2                        ( &#x2013; n ) like "i" but takes socond top stack element.<br >
-35        i3                        ( &#x2013; n ) like "i" but takes third top stack element.<br >
+34      i2                      ( &#x2013; n ) like "i" but takes socond top stack element.<br >
+35      i3                      ( &#x2013; n ) like "i" but takes third top stack element.<br >
 <br >
-36        shl                        ( n amount &#x2013; n ) left bit shift<br >
-37        shr                        ( n amount &#x2013; n ) right bit shift<br >
+36      shl                     ( n amount &#x2013; n ) left bit shift<br >
+37      shr                     ( n amount &#x2013; n ) right bit shift<br >
 <br >
-38        or                        ( n1 n2 &#x2013; n ) logical or<br >
-39        xor                        ( n1 n2 &#x2013; n ) exclusive logical or<br >
+38      or                      ( n1 n2 &#x2013; n ) logical or<br >
+39      xor                     ( n1 n2 &#x2013; n ) exclusive logical or<br >
 <br >
-40        vidmap                ( addr &#x2013; ) copy memory from "addr" to video memory.<br >
+40      vidmap          ( addr &#x2013; ) copy memory from "addr" to video memory.<br >
 <br >
-41        mouse@                ( &#x2013; x y button ) read mouse coordinates &amp; buttons<br >
+41      mouse@          ( &#x2013; x y button ) read mouse coordinates &amp; buttons<br >
 <br >
-42        vidput                ( addr1 addr2 x y &#x2013; ) put image1 into image2, at<br >
+42      vidput          ( addr1 addr2 x y &#x2013; ) put image1 into image2, at<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;location x, y. Does clipping, so part of a big image<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;can be mapped into smaller one.<br >
 <br >
-43        cmove                ( addr1 addr2 amount ) move memory from addr1 to addr2<br >
+43      cmove           ( addr1 addr2 amount ) move memory from addr1 to addr2<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;if addr1 is greater than addr2 then count address<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;foward while moving, elseway starts from end and<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;counts backwards, so no data loss will occure on<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;overlapping.<br >
 <br >
-44        cfill                ( c addr amount &#x2013; ) fill memory starting at "addr"<br >
+44      cfill           ( c addr amount &#x2013; ) fill memory starting at "addr"<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;with "c" bytes.<br >
 <br >
-45        tvidput         ( addr1 addr2 x y &#x2013; ) same as "vidput" but treats<br >
+45      tvidput         ( addr1 addr2 x y &#x2013; ) same as "vidput" but treats<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;color 255 in source image as transparent.<br >
 <br >
-46        depth                ( &#x2013; depth ) returns current depth of data stack.<br >
+46      depth           ( &#x2013; depth ) returns current depth of data stack.<br >
 <br >
-47        charput         ( colorfg colorbg addrsrc addrdest x y )<br >
+47      charput         ( colorfg colorbg addrsrc addrdest x y )<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;draw character to image buffer located at "addrdest"<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;to specified x &amp; y location. Decodes 8 bytes from<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;source to bits, used to draw character.<br >
@@ -917,9 +936,9 @@ code        mnemonic        description<br >
 </div>
 </div>
 
-<div id="outline-container-sec-10" class="outline-2">
-<h2 id="sec-10"><span class="section-number-2">10</span> Fifth source format</h2>
-<div class="outline-text-2" id="text-10">
+<div id="outline-container-sec-11" class="outline-2">
+<h2 id="sec-11"><span class="section-number-2">11</span> Fifth source format</h2>
+<div class="outline-text-2" id="text-11">
 <p>
 Fifth uses a different character table and codes than ASCII (still
 almost similar). I call it FSCII (Fifth Standard Code for Information
@@ -929,9 +948,9 @@ numeric values. So typical nemric characters "0123&#x2026;"  is treated
 like ordinary letters.
 </p>
 </div>
-<div id="outline-container-sec-10-1" class="outline-3">
-<h3 id="sec-10-1"><span class="section-number-3">10.1</span> FSCII</h3>
-<div class="outline-text-3" id="text-10-1">
+<div id="outline-container-sec-11-1" class="outline-3">
+<h3 id="sec-11-1"><span class="section-number-3">11.1</span> FSCII</h3>
+<div class="outline-text-3" id="text-11-1">
 <table class="table table-striped table-bordered table-hover table-condensed">
 
 
@@ -990,12 +1009,12 @@ like ordinary letters.
 </div>
 </div>
 </div>
-<div id="outline-container-sec-11" class="outline-2">
-<h2 id="sec-11"><span class="section-number-2">11</span> Fifth commands</h2>
-<div class="outline-text-2" id="text-11">
-</div><div id="outline-container-sec-11-1" class="outline-3">
-<h3 id="sec-11-1"><span class="section-number-3">11.1</span> Compilation &amp; miscellaneous</h3>
-<div class="outline-text-3" id="text-11-1">
+<div id="outline-container-sec-12" class="outline-2">
+<h2 id="sec-12"><span class="section-number-2">12</span> Fifth commands</h2>
+<div class="outline-text-2" id="text-12">
+</div><div id="outline-container-sec-12-1" class="outline-3">
+<h3 id="sec-12-1"><span class="section-number-3">12.1</span> Compilation &amp; miscellaneous</h3>
+<div class="outline-text-3" id="text-12-1">
 <p class="verse">
 init    module  ( &#x2013; )<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;First module, control is passed to on startup. Contains<br >
@@ -1162,9 +1181,9 @@ ne              ( entrydata entrytype &#x2013; ) Compile new dictionary entry.<b
 </p>
 </div>
 </div>
-<div id="outline-container-sec-11-2" class="outline-3">
-<h3 id="sec-11-2"><span class="section-number-3">11.2</span> Conditionals &amp; control flow</h3>
-<div class="outline-text-3" id="text-11-2">
+<div id="outline-container-sec-12-2" class="outline-3">
+<h3 id="sec-12-2"><span class="section-number-3">12.2</span> Conditionals &amp; control flow</h3>
+<div class="outline-text-3" id="text-12-2">
 <p class="verse">
 if              ( flag &#x2013; )   (immideate)<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;"if 1.. else 2.. then" or<br >
@@ -1205,9 +1224,9 @@ done            ( &#x2013; ) exit from "until .. loop"<br >
 </p>
 </div>
 </div>
-<div id="outline-container-sec-11-3" class="outline-3">
-<h3 id="sec-11-3"><span class="section-number-3">11.3</span> Disk &amp; file access</h3>
-<div class="outline-text-3" id="text-11-3">
+<div id="outline-container-sec-12-3" class="outline-3">
+<h3 id="sec-12-3"><span class="section-number-3">12.3</span> Disk &amp; file access</h3>
+<div class="outline-text-3" id="text-12-3">
 <p class="verse">
 diskload ( FromDisk ToMem amount &#x2013; )<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;Load specified abount of bytes from disk into memory.<br >
@@ -1265,9 +1284,9 @@ fsDloadnew ( DynStr&lt;SrcFileName&gt; &#x2013; DynHand&lt;DataDest&gt; )<br >
 </p>
 </div>
 </div>
-<div id="outline-container-sec-11-4" class="outline-3">
-<h3 id="sec-11-4"><span class="section-number-3">11.4</span> Dynamic memory</h3>
-<div class="outline-text-3" id="text-11-4">
+<div id="outline-container-sec-12-4" class="outline-3">
+<h3 id="sec-12-4"><span class="section-number-3">12.4</span> Dynamic memory</h3>
+<div class="outline-text-3" id="text-12-4">
 <p class="verse">
 dynal ( size &#x2013; handle )<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;Allocate dynamic memory block and return it's handle.<br >
@@ -1309,9 +1328,9 @@ dyn. ( handle &#x2013; )<br >
 </p>
 </div>
 </div>
-<div id="outline-container-sec-11-5" class="outline-3">
-<h3 id="sec-11-5"><span class="section-number-3">11.5</span> Graphics and text</h3>
-<div class="outline-text-3" id="text-11-5">
+<div id="outline-container-sec-12-5" class="outline-3">
+<h3 id="sec-12-5"><span class="section-number-3">12.5</span> Graphics and text</h3>
+<div class="outline-text-3" id="text-12-5">
 <p class="verse">
 .               ( n &#x2013; ) print number on screen<br >
 <br >
@@ -1381,9 +1400,9 @@ copyscreen      ( SrcImgHandle DestImgHandle &#x2013; ) copy contenc of source<b
 </p>
 </div>
 </div>
-<div id="outline-container-sec-11-6" class="outline-3">
-<h3 id="sec-11-6"><span class="section-number-3">11.6</span> Math, memory &amp; stack manipulation</h3>
-<div class="outline-text-3" id="text-11-6">
+<div id="outline-container-sec-12-6" class="outline-3">
+<h3 id="sec-12-6"><span class="section-number-3">12.6</span> Math, memory &amp; stack manipulation</h3>
+<div class="outline-text-3" id="text-12-6">
 <p class="verse">
 off             ( n &#x2013; ) writes 0 to given address, good for zeroing variable.<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;ex: MyVariable off<br >
@@ -1445,9 +1464,9 @@ abs             ( n &#x2013; |n| )<br >
 </p>
 </div>
 </div>
-<div id="outline-container-sec-11-7" class="outline-3">
-<h3 id="sec-11-7"><span class="section-number-3">11.7</span> Dynamic &amp; static strings</h3>
-<div class="outline-text-3" id="text-11-7">
+<div id="outline-container-sec-12-7" class="outline-3">
+<h3 id="sec-12-7"><span class="section-number-3">12.7</span> Dynamic &amp; static strings</h3>
+<div class="outline-text-3" id="text-12-7">
 <p>
 Fifth supports both static and dynamic strings. Static strings must
 have predefined space reserved, and string mustn't exceed this
@@ -1581,12 +1600,12 @@ ex:     var mystring1<br >
 </div>
 </div>
 </div>
-<div id="outline-container-sec-12" class="outline-2">
-<h2 id="sec-12"><span class="section-number-2">12</span> Dynamically loadable modules</h2>
-<div class="outline-text-2" id="text-12">
-</div><div id="outline-container-sec-12-1" class="outline-3">
-<h3 id="sec-12-1"><span class="section-number-3">12.1</span> Keyboard driver</h3>
-<div class="outline-text-3" id="text-12-1">
+<div id="outline-container-sec-13" class="outline-2">
+<h2 id="sec-13"><span class="section-number-2">13</span> Dynamically loadable modules</h2>
+<div class="outline-text-2" id="text-13">
+</div><div id="outline-container-sec-13-1" class="outline-3">
+<h3 id="sec-13-1"><span class="section-number-3">13.1</span> Keyboard driver</h3>
+<div class="outline-text-3" id="text-13-1">
 <p class="verse">
 <br >
 KBD_@           ( &#x2013; code ) get scancodes for pressed keys from keyboard.<br >
@@ -1623,9 +1642,9 @@ FF      space<br >
 </p>
 </div>
 </div>
-<div id="outline-container-sec-12-2" class="outline-3">
-<h3 id="sec-12-2"><span class="section-number-3">12.2</span> Mouse driver</h3>
-<div class="outline-text-3" id="text-12-2">
+<div id="outline-container-sec-13-2" class="outline-3">
+<h3 id="sec-13-2"><span class="section-number-3">13.2</span> Mouse driver</h3>
+<div class="outline-text-3" id="text-13-2">
 <p class="verse">
 mousex  var     Mouse x coordinate.<br >
 mousey  var     Mouse y coordinate.<br >
@@ -1644,9 +1663,9 @@ mousedo         ( &#x2013; ) Updates mouse coordinates and keys. Parse mouse<br
 </p>
 </div>
 </div>
-<div id="outline-container-sec-12-3" class="outline-3">
-<h3 id="sec-12-3"><span class="section-number-3">12.3</span> 2D graphic library</h3>
-<div class="outline-text-3" id="text-12-3">
+<div id="outline-container-sec-13-3" class="outline-3">
+<h3 id="sec-13-3"><span class="section-number-3">13.3</span> 2D graphic library</h3>
+<div class="outline-text-3" id="text-13-3">
 <p class="verse">
 lineh           ( color len x y imgbuf &#x2013; ) draws horisontal line<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;from X,Y coordinates to right, with specified length.<br >
@@ -1667,9 +1686,9 @@ imgfill         ( color x y imgbuf &#x2013; ) Fill image region starting at loca
 </p>
 </div>
 </div>
-<div id="outline-container-sec-12-4" class="outline-3">
-<h3 id="sec-12-4"><span class="section-number-3">12.4</span> Trigonometry functions</h3>
-<div class="outline-text-3" id="text-12-4">
+<div id="outline-container-sec-13-4" class="outline-3">
+<h3 id="sec-13-4"><span class="section-number-3">13.4</span> Trigonometry functions</h3>
+<div class="outline-text-3" id="text-13-4">
 <p class="verse">
 sin             ( a &#x2013; result ) return sinus from given angle "a",<br >
 &#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;360ø is 2000. So 1000 represents 180ø angle.<br >
@@ -1684,59 +1703,64 @@ cos             ( a &#x2013; result ) return cosinus from given angle.<br >
 </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><a href="#sec-1">1. General</a>
+<ul class="nav">
+<li><a href="#sec-1-1">1.1. Source code</a></li>
+</ul>
+</li>
+<li><a href="#sec-2">2. !Project deprecated!</a></li>
+<li><a href="#sec-3">3. Introduction</a>
 <ul class="nav">
-<li><a href="#sec-2-1">2.1. screenshots</a></li>
+<li><a href="#sec-3-1">3.1. screenshots</a></li>
 </ul>
 </li>
-<li><a href="#sec-3">3. Installation</a></li>
-<li><a href="#sec-4">4. Fifth distribution directory tree description</a></li>
-<li><a href="#sec-5">5. Software/Hardware/Human requirements</a>
+<li><a href="#sec-4">4. Installation</a></li>
+<li><a href="#sec-5">5. Fifth distribution directory tree description</a></li>
+<li><a href="#sec-6">6. Software/Hardware/Human requirements</a>
 <ul class="nav">
-<li><a href="#sec-5-1">5.1. Software</a></li>
-<li><a href="#sec-5-2">5.2. Hardware</a></li>
-<li><a href="#sec-5-3">5.3. Human</a></li>
+<li><a href="#sec-6-1">6.1. Software</a></li>
+<li><a href="#sec-6-2">6.2. Hardware</a></li>
+<li><a href="#sec-6-3">6.3. Human</a></li>
 </ul>
 </li>
-<li><a href="#sec-6">6. Numbers representation within Fifth</a></li>
-<li><a href="#sec-7">7. Disk file map, and it's data structures</a>
+<li><a href="#sec-7">7. Numbers representation within Fifth</a></li>
+<li><a href="#sec-8">8. Disk file map, and it's data structures</a>
 <ul class="nav">
-<li><a href="#sec-7-1">7.1. disk allocation</a></li>
-<li><a href="#sec-7-2">7.2. FAT entry format:</a></li>
-<li><a href="#sec-7-3">7.3. file entry format</a></li>
+<li><a href="#sec-8-1">8.1. disk allocation</a></li>
+<li><a href="#sec-8-2">8.2. FAT entry format:</a></li>
+<li><a href="#sec-8-3">8.3. file entry format</a></li>
 </ul>
 </li>
-<li><a href="#sec-8">8. Core architecture</a>
+<li><a href="#sec-9">9. Core architecture</a>
 <ul class="nav">
-<li><a href="#sec-8-1">8.1. Dictionary entry format</a></li>
-<li><a href="#sec-8-2">8.2. Possible module types</a></li>
-<li><a href="#sec-8-3">8.3. Memory map (average)</a></li>
+<li><a href="#sec-9-1">9.1. Dictionary entry format</a></li>
+<li><a href="#sec-9-2">9.2. Possible module types</a></li>
+<li><a href="#sec-9-3">9.3. Memory map (average)</a></li>
 </ul>
 </li>
-<li><a href="#sec-9">9. Virtual machine</a></li>
-<li><a href="#sec-10">10. Fifth source format</a>
+<li><a href="#sec-10">10. Virtual machine</a></li>
+<li><a href="#sec-11">11. Fifth source format</a>
 <ul class="nav">
-<li><a href="#sec-10-1">10.1. FSCII</a></li>
+<li><a href="#sec-11-1">11.1. FSCII</a></li>
 </ul>
 </li>
-<li><a href="#sec-11">11. Fifth commands</a>
+<li><a href="#sec-12">12. Fifth commands</a>
 <ul class="nav">
-<li><a href="#sec-11-1">11.1. Compilation &amp; miscellaneous</a></li>
-<li><a href="#sec-11-2">11.2. Conditionals &amp; control flow</a></li>
-<li><a href="#sec-11-3">11.3. Disk &amp; file access</a></li>
-<li><a href="#sec-11-4">11.4. Dynamic memory</a></li>
-<li><a href="#sec-11-5">11.5. Graphics and text</a></li>
-<li><a href="#sec-11-6">11.6. Math, memory &amp; stack manipulation</a></li>
-<li><a href="#sec-11-7">11.7. Dynamic &amp; static strings</a></li>
+<li><a href="#sec-12-1">12.1. Compilation &amp; miscellaneous</a></li>
+<li><a href="#sec-12-2">12.2. Conditionals &amp; control flow</a></li>
+<li><a href="#sec-12-3">12.3. Disk &amp; file access</a></li>
+<li><a href="#sec-12-4">12.4. Dynamic memory</a></li>
+<li><a href="#sec-12-5">12.5. Graphics and text</a></li>
+<li><a href="#sec-12-6">12.6. Math, memory &amp; stack manipulation</a></li>
+<li><a href="#sec-12-7">12.7. Dynamic &amp; static strings</a></li>
 </ul>
 </li>
-<li><a href="#sec-12">12. Dynamically loadable modules</a>
+<li><a href="#sec-13">13. Dynamically loadable modules</a>
 <ul class="nav">
-<li><a href="#sec-12-1">12.1. Keyboard driver</a></li>
-<li><a href="#sec-12-2">12.2. Mouse driver</a></li>
-<li><a href="#sec-12-3">12.3. 2D graphic library</a></li>
-<li><a href="#sec-12-4">12.4. Trigonometry functions</a></li>
+<li><a href="#sec-13-1">13.1. Keyboard driver</a></li>
+<li><a href="#sec-13-2">13.2. Mouse driver</a></li>
+<li><a href="#sec-13-3">13.3. 2D graphic library</a></li>
+<li><a href="#sec-13-4">13.4. Trigonometry functions</a></li>
 </ul>
 </li>
 </ul>
@@ -1745,8 +1769,8 @@ cos             ( a &#x2013; result ) return cosinus from given angle.<br >
 </div></div></div>
 <footer id="postamble" class="">
 <div><p class="author">Author: Svjatoslav Agejenko</p>
-<p class="date">Created: 2018-01-01 Mon 23:29</p>
-<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 25.1.1 (<a href="http://orgmode.org">Org-mode</a> 8.2.10)</p>
+<p class="date">Created: 2020-05-02 Sat 00:04</p>
+<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 26.1 (<a href="http://orgmode.org">Org-mode</a> 9.1.9)</p>
 </div>
 </footer>
 </body>
index 6a0958e..a0f8319 100644 (file)
@@ -1,28 +1,32 @@
 #+TITLE: Fifth - virtual machine, operating system, programming language
 
------
-- [[http://www2.svjatoslav.eu/gitweb/?p=fifth.git;a=snapshot;h=HEAD;sf=tgz][download latest snapshot]]
+* (document settings) :noexport:
+** use dark style for TWBS-HTML exporter
+#+HTML_HEAD: <link href="https://bootswatch.com/3/darkly/bootstrap.min.css" rel="stylesheet">
+#+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+#+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script>
+#+HTML_HEAD: <style type="text/css">
+#+HTML_HEAD:   footer {background-color: #111 !important;}
+#+HTML_HEAD:   pre {background-color: #111; color: #ccc;}
+#+HTML_HEAD: </style>
+* General
 
-- This program is free software; you can redistribute it and/or modify it under
-  the terms of version 3 of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public License]] or later as
-  published by the Free Software Foundation.
+- This program is free software: released under Creative Commons Zero
+  (CC0) license
 
 - Program author:
   - Svjatoslav Agejenko
-  - Homepage: http://svjatoslav.eu
+  - Homepage: https://svjatoslav.eu
   - Email: mailto://svjatoslav@svjatoslav.eu
 
-- [[http://www.svjatoslav.eu/programs.jsp][other applications hosted at svjatoslav.eu]]
+- [[https://www.svjatoslav.eu/projects/][Other software projects hosted at svjatoslav.eu]]
+** Source code
+- [[https://www2.svjatoslav.eu/gitweb/?p=fifth.git;a=snapshot;h=HEAD;sf=tgz][Download latest snapshot in TAR GZ format]]
 
-* (document settings) :noexport:
-** use dark style for TWBS-HTML exporter
-#+HTML_HEAD: <link href="https://bootswatch.com/4/darkly/bootstrap.min.css" rel="stylesheet">
-#+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-#+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>"
-#+HTML_HEAD: <style type="text/css">
-#+HTML_HEAD:   footer {background-color: #111 !important;}
-#+HTML_HEAD:   pre {background-color: #111; color: #ccc;}
-#+HTML_HEAD: </style>
+- [[https://www2.svjatoslav.eu/gitweb/?p=fifth.git;a=summary][Browse Git repository online]]
+
+- Clone Git repository using command:
+  : git clone https://www2.svjatoslav.eu/git/fifth.git
 
 * !Project deprecated!
 Current implementation does not support object oriented
@@ -30,13 +34,13 @@ programming. While working on Fifth I got lots of cool new ideas that
 require reimplementation of everything.
 
 Currently I try to implement those new ideas in the project called
-[[http://www2.svjatoslav.eu/gitbrowse/sixth/doc/index.html][Sixth]]
+[[https://www3.svjatoslav.eu/projects/sixth/][Sixth]].
 
 System is built many years ago when I was still using DOS as a primary
 operating system.
 * Introduction
-Fifth is programming lanquage & operating system, running on [[emulator.html][virtual
-CPU]], with custom instruction set. It is much like Charles Chunk
+Fifth is programming lanquage & operating system, running on [[id:9b251eb9-aff6-4025-94bf-25e89e26d54a][virtual
+machine]], with custom instruction set. It is much like Charles Chunk
 Moore's Forth, it also uses stack architecture, and many commands are
 similar. Basically I got familiar with concepts of Forth, and being
 inspired created my own system.
@@ -60,8 +64,12 @@ somewhere in your hard disk. For example: C:\MISC\FIFTH\....  To run
 fifth you need minimally just 2 files.  emulator itself ( EMULATOR.EXE
 or EMULATOR.COM ), and virtual disk file ( DISK.RAW ).
 
-Read more about [[files.txt][distribution directory layout]]
+Read more about [[id:0759f3e0-28bb-4901-9e4f-09ef41732173][Fifth distribution directory tree description]].
+
 * Fifth distribution directory tree description
+:PROPERTIES:
+:ID:       0759f3e0-28bb-4901-9e4f-09ef41732173
+:END:
 After downloading and unpacking the ZIP file you shoud get directory
 tree similar to this:
 
@@ -175,6 +183,9 @@ run through headers backwards and find needed entry.
 | 200000h |        | core startup messages area  |
 | 5200000 |        | end of dynamic memory space |
 * Virtual machine
+:PROPERTIES:
+:ID:       9b251eb9-aff6-4025-94bf-25e89e26d54a
+:END:
 Using CPU emulator slows it down but I shouldn't now think too mutch
 about, and waste my time on batteling with problems whitch results on
 complex design of PC hardware. Also it allows me to use existing DOS
diff --git a/tools/commit and push b/tools/commit and push
new file mode 100755 (executable)
index 0000000..057b511
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/bash
+cd "${0%/*}"; if [ "$1" != "T" ]; then gnome-terminal -e "'$0' T"; exit; fi;
+
+cd ..
+
+cola
+git push
+
+echo ""
+echo "Press ENTER to close this window."
+read