Improve lptdrv documentation
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Fri, 1 Aug 2025 22:39:35 +0000 (01:39 +0300)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Fri, 1 Aug 2025 22:39:35 +0000 (01:39 +0300)
13 files changed:
2D GFX/Fractals/index.html
2D GFX/Spirals/index.html
2D GFX/Textures/index.html
3D GFX/3D Synthezier/doc/index.html
3D GFX/Miscellaneous/index.html
3D GFX/Space/index.html
Math/Plotting/index.html
Math/Simulation/index.html
Math/Truth table/index.html
Miscellaneous/Mouse driver/index.html
Networking/Digital data over analog audio/index.html
Networking/LPT communication driver/index.org [new file with mode: 0755]
Networking/LPT communication driver/lptdrv.txt [deleted file]

index 1021fda..010c92b 100644 (file)
@@ -3,7 +3,7 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2025-07-31 to 03:14 -->
+<!-- 2025-07-31 to 15:56 -->
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title>Fractals</title>
 <h2>Table of Contents</h2>
 <div id="text-table-of-contents" role="doc-toc">
 <ul>
-<li><a href="#orge10fd79">1. Fractal circles</a></li>
-<li><a href="#org4400a17">2. Fractal circles animated</a></li>
-<li><a href="#org94cb302">3. Fractal of squares</a></li>
-<li><a href="#orgb78cab0">4. Fractal of squares animated</a></li>
-<li><a href="#org479457c">5. Fractal of trees</a></li>
+<li><a href="#org213fe30">1. Fractal circles</a></li>
+<li><a href="#orgea47734">2. Fractal circles animated</a></li>
+<li><a href="#org7e7eb1b">3. Fractal of squares</a></li>
+<li><a href="#orgc8a12ba">4. Fractal of squares animated</a></li>
+<li><a href="#orgdb07128">5. Fractal of trees</a></li>
 </ul>
 </div>
 </div>
 </style>
 
 
-<div id="outline-container-orge10fd79" class="outline-2">
-<h2 id="orge10fd79"><span class="section-number-2">1.</span> Fractal circles</h2>
+<div id="outline-container-org213fe30" class="outline-2">
+<h2 id="org213fe30"><span class="section-number-2">1.</span> Fractal circles</h2>
 <div class="outline-text-2" id="text-1">
 <p>
 This QBasic program generates a visually captivating spiral fractal
@@ -247,7 +247,7 @@ geometry, recursive programming, and graphical design.
 </p>
 
 
-<div id="orga833f06" class="figure">
+<div id="orgdfcee74" class="figure">
 <p><a href="fractal circles.bas" class="responsive-img"><img src="fractal%20circles.png" alt="fractal%20circles.png" class="responsive-img" /></a>
 </p>
 </div>
@@ -266,8 +266,8 @@ indefinitely.</dd>
 </div>
 </div>
 
-<div id="outline-container-org4400a17" class="outline-2">
-<h2 id="org4400a17"><span class="section-number-2">2.</span> Fractal circles animated</h2>
+<div id="outline-container-orgea47734" class="outline-2">
+<h2 id="orgea47734"><span class="section-number-2">2.</span> Fractal circles animated</h2>
 <div class="outline-text-2" id="text-2">
 <p>
 This QBasic program creates an animated fractal composed of circles,
@@ -287,29 +287,29 @@ system to control the animation's progression.
 </div>
 </div>
 
-<div id="outline-container-org94cb302" class="outline-2">
-<h2 id="org94cb302"><span class="section-number-2">3.</span> Fractal of squares</h2>
+<div id="outline-container-org7e7eb1b" class="outline-2">
+<h2 id="org7e7eb1b"><span class="section-number-2">3.</span> Fractal of squares</h2>
 <div class="outline-text-2" id="text-3">
 <p>
 This QBasic program generates and displays a fractal pattern composed of squares.
 </p>
 
 
-<div id="org04218d5" class="figure">
+<div id="org5bc8bd7" class="figure">
 <p><a href="fractal squares.bas" class="responsive-img"><img src="fractal%20squares,%201.png" alt="fractal%20squares,%201.png" class="responsive-img" /></a>
 </p>
 </div>
 
 
-<div id="orgf7a38b9" class="figure">
+<div id="orgf631c3b" class="figure">
 <p><a href="fractal squares.bas" class="responsive-img"><img src="fractal%20squares,%202.png" alt="fractal%20squares,%202.png" class="responsive-img" /></a>
 </p>
 </div>
 </div>
 </div>
 
-<div id="outline-container-orgb78cab0" class="outline-2">
-<h2 id="orgb78cab0"><span class="section-number-2">4.</span> Fractal of squares animated</h2>
+<div id="outline-container-orgc8a12ba" class="outline-2">
+<h2 id="orgc8a12ba"><span class="section-number-2">4.</span> Fractal of squares animated</h2>
 <div class="outline-text-2" id="text-4">
 <p>
 This QBasic program generates an animated fractal pattern composed of
@@ -331,8 +331,8 @@ resulting in a dynamic and ever-changing geometric pattern.
 </div>
 </div>
 
-<div id="outline-container-org479457c" class="outline-2">
-<h2 id="org479457c"><span class="section-number-2">5.</span> Fractal of trees</h2>
+<div id="outline-container-orgdb07128" class="outline-2">
+<h2 id="orgdb07128"><span class="section-number-2">5.</span> Fractal of trees</h2>
 <div class="outline-text-2" id="text-5">
 <p>
 QBasic program that generates a visually appealing fractal tree
@@ -355,7 +355,7 @@ resembles a tree, with branches that grow and change over time.
 </div>
 </div>
 <div id="postamble" class="status">
-<p class="date">Created: 2025-07-31 to 03:14</p>
+<p class="date">Created: 2025-07-31 to 15:56</p>
 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
 </div>
 </body>
index 9292d99..de6975b 100644 (file)
@@ -3,7 +3,7 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2025-07-31 to 03:14 -->
+<!-- 2025-07-31 to 15:57 -->
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title>Spiral series</title>
 <h2>Table of Contents</h2>
 <div id="text-table-of-contents" role="doc-toc">
 <ul>
-<li><a href="#org93cf390">1. Spiral with increasing density</a></li>
-<li><a href="#org6056ccd">2. Spiral with varying height</a></li>
-<li><a href="#orgdd2cc2b">3. Shaded spiral</a></li>
-<li><a href="#orgbdac5aa">4. Sphere forming spiral</a></li>
-<li><a href="#org3b21dbd">5. Textured spherical spiral</a></li>
-<li><a href="#orgbd6d945">6. Textured and shaded spherical spiral</a></li>
+<li><a href="#orga6f14f9">1. Spiral with increasing density</a></li>
+<li><a href="#org483597e">2. Spiral with varying height</a></li>
+<li><a href="#orgf83f26b">3. Shaded spiral</a></li>
+<li><a href="#org83be51b">4. Sphere forming spiral</a></li>
+<li><a href="#orgad8db60">5. Textured spherical spiral</a></li>
+<li><a href="#org24938c6">6. Textured and shaded spherical spiral</a></li>
 </ul>
 </div>
 </div>
   }
 </style>
 
-<div id="outline-container-org93cf390" class="outline-2">
-<h2 id="org93cf390"><span class="section-number-2">1.</span> Spiral with increasing density</h2>
+<div id="outline-container-orga6f14f9" class="outline-2">
+<h2 id="orga6f14f9"><span class="section-number-2">1.</span> Spiral with increasing density</h2>
 <div class="outline-text-2" id="text-1">
 
-<div id="org596b8b7" class="figure">
+<div id="org6384ff9" class="figure">
 <p><img src="spiral.png" alt="spiral.png" class="responsive-img" />
 </p>
 </div>
@@ -320,11 +320,11 @@ userInput$ = <span style="color: #88aaee;">INPUT$</span>(1)
 </div>
 </div>
 
-<div id="outline-container-org6056ccd" class="outline-2">
-<h2 id="org6056ccd"><span class="section-number-2">2.</span> Spiral with varying height</h2>
+<div id="outline-container-org483597e" class="outline-2">
+<h2 id="org483597e"><span class="section-number-2">2.</span> Spiral with varying height</h2>
 <div class="outline-text-2" id="text-2">
 
-<div id="org9b6b521" class="figure">
+<div id="org8cbf933" class="figure">
 <p><img src="spiral, 2.png" alt="spiral, 2.png" class="responsive-img" />
 </p>
 </div>
@@ -391,11 +391,11 @@ a$ = <span style="color: #88aaee;">INPUT$</span>(1)
 </div>
 </div>
 
-<div id="outline-container-orgdd2cc2b" class="outline-2">
-<h2 id="orgdd2cc2b"><span class="section-number-2">3.</span> Shaded spiral</h2>
+<div id="outline-container-orgf83f26b" class="outline-2">
+<h2 id="orgf83f26b"><span class="section-number-2">3.</span> Shaded spiral</h2>
 <div class="outline-text-2" id="text-3">
 
-<div id="org1e6389e" class="figure">
+<div id="orgee9cb08" class="figure">
 <p><img src="spiral, 3.png" alt="spiral, 3.png" class="responsive-img" />
 </p>
 </div>
@@ -497,8 +497,8 @@ a$ = <span style="color: #88aaee;">INPUT$</span>(1)
 </div>
 </div>
 
-<div id="outline-container-orgbdac5aa" class="outline-2">
-<h2 id="orgbdac5aa"><span class="section-number-2">4.</span> Sphere forming spiral</h2>
+<div id="outline-container-org83be51b" class="outline-2">
+<h2 id="org83be51b"><span class="section-number-2">4.</span> Sphere forming spiral</h2>
 <div class="outline-text-2" id="text-4">
 <p>
 Similar to previous spiral, Line segments are connected between the
