<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="https://pmd85.borik.net/w/skins/common/feed.css?240204"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Tolkien - História úprav</title>
		<link>https://pmd85.borik.net/wiki/Tolkien&amp;action=history</link>
		<description>História úprav pre túto stránku na wiki</description>
		<language>sk</language>
		<generator>MediaWiki 1.11.1</generator>
		<lastBuildDate>Fri, 01 May 2026 17:38:35 GMT</lastBuildDate>
		<item>
			<title>Rombor: Drobné úpravy a opravy preklepov</title>
			<link>https://pmd85.borik.net/wiki/Tolkien&amp;diff=2059&amp;oldid=prev</link>
			<description>&lt;p&gt;Drobné úpravy a opravy preklepov&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class=&#039;diff-marker&#039; /&gt;
			&lt;col class=&#039;diff-content&#039; /&gt;
			&lt;col class=&#039;diff-marker&#039; /&gt;
			&lt;col class=&#039;diff-content&#039; /&gt;
			&lt;tr&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black;&quot;&gt;← Staršia verzia&lt;/td&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black;&quot;&gt;Verzia zo dňa a času 09:07, 26. september 2023&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Tolkien je PC konzolová utilita určená pre pakovanie textov (do textoviek). Utilita bola napísaná podľa rovnomenného programu &amp;#039;&amp;#039;&amp;#039;Tolkien 5.0&amp;#039;&amp;#039;&amp;#039; pre ZX Spectrum, ktorý si pre vlastnú potrebu napísal &amp;#039;&amp;#039;George K.&amp;#039;&amp;#039; niekedy okolo roku 1992. Tolkienom boli spakované texty do jeho textovky [http://www.worldofspectrum.org/infoseekid.cgi?id=0002305 Heroes] &amp;#039;&amp;#039;([http://www.zx-spectrum.cz/index.php?cat1=3&amp;amp;cat2=3&amp;amp;game_id=heroes92.txt Heroes])&amp;#039;&amp;#039;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Tolkien je PC konzolová utilita určená pre pakovanie textov (do textoviek). Utilita bola napísaná podľa rovnomenného programu &amp;#039;&amp;#039;&amp;#039;Tolkien 5.0&amp;#039;&amp;#039;&amp;#039; pre ZX Spectrum, ktorý si pre vlastnú potrebu napísal &amp;#039;&amp;#039;George K.&amp;#039;&amp;#039; niekedy okolo roku 1992. Tolkienom boli spakované texty do jeho textovky [http://www.worldofspectrum.org/infoseekid.cgi?id=0002305 Heroes] &amp;#039;&amp;#039;([http://www.zx-spectrum.cz/index.php?cat1=3&amp;amp;cat2=3&amp;amp;game_id=heroes92.txt Heroes])&amp;#039;&amp;#039;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Spakovaný text je absolútne nečitateľný a pre jeho rozpakovanie stačí krátka rutinka. Text sa však nerozpakuje celý, ale iba konkrétna veta. V pamäti tak nezaberá cenné miesto a pre rozpakovanie stačí malý buffer o veľkosti najdlhšej vety. Podľa vtedajšieho vyjadrenia George K. pakuje Tolkien text až na 50% pôvodnej dĺžky textu. Tu je však treba poznamenať, že to samozrejme záleží od &amp;quot;charakteru&amp;quot; samotného textu. Na jednej strane sa &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;kompresý &lt;/del&gt;pomer zvyšuje s narastajúcou dĺžkou zdrojového textu, ale znižuje sa s rastúcim počtom rôznych znakov v texte.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Spakovaný text je absolútne nečitateľný a pre jeho rozpakovanie stačí krátka rutinka. Text sa však nerozpakuje celý, ale iba konkrétna veta. V pamäti tak nezaberá cenné miesto a pre rozpakovanie stačí malý buffer o veľkosti najdlhšej vety. Podľa vtedajšieho vyjadrenia George K. pakuje Tolkien text až na 50% pôvodnej dĺžky textu. Tu je však treba poznamenať, že to samozrejme záleží od &amp;quot;charakteru&amp;quot; samotného textu. Na jednej strane sa &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;kompresný &lt;/ins&gt;pomer zvyšuje s narastajúcou dĺžkou zdrojového textu, ale znižuje sa s rastúcim počtom rôznych znakov v texte.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Použitie ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Použitie ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Tolkien je konzolová utilita, takže sa dá s výhodou &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;použíť &lt;/del&gt;v&amp;amp;nbsp;dávkových súboroch. Požadované chovanie utility sa volí príslušnými prepínačmi. V&amp;amp;nbsp;hranatých zátvorkách sú uvedené &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;defaultné &lt;/del&gt;hodnoty parametrov, pokiaľ sa daný prepínač nepoužije.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Tolkien je konzolová utilita, takže sa dá s výhodou &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;použiť &lt;/ins&gt;v&amp;amp;nbsp;dávkových súboroch. Požadované chovanie utility sa volí príslušnými prepínačmi. V&amp;amp;nbsp;hranatých zátvorkách sú uvedené &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;predvolené &lt;/ins&gt;hodnoty parametrov, pokiaľ sa daný prepínač nepoužije.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Príkazový riadok:&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Príkazový riadok:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* {{Príkaz|-z80}}&amp;lt;br /&amp;gt;vloží pred spakovaný text rozpakovaciu rutinu Z80&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* {{Príkaz|-z80}}&amp;lt;br /&amp;gt;vloží pred spakovaný text rozpakovaciu rutinu Z80&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* {{Príkaz|-i8080}}&amp;lt;br /&amp;gt;vloží pred spakovaný text rozpakovaciu rutinu i8080&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* {{Príkaz|-i8080}}&amp;lt;br /&amp;gt;vloží pred spakovaný text rozpakovaciu rutinu i8080&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* {{Príkaz|-a adresa}}&amp;lt;br /&amp;gt;určuje adresu rozpakovacej rutiny. &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Defaultné &lt;/del&gt;hodnoty sa líšia pre Z80 a i8080 a sú obvyklé pre ZX Spectrum, či PMD 85. {{GreyKbd|[32768 (z80) / 0 (i8080)]}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* {{Príkaz|-a adresa}}&amp;lt;br /&amp;gt;určuje adresu rozpakovacej rutiny. &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Predvolené &lt;/ins&gt;hodnoty sa líšia pre Z80 a i8080 a sú obvyklé pre ZX Spectrum, či PMD 85. {{GreyKbd|[32768 (z80) / 0 (i8080)]}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* {{Príkaz|-pa adresa}}&amp;lt;br /&amp;gt;určuje adresu &amp;quot;print&amp;quot; rutiny. &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Defaultné &lt;/del&gt;hodnoty sa líšia pre Z80 a i8080 a sú obvyklé pre ZX Spectrum, či PMD 85. {{GreyKbd|[16 (z80) / 8500h (i8080)]}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* {{Príkaz|-pa adresa}}&amp;lt;br /&amp;gt;určuje adresu &amp;quot;print&amp;quot; rutiny. &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Predvolené &lt;/ins&gt;hodnoty sa líšia pre Z80 a i8080 a sú obvyklé pre ZX Spectrum, či PMD 85. {{GreyKbd|[16 (z80) / 8500h (i8080)]}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* {{Príkaz|-ptp}}&amp;lt;br /&amp;gt;výsledok sa uloží do [[PTP]] súboru pásky pre [[Emulátor]] PMD 85.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* {{Príkaz|-ptp}}&amp;lt;br /&amp;gt;výsledok sa uloží do [[PTP]] súboru pásky pre [[Emulátor]] PMD 85.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* {{Príkaz|-tap}}&amp;lt;br /&amp;gt;výsledok sa uloží do TAP súboru pásky pre ZX Spectrum emulátory.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* {{Príkaz|-tap}}&amp;lt;br /&amp;gt;výsledok sa uloží do TAP súboru pásky pre ZX Spectrum emulátory.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 113:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 113:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;        call  TolkienUnpack&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;        call  TolkienUnpack&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Rozpakovacia rutina si so sebou nesie všetky potrebné informácie o spakovanom texte vrátane tabuľky kódovania znakov a dvojíc znakov, takže je priamo viazaná na konkrétny spakovaný text. Rozpakovacia rutina je napísaná tak, že pre každý &amp;quot;rozbalený&amp;quot; znak skáče na adresu rutiny, ktorá má tento znak spracovať (vytlačiť, resp. niekam zapísať). Na konci rozpakovacej rutiny je inštrukcia {{Príkaz|jmp ADDR}}, kde {{Príkaz|ADDR}} je práve adresa rutiny, ktorá má znak spracovať - prepínač {{Príkaz|-pa}}. Predvolene je to štandardná rutina na vytlačenie znaku na PMD 85, resp. na ZX Spectre, ale v &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;reále &lt;/del&gt;budete mať zrejme vlastnú rutinu, ktorá bude jednotlivé znaky postupne zapisovať do nejakého buffra a až potom text vytlačí. Rutina musí zachovať hodnotu registra {{Príkaz|DE}} a musí mať samozrejme &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;regulérny &lt;/del&gt;návrat.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Rozpakovacia rutina si so sebou nesie všetky potrebné informácie o spakovanom texte vrátane tabuľky kódovania znakov a dvojíc znakov, takže je priamo viazaná na konkrétny spakovaný text. Rozpakovacia rutina je napísaná tak, že pre každý &amp;quot;rozbalený&amp;quot; znak skáče na adresu rutiny, ktorá má tento znak spracovať (vytlačiť, resp. niekam zapísať). Na konci rozpakovacej rutiny je inštrukcia {{Príkaz|jmp ADDR}}, kde {{Príkaz|ADDR}} je práve adresa rutiny, ktorá má znak spracovať - prepínač {{Príkaz|-pa}}. Predvolene je to štandardná rutina na vytlačenie znaku na PMD 85, resp. na ZX Spectre, ale v &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;praxi &lt;/ins&gt;budete mať zrejme vlastnú rutinu, ktorá bude jednotlivé znaky postupne zapisovať do nejakého buffra a až potom text vytlačí. Rutina musí zachovať hodnotu registra {{Príkaz|DE}} a musí mať samozrejme &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;regulerný &lt;/ins&gt;návrat.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Utility]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Utility]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 26 Sep 2023 09:07:36 GMT</pubDate>			<dc:creator>Rombor</dc:creator>			<comments>https://pmd85.borik.net/wiki/Diskusia:Tolkien</comments>		</item>
		<item>
			<title>Rombor: Oprava textu</title>
			<link>https://pmd85.borik.net/wiki/Tolkien&amp;diff=1524&amp;oldid=prev</link>
			<description>&lt;p&gt;Oprava textu&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class=&#039;diff-marker&#039; /&gt;
			&lt;col class=&#039;diff-content&#039; /&gt;
			&lt;col class=&#039;diff-marker&#039; /&gt;
			&lt;col class=&#039;diff-content&#039; /&gt;
			&lt;tr&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black;&quot;&gt;← Staršia verzia&lt;/td&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black;&quot;&gt;Verzia zo dňa a času 10:11, 21. september 2018&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Tolkien je PC konzolová utilita určená pre pakovanie textov (do textoviek). Utilita bola napísaná podľa rovnomenného programu &amp;#039;&amp;#039;&amp;#039;Tolkien 5.0&amp;#039;&amp;#039;&amp;#039; pre ZX Spectrum, ktorý si pre vlastnú potrebu napísal &amp;#039;&amp;#039;George K.&amp;#039;&amp;#039; niekedy okolo roku 1992. Tolkienom boli spakované texty do jeho textovky [http://www.worldofspectrum.org/infoseekid.cgi?id=0002305 Heroes] &amp;#039;&amp;#039;([http://www.zx-spectrum.cz/index.php?cat1=3&amp;amp;cat2=3&amp;amp;game_id=heroes92.txt &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;cz&lt;/del&gt;])&amp;#039;&amp;#039;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Tolkien je PC konzolová utilita určená pre pakovanie textov (do textoviek). Utilita bola napísaná podľa rovnomenného programu &amp;#039;&amp;#039;&amp;#039;Tolkien 5.0&amp;#039;&amp;#039;&amp;#039; pre ZX Spectrum, ktorý si pre vlastnú potrebu napísal &amp;#039;&amp;#039;George K.&amp;#039;&amp;#039; niekedy okolo roku 1992. Tolkienom boli spakované texty do jeho textovky [http://www.worldofspectrum.org/infoseekid.cgi?id=0002305 Heroes] &amp;#039;&amp;#039;([http://www.zx-spectrum.cz/index.php?cat1=3&amp;amp;cat2=3&amp;amp;game_id=heroes92.txt &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Heroes&lt;/ins&gt;])&amp;#039;&amp;#039;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Spakovaný text je absolútne nečitateľný a pre jeho rozpakovanie stačí krátka rutinka. Text sa však nerozpakuje celý, ale iba konkrétna veta. V pamäti tak nezaberá cenné miesto a pre rozpakovanie stačí malý buffer o veľkosti najdlhšej vety. Podľa vtedajšieho vyjadrenia George K. pakuje Tolkien text až na 50% pôvodnej dĺžky textu. Tu je však treba poznamenať, že to samozrejme záleží od &amp;quot;charakteru&amp;quot; samotného textu. Na jednej strane sa kompresý pomer zvyšuje s narastajúcou dĺžkou zdrojového textu, ale znižuje sa s rastúcim počtom rôznych znakov v texte.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Spakovaný text je absolútne nečitateľný a pre jeho rozpakovanie stačí krátka rutinka. Text sa však nerozpakuje celý, ale iba konkrétna veta. V pamäti tak nezaberá cenné miesto a pre rozpakovanie stačí malý buffer o veľkosti najdlhšej vety. Podľa vtedajšieho vyjadrenia George K. pakuje Tolkien text až na 50% pôvodnej dĺžky textu. Tu je však treba poznamenať, že to samozrejme záleží od &amp;quot;charakteru&amp;quot; samotného textu. Na jednej strane sa kompresý pomer zvyšuje s narastajúcou dĺžkou zdrojového textu, ale znižuje sa s rastúcim počtom rôznych znakov v texte.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 104:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 104:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Po nutných konverziách sa už čistý text prejde a spočíta sa počet rôznych znakov vrátane oddeľovača. Ich maximálny počet môže byť 126. Ak je ich viac, je to chyba a Tolkien sa ukončí. Jednotlivým znakom, tak ako ich Tolkien stretol, sa priradia kódy od 0 po N, takže oddeľovač má kód 0. Tento zoznam písmen je potom súčasťou rozpakovacej rutiny a je jedinou &amp;quot;čitateľnou&amp;quot; časťou spakovaného textu. Celý text sa následne prejde a jednotlivé znaky sa nahradia ich novými kódmi - tým sa stane text nečitateľný. &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Po nutných konverziách sa už čistý text prejde a spočíta sa počet rôznych znakov vrátane oddeľovača. Ich maximálny počet môže byť 126. Ak je ich viac, je to chyba a Tolkien sa ukončí. Jednotlivým znakom, tak ako ich Tolkien stretol, sa priradia kódy od 0 po N, takže oddeľovač má kód 0. Tento zoznam písmen je potom súčasťou rozpakovacej rutiny a je jedinou &amp;quot;čitateľnou&amp;quot; časťou spakovaného textu. Celý text sa následne prejde a jednotlivé znaky sa nahradia ich novými kódmi - tým sa stane text nečitateľný. &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;V tomto okamihu začína pakovací proces. Text sa opäť celý prejde a vytvorí sa zoznam dvojíc znakov zotriedený podľa výskytu. Dvojici znakov s najväčším počtom výskytov sa priradí nový kód N+1 a urobí sa v celom texte nahradenie danej dvojice novým kódom. Tým sa text skráti o &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;polovicu počtu &lt;/del&gt;výskytov. Zjednodušene, toto sa opakuje, kým sa už nenájdu vhodné dvojice znakov, alebo sa vyčerpajú kódy (max. 254).&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;V tomto okamihu začína pakovací proces. Text sa opäť celý prejde a vytvorí sa zoznam dvojíc znakov zotriedený podľa výskytu. Dvojici znakov s najväčším počtom výskytov sa priradí nový kód N+1 a urobí sa v celom texte nahradenie danej dvojice novým kódom. Tým sa text skráti o &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;počet &lt;/ins&gt;výskytov. Zjednodušene, toto sa opakuje, kým sa už nenájdu vhodné dvojice znakov, alebo sa vyčerpajú kódy (max. 254).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Rozpakovanie textu ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Rozpakovanie textu ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Fri, 21 Sep 2018 10:11:34 GMT</pubDate>			<dc:creator>Rombor</dc:creator>			<comments>https://pmd85.borik.net/wiki/Diskusia:Tolkien</comments>		</item>
		<item>
			<title>Djb: drobotiny</title>
			<link>https://pmd85.borik.net/wiki/Tolkien&amp;diff=1498&amp;oldid=prev</link>
			<description>&lt;p&gt;drobotiny&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class=&#039;diff-marker&#039; /&gt;
			&lt;col class=&#039;diff-content&#039; /&gt;
			&lt;col class=&#039;diff-marker&#039; /&gt;
			&lt;col class=&#039;diff-content&#039; /&gt;
			&lt;tr&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black;&quot;&gt;← Staršia verzia&lt;/td&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black;&quot;&gt;Verzia zo dňa a času 07:45, 21. august 2017&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Tolkien je PC konzolová utilita určená pre pakovanie textov (do textoviek). Utilita bola napísaná podľa rovnomenného programu &amp;#039;&amp;#039;&amp;#039;Tolkien 5.0&amp;#039;&amp;#039;&amp;#039; pre ZX Spectrum, ktorý si pre vlastnú potrebu napísal &amp;#039;&amp;#039;George K.&amp;#039;&amp;#039; niekedy okolo roku 1992. Tolkienom boli spakované texty do jeho textovky [http://www.worldofspectrum.org/infoseekid.cgi?id=0002305 Heroes].&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Tolkien je PC konzolová utilita určená pre pakovanie textov (do textoviek). Utilita bola napísaná podľa rovnomenného programu &amp;#039;&amp;#039;&amp;#039;Tolkien 5.0&amp;#039;&amp;#039;&amp;#039; pre ZX Spectrum, ktorý si pre vlastnú potrebu napísal &amp;#039;&amp;#039;George K.&amp;#039;&amp;#039; niekedy okolo roku 1992. Tolkienom boli spakované texty do jeho textovky [http://www.worldofspectrum.org/infoseekid.cgi?id=0002305 Heroes] &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&amp;#039;&amp;#039;([http://www.zx-spectrum.cz/index.php?cat1=3&amp;amp;cat2=3&amp;amp;game_id=heroes92.txt cz])&amp;#039;&amp;#039;&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Spakovaný text je absolútne nečitateľný a pre jeho rozpakovanie stačí krátka rutinka. Text sa však nerozpakuje celý, ale iba konkrétna veta. V pamäti tak nezaberá cenné miesto a pre rozpakovanie stačí malý buffer o veľkosti najdlhšej vety. Podľa vtedajšieho vyjadrenia George K. pakuje Tolkien text až na 50% pôvodnej dĺžky textu. Tu je však treba poznamenať, že to samozrejme záleží od &amp;quot;charakteru&amp;quot; samotného textu. Na jednej strane sa kompresý pomer zvyšuje s narastajúcou dĺžkou zdrojového textu, ale znižuje sa s rastúcim počtom rôznych znakov v texte.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Spakovaný text je absolútne nečitateľný a pre jeho rozpakovanie stačí krátka rutinka. Text sa však nerozpakuje celý, ale iba konkrétna veta. V pamäti tak nezaberá cenné miesto a pre rozpakovanie stačí malý buffer o veľkosti najdlhšej vety. Podľa vtedajšieho vyjadrenia George K. pakuje Tolkien text až na 50% pôvodnej dĺžky textu. Tu je však treba poznamenať, že to samozrejme záleží od &amp;quot;charakteru&amp;quot; samotného textu. Na jednej strane sa kompresý pomer zvyšuje s narastajúcou dĺžkou zdrojového textu, ale znižuje sa s rastúcim počtom rôznych znakov v texte.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 61:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 61:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Formát súboru s konverznou tabuľkou ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Formát súboru s konverznou tabuľkou ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Súbor s konverznou tabuľkou je textový súbor, ktorý obsahuje v jednotlivých riadkoch vždy po dva desiatkové kódy znakov. &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Na ľavo &lt;/del&gt;je zdrojový kód, ktorý sa mení na cieľový, ktorý je v riadku napravo. Jednotlivé čísla môžu byť oddelené jedným a viac medzerami alebo tabulátormi. Súbor môže obsahovať komentár, ktorý sa začína bodkočiarkou a je pri čítaní súboru ignorovaný. Kódy znakov môžu byť v intervale &amp;lt;1,254&amp;gt;. Jeden príklad namiesto ďalších slov...&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Súbor s konverznou tabuľkou je textový súbor, ktorý obsahuje v jednotlivých riadkoch vždy po dva desiatkové kódy znakov. &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Naľavo &lt;/ins&gt;je zdrojový kód, ktorý sa mení na cieľový, ktorý je v riadku napravo. Jednotlivé čísla môžu byť oddelené jedným a viac medzerami alebo tabulátormi. Súbor môže obsahovať komentár, ktorý sa začína bodkočiarkou a je pri čítaní súboru ignorovaný. Kódy znakov môžu byť v intervale &amp;lt;1,254&amp;gt;. Jeden príklad namiesto ďalších slov...&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; ; CP1250 -&amp;gt; Universums`s Desktop SK&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; ; CP1250 -&amp;gt; Universums`s Desktop SK&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 110:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 110:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Rozpakovanie textu, respektíve získanie konkrétnej vety, je veľmi jednoduché. Stačí do registra {{Príkaz|DE}} zadať číslo vety od 1 do N a zavolať rozpakovaciu rutinu.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Rozpakovanie textu, respektíve získanie konkrétnej vety, je veľmi jednoduché. Stačí do registra {{Príkaz|DE}} zadať číslo vety od 1 do N a zavolať rozpakovaciu rutinu.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;        &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;lxi &lt;/del&gt; &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;d&lt;/del&gt;,cislo_vety&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;        &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;ld    de,cislo_vety    ; &lt;/ins&gt; &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;LXI D&lt;/ins&gt;,cislo_vety&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;        call TolkienUnpack&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;        call &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;TolkienUnpack&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Rozpakovacia rutina si so sebou nesie všetky potrebné informácie o spakovanom texte vrátane tabuľky kódovania znakov a dvojíc znakov, takže je priamo viazaná na konkrétny spakovaný text. Rozpakovacia rutina je napísaná tak, že pre každý &amp;quot;rozbalený&amp;quot; znak skáče na adresu rutiny, ktorá má tento znak spracovať (vytlačiť, resp. niekam zapísať). Na konci rozpakovacej rutiny je inštrukcia {{Príkaz|jmp ADDR}}, kde {{Príkaz|ADDR}} je práve adresa rutiny, ktorá má znak spracovať - prepínač {{Príkaz|-pa}}. Predvolene je to štandardná rutina na vytlačenie znaku na PMD 85, resp. na ZX Spectre, ale v reále budete mať zrejme vlastnú rutinu, ktorá bude jednotlivé znaky postupne zapisovať do nejakého buffra a až potom text vytlačí. Rutina musí zachovať hodnotu registra {{Príkaz|DE}} a musí mať samozrejme regulérny návrat.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Rozpakovacia rutina si so sebou nesie všetky potrebné informácie o spakovanom texte vrátane tabuľky kódovania znakov a dvojíc znakov, takže je priamo viazaná na konkrétny spakovaný text. Rozpakovacia rutina je napísaná tak, že pre každý &amp;quot;rozbalený&amp;quot; znak skáče na adresu rutiny, ktorá má tento znak spracovať (vytlačiť, resp. niekam zapísať). Na konci rozpakovacej rutiny je inštrukcia {{Príkaz|jmp ADDR}}, kde {{Príkaz|ADDR}} je práve adresa rutiny, ktorá má znak spracovať - prepínač {{Príkaz|-pa}}. Predvolene je to štandardná rutina na vytlačenie znaku na PMD 85, resp. na ZX Spectre, ale v reále budete mať zrejme vlastnú rutinu, ktorá bude jednotlivé znaky postupne zapisovať do nejakého buffra a až potom text vytlačí. Rutina musí zachovať hodnotu registra {{Príkaz|DE}} a musí mať samozrejme regulérny návrat.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Utility]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Utility]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Mon, 21 Aug 2017 07:45:01 GMT</pubDate>			<dc:creator>Djb</dc:creator>			<comments>https://pmd85.borik.net/wiki/Diskusia:Tolkien</comments>		</item>
		<item>
			<title>Rombor: Opravený preklep</title>
			<link>https://pmd85.borik.net/wiki/Tolkien&amp;diff=1497&amp;oldid=prev</link>
			<description>&lt;p&gt;Opravený preklep&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class=&#039;diff-marker&#039; /&gt;
			&lt;col class=&#039;diff-content&#039; /&gt;
			&lt;col class=&#039;diff-marker&#039; /&gt;
			&lt;col class=&#039;diff-content&#039; /&gt;
			&lt;tr&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black;&quot;&gt;← Staršia verzia&lt;/td&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black;&quot;&gt;Verzia zo dňa a času 19:47, 19. august 2017&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 104:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riadok 104:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Po nutných konverziách sa už čistý text prejde a spočíta sa počet rôznych znakov vrátane oddeľovača. Ich maximálny počet môže byť 126. Ak je ich viac, je to chyba a Tolkien sa ukončí. Jednotlivým znakom, tak ako ich Tolkien stretol, sa priradia kódy od 0 po N, takže oddeľovač má kód 0. Tento zoznam písmen je potom súčasťou rozpakovacej rutiny a je jedinou &amp;quot;čitateľnou&amp;quot; časťou spakovaného textu. Celý text sa následne prejde a jednotlivé znaky sa nahradia ich novými kódmi - tým sa stane text nečitateľný. &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Po nutných konverziách sa už čistý text prejde a spočíta sa počet rôznych znakov vrátane oddeľovača. Ich maximálny počet môže byť 126. Ak je ich viac, je to chyba a Tolkien sa ukončí. Jednotlivým znakom, tak ako ich Tolkien stretol, sa priradia kódy od 0 po N, takže oddeľovač má kód 0. Tento zoznam písmen je potom súčasťou rozpakovacej rutiny a je jedinou &amp;quot;čitateľnou&amp;quot; časťou spakovaného textu. Celý text sa následne prejde a jednotlivé znaky sa nahradia ich novými kódmi - tým sa stane text nečitateľný. &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;V tomto okamihu začína pakovací &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;process&lt;/del&gt;. Text sa opäť celý prejde a vytvorí sa zoznam dvojíc znakov zotriedený podľa výskytu. Dvojici znakov s najväčším počtom výskytov sa priradí nový kód N+1 a urobí sa v celom texte nahradenie danej dvojice novým kódom. Tým sa text skráti o polovicu počtu výskytov. Zjednodušene, toto sa opakuje, kým sa už nenájdu vhodné dvojice znakov, alebo sa vyčerpajú kódy (max. 254).&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;V tomto okamihu začína pakovací &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;proces&lt;/ins&gt;. Text sa opäť celý prejde a vytvorí sa zoznam dvojíc znakov zotriedený podľa výskytu. Dvojici znakov s najväčším počtom výskytov sa priradí nový kód N+1 a urobí sa v celom texte nahradenie danej dvojice novým kódom. Tým sa text skráti o polovicu počtu výskytov. Zjednodušene, toto sa opakuje, kým sa už nenájdu vhodné dvojice znakov, alebo sa vyčerpajú kódy (max. 254).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Rozpakovanie textu ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Rozpakovanie textu ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Rozpakovanie textu respektíve získanie konkrétnej vety je veľmi jednoduché. Stačí do registra {{Príkaz|DE}} zadať číslo vety od 1 do N a zavolať rozpakovaciu rutinu.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Rozpakovanie textu&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;respektíve získanie konkrétnej vety&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;je veľmi jednoduché. Stačí do registra {{Príkaz|DE}} zadať číslo vety od 1 do N a zavolať rozpakovaciu rutinu.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;        lxi  d,cislo_vety&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;        lxi  d,cislo_vety&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 19 Aug 2017 19:47:20 GMT</pubDate>			<dc:creator>Rombor</dc:creator>			<comments>https://pmd85.borik.net/wiki/Diskusia:Tolkien</comments>		</item>
		<item>
			<title>Rombor: Nový článok</title>
			<link>https://pmd85.borik.net/wiki/Tolkien&amp;diff=1496&amp;oldid=prev</link>
			<description>&lt;p&gt;Nový článok&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nová stránka&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{VelkyNadpis|Tolkien}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Software&lt;br /&gt;
| name = Tolkien&lt;br /&gt;
| licence = Copyright © 2017 RM-TEAM&lt;br /&gt;
| author = Roman Bórik&lt;br /&gt;
| version = v1.1 &amp;#039;&amp;#039;(08/2017)&amp;#039;&amp;#039;&lt;br /&gt;
| operating_system = windows {{!}} unix&lt;br /&gt;
| language = angličtina&lt;br /&gt;
| download = &amp;#039;&amp;#039;&amp;#039;[[download:105|tolkien11.zip]]&amp;#039;&amp;#039;&amp;#039; - ZIP archív obsahujúci binárky pre win32 konzolu a Linux + zdrojové texty&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Tolkien je PC konzolová utilita určená pre pakovanie textov (do textoviek). Utilita bola napísaná podľa rovnomenného programu &amp;#039;&amp;#039;&amp;#039;Tolkien 5.0&amp;#039;&amp;#039;&amp;#039; pre ZX Spectrum, ktorý si pre vlastnú potrebu napísal &amp;#039;&amp;#039;George K.&amp;#039;&amp;#039; niekedy okolo roku 1992. Tolkienom boli spakované texty do jeho textovky [http://www.worldofspectrum.org/infoseekid.cgi?id=0002305 Heroes].&lt;br /&gt;
&lt;br /&gt;
Spakovaný text je absolútne nečitateľný a pre jeho rozpakovanie stačí krátka rutinka. Text sa však nerozpakuje celý, ale iba konkrétna veta. V pamäti tak nezaberá cenné miesto a pre rozpakovanie stačí malý buffer o veľkosti najdlhšej vety. Podľa vtedajšieho vyjadrenia George K. pakuje Tolkien text až na 50% pôvodnej dĺžky textu. Tu je však treba poznamenať, že to samozrejme záleží od &amp;quot;charakteru&amp;quot; samotného textu. Na jednej strane sa kompresý pomer zvyšuje s narastajúcou dĺžkou zdrojového textu, ale znižuje sa s rastúcim počtom rôznych znakov v texte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Použitie ==&lt;br /&gt;
&lt;br /&gt;
Tolkien je konzolová utilita, takže sa dá s výhodou použíť v&amp;amp;nbsp;dávkových súboroch. Požadované chovanie utility sa volí príslušnými prepínačmi. V&amp;amp;nbsp;hranatých zátvorkách sú uvedené defaultné hodnoty parametrov, pokiaľ sa daný prepínač nepoužije.&lt;br /&gt;
&lt;br /&gt;
Príkazový riadok:&lt;br /&gt;
{{Príkaz|tolkien [prepinace] vstupny_subor.ext}}&lt;br /&gt;
&lt;br /&gt;
* {{Príkaz|-o vystup.ext}}&amp;lt;br /&amp;gt;určuje názov výstupného súboru. Pokiaľ sa neuvedie, výstupný súbor bude mať názov podľa vstupného súboru a príponu v závislosti od ďalších parametrov.&lt;br /&gt;
* {{Príkaz|-append}}&amp;lt;br /&amp;gt;spôsobí, že výsledok sa pripojí na koniec výstupného súboru. Pokiaľ nie je nastavený, existujúci výstupný súbor sa prepíše.&lt;br /&gt;
* {{Príkaz|-dtp}}&amp;lt;br /&amp;gt;zdrojový súbor je vo formáte programu Desktop&lt;br /&gt;
* {{Príkaz|-lc}}&amp;lt;br /&amp;gt;veľké písmená sa zmenia na malé písmená (iba pre {{Príkaz|-dtp}})&lt;br /&gt;
* {{Príkaz|-no-crlf}}&amp;lt;br /&amp;gt;odstráni zalomenia riadkov CR/LF&lt;br /&gt;
* {{Príkaz|-crlf-spc}}&amp;lt;br /&amp;gt;zalomenia riadkov CR/LF v texte nahradí medzerou&lt;br /&gt;
* {{Príkaz|-only-cr}}&amp;lt;br /&amp;gt;ponechá v texte zalomenia riadkov iba ako CR&lt;br /&gt;
* {{Príkaz|-only-lf}}&amp;lt;br /&amp;gt;ponechá v texte zalomenia riadkov iba ako LF&lt;br /&gt;
* {{Príkaz|-z80}}&amp;lt;br /&amp;gt;vloží pred spakovaný text rozpakovaciu rutinu Z80&lt;br /&gt;
* {{Príkaz|-i8080}}&amp;lt;br /&amp;gt;vloží pred spakovaný text rozpakovaciu rutinu i8080&lt;br /&gt;
* {{Príkaz|-a adresa}}&amp;lt;br /&amp;gt;určuje adresu rozpakovacej rutiny. Defaultné hodnoty sa líšia pre Z80 a i8080 a sú obvyklé pre ZX Spectrum, či PMD 85. {{GreyKbd|[32768 (z80) / 0 (i8080)]}}&lt;br /&gt;
* {{Príkaz|-pa adresa}}&amp;lt;br /&amp;gt;určuje adresu &amp;quot;print&amp;quot; rutiny. Defaultné hodnoty sa líšia pre Z80 a i8080 a sú obvyklé pre ZX Spectrum, či PMD 85. {{GreyKbd|[16 (z80) / 8500h (i8080)]}}&lt;br /&gt;
* {{Príkaz|-ptp}}&amp;lt;br /&amp;gt;výsledok sa uloží do [[PTP]] súboru pásky pre [[Emulátor]] PMD 85.&lt;br /&gt;
* {{Príkaz|-tap}}&amp;lt;br /&amp;gt;výsledok sa uloží do TAP súboru pásky pre ZX Spectrum emulátory.&lt;br /&gt;
* {{Príkaz|-n meno}}&amp;lt;br /&amp;gt;určuje meno súboru v hlavičke (max. 8 (PTP) / 10 (TAP) znakov).&lt;br /&gt;
* {{Príkaz|-ct konvtab.ext}}&amp;lt;br /&amp;gt;určuje názov súboru s konverznou tabuľkou znakov.&lt;br /&gt;
* {{Príkaz|-x od do}}&amp;lt;br /&amp;gt;extrahovanie viet OD-DO z pakovaného súboru (OD=0 - všetky).&amp;lt;br /&amp;gt;Ak nie je prepínač {{Príkaz|-o}} zadaný, vety sú vypísané na konzolu.&amp;lt;br /&amp;gt;Ak sú prepínače {{Príkaz|-o}} a {{Príkaz|-dtp}} zadané, vety sa zapisujú do súboru vo formáte Desktopu.&lt;br /&gt;
* {{Príkaz|-vb}}&amp;lt;br /&amp;gt;Tolkien bude pri pakovaní &amp;quot;ukecanejší&amp;quot;.&lt;br /&gt;
* {{Príkaz|-h}}&amp;lt;br /&amp;gt;zobrazí &amp;quot;help&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Zdrojový text ==&lt;br /&gt;
Zdrojový text sa skladá z &amp;#039;&amp;#039;&amp;#039;viet&amp;#039;&amp;#039;&amp;#039;, ktoré vždy začínajú tzv. &amp;#039;&amp;#039;&amp;#039;oddeľovačom&amp;#039;&amp;#039;&amp;#039;, teda znakom, ktorý sa inak v žiadnej vete &amp;#039;&amp;#039;&amp;#039;nevyskytuje&amp;#039;&amp;#039;&amp;#039;. Oddeľovač naviac musí byť posledným znakom na konci textu za poslednou vetou, čím sa označí koniec textu. Ak si zvolíme za oddeľovač napríklad znak &amp;#039;&amp;#039;&amp;#039;#&amp;#039;&amp;#039;&amp;#039;, tak náš text by vyzeral napríklad takto:&lt;br /&gt;
&lt;br /&gt;
  #Prvá veta textu.&lt;br /&gt;
  #Druhá veta textu.&lt;br /&gt;
  #Tretia veta textu.&lt;br /&gt;
  #&lt;br /&gt;