@@ -507,7 +507,7 @@ multiple linked spherical shapes. Initially point cloud in shown:
 </p>
 
 
-<div id="orgbdd1a93" class="figure">
+<div id="orgba90225" class="figure">
 <p><img src="spiral, 4, 1.png" alt="spiral, 4, 1.png" class="responsive-img" />
 </p>
 </div>
@@ -517,7 +517,7 @@ In the next step, points are connected using lines:
 </p>
 
 
-<div id="org13a6eef" class="figure">
+<div id="org2367c71" class="figure">
 <p><img src="spiral, 4, 2.png" alt="spiral, 4, 2.png" class="responsive-img" />
 </p>
 </div>
@@ -622,11 +622,11 @@ a$ = <span style="color: #88aaee;">INPUT$</span>(1)
 </div>
 </div>
 
-<div id="outline-container-org3b21dbd" class="outline-2">
-<h2 id="org3b21dbd"><span class="section-number-2">5.</span> Textured spherical spiral</h2>
+<div id="outline-container-orgad8db60" class="outline-2">
+<h2 id="orgad8db60"><span class="section-number-2">5.</span> Textured spherical spiral</h2>
 <div class="outline-text-2" id="text-5">
 
-<div id="org6414dc3" class="figure">
+<div id="orgc2775e2" class="figure">
 <p><img src="spiral, 5.png" alt="spiral, 5.png" class="responsive-img" />
 </p>
 </div>
@@ -749,11 +749,11 @@ a$ = <span style="color: #88aaee;">INPUT$</span>(1)
 </div>
 </div>
 
-<div id="outline-container-orgbd6d945" class="outline-2">
-<h2 id="orgbd6d945"><span class="section-number-2">6.</span> Textured and shaded spherical spiral</h2>
+<div id="outline-container-org24938c6" class="outline-2">
+<h2 id="org24938c6"><span class="section-number-2">6.</span> Textured and shaded spherical spiral</h2>
 <div class="outline-text-2" id="text-6">
 
-<div id="org00b34a5" class="figure">
+<div id="org18e2eed" class="figure">
 <p><img src="spiral, 6.png" alt="spiral, 6.png" class="responsive-img" />
 </p>
 </div>
@@ -937,7 +937,7 @@ yStep2 = (oppositePointY2 - oppositePointY1) / stepCount
 </div>
 </div>
 <div id="postamble" class="status">
-<p class="date">Created: 2025-07-31 to 03:14</p>
+<p class="date">Created: 2025-07-31 to 15:57</p>
 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
 </div>
 </body>
index 8ff399e..c873741 100644 (file)
@@ -3,7 +3,7 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2025-07-31 to 03:14 -->
+<!-- 2025-07-31 to 15:57 -->
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title>Algorithmic textures</title>
 <h2>Table of Contents</h2>
 <div id="text-table-of-contents" role="doc-toc">
 <ul>
-<li><a href="#org1ce68fb">1. Circular waves</a></li>
-<li><a href="#orgef23133">2. Diamond square clouds</a></li>
-<li><a href="#org01d303c">3. Old paper</a></li>
-<li><a href="#org5090546">4. Wood</a></li>
-<li><a href="#orgc109a5c">5. Yellow flame</a></li>
+<li><a href="#orgbdb060d">1. Circular waves</a></li>
+<li><a href="#orgb89f35a">2. Diamond square clouds</a></li>
+<li><a href="#orgac32763">3. Old paper</a></li>
+<li><a href="#org8a29bcf">4. Wood</a></li>
+<li><a href="#orge4198a3">5. Yellow flame</a></li>
 </ul>
 </div>
 </div>
   }
 </style>
 
-<div id="outline-container-org1ce68fb" class="outline-2">
-<h2 id="org1ce68fb"><span class="section-number-2">1.</span> Circular waves</h2>
+<div id="outline-container-orgbdb060d" class="outline-2">
+<h2 id="orgbdb060d"><span class="section-number-2">1.</span> Circular waves</h2>
 <div class="outline-text-2" id="text-1">
 <p>
 This QBasic program creates visually captivating circular wave
@@ -313,8 +313,8 @@ algorithms can produce intricate and visually appealing results.
 </div>
 </div>
 
-<div id="outline-container-orgef23133" class="outline-2">
-<h2 id="orgef23133"><span class="section-number-2">2.</span> Diamond square clouds</h2>
+<div id="outline-container-orgb89f35a" class="outline-2">
+<h2 id="orgb89f35a"><span class="section-number-2">2.</span> Diamond square clouds</h2>
 <div class="outline-text-2" id="text-2">
 <p>
 This QBasic program demonstrates the Diamond-Square algorithm, a
@@ -429,8 +429,8 @@ WAITa$ = <span style="color: #88aaee;">INPUT$</span>(1)
 </div>
 </div>
 
-<div id="outline-container-org01d303c" class="outline-2">
-<h2 id="org01d303c"><span class="section-number-2">3.</span> Old paper</h2>
+<div id="outline-container-orgac32763" class="outline-2">
+<h2 id="orgac32763"><span class="section-number-2">3.</span> Old paper</h2>
 <div class="outline-text-2" id="text-3">
 <p>
 This QBasic program generates a procedural texture that simulates the
@@ -527,8 +527,8 @@ inputKey$ = <span style="color: #88aaee;">INPUT$</span>(1)
 </div>
 </div>
 
-<div id="outline-container-org5090546" class="outline-2">
-<h2 id="org5090546"><span class="section-number-2">4.</span> Wood</h2>
+<div id="outline-container-org8a29bcf" class="outline-2">
+<h2 id="org8a29bcf"><span class="section-number-2">4.</span> Wood</h2>
 <div class="outline-text-2" id="text-4">
 <p>
 This QBasic program creates a visually appealing simulation of a wood
@@ -622,8 +622,8 @@ exitKey$ = <span style="color: #88aaee;">INPUT$</span>(1)
 </div>
 </div>
 
-<div id="outline-container-orgc109a5c" class="outline-2">
-<h2 id="orgc109a5c"><span class="section-number-2">5.</span> Yellow flame</h2>
+<div id="outline-container-orge4198a3" class="outline-2">
+<h2 id="orge4198a3"><span class="section-number-2">5.</span> Yellow flame</h2>
 <div class="outline-text-2" id="text-5">
 <p>
 "Yellow Flame" is a visually captivating program written in QBasic
@@ -702,7 +702,7 @@ userInput$ = <span style="color: #88aaee;">INPUT$</span>(1)
 </div>
 </div>
 <div id="postamble" class="status">
-<p class="date">Created: 2025-07-31 to 03:14</p>
+<p class="date">Created: 2025-07-31 to 15:57</p>
 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
 </div>
 </body>
index 4c35d3c..7b90d14 100644 (file)
@@ -3,7 +3,7 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2025-07-31 to 03:15 -->
+<!-- 2025-07-31 to 15:58 -->
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title>3D Synthezier</title>
@@ -1103,39 +1103,39 @@ hsAddReviewPanels();
 <h2>Table of Contents</h2>
 <div id="text-table-of-contents" role="doc-toc">
 <ul>
-<li><a href="#orgf1e21ea">1. Operating principle</a>
+<li><a href="#org4120311">1. Operating principle</a>
 <ul>
-<li><a href="#org79228ca">1.1. Rectangular city</a></li>
-<li><a href="#org67bf4d5">1.2. Hexagonal city</a></li>
+<li><a href="#org3e4a9ce">1.1. Rectangular city</a></li>
+<li><a href="#org5062626">1.2. Hexagonal city</a></li>
 </ul>
 </li>
-<li><a href="#org38cfe7d">2. Scene description language</a>
+<li><a href="#org333aec4">2. Scene description language</a>
 <ul>
-<li><a href="#org21a84d6">2.1. here</a></li>
-<li><a href="#org30a93a4">2.2. p</a></li>
-<li><a href="#orge890de9">2.3. f</a></li>
-<li><a href="#orga52efe9">2.4. warn</a></li>
-<li><a href="#org1542632">2.5. end</a></li>
-<li><a href="#orgb6cf135">2.6. mtl</a></li>
-<li><a href="#orge608038">2.7. mtlrnd</a></li>
-<li><a href="#orgf68c29b">2.8. obj</a></li>
-<li><a href="#org9db9179">2.9. rnd</a></li>
-<li><a href="#org3b7105d">2.10. #</a></li>
-<li><a href="#org4478b82">2.11. out</a></li>
-<li><a href="#org4e7d0e2">2.12. set</a></li>
-<li><a href="#org1a0a1af">2.13. variables usage</a></li>
-<li><a href="#orgadd8b46">2.14. cmp</a></li>
-<li><a href="#org6713c46">2.15. ?</a></li>
-<li><a href="#orgee41c2f">2.16. dum</a></li>
+<li><a href="#org5c4f83a">2.1. here</a></li>
+<li><a href="#org2fdaca5">2.2. p</a></li>
+<li><a href="#org8f90fd1">2.3. f</a></li>
+<li><a href="#org8059fb8">2.4. warn</a></li>
+<li><a href="#org4f7a2f5">2.5. end</a></li>
+<li><a href="#orgc579640">2.6. mtl</a></li>
+<li><a href="#orgfbabc22">2.7. mtlrnd</a></li>
+<li><a href="#org27360a6">2.8. obj</a></li>
+<li><a href="#org544238c">2.9. rnd</a></li>
+<li><a href="#orgb2b94ac">2.10. #</a></li>
+<li><a href="#orgd9e6c5d">2.11. out</a></li>
+<li><a href="#orgef226f9">2.12. set</a></li>
+<li><a href="#orga791a1e">2.13. variables usage</a></li>
+<li><a href="#org62a8fb2">2.14. cmp</a></li>
+<li><a href="#orgda49925">2.15. ?</a></li>
+<li><a href="#org1dc6558">2.16. dum</a></li>
 </ul>
 </li>
-<li><a href="#org11a4944">3. Installation</a>
+<li><a href="#org2a985c7">3. Installation</a>
 <ul>
-<li><a href="#org225a430">3.1. System requirements</a></li>
-<li><a href="#org95f9eb2">3.2. Directory layout</a></li>
+<li><a href="#org99980f1">3.1. System requirements</a></li>
+<li><a href="#org5f08c67">3.2. Directory layout</a></li>
 </ul>
 </li>
-<li><a href="#orgdd2d6df">4. Usage</a></li>
+<li><a href="#orgfd9f356">4. Usage</a></li>
 </ul>
 </div>
 </div>
@@ -1157,8 +1157,8 @@ hsAddReviewPanels();
 </style>
 
 
-<div id="outline-container-orgf1e21ea" class="outline-2">
-<h2 id="orgf1e21ea"><span class="section-number-2">1.</span> Operating principle</h2>
+<div id="outline-container-org4120311" class="outline-2">
+<h2 id="org4120311"><span class="section-number-2">1.</span> Operating principle</h2>
 <div class="outline-text-2" id="text-1">
 <p>
 Parses scene definition language and creates 3D world based on
@@ -1221,60 +1221,60 @@ They were produced by importing generated <a href="https://en.wikipedia.org/wiki
 </p>
 </div>
 
-<div id="outline-container-org79228ca" class="outline-3">
-<h3 id="org79228ca"><span class="section-number-3">1.1.</span> Rectangular city</h3>
+<div id="outline-container-org3e4a9ce" class="outline-3">
+<h3 id="org3e4a9ce"><span class="section-number-3">1.1.</span> Rectangular city</h3>
 <div class="outline-text-3" id="text-1-1">
 
-<div id="org3f85cfa" class="figure">
+<div id="orgb203247" class="figure">
 <p><img src="rectangular city, 1.jpeg" alt="rectangular city, 1.jpeg" class="responsive-img" />
 </p>
 </div>
 
 
-<div id="org4da2945" class="figure">
+<div id="org9990947" class="figure">
 <p><img src="rectangular city, 2.jpeg" alt="rectangular city, 2.jpeg" class="responsive-img" />
 </p>
 </div>
 
 
-<div id="org8a82f04" class="figure">
+<div id="org90be655" class="figure">
 <p><img src="rectangular city, 3.jpeg" alt="rectangular city, 3.jpeg" class="responsive-img" />
 </p>
 </div>
 </div>
 </div>
-<div id="outline-container-org67bf4d5" class="outline-3">
-<h3 id="org67bf4d5"><span class="section-number-3">1.2.</span> Hexagonal city</h3>
+<div id="outline-container-org5062626" class="outline-3">
+<h3 id="org5062626"><span class="section-number-3">1.2.</span> Hexagonal city</h3>
 <div class="outline-text-3" id="text-1-2">
 
-<div id="orgd810ade" class="figure">
+<div id="org6def9e6" class="figure">
 <p><img src="hexagonal city, 1.jpeg" alt="hexagonal city, 1.jpeg" class="responsive-img" />
 </p>
 </div>
 
 
-<div id="org6217d45" class="figure">
+<div id="org107359a" class="figure">
 <p><img src="hexagonal city, 2.jpeg" alt="hexagonal city, 2.jpeg" class="responsive-img" />
 </p>
 </div>
 
 
-<div id="org5bab068" class="figure">
+<div id="org1d5608b" class="figure">
 <p><img src="hexagonal city, 3.jpeg" alt="hexagonal city, 3.jpeg" class="responsive-img" />
 </p>
 </div>
 </div>
 </div>
 </div>
-<div id="outline-container-org38cfe7d" class="outline-2">
-<h2 id="org38cfe7d"><span class="section-number-2">2.</span> Scene description language</h2>
+<div id="outline-container-org333aec4" class="outline-2">
+<h2 id="org333aec4"><span class="section-number-2">2.</span> Scene description language</h2>
 <div class="outline-text-2" id="text-2">
 <p>
 See also examples.
 </p>
 </div>
-<div id="outline-container-org21a84d6" class="outline-3">
-<h3 id="org21a84d6"><span class="section-number-3">2.1.</span> here</h3>
+<div id="outline-container-org5c4f83a" class="outline-3">
+<h3 id="org5c4f83a"><span class="section-number-3">2.1.</span> here</h3>
 <div class="outline-text-3" id="text-2-1">
 <pre class="example">
 here
@@ -1285,8 +1285,8 @@ defines new segment
 </p>
 </div>
 </div>
-<div id="outline-container-org30a93a4" class="outline-3">
-<h3 id="org30a93a4"><span class="section-number-3">2.2.</span> p</h3>
+<div id="outline-container-org2fdaca5" class="outline-3">
+<h3 id="org2fdaca5"><span class="section-number-3">2.2.</span> p</h3>
 <div class="outline-text-3" id="text-2-2">
 <pre class="example">
 p  x y z
@@ -1297,8 +1297,8 @@ defines new point
 </p>
 </div>
 </div>
-<div id="outline-container-orge890de9" class="outline-3">
-<h3 id="orge890de9"><span class="section-number-3">2.3.</span> f</h3>
+<div id="outline-container-org8f90fd1" class="outline-3">
+<h3 id="org8f90fd1"><span class="section-number-3">2.3.</span> f</h3>
 <div class="outline-text-3" id="text-2-3">
 <pre class="example">
 f  p1 p2 p3 p4
@@ -1309,8 +1309,8 @@ defines new polygon,  p4  may be unused
 </p>
 </div>
 </div>
-<div id="outline-container-orga52efe9" class="outline-3">
-<h3 id="orga52efe9"><span class="section-number-3">2.4.</span> warn</h3>
+<div id="outline-container-org8059fb8" class="outline-3">
+<h3 id="org8059fb8"><span class="section-number-3">2.4.</span> warn</h3>
 <div class="outline-text-3" id="text-2-4">
 <pre class="example">
 warn  &lt;message&gt;
@@ -1321,8 +1321,8 @@ displays warning message, and wait for key
 </p>
 </div>
 </div>
-<div id="outline-container-org1542632" class="outline-3">
-<h3 id="org1542632"><span class="section-number-3">2.5.</span> end</h3>
+<div id="outline-container-org4f7a2f5" class="outline-3">
+<h3 id="org4f7a2f5"><span class="section-number-3">2.5.</span> end</h3>
 <div class="outline-text-3" id="text-2-5">
 <pre class="example">
 end
@@ -1333,8 +1333,8 @@ terminates parser
 </p>
 </div>
 </div>
-<div id="outline-container-orgb6cf135" class="outline-3">
-<h3 id="orgb6cf135"><span class="section-number-3">2.6.</span> mtl</h3>
+<div id="outline-container-orgc579640" class="outline-3">
+<h3 id="orgc579640"><span class="section-number-3">2.6.</span> mtl</h3>
 <div class="outline-text-3" id="text-2-6">
 <pre class="example">
 mtl  material
@@ -1345,8 +1345,8 @@ selects material
 </p>
 </div>
 </div>
-<div id="outline-container-orge608038" class="outline-3">
-<h3 id="orge608038"><span class="section-number-3">2.7.</span> mtlrnd</h3>
+<div id="outline-container-orgfbabc22" class="outline-3">
+<h3 id="orgfbabc22"><span class="section-number-3">2.7.</span> mtlrnd</h3>
 <div class="outline-text-3" id="text-2-7">
 <pre class="example">
 mtlrnd  material ...
@@ -1357,8 +1357,8 @@ selects random material from list
 </p>
 </div>
 </div>
-<div id="outline-container-orgf68c29b" class="outline-3">
-<h3 id="orgf68c29b"><span class="section-number-3">2.8.</span> obj</h3>
+<div id="outline-container-org27360a6" class="outline-3">
+<h3 id="org27360a6"><span class="section-number-3">2.8.</span> obj</h3>
 <div class="outline-text-3" id="text-2-8">
 <pre class="example">
 obj  object xz45 xy20 x+3 y*2
@@ -1373,14 +1373,14 @@ directly from file, and not chached, to allow loading of greater than
 </p>
 
 
-<div id="org77255dc" class="figure">
+<div id="orgfd9d253" class="figure">
 <p><img src="rotation.png" alt="rotation.png" />
 </p>
 </div>
 </div>
 </div>
-<div id="outline-container-org9db9179" class="outline-3">
-<h3 id="org9db9179"><span class="section-number-3">2.9.</span> rnd</h3>
+<div id="outline-container-org544238c" class="outline-3">
+<h3 id="org544238c"><span class="section-number-3">2.9.</span> rnd</h3>
 <div class="outline-text-3" id="text-2-9">
 <pre class="example">
 rnd  p^1^2^3 p^7^2^1
@@ -1391,8 +1391,8 @@ select random command to execute, ^ will be converted to spaces.
 </p>
 </div>
 </div>
-<div id="outline-container-org3b7105d" class="outline-3">
-<h3 id="org3b7105d"><span class="section-number-3">2.10.</span> #</h3>
+<div id="outline-container-orgb2b94ac" class="outline-3">
+<h3 id="orgb2b94ac"><span class="section-number-3">2.10.</span> #</h3>
 <div class="outline-text-3" id="text-2-10">
 <pre class="example">
 # whatever text
@@ -1403,8 +1403,8 @@ comment
 </p>
 </div>
 </div>
-<div id="outline-container-org4478b82" class="outline-3">
-<h3 id="org4478b82"><span class="section-number-3">2.11.</span> out</h3>
+<div id="outline-container-orgd9e6c5d" class="outline-3">
+<h3 id="orgd9e6c5d"><span class="section-number-3">2.11.</span> out</h3>
 <div class="outline-text-3" id="text-2-11">
 <pre class="example">
 out  file