&lt;br /&gt;
Jednotlivé vety môžu mať neobmedzenú dĺžku. Vety môžu byť fyzicky na jednotlivých riadkoch a aj presahovať cez viac riadkov a utilita umožňuje zalomenia riadkov odstrániť, nahradiť medzerou alebo ponechať len niektorý zo znakov CR/LF.&lt;br /&gt;
&lt;br /&gt;
Ak zdrojový text pochádza priamo z Desktopu, pred pakovaním sa text transformuje na &amp;quot;obyčajný&amp;quot; text. Vynechávajú sa riadiace kódy vrátane odkazov na obrázky, kódy opakovania znaku sa rozvinú a veľké písmená sa menia na malé, ak je to požadované. Kód konca riadku CR sa nahradzuje medzerou, ale iba ak posledný znak na riadku nie je &amp;#039;|&amp;#039; alebo &amp;#039;\&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Zdrojový text môže byt v ľubovoľnom 8-bitovom kódovaní a môže byť pred pakovaním prekonvertovaný na iné kódovanie. Na to slúži prepínač {{Príkaz|-ct}}, ktorým Tolkienovi povieme, akú prevodnú tabuľku má použiť. Viď popis súboru s konverznou tabuľkou.&lt;br /&gt;
&lt;br /&gt;
V zdrojovom texte &amp;#039;&amp;#039;&amp;#039;nie je dovolený&amp;#039;&amp;#039;&amp;#039; znak s kódom &amp;#039;&amp;#039;&amp;#039;255 (0FFh)&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Formát súboru s konverznou tabuľkou ==&lt;br /&gt;
&lt;br /&gt;
Súbor s konverznou tabuľkou je textový súbor, ktorý obsahuje v jednotlivých riadkoch vždy po dva desiatkové kódy znakov. Na ľavo je zdrojový kód, ktorý sa mení na cieľový, ktorý je v riadku napravo. Jednotlivé čísla môžu byť oddelené jedným a viac medzerami alebo tabulátormi. Súbor môže obsahovať komentár, ktorý sa začína bodkočiarkou a je pri čítaní súboru ignorovaný. Kódy znakov môžu byť v intervale &amp;lt;1,254&amp;gt;. Jeden príklad namiesto ďalších slov...&lt;br /&gt;
&lt;br /&gt;
 ; CP1250 -&amp;gt; Universums`s Desktop SK&lt;br /&gt;
 &lt;br /&gt;
 233	128	; é&lt;br /&gt;
 201	129	; É&lt;br /&gt;
 228	130	; ä&lt;br /&gt;
 196	131	; Ä&lt;br /&gt;
 154	132	; š&lt;br /&gt;
 138	133	; Š&lt;br /&gt;
 232	134	; č&lt;br /&gt;
 200	135	; Č&lt;br /&gt;
 224	136	; ŕ&lt;br /&gt;
 192	137	; Ŕ&lt;br /&gt;
 158	138	; ž&lt;br /&gt;
 142	139	; Ž&lt;br /&gt;
 253	140	; ý&lt;br /&gt;
 221	141	; Ý&lt;br /&gt;
 225	142	; á&lt;br /&gt;
 193	143	; Á&lt;br /&gt;
 237	144	; í&lt;br /&gt;
 205	145	; Í&lt;br /&gt;
 239	146	; ď&lt;br /&gt;
 207	147	; Ď&lt;br /&gt;
 242	148	; ň&lt;br /&gt;
 210	149	; Ň&lt;br /&gt;
 243	150	; ó&lt;br /&gt;
 211	151	; Ó&lt;br /&gt;
 157	152	; ť&lt;br /&gt;
 141	153	; Ť&lt;br /&gt;
 244	154	; ô&lt;br /&gt;
 212	155	; Ô&lt;br /&gt;
 250	156	; ú&lt;br /&gt;
 218	157	; Ú&lt;br /&gt;
 190	92	; ľ na \&lt;br /&gt;
 188	124	; Ľ na |&lt;br /&gt;
 229	126	; ĺ na ~&lt;br /&gt;
 197	94	; Ĺ na ^&lt;br /&gt;
&lt;br /&gt;
== Algoritmus pakovania ==&lt;br /&gt;
&lt;br /&gt;
Po nutných konverziách sa už čistý text prejde a spočíta sa počet rôznych znakov vrátane oddeľovača. Ich maximálny počet môže byť 126. Ak je ich viac, je to chyba a Tolkien sa ukončí. Jednotlivým znakom, tak ako ich Tolkien stretol, sa priradia kódy od 0 po N, takže oddeľovač má kód 0. Tento zoznam písmen je potom súčasťou rozpakovacej rutiny a je jedinou &amp;quot;čitateľnou&amp;quot; časťou spakovaného textu. Celý text sa následne prejde a jednotlivé znaky sa nahradia ich novými kódmi - tým sa stane text nečitateľný. &lt;br /&gt;
&lt;br /&gt;
V tomto okamihu začína pakovací process. Text sa opäť celý prejde a vytvorí sa zoznam dvojíc znakov zotriedený podľa výskytu. Dvojici znakov s najväčším počtom výskytov sa priradí nový kód N+1 a urobí sa v celom texte nahradenie danej dvojice novým kódom. Tým sa text skráti o polovicu počtu výskytov. Zjednodušene, toto sa opakuje, kým sa už nenájdu vhodné dvojice znakov, alebo sa vyčerpajú kódy (max. 254).&lt;br /&gt;
&lt;br /&gt;
== Rozpakovanie textu ==&lt;br /&gt;
&lt;br /&gt;
Rozpakovanie textu respektíve získanie konkrétnej vety je veľmi jednoduché. Stačí do registra {{Príkaz|DE}} zadať číslo vety od 1 do N a zavolať rozpakovaciu rutinu.&lt;br /&gt;
&lt;br /&gt;
        lxi  d,cislo_vety&lt;br /&gt;
        call TolkienUnpack&lt;br /&gt;
&lt;br /&gt;
Rozpakovacia rutina si so sebou nesie všetky potrebné informácie o spakovanom texte vrátane tabuľky kódovania znakov a dvojíc znakov, takže je priamo viazaná na konkrétny spakovaný text. Rozpakovacia rutina je napísaná tak, že pre každý &amp;quot;rozbalený&amp;quot; znak skáče na adresu rutiny, ktorá má tento znak spracovať (vytlačiť, resp. niekam zapísať). Na konci rozpakovacej rutiny je inštrukcia {{Príkaz|jmp ADDR}}, kde {{Príkaz|ADDR}} je práve adresa rutiny, ktorá má znak spracovať - prepínač {{Príkaz|-pa}}. Predvolene je to štandardná rutina na vytlačenie znaku na PMD 85, resp. na ZX Spectre, ale v reále budete mať zrejme vlastnú rutinu, ktorá bude jednotlivé znaky postupne zapisovať do nejakého buffra a až potom text vytlačí. Rutina musí zachovať hodnotu registra {{Príkaz|DE}} a musí mať samozrejme regulérny návrat.&lt;br /&gt;
&lt;br /&gt;
[[Category:Utility]]&lt;/div&gt;</description>
			<pubDate>Sat, 19 Aug 2017 14:37:48 GMT</pubDate>			<dc:creator>Rombor</dc:creator>			<comments>https://pmd85.borik.net/wiki/Diskusia:Tolkien</comments>		</item>
	</channel>
</rss>