@@ -1415,8 +1415,8 @@ specify output file name, must be first command
 </p>
 </div>
 </div>
-<div id="outline-container-org4e7d0e2" class="outline-3">
-<h3 id="org4e7d0e2"><span class="section-number-3">2.12.</span> set</h3>
+<div id="outline-container-orgef226f9" class="outline-3">
+<h3 id="orgef226f9"><span class="section-number-3">2.12.</span> set</h3>
 <div class="outline-text-3" id="text-2-12">
 <pre class="example">
 set  variable  contents
@@ -1428,8 +1428,8 @@ string. max variables is 100. first is 0.
 </p>
 </div>
 </div>
-<div id="outline-container-org1a0a1af" class="outline-3">
-<h3 id="org1a0a1af"><span class="section-number-3">2.13.</span> variables usage</h3>
+<div id="outline-container-orga791a1e" class="outline-3">
+<h3 id="orga791a1e"><span class="section-number-3">2.13.</span> variables usage</h3>
 <div class="outline-text-3" id="text-2-13">
 <pre class="example">
 anycommand %1 anything
@@ -1440,8 +1440,8 @@ inserts variable 1 contents info line
 </p>
 </div>
 </div>
-<div id="outline-container-orgadd8b46" class="outline-3">
-<h3 id="orgadd8b46"><span class="section-number-3">2.14.</span> cmp</h3>
+<div id="outline-container-org62a8fb2" class="outline-3">
+<h3 id="org62a8fb2"><span class="section-number-3">2.14.</span> cmp</h3>
 <div class="outline-text-3" id="text-2-14">
 <pre class="example">
 cmp  flag string1 string2
@@ -1452,8 +1452,8 @@ compares strings, and inserts TRUE to flag, if they are equal, else inserts FALS
 </p>
 </div>
 </div>
-<div id="outline-container-org6713c46" class="outline-3">
-<h3 id="org6713c46"><span class="section-number-3">2.15.</span> ?</h3>
+<div id="outline-container-orgda49925" class="outline-3">
+<h3 id="orgda49925"><span class="section-number-3">2.15.</span> ?</h3>
 <div class="outline-text-3" id="text-2-15">
 <pre class="example">
 ?flag anycommand
@@ -1468,8 +1468,8 @@ exapmle: ?3 obj car z*2 xy45
 </p>
 </div>
 </div>
-<div id="outline-container-orgee41c2f" class="outline-3">
-<h3 id="orgee41c2f"><span class="section-number-3">2.16.</span> dum</h3>
+<div id="outline-container-org1dc6558" class="outline-3">
+<h3 id="org1dc6558"><span class="section-number-3">2.16.</span> dum</h3>
 <div class="outline-text-3" id="text-2-16">
 <pre class="example">
 dum
@@ -1482,16 +1482,16 @@ dummy function, does notheing
 </div>
 </div>
 
-<div id="outline-container-org11a4944" class="outline-2">
-<h2 id="org11a4944"><span class="section-number-2">3.</span> Installation</h2>
+<div id="outline-container-org2a985c7" class="outline-2">
+<h2 id="org2a985c7"><span class="section-number-2">3.</span> Installation</h2>
 <div class="outline-text-2" id="text-3">
 <p>
 Edit <b>bin/3dparse.bas</b> file and update include path in there.
 </p>
 </div>
 
-<div id="outline-container-org225a430" class="outline-3">
-<h3 id="org225a430"><span class="section-number-3">3.1.</span> System requirements</h3>
+<div id="outline-container-org99980f1" class="outline-3">
+<h3 id="org99980f1"><span class="section-number-3">3.1.</span> System requirements</h3>
 <div class="outline-text-3" id="text-3-1">
 <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
 
@@ -1522,8 +1522,8 @@ Edit <b>bin/3dparse.bas</b> file and update include path in there.
 </div>
 </div>
 
-<div id="outline-container-org95f9eb2" class="outline-3">
-<h3 id="org95f9eb2"><span class="section-number-3">3.2.</span> Directory layout</h3>
+<div id="outline-container-org5f08c67" class="outline-3">
+<h3 id="org5f08c67"><span class="section-number-3">3.2.</span> Directory layout</h3>
 <div class="outline-text-3" id="text-3-2">
 <dl class="org-dl">
 <dt>bin</dt><dd><dl class="org-dl">
@@ -1540,8 +1540,8 @@ Edit <b>bin/3dparse.bas</b> file and update include path in there.
 </div>
 </div>
 
-<div id="outline-container-orgdd2d6df" class="outline-2">
-<h2 id="orgdd2d6df"><span class="section-number-2">4.</span> Usage</h2>
+<div id="outline-container-orgfd9f356" class="outline-2">
+<h2 id="orgfd9f356"><span class="section-number-2">4.</span> Usage</h2>
 <div class="outline-text-2" id="text-4">
 <p>
 Make sure you have QB binaries in your PATH.  Execute
@@ -1566,7 +1566,7 @@ Visualize scene with your favourite renderer.
 </div>
 </div>
 <div id="postamble" class="status">
-<p class="date">Created: 2025-07-31 to 03:15</p>
+<p class="date">Created: 2025-07-31 to 15:58</p>
 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
 </div>
 </body>
index 92965a5..97720fc 100644 (file)
@@ -3,7 +3,7 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2025-07-31 to 03:15 -->
+<!-- 2025-07-31 to 15:58 -->
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title>Miscellaneous 3D graphics demos</title>
 <h2>Table of Contents</h2>
 <div id="text-table-of-contents" role="doc-toc">
 <ul>
-<li><a href="#orgc81c446">1. Rotating exclamation mark</a></li>
-<li><a href="#org61259cc">2. 3D bouncing ball</a></li>
-<li><a href="#orgf69b2e0">3. 3D text in a room</a></li>
-<li><a href="#orgaf29a36">4. 3D bouncing cubes on grid floor</a></li>
-<li><a href="#org78ed332">5. Matrix math for rotation in 3D space</a></li>
-<li><a href="#org38cc528">6. Maze explorer</a></li>
-<li><a href="#org2692e75">7. Tank animation</a></li>
-<li><a href="#org47d73de">8. Tiled room</a></li>
+<li><a href="#org49efcae">1. Rotating exclamation mark</a></li>
+<li><a href="#org9d15cea">2. 3D bouncing ball</a></li>
+<li><a href="#orgfd92485">3. 3D text in a room</a></li>
+<li><a href="#orga57647c">4. 3D bouncing cubes on grid floor</a></li>
+<li><a href="#orgc70be23">5. Matrix math for rotation in 3D space</a></li>
+<li><a href="#org564b95c">6. Maze explorer</a></li>
+<li><a href="#orgce206ee">7. Tank animation</a></li>
+<li><a href="#org3dbd231">8. Tiled room</a></li>
 </ul>
 </div>
 </div>
   }
 </style>
 
-<div id="outline-container-orgc81c446" class="outline-2">
-<h2 id="orgc81c446"><span class="section-number-2">1.</span> Rotating exclamation mark</h2>
+<div id="outline-container-org49efcae" class="outline-2">
+<h2 id="org49efcae"><span class="section-number-2">1.</span> Rotating exclamation mark</h2>
 <div class="outline-text-2" id="text-1">
 <p>
 Wireframe 3D model of a rotating exclamation mark.
@@ -258,8 +258,8 @@ Wireframe 3D model of a rotating exclamation mark.
 </div>
 </div>
 
-<div id="outline-container-org61259cc" class="outline-2">
-<h2 id="org61259cc"><span class="section-number-2">2.</span> 3D bouncing ball</h2>
+<div id="outline-container-org9d15cea" class="outline-2">
+<h2 id="org9d15cea"><span class="section-number-2">2.</span> 3D bouncing ball</h2>
 <div class="outline-text-2" id="text-2">
 <p>
 This QBasic program creates a visually engaging 3D animation of a
@@ -280,8 +280,8 @@ of early computer graphics techniques.
 </div>
 </div>
 
-<div id="outline-container-orgf69b2e0" class="outline-2">
-<h2 id="orgf69b2e0"><span class="section-number-2">3.</span> 3D text in a room</h2>
+<div id="outline-container-orgfd92485" class="outline-2">
+<h2 id="orgfd92485"><span class="section-number-2">3.</span> 3D text in a room</h2>
 <div class="outline-text-2" id="text-3">
 <p>
 Wireframe 3D text hanging in a wireframe 3D room. User can look and
@@ -301,8 +301,8 @@ fly around in all directions.
 </div>
 </div>
 
-<div id="outline-container-orgaf29a36" class="outline-2">
-<h2 id="orgaf29a36"><span class="section-number-2">4.</span> 3D bouncing cubes on grid floor</h2>
+<div id="outline-container-orga57647c" class="outline-2">
+<h2 id="orga57647c"><span class="section-number-2">4.</span> 3D bouncing cubes on grid floor</h2>
 <div class="outline-text-2" id="text-4">
 <p>
 3D wireframe cubes bouncing on a grid floor, creating an immersive and
@@ -322,8 +322,8 @@ dynamic visual effect.
 </div>
 </div>
 
-<div id="outline-container-org78ed332" class="outline-2">
-<h2 id="org78ed332"><span class="section-number-2">5.</span> Matrix math for rotation in 3D space</h2>
+<div id="outline-container-orgc70be23" class="outline-2">
+<h2 id="orgc70be23"><span class="section-number-2">5.</span> Matrix math for rotation in 3D space</h2>
 <div class="outline-text-2" id="text-5">
 <p>
 Instead of combining simple 2D rotors, pixels in this 3D space are
@@ -343,8 +343,8 @@ rotated by using matrix multiplications.
 </div>
 </div>
 
-<div id="outline-container-org38cc528" class="outline-2">
-<h2 id="org38cc528"><span class="section-number-2">6.</span> Maze explorer</h2>
+<div id="outline-container-org564b95c" class="outline-2">
+<h2 id="org564b95c"><span class="section-number-2">6.</span> Maze explorer</h2>
 <div class="outline-text-2" id="text-6">
 <p>
 The Evolving 3D Maze Explorer is a QBasic program that generates and
@@ -355,7 +355,7 @@ changes as they navigate through it.
 </p>
 
 
-<div id="orgef17cc4" class="figure">
+<div id="orgf5a4e89" class="figure">
 <p><a href="Maze%20explorer.bas" class="responsive-img"><img src="Maze%20explorer.png" alt="Maze%20explorer.png" class="responsive-img" /></a>
 </p>
 </div>
@@ -366,8 +366,8 @@ changes as they navigate through it.
 </div>
 </div>
 
-<div id="outline-container-org2692e75" class="outline-2">
-<h2 id="org2692e75"><span class="section-number-2">7.</span> Tank animation</h2>
+<div id="outline-container-orgce206ee" class="outline-2">
+<h2 id="orgce206ee"><span class="section-number-2">7.</span> Tank animation</h2>
 <div class="outline-text-2" id="text-7">
 <p>
 Animated tank driving through the bridge back and forward. User can
@@ -387,8 +387,8 @@ look and fly around in all directions.
 </div>
 </div>
 
-<div id="outline-container-org47d73de" class="outline-2">
-<h2 id="org47d73de"><span class="section-number-2">8.</span> Tiled room</h2>
+<div id="outline-container-org3dbd231" class="outline-2">
+<h2 id="org3dbd231"><span class="section-number-2">8.</span> Tiled room</h2>
 <div class="outline-text-2" id="text-8">
 <p>
 Room with some tiles on the wall and on the floor. User can freely fly
@@ -409,7 +409,7 @@ around.
 </div>
 </div>
 <div id="postamble" class="status">
-<p class="date">Created: 2025-07-31 to 03:15</p>
+<p class="date">Created: 2025-07-31 to 15:58</p>
 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
 </div>
 </body>
index ad77b42..e41489b 100644 (file)
@@ -3,7 +3,7 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2025-07-31 to 03:16 -->
+<!-- 2025-07-31 to 15:59 -->
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title>Space themed 3D graphics</title>
 <h2>Table of Contents</h2>
 <div id="text-table-of-contents" role="doc-toc">
 <ul>
-<li><a href="#orgeef3ecb">1. Galaxy explorer</a></li>
-<li><a href="#org15b897d">2. Rocket simulator</a></li>
-<li><a href="#orge7ac6e2">3. Stars</a></li>
-<li><a href="#orgf90bb5d">4. Universe explorer</a></li>
+<li><a href="#org2848194">1. Galaxy explorer</a></li>
+<li><a href="#org8e6a064">2. Rocket simulator</a></li>
+<li><a href="#org0a80970">3. Stars</a></li>
+<li><a href="#orgbfb6f7d">4. Universe explorer</a></li>
 </ul>
 </div>
 </div>
   }
 </style>
 
-<div id="outline-container-orgeef3ecb" class="outline-2">
-<h2 id="orgeef3ecb"><span class="section-number-2">1.</span> Galaxy explorer</h2>
+<div id="outline-container-org2848194" class="outline-2">
+<h2 id="org2848194"><span class="section-number-2">1.</span> Galaxy explorer</h2>
 <div class="outline-text-2" id="text-1">
 <p>
 This QBasic program renders a navigable 3D point cloud galaxy,
@@ -245,7 +245,7 @@ galaxy with stars distributed in a spiral pattern.
 </p>
 
 
-<div id="orgc3bf9e7" class="figure">
+<div id="org3a1caa8" class="figure">
 <p><a href="Galaxy%20explorer.bas" class="responsive-img"><img src="Galaxy%20explorer.png" alt="Galaxy%20explorer.png" class="responsive-img" /></a>
 </p>
 </div>
@@ -256,8 +256,8 @@ galaxy with stars distributed in a spiral pattern.
 </div>
 </div>
 
-<div id="outline-container-org15b897d" class="outline-2">
-<h2 id="org15b897d"><span class="section-number-2">2.</span> Rocket simulator</h2>
+<div id="outline-container-org8e6a064" class="outline-2">
+<h2 id="org8e6a064"><span class="section-number-2">2.</span> Rocket simulator</h2>
 <div class="outline-text-2" id="text-2">
 <p>
 QBasic program that simulates the takeoff and flight of a rocket from
@@ -279,8 +279,8 @@ observe the rocket's trajectory from various angles.
 </div>
 </div>
 
-<div id="outline-container-orge7ac6e2" class="outline-2">
-<h2 id="orge7ac6e2"><span class="section-number-2">3.</span> Stars</h2>
+<div id="outline-container-org0a80970" class="outline-2">
+<h2 id="org0a80970"><span class="section-number-2">3.</span> Stars</h2>
 <div class="outline-text-2" id="text-3">
 <p>
 The 3D Starfield Simulation is a QBasic program that creates a
@@ -320,8 +320,8 @@ based on its distance, with closer stars appearing brighter.</dd>
 </div>
 </div>
 
-<div id="outline-container-orgf90bb5d" class="outline-2">
-<h2 id="orgf90bb5d"><span class="section-number-2">4.</span> Universe explorer</h2>
+<div id="outline-container-orgbfb6f7d" class="outline-2">
+<h2 id="orgbfb6f7d"><span class="section-number-2">4.</span> Universe explorer</h2>
 <div class="outline-text-2" id="text-4">
 <p>
 This QBasic program that simulates a navigable 3D universe. Users can
@@ -358,19 +358,19 @@ limiting the number of rendered objects based on distance.</dd>
 </dl>
 
 
-<div id="orgcc12d7a" class="figure">
+<div id="org132ba44" class="figure">
 <p><a href="Universe%20explorer/Universe%20explorer.bas" class="responsive-img"><img src="Universe%20explorer/1.png" alt="1.png" class="responsive-img" /></a>
 </p>
 </div>
 
 
-<div id="orgb35dd61" class="figure">
+<div id="orga753aa4" class="figure">
 <p><a href="Universe%20explorer/Universe%20explorer.bas" class="responsive-img"><img src="Universe%20explorer/2.png" alt="2.png" class="responsive-img" /></a>
 </p>
 </div>
 
 
-<div id="org38f6a8e" class="figure">
+<div id="org1a40c78" class="figure">
 <p><a href="Universe%20explorer/Universe%20explorer.bas" class="responsive-img"><img src="Universe%20explorer/3.png" alt="3.png" class="responsive-img" /></a>
 </p>
 </div>
@@ -382,7 +382,7 @@ limiting the number of rendered objects based on distance.</dd>
 </div>
 </div>
 <div id="postamble" class="status">
-<p class="date">Created: 2025-07-31 to 03:16</p>
+<p class="date">Created: 2025-07-31 to 15:59</p>
 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
 </div>
 </body>
index 68a413d..4d7e2f9 100644 (file)
@@ -3,7 +3,7 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2025-07-31 to 03:16 -->
+<!-- 2025-07-31 to 15:59 -->
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title>Plotting</title>
 <h2>Table of Contents</h2>
 <div id="text-table-of-contents" role="doc-toc">
 <ul>
-<li><a href="#org56d2b7c">1. 2D graph</a></li>
-<li><a href="#org34ac1cf">2. 3D graph</a></li>
-<li><a href="#org9395c47">3. Deriviative calculator</a></li>
-<li><a href="#orgb18692a">4. Sine and cosine table</a></li>
+<li><a href="#org18cdb25">1. 2D graph</a></li>
+<li><a href="#orga94026b">2. 3D graph</a></li>
+<li><a href="#orgf46115d">3. Deriviative calculator</a></li>
+<li><a href="#orgfeed343">4. Sine and cosine table</a></li>
 </ul>
 </div>
 </div>
   }
 </style>
 
-<div id="outline-container-org56d2b7c" class="outline-2">
-<h2 id="org56d2b7c"><span class="section-number-2">1.</span> 2D graph</h2>
+<div id="outline-container-org18cdb25" class="outline-2">
+<h2 id="org18cdb25"><span class="section-number-2">1.</span> 2D graph</h2>
 <div class="outline-text-2" id="text-1">
 <p>
 The 2D Graph Plotter is a simple yet effective program written in
@@ -251,7 +251,7 @@ based on a user-defined mathematical function.
 </p>
 
 
-<div id="org08e47b0" class="figure">
+<div id="org9d284c2" class="figure">
 <p><a href="2D%20graph%20plot.bas" class="responsive-img"><img src="2D%20graph%20plot.png" alt="2D%20graph%20plot.png" class="responsive-img" /></a>
 </p>
 </div>
@@ -262,8 +262,8 @@ based on a user-defined mathematical function.
 </div>
 </div>
 
-<div id="outline-container-org34ac1cf" class="outline-2">
-<h2 id="org34ac1cf"><span class="section-number-2">2.</span> 3D graph</h2>
+<div id="outline-container-orga94026b" class="outline-2">
+<h2 id="orga94026b"><span class="section-number-2">2.</span> 3D graph</h2>
 <div class="outline-text-2" id="text-2">
 <p>
 The 3D Heightmap Explorer is a QBasic program designed to visualize
@@ -299,7 +299,7 @@ grid.
 </p>
 
 
-<div id="org45a0ef1" class="figure">
+<div id="org67a996a" class="figure">
 <p><a href="3D%20graph.bas" class="responsive-img"><img src="3D%20graph.png" alt="3D%20graph.png" class="responsive-img" /></a>
 </p>
 </div>
@@ -310,8 +310,8 @@ grid.
 </div>
 </div>
 
-<div id="outline-container-org9395c47" class="outline-2">
-<h2 id="org9395c47"><span class="section-number-2">3.</span> Deriviative calculator</h2>
+<div id="outline-container-orgf46115d" class="outline-2">
+<h2 id="orgf46115d"><span class="section-number-2">3.</span> Deriviative calculator</h2>
 <div class="outline-text-2" id="text-3">
 <p>
 This QBasic program is designed to compute and plot an arbitrary
@@ -324,7 +324,7 @@ visualized.
 </p>
 
 
-<div id="org0612358" class="figure">
+<div id="orge3af0bf" class="figure">
 <p><a href="Deriviative%20calculator.bas" class="responsive-img"><img src="Deriviative%20calculator.png" alt="Deriviative%20calculator.png" class="responsive-img" /></a>
 </p>
 </div>
@@ -335,8 +335,8 @@ visualized.
 </div>
 </div>
 
-<div id="outline-container-orgb18692a" class="outline-2">
-<h2 id="orgb18692a"><span class="section-number-2">4.</span> Sine and cosine table</h2>
+<div id="outline-container-orgfeed343" class="outline-2">
+<h2 id="orgfeed343"><span class="section-number-2">4.</span> Sine and cosine table</h2>
 <div class="outline-text-2" id="text-4">
 <p>
 The SIN &amp; COS Table Generator is a QBasic program designed to visually
@@ -346,7 +346,7 @@ visual representation of these fundamental trigonometric functions.
 </p>
 
 
-<div id="orgae3f50f" class="figure">
+<div id="org32e6603" class="figure">
 <p><a href="Sine%20and%20cosine%20table.bas" class="responsive-img"><img src="Sine%20and%20cosine%20table.png" alt="Sine%20and%20cosine%20table.png" class="responsive-img" /></a>
 </p>
 </div>
@@ -358,7 +358,7 @@ visual representation of these fundamental trigonometric functions.
 </div>
 </div>
 <div id="postamble" class="status">
-<p class="date">Created: 2025-07-31 to 03:16</p>
+<p class="date">Created: 2025-07-31 to 15:59</p>
 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
 </div>
 </body>
index 753b6c5..6e19da3 100644 (file)
@@ -3,7 +3,7 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2025-07-31 to 03:16 -->
+<!-- 2025-07-31 to 15:59 -->
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title>Simulation</title>
 <h2>Table of Contents</h2>
 <div id="text-table-of-contents" role="doc-toc">
 <ul>
-<li><a href="#org01f1dcd">1. Explosion simulator</a></li>
-<li><a href="#orge5fd1d3">2. Gravity in 2D</a></li>
-<li><a href="#orga944842">3. Gravity in 3D</a></li>
-<li><a href="#orgfa60264">4. Interference</a></li>
-<li><a href="#org2cba818">5. Interferogram</a></li>
-<li><a href="#org60f94e5">6. Surface tension</a></li>
-<li><a href="#orgf00ef1b">7. Wave 1</a></li>
-<li><a href="#org198e963">8. Wave 2</a></li>
+<li><a href="#orgee79b84">1. Explosion simulator</a></li>
+<li><a href="#org773cb43">2. Gravity in 2D</a></li>
+<li><a href="#orga5e795d">3. Gravity in 3D</a></li>
+<li><a href="#orgeecf5c0">4. Interference</a></li>
+<li><a href="#org6683c94">5. Interferogram</a></li>
+<li><a href="#org85893a7">6. Surface tension</a></li>
+<li><a href="#org10fb67a">7. Wave 1</a></li>
+<li><a href="#org43310ee">8. Wave 2</a></li>
 </ul>
 </div>
 </div>
   }
 </style>
 
-<div id="outline-container-org01f1dcd" class="outline-2">
-<h2 id="org01f1dcd"><span class="section-number-2">1.</span> Explosion simulator</h2>
+<div id="outline-container-orgee79b84" class="outline-2">
+<h2 id="orgee79b84"><span class="section-number-2">1.</span> Explosion simulator</h2>
 <div class="outline-text-2" id="text-1">
 <p>
 This QBasic program simulates the propagation of shock waves in a gas
@@ -265,7 +265,7 @@ conditions by setting velocities to zero at wall boundaries.
 </p>
 
 
-<div id="orgfab1799" class="figure">
+<div id="org14da5b6" class="figure">
 <p><a href="Explosion%20simulator.bas" class="responsive-img"><img src="Explosion%20simulator.png" alt="Explosion%20simulator.png" class="responsive-img" /></a>
 </p>
 </div>
@@ -276,8 +276,8 @@ conditions by setting velocities to zero at wall boundaries.
 </div>
 </div>
 
-<div id="outline-container-orge5fd1d3" class="outline-2">
-<h2 id="orge5fd1d3"><span class="section-number-2">2.</span> Gravity in 2D</h2>
+<div id="outline-container-org773cb43" class="outline-2">
+<h2 id="org773cb43"><span class="section-number-2">2.</span> Gravity in 2D</h2>
 <div class="outline-text-2" id="text-2">
 <p>
 The Gravitation Simulation program is a simple yet insightful QBasic
@@ -289,7 +289,7 @@ educational tool for understanding basic orbital mechanics.
 </p>
 
 
-<div id="org7e1a507" class="figure">
+<div id="orgcf18971" class="figure">
 <p><a href="Gravity%20in%202D.bas" class="responsive-img"><img src="Gravity%20in%202D.png" alt="Gravity%20in%202D.png" class="responsive-img" /></a>
 </p>
 </div>
@@ -300,8 +300,8 @@ educational tool for understanding basic orbital mechanics.
 </div>
 </div>
 
-<div id="outline-container-orga944842" class="outline-2">
-<h2 id="orga944842"><span class="section-number-2">3.</span> Gravity in 3D</h2>
+<div id="outline-container-orga5e795d" class="outline-2">
+<h2 id="orga5e795d"><span class="section-number-2">3.</span> Gravity in 3D</h2>
 <div class="outline-text-2" id="text-3">
 <p>
 This QBasic program simulates the gravitational interactions between
@@ -335,8 +335,8 @@ will reach stable configuration.
 </div>
 </div>
 
-<div id="outline-container-orgfa60264" class="outline-2">
-<h2 id="orgfa60264"><span class="section-number-2">4.</span> Interference</h2>
+<div id="outline-container-orgeecf5c0" class="outline-2">
+<h2 id="orgeecf5c0"><span class="section-number-2">4.</span> Interference</h2>
 <div class="outline-text-2" id="text-4">
 <p>
 This QBasic program simulates the interference pattern created by two
@@ -364,8 +364,8 @@ displayed as a third waveform.
 </div>
 </div>
 
-<div id="outline-container-org2cba818" class="outline-2">
-<h2 id="org2cba818"><span class="section-number-2">5.</span> Interferogram</h2>
+<div id="outline-container-org6683c94" class="outline-2">
+<h2 id="org6683c94"><span class="section-number-2">5.</span> Interferogram</h2>
 <div class="outline-text-2" id="text-5">
 <p>
 This QBasic program simulates the interference pattern created by
@@ -375,7 +375,7 @@ used in physics and engineering to analyze wave interactions.
 </p>
 
 
-<div id="org84b55bc" class="figure">
+<div id="org0f42a3e" class="figure">
 <p><a href="Interferogram.bas" class="responsive-img"><img src="Interferogram.png" alt="Interferogram.png" class="responsive-img" /></a>
 </p>
 </div>
@@ -386,8 +386,8 @@ used in physics and engineering to analyze wave interactions.
 </div>
 </div>
 
-<div id="outline-container-org60f94e5" class="outline-2">
-<h2 id="org60f94e5"><span class="section-number-2">6.</span> Surface tension</h2>
+<div id="outline-container-org85893a7" class="outline-2">
+<h2 id="org85893a7"><span class="section-number-2">6.</span> Surface tension</h2>
 <div class="outline-text-2" id="text-6">
 <p>
 This QBasic program simulates the behavior of water spills and the
@@ -411,7 +411,7 @@ water cell if surrounded by a high density of water cells.
 </p>
 
 
-<div id="org07cf68e" class="figure">
+<div id="orgb5dd040" class="figure">
 <p><a href="Surface%20tension.bas" class="responsive-img"><img src="Surface%20tension.png" alt="Surface%20tension.png" class="responsive-img" /></a>
 </p>
 </div>
@@ -422,8 +422,8 @@ water cell if surrounded by a high density of water cells.
 </div>
 </div>
 
-<div id="outline-container-orgf00ef1b" class="outline-2">
-<h2 id="orgf00ef1b"><span class="section-number-2">7.</span> Wave 1</h2>
+<div id="outline-container-org10fb67a" class="outline-2">
+<h2 id="org10fb67a"><span class="section-number-2">7.</span> Wave 1</h2>
 <div class="outline-text-2" id="text-7">
 <p>
 This QBasic program simulates the propagation of waves across a
@@ -439,7 +439,7 @@ loss.
 </p>
 
 
-<div id="org9859697" class="figure">
+<div id="orge28d26a" class="figure">
 <p><a href="Wave%201.bas" class="responsive-img"><img src="Wave%201.png" alt="Wave%201.png" class="responsive-img" /></a>
 </p>
 </div>
@@ -450,8 +450,8 @@ loss.
 </div>
 </div>
 
-<div id="outline-container-org198e963" class="outline-2">
-<h2 id="org198e963"><span class="section-number-2">8.</span> Wave 2</h2>
+<div id="outline-container-org43310ee" class="outline-2">
+<h2 id="org43310ee"><span class="section-number-2">8.</span> Wave 2</h2>
 <div class="outline-text-2" id="text-8">
 <p>
 This QBasic program simulates and visualizes the behavior of water
@@ -463,7 +463,7 @@ understanding wave mechanics.
 </p>
 
 
-<div id="org2cad861" class="figure">
+<div id="org5cc1c3a" class="figure">
 <p><a href="Wave%202.bas" class="responsive-img"><img src="Wave%202.png" alt="Wave%202.png" class="responsive-img" /></a>
 </p>
 </div>
@@ -475,7 +475,7 @@ understanding wave mechanics.
 </div>
 </div>
 <div id="postamble" class="status">
-<p class="date">Created: 2025-07-31 to 03:16</p>
+<p class="date">Created: 2025-07-31 to 15:59</p>
 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
 </div>
 </body>
index 0dc8b26..f777e79 100644 (file)
@@ -3,7 +3,7 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2025-07-31 to 03:17 -->
+<!-- 2025-07-31 to 16:00 -->
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title>Truth table calculator</title>
@@ -1103,20 +1103,20 @@ hsAddReviewPanels();
 <h2>Table of Contents</h2>
 <div id="text-table-of-contents" role="doc-toc">
 <ul>
-<li><a href="#org14eb816">1. Implemented logical operations</a>
+<li><a href="#org8bf4986">1. Implemented logical operations</a>
 <ul>
-<li><a href="#orge960095">1.1. Equivalent ( ⇔ , 1 )</a></li>
-<li><a href="#org8e98b6a">1.2. Implies ( ⇒ , 2 )</a></li>
-<li><a href="#orgd8ee3c0">1.3. OR ( ∨ , 3 )</a></li>
-<li><a href="#orge66f8d4">1.4. AND ( ∧ , 4 )</a></li>
-<li><a href="#org892645d">1.5. NOT ( ¬ , 5 )</a></li>
+<li><a href="#org2940106">1.1. Equivalent ( ⇔ , 1 )</a></li>
+<li><a href="#org03c0d1f">1.2. Implies ( ⇒ , 2 )</a></li>
+<li><a href="#orgdfc336c">1.3. OR ( ∨ , 3 )</a></li>
+<li><a href="#orgfa7d054">1.4. AND ( ∧ , 4 )</a></li>
+<li><a href="#org0d6a5fc">1.5. NOT ( ¬ , 5 )</a></li>
 </ul>
 </li>
-<li><a href="#org86081c9">2. Examples</a>
+<li><a href="#org1f1bf63">2. Examples</a>
 <ul>
-<li><a href="#org3c440cb">2.1. Example: (A ∧ B) ∨ ¬C</a></li>
-<li><a href="#org1f421d0">2.2. Example: A ⇒ (B ∨ ¬C)</a></li>
-<li><a href="#orge542c36">2.3. Example: (A ⇔ B) ∧ C</a></li>
+<li><a href="#orge108edd">2.1. Example: (A ∧ B) ∨ ¬C</a></li>
+<li><a href="#org6b13342">2.2. Example: A ⇒ (B ∨ ¬C)</a></li>
+<li><a href="#org5bec397">2.3. Example: (A ⇔ B) ∧ C</a></li>
 </ul>
 </li>
 </ul>
@@ -1133,12 +1133,12 @@ the input variables, with the corresponding output value. Truth tables are cruci
 designing and understanding digital circuits, Boolean algebra, and logical expressions.
 </p>
 
-<div id="outline-container-org14eb816" class="outline-2">
-<h2 id="org14eb816"><span class="section-number-2">1.</span> Implemented logical operations</h2>
+<div id="outline-container-org8bf4986" class="outline-2">
+<h2 id="org8bf4986"><span class="section-number-2">1.</span> Implemented logical operations</h2>
 <div class="outline-text-2" id="text-1">
 </div>
-<div id="outline-container-orge960095" class="outline-3">
-<h3 id="orge960095"><span class="section-number-3">1.1.</span> Equivalent ( ⇔ , 1 )</h3>
+<div id="outline-container-org2940106" class="outline-3">
+<h3 id="org2940106"><span class="section-number-3">1.1.</span> Equivalent ( ⇔ , 1 )</h3>
 <div class="outline-text-3" id="text-1-1">
 <p>
 The equivalent operation, also known as logical biconditional, is true if and only if
@@ -1196,8 +1196,8 @@ Truth Table:
 </div>
 </div>
 
-<div id="outline-container-org8e98b6a" class="outline-3">
-<h3 id="org8e98b6a"><span class="section-number-3">1.2.</span> Implies ( ⇒ , 2 )</h3>
+<div id="outline-container-org03c0d1f" class="outline-3">
+<h3 id="org03c0d1f"><span class="section-number-3">1.2.</span> Implies ( ⇒ , 2 )</h3>
 <div class="outline-text-3" id="text-1-2">
 <p>
 An implication asserts that if the first proposition is true, the
@@ -1255,8 +1255,8 @@ Truth table:
 </div>
 </div>
 
-<div id="outline-container-orgd8ee3c0" class="outline-3">
-<h3 id="orgd8ee3c0"><span class="section-number-3">1.3.</span> OR ( ∨ , 3 )</h3>
+<div id="outline-container-orgdfc336c" class="outline-3">
+<h3 id="orgdfc336c"><span class="section-number-3">1.3.</span> OR ( ∨ , 3 )</h3>
 <div class="outline-text-3" id="text-1-3">
 <p>
 The OR operation, also known as logical disjunction, is true if at
@@ -1314,8 +1314,8 @@ Truth table:
 </div>
 </div>
 
-<div id="outline-container-orge66f8d4" class="outline-3">
-<h3 id="orge66f8d4"><span class="section-number-3">1.4.</span> AND ( ∧ , 4 )</h3>
+<div id="outline-container-orgfa7d054" class="outline-3">
+<h3 id="orgfa7d054"><span class="section-number-3">1.4.</span> AND ( ∧ , 4 )</h3>
 <div class="outline-text-3" id="text-1-4">
 <p>
 The AND operation, also known as logical conjunction, is true if and
@@ -1372,8 +1372,8 @@ Truth table:
 </div>
 </div>
 
-<div id="outline-container-org892645d" class="outline-3">
-<h3 id="org892645d"><span class="section-number-3">1.5.</span> NOT ( ¬ , 5 )</h3>
+<div id="outline-container-org0d6a5fc" class="outline-3">
+<h3 id="org0d6a5fc"><span class="section-number-3">1.5.</span> NOT ( ¬ , 5 )</h3>
 <div class="outline-text-3" id="text-1-5">
 <p>
 The NOT operation, also known as logical negation, inverts the value
@@ -1414,12 +1414,12 @@ Truth Table:
 </div>
 </div>
 </div>
-<div id="outline-container-org86081c9" class="outline-2">
-<h2 id="org86081c9"><span class="section-number-2">2.</span> Examples</h2>
+<div id="outline-container-org1f1bf63" class="outline-2">
+<h2 id="org1f1bf63"><span class="section-number-2">2.</span> Examples</h2>
 <div class="outline-text-2" id="text-2">
 </div>
-<div id="outline-container-org3c440cb" class="outline-3">
-<h3 id="org3c440cb"><span class="section-number-3">2.1.</span> Example: (A ∧ B) ∨ ¬C</h3>
+<div id="outline-container-orge108edd" class="outline-3">
+<h3 id="orge108edd"><span class="section-number-3">2.1.</span> Example: (A ∧ B) ∨ ¬C</h3>
 <div class="outline-text-3" id="text-2-1">
 <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
 
@@ -1502,8 +1502,8 @@ Truth Table:
 </div>
 </div>
 
-<div id="outline-container-org1f421d0" class="outline-3">
-<h3 id="org1f421d0"><span class="section-number-3">2.2.</span> Example: A ⇒ (B ∨ ¬C)</h3>
+<div id="outline-container-org6b13342" class="outline-3">
+<h3 id="org6b13342"><span class="section-number-3">2.2.</span> Example: A ⇒ (B ∨ ¬C)</h3>
 <div class="outline-text-3" id="text-2-2">
 <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
 
@@ -1586,8 +1586,8 @@ Truth Table:
 </div>
 </div>
 
-<div id="outline-container-orge542c36" class="outline-3">
-<h3 id="orge542c36"><span class="section-number-3">2.3.</span> Example: (A ⇔ B) ∧ C</h3>
+<div id="outline-container-org5bec397" class="outline-3">
+<h3 id="org5bec397"><span class="section-number-3">2.3.</span> Example: (A ⇔ B) ∧ C</h3>
 <div class="outline-text-3" id="text-2-3">
 <p>
 Truth Table:
@@ -1676,7 +1676,7 @@ Truth Table:
 </div>
 </div>
 <div id="postamble" class="status">
-<p class="date">Created: 2025-07-31 to 03:17</p>
+<p class="date">Created: 2025-07-31 to 16:00</p>
 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
 </div>
 </body>
index 93ef481..18088c9 100644 (file)
@@ -3,7 +3,7 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2025-07-31 to 03:17 -->
+<!-- 2025-07-31 to 16:00 -->
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title>Mouse driver for QBasic programs</title>
 <h2>Table of Contents</h2>
 <div id="text-table-of-contents" role="doc-toc">
 <ul>
-<li><a href="#org52915de">1. Overview</a></li>
-<li><a href="#orgf46a888">2. High-level idea</a></li>
-<li><a href="#org5630a38">3. Terminate and Stay Resident module</a></li>
-<li><a href="#org1127c2e">4. QBasic demonstration program</a></li>
+<li><a href="#orgc0081f7">1. Overview</a></li>
+<li><a href="#org4ae324a">2. High-level idea</a></li>
+<li><a href="#org4ec2b3d">3. Terminate and Stay Resident module</a></li>
+<li><a href="#org8cb009a">4. QBasic demonstration program</a></li>
 </ul>
 </div>
 </div>
 
-<div id="outline-container-org52915de" class="outline-2">
-<h2 id="org52915de"><span class="section-number-2">1.</span> Overview</h2>
+<div id="outline-container-orgc0081f7" class="outline-2">
+<h2 id="orgc0081f7"><span class="section-number-2">1.</span> Overview</h2>
 <div class="outline-text-2" id="text-1">
 <p>
 QBasic, a popular programming language in the DOS era, lacks native
@@ -230,8 +230,8 @@ workaround that allows QBasic to use mouse input.
 </div>
 </div>
 
-<div id="outline-container-orgf46a888" class="outline-2">
-<h2 id="orgf46a888"><span class="section-number-2">2.</span> High-level idea</h2>
+<div id="outline-container-org4ae324a" class="outline-2">
+<h2 id="org4ae324a"><span class="section-number-2">2.</span> High-level idea</h2>
 <div class="outline-text-2" id="text-2">
 <p>
 Workaround to access mouse involves a Terminate and Stay Resident
@@ -264,8 +264,8 @@ TSR keeps updating it with latest mouse state simultaneously.
 </div>
 </div>
 
-<div id="outline-container-org5630a38" class="outline-2">
-<h2 id="org5630a38"><span class="section-number-2">3.</span> Terminate and Stay Resident module</h2>
+<div id="outline-container-org4ec2b3d" class="outline-2">
+<h2 id="org4ec2b3d"><span class="section-number-2">3.</span> Terminate and Stay Resident module</h2>
 <div class="outline-text-2" id="text-3">
 <p>
 A DOS TSR program that hooks into the system's interrupt mechanism to
@@ -351,8 +351,8 @@ meanwhile.</dd>
 </div>
 </div>
 
-<div id="outline-container-org1127c2e" class="outline-2">
-<h2 id="org1127c2e"><span class="section-number-2">4.</span> QBasic demonstration program</h2>
+<div id="outline-container-org8cb009a" class="outline-2">
+<h2 id="org8cb009a"><span class="section-number-2">4.</span> QBasic demonstration program</h2>
 <div class="outline-text-2" id="text-4">
 <p>
 A QBasic program that reads mouse data from the memory location
@@ -362,7 +362,7 @@ clicks.
 
 
 
-<div id="org823448c" class="figure">
+<div id="orga83a62e" class="figure">
 <p><a href="mousedrv.bas" class="responsive-img"><img src="screenshot.png" alt="screenshot.png" class="responsive-img" /></a>
 </p>
 </div>
@@ -383,7 +383,7 @@ used: Within <a href="https://www3.svjatoslav.eu/projects/qbasicapps/3D%20GFX/Sp
 </div>
 </div>
 <div id="postamble" class="status">
-<p class="date">Created: 2025-07-31 to 03:17</p>
+<p class="date">Created: 2025-07-31 to 16:00</p>
 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
 </div>
 </body>
index 8ba8eab..bc9598a 100644 (file)
@@ -3,7 +3,7 @@
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
 <head>
-<!-- 2025-07-31 to 03:18 -->
+<!-- 2025-07-31 to 16:01 -->
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title>Data over analog audio</title>
 <h2>Table of Contents</h2>
 <div id="text-table-of-contents" role="doc-toc">
 <ul>
-<li><a href="#org8a09950">1. msg2xi: Text to Sound Encoder</a></li>
-<li><a href="#orgb413280">2. xi2msg: Sound to Text Decoder</a></li>
-<li><a href="#orgc73025b">3. aver</a></li>
+<li><a href="#org3a77f1a">1. msg2xi: Text to Sound Encoder</a></li>
+<li><a href="#orgae0292a">2. xi2msg: Sound to Text Decoder</a></li>
+<li><a href="#orgfb60eb0">3. aver</a></li>
 </ul>
 </div>
 </div>
 
-<div id="outline-container-org8a09950" class="outline-2">
-<h2 id="org8a09950"><span class="section-number-2">1.</span> msg2xi: Text to Sound Encoder</h2>
+<div id="outline-container-org3a77f1a" class="outline-2">
+<h2 id="org3a77f1a"><span class="section-number-2">1.</span> msg2xi: Text to Sound Encoder</h2>
 <div class="outline-text-2" id="text-1">
 <p>
 <b>msg2xi</b> is a utility designed to encode arbitrary text messages into an
@@ -245,8 +245,8 @@ Download source code: <a href="msg2xi.bas">Source code</a>
 </div>
 </div>
 
-<div id="outline-container-orgb413280" class="outline-2">
-<h2 id="orgb413280"><span class="section-number-2">2.</span> xi2msg: Sound to Text Decoder</h2>
+<div id="outline-container-orgae0292a" class="outline-2">
+<h2 id="orgae0292a"><span class="section-number-2">2.</span> xi2msg: Sound to Text Decoder</h2>
 <div class="outline-text-2" id="text-2">
 <p>
 The <b>xi2msg</b> utility is designed to decode digital information from an
@@ -287,7 +287,7 @@ transmitted over telephone lines.
 </p>
 
 
-<div id="orgb64cf0b" class="figure">
+<div id="org28b59c4" class="figure">
 <p><img src="screenshot.png" alt="screenshot.png" />
 </p>
 </div>
@@ -299,8 +299,8 @@ Download source code: <a href="xi2msg.bas">Source code</a>
 </div>
 </div>
 
-<div id="outline-container-orgc73025b" class="outline-2">
-<h2 id="orgc73025b"><span class="section-number-2">3.</span> aver</h2>
+<div id="outline-container-orgfb60eb0" class="outline-2">
+<h2 id="orgfb60eb0"><span class="section-number-2">3.</span> aver</h2>
 <div class="outline-text-2" id="text-3">
 <p>
 The <b>aver.bas</b> utility is designed to reduce noise in digitized audio
@@ -343,7 +343,7 @@ Download source code: <a href="aver.bas">Source code</a>
 </div>
 </div>
 <div id="postamble" class="status">
-<p class="date">Created: 2025-07-31 to 03:18</p>
+<p class="date">Created: 2025-07-31 to 16:01</p>
 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
 </div>
 </body>
diff --git a/Networking/LPT communication driver/index.org b/Networking/LPT communication driver/index.org
new file mode 100755 (executable)
index 0000000..edb8565
--- /dev/null
@@ -0,0 +1,61 @@
+#+TITLE: LPT Communication Driver\r
+#+LANGUAGE: en\r
+#+LATEX_HEADER: \usepackage[margin=1.0in]{geometry}\r
+#+LATEX_HEADER: \usepackage{parskip}\r
+#+LATEX_HEADER: \usepackage[none]{hyphenat}\r
+\r
+#+OPTIONS: H:20 num:20\r
+#+OPTIONS: author:nil\r
+\r
+* Overview\r
+\r
+This is weird networking solution. It allows to send data using\r
+parallel LPT port serially(!) by bit-banging between two connected\r
+computers :)\r
+\r
+Out of [[https://en.wikipedia.org/wiki/Parallel_port][25 physical wires in LPT port]], only 3 are used:\r
+\r
+- Pin 14 :: Carries a synchronization signal which uses a periodic\r
+  pattern (e.g., 010101...) to maintain timing alignment between the\r
+  communicating computers.\r
+\r
+- Pin 17 :: Functions as the bidirectional data line, responsible for\r
+  transmitting and receiving data between the connected computers.\r
+\r
+- Pin 18 :: Acts as the ground connection, providing a common\r
+  reference for electrical signals to ensure consistency in\r
+  communication.\r
+\r
+\r
+By utilizing only three wires and software controlled bit-banging\r
+algorithm, custom, comparatively simple, cheap and long cable can be\r
+built to connect 2 computers in a DIY network setup.\r
+\r
+* LPT Communication Driver (LPTDRV)\r
+\r
+LPTDRV is a memory-resident driver designed to facilitate\r
+communication between computers using parallel printer ports\r
+(LPT). Developed in assembly language, this driver hooks into the\r
+system's IRQ 0 to periodically monitor LPT port statuses, allowing for\r
+data exchange without requiring constant polling by applications.\r
+\r
+Features and Capabilities:\r
+\r
+- Interrupt-Driven Communication :: By utilizing hardware interrupts,\r
+  LPTDRV efficiently handles data transmission and reception without\r
+  overwhelming system resources.\r
+\r
+- Buffer Management :: It features separate 5000-byte buffers for\r
+  incoming and outgoing data, providing smooth asynchronous\r
+  communication.\r
+\r
+- Protocol Handling :: Implements a simple protocol for data encoding\r
+  and decoding over parallel ports, demonstrating practical low-level\r
+  communication techniques.\r
+\r
+- Ease of Integration :: Applications can communicate with the driver\r
+  using INT 63h, making it straightforward to integrate into existing\r
+  software.\r
+\r
+- Speed :: During my testing, it achieved a maximum transfer speed of\r
+  approximately 12 Kb/s.\r
diff --git a/Networking/LPT communication driver/lptdrv.txt b/Networking/LPT communication driver/lptdrv.txt
deleted file mode 100644 (file)
index d276f46..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-LPT communications driver\r
-made by Svjatoslav Agejenko\r
-in 2002.08\r
-H-Page: svjatoslav.eu\r
-E-Mail: svjatoslav@svjatoslav.eu\r
\r
-LPTDRV is a memory resident driver for LPT network.\r
-It hooks IRQ 0 and checks ca. 18 times per second LPT status.\r
-If any activity found it reads and decodes recieved data,\r
-and stores it into its 5000 bytes input buffer. It has also\r
-5000 bytes output buffer for sending data.\r
-Applications can communicate with this driver by INT 63h.\r
-see LPTDRV.ASM for more details.\r
-\r
-\r
-Parallel printer port pins 14, 17, 18\r
-must be connected on both computers directly, eg. one to one.\r
-\r
-pin 14 carries syncronisation signal. 0 1 0 1 0 1 ...\r
-pin 17 is used for data input/output.\r
-pin 18 is ground.\r
-\r
-Maximum transfer speed on my computer was ~ 12 Kb/s.\r