<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Emuverse  - Свежие правки [ru]</title>
		<link>https://emuverse.ru/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%A1%D0%B2%D0%B5%D0%B6%D0%B8%D0%B5_%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B8</link>
		<description>Отслеживание последних изменений в вики.</description>
		<language>ru</language>
		<generator>MediaWiki 1.40.0</generator>
		<lastBuildDate>Fri, 25 Sep 2026 09:03:29 GMT</lastBuildDate>
		<item>
			<title>Электроника МС 0515</title>
			<link>https://emuverse.ru/w/index.php?title=%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%A1_0515&amp;diff=4297&amp;oldid=3207</link>
			<guid isPermaLink="false">https://emuverse.ru/w/index.php?title=%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%A1_0515&amp;diff=4297&amp;oldid=3207</guid>
			<description>&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Эмуляция: &lt;/span&gt; +1&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 18:00, 23 сентября 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l386&quot;&gt;Строка 386:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 386:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://zx-pk.ru/threads/19698-emulyator-ms-0515-emustudio.html Эмулятор МС-0515 EmuStudio]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://zx-pk.ru/threads/19698-emulyator-ms-0515-emustudio.html Эмулятор МС-0515 EmuStudio]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://github.com/nzeemin/ms0515btl MS0515BTL]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [https://github.com/nzeemin/ms0515btl MS0515BTL]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [https://github.com/vvv104/ms0515 Кросс-платформенный эмулятор МС-0515 от vvv104]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Ссылки ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Ссылки ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 23 Sep 2026 15:00:45 GMT</pubDate>
			<dc:creator>Panther</dc:creator>
			<comments>https://emuverse.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%A1_0515</comments>
		</item>
		<item>
			<title>Искра-226/Кодирование BASIC-файлов</title>
			<link>https://emuverse.ru/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%9A%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_BASIC-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2&amp;diff=4296&amp;oldid=4292</link>
			<guid isPermaLink="false">https://emuverse.ru/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%9A%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_BASIC-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2&amp;diff=4296&amp;oldid=4292</guid>
			<description>&lt;p&gt;addition&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 10:12, 28 августа 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l547&quot;&gt;Строка 547:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 547:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  06 1E 09 E0 12 DE DE DE 11 E8 01 D0    LABEL B6¤(),,,B3¤(1)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  06 1E 09 E0 12 DE DE DE 11 E8 01 D0    LABEL B6¤(),,,B3¤(1)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;У &amp;lt;code&gt;ASMB&amp;lt;/code&gt; (&amp;lt;code&gt;06 25&amp;lt;/code&gt;) &amp;lt;code&gt;DE&amp;lt;/code&gt; — запятая и в позиции операнда: пропущенный первый аргумент даёт &amp;lt;code&gt;DE&amp;lt;/code&gt; первым же байтом операндов. Вторая форма оператора кончается звёздочкой, и это байт &amp;lt;code&gt;DF&amp;lt;/code&gt;:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 06 25 0F DE E5 55 76 20 00 DE 22 DE 2D DE 2C DE E8 64   ASMB ,76200,A¤,M¤,Y¤,64&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 06 25 02 10 DF                                          ASMB Z¤*&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Индексация массивов ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Индексация массивов ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Fri, 28 Aug 2026 07:12:56 GMT</pubDate>
			<dc:creator>Panther</dc:creator>
			<comments>https://emuverse.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%9A%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_BASIC-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2</comments>
		</item>
		<item>
			<title>Искра-226/Файловая система</title>
			<link>https://emuverse.ru/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%A4%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0&amp;diff=4295&amp;oldid=4291</link>
			<guid isPermaLink="false">https://emuverse.ru/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%A4%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0&amp;diff=4295&amp;oldid=4291</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 18:38, 26 августа 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l8&quot;&gt;Строка 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Искра-226/Файлы данных BASIC 02]] — записи, значения и способы доступа;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Искра-226/Файлы данных BASIC 02]] — записи, значения и способы доступа;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Искра-226/Графический буфер BASIC 02]] — формат рисунка.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Искра-226/Графический буфер BASIC 02]] — формат рисунка.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Диск ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Диск ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 26 Aug 2026 15:38:08 GMT</pubDate>
			<dc:creator>Panther</dc:creator>
			<comments>https://emuverse.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%A4%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0</comments>
		</item>
		<item>
			<title>Искра-226/Графический буфер BASIC 02</title>
			<link>https://emuverse.ru/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%93%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B1%D1%83%D1%84%D0%B5%D1%80_BASIC_02&amp;diff=4294&amp;oldid=0</link>
			<guid isPermaLink="false">https://emuverse.ru/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%93%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B1%D1%83%D1%84%D0%B5%D1%80_BASIC_02&amp;diff=4294&amp;oldid=0</guid>
			<description>&lt;p&gt;Новая страница: «{{emuverse}}  &amp;#039;&amp;#039;&amp;#039;Графический буфер BASIC 02&amp;#039;&amp;#039;&amp;#039; — формат хранения рисунка в памяти &lt;a href=&quot;/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Искра-226 (страница не существует)&quot;&gt;Искра-226&lt;/a&gt;. Буфер представляет собой &amp;#039;&amp;#039;&amp;#039;обычный символьный массив Бейсика&amp;#039;&amp;#039;&amp;#039;: оператор &amp;lt;code&amp;gt;¤OPEN&amp;lt;/code&amp;gt; объявляет массив буфером, графические операторы дописывают в него записи, оператор &amp;lt;code...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{emuverse}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Графический буфер BASIC 02&amp;#039;&amp;#039;&amp;#039; — формат хранения рисунка в памяти [[Искра-226]]. Буфер представляет собой &amp;#039;&amp;#039;&amp;#039;обычный символьный массив Бейсика&amp;#039;&amp;#039;&amp;#039;: оператор &amp;lt;code&amp;gt;¤OPEN&amp;lt;/code&amp;gt; объявляет массив буфером, графические операторы дописывают в него записи, оператор &amp;lt;code&amp;gt;¤COPY /&amp;amp;lt;адрес&amp;amp;gt;&amp;lt;/code&amp;gt; выкладывает всё разом на устройство. Собственной памяти под графику у машины нет.&lt;br /&gt;
&lt;br /&gt;
Буфер можно записать на диск и прочитать обратно как обычное символьное значение: см. [[Искра-226/Файловая система|Файловая система]] и [[Искра-226/Файлы данных BASIC 02|Файлы данных BASIC 02]]. Токены графических операторов описаны в статье [[Искра-226/Кодирование BASIC-файлов|Кодирование BASIC-файлов]].&lt;br /&gt;
&lt;br /&gt;
Документация&amp;lt;ref name=&amp;quot;balasanyan&amp;quot; /&amp;gt; графических операторов не описывает.&lt;br /&gt;
&lt;br /&gt;
== Растр ==&lt;br /&gt;
&lt;br /&gt;
Графическое поле — &amp;#039;&amp;#039;&amp;#039;560 × 256&amp;#039;&amp;#039;&amp;#039; дискрет, начало координат в левом нижнем углу, точка квадратная.&lt;br /&gt;
&lt;br /&gt;
Устройства вывода (адреса по таблице ФАУ&amp;lt;ref name=&amp;quot;balasanyan&amp;quot; /&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Адрес !! Устройство&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt; || блок отображения графической информации (экран)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt; || графопостроитель&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt; || телекоммуникационный интерфейс&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Группа &amp;lt;code&amp;gt;PLOT&amp;lt;/code&amp;gt; таблицы устройств по умолчанию указывает на адрес &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Символьное и графическое поля — два разных устройства на одной трубке. Знаки рисует аппаратный знакогенератор, знакоместо 7 × 10 точек; 80 × 24 знакоместа занимают 560 × 240 и оставляют поля по 8 точек сверху и снизу.&lt;br /&gt;
&lt;br /&gt;
== Заголовок ==&lt;br /&gt;
&lt;br /&gt;
Первые 43 байта буфера. Нумерация байт с единицы, как в операторе &amp;lt;code&amp;gt;STR(&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Байт !! Значение&lt;br /&gt;
|-&lt;br /&gt;
| 1–2 || длина занятого, считая сам заголовок&lt;br /&gt;
|-&lt;br /&gt;
| 3–4 || текущая точка, X&lt;br /&gt;
|-&lt;br /&gt;
| 5–6 || текущая точка, Y&lt;br /&gt;
|-&lt;br /&gt;
| 7–39 || не установлены&lt;br /&gt;
|-&lt;br /&gt;
| 40–43 || не установлены; прикладные программы используют как своё место&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Числа заголовка лежат &amp;#039;&amp;#039;&amp;#039;младшим байтом вперёд&amp;#039;&amp;#039;&amp;#039; — в обратном порядке относительно координат в самих записях.&lt;br /&gt;
&lt;br /&gt;
Пустой буфер: &amp;lt;code&amp;gt;2B 00 00 00 00 00&amp;lt;/code&amp;gt; и дальше нули, то есть длина 43, текущая точка &amp;lt;code&amp;gt;0,0&amp;lt;/code&amp;gt;. Первая запись потока ложится в байт 44.&lt;br /&gt;
&lt;br /&gt;
== Записи потока ==&lt;br /&gt;
&lt;br /&gt;
Записи идут подряд начиная с байта 44, разделителей нет: длину каждой задаёт её код.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Код !! Оператор !! Запись&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;80&amp;lt;/code&amp;gt; || NPLOT || 5 байт: код и точка&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;81&amp;lt;/code&amp;gt; || NDRAW || то же&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;82&amp;lt;/code&amp;gt; || NLAB. || как &amp;lt;code&amp;gt;86&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;83&amp;lt;/code&amp;gt; || &amp;#039;&amp;#039;не установлен&amp;#039;&amp;#039; ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;84&amp;lt;/code&amp;gt; || DOT || 5 байт: код и точка&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;85&amp;lt;/code&amp;gt; || DRAW || то же&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;86&amp;lt;/code&amp;gt; || LABEL || код, длина, приращение, признаки, текст&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Координаты — &amp;#039;&amp;#039;&amp;#039;двухбайтовые двоичные, старший байт первым&amp;#039;&amp;#039;&amp;#039;. Знака не имеют: отрицательных координат у растра нет.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Бит &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt; кода записи — признак «рисовать».&amp;#039;&amp;#039;&amp;#039; Коды &amp;lt;code&amp;gt;80&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;81&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;82&amp;lt;/code&amp;gt; — это стёртые &amp;lt;code&amp;gt;84&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;85&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;86&amp;lt;/code&amp;gt;: запись остаётся в потоке и двигает текущую точку, но следа не оставляет. Стирание элемента выполняется как &amp;lt;code&amp;gt;AND(&amp;amp;lt;код&amp;amp;gt;,FB)&amp;lt;/code&amp;gt;, восстановление — как &amp;lt;code&amp;gt;XOR(&amp;amp;lt;код&amp;amp;gt;,04)&amp;lt;/code&amp;gt;. Буква &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; в именах означает «не рисуя».&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Видимая !! Стёртая !! Действие стёртой&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;84&amp;lt;/code&amp;gt; DOT || &amp;lt;code&amp;gt;80&amp;lt;/code&amp;gt; NPLOT || перевести точку, не рисуя&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;85&amp;lt;/code&amp;gt; DRAW || &amp;lt;code&amp;gt;81&amp;lt;/code&amp;gt; NDRAW || то же&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;86&amp;lt;/code&amp;gt; LABEL || &amp;lt;code&amp;gt;82&amp;lt;/code&amp;gt; NLAB. || сдвинуть точку на приращение&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Оператор &amp;lt;code&amp;gt;¤COPY&amp;lt;/code&amp;gt; чистит растр перед выводом: иначе стёртый элемент остался бы на экране.&lt;br /&gt;
&lt;br /&gt;
=== Точка и приращение ===&lt;br /&gt;
&lt;br /&gt;
Четвёрка байт после кода читается по-разному:&lt;br /&gt;
&lt;br /&gt;
* у рисующих записей (&amp;lt;code&amp;gt;80&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;81&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;84&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;85&amp;lt;/code&amp;gt;) это &amp;#039;&amp;#039;&amp;#039;новая текущая точка&amp;#039;&amp;#039;&amp;#039;, абсолютная;&lt;br /&gt;
* у надписей (&amp;lt;code&amp;gt;82&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;86&amp;lt;/code&amp;gt;) это &amp;#039;&amp;#039;&amp;#039;приращение&amp;#039;&amp;#039;&amp;#039; к текущей точке, число &amp;#039;&amp;#039;&amp;#039;со знаком&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Запись надписи ===&lt;br /&gt;
&lt;br /&gt;
 86 &amp;lt;длина&amp;gt; &amp;lt;приращение X: 2 байта&amp;gt; &amp;lt;приращение Y: 2 байта&amp;gt; &amp;lt;3 байта признаков&amp;gt; &amp;lt;текст в КОИ-8&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Байт длины считает сам себя. Приращение равно &amp;#039;&amp;#039;&amp;#039;семи дискретам на знак&amp;#039;&amp;#039;&amp;#039; — ширине знакоместа.&lt;br /&gt;
&lt;br /&gt;
 86 09 | 00 07 00 00 | 01 02 00 | 59            &amp;quot;Y&amp;quot;&lt;br /&gt;
 86 0A | 00 0E 00 00 | 01 02 00 | 2D 31         &amp;quot;-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Первый байт признаков — множитель размера знака; в тексте он пишется вплотную к имени буфера (&amp;lt;code&amp;gt;LABEL B¤()3,,,&amp;quot;Q&amp;quot;&amp;lt;/code&amp;gt;) и по умолчанию равен единице. Смысл двух остальных не установлен; на дисковых образах они всегда &amp;lt;code&amp;gt;02 00&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Операторы ==&lt;br /&gt;
&lt;br /&gt;
Все графические операторы — двухбайтовые, с префиксом &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Подкод !! Оператор !! Действие&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt; || PLOT || вывод прямо на устройство, минуя буфер&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;¤OPEN&amp;lt;/code&amp;gt; || объявить символьный массив буфером&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt; || DOT || поставить точку по координате&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt; || DDRAW || отрезок по приращению от текущей точки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt; || DRAW || отрезок до координаты&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;19&amp;lt;/code&amp;gt; || NPLOT || перевести текущую точку по координате, не рисуя&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1A&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;¤MOVE&amp;lt;/code&amp;gt; || сдвинуть картинку&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1B&amp;lt;/code&amp;gt; || TURN || повернуть картинку вокруг точки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt; || STRETCH || растянуть картинку относительно точки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1D&amp;lt;/code&amp;gt; || FRAME || задать окно буфера в пользовательских единицах&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt; || LABEL || надпись&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1F&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;¤COPY&amp;lt;/code&amp;gt; || вывести буфер на устройство&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;22&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;¤LET&amp;lt;/code&amp;gt; || присваивание буфера&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;23&amp;lt;/code&amp;gt; || WINDOW || задать окно устройства в дискретах&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Три способа задать точку: &amp;lt;code&amp;gt;NPLOT&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DRAW&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DOT&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;LABEL&amp;lt;/code&amp;gt; берут координату; &amp;lt;code&amp;gt;DDRAW&amp;lt;/code&amp;gt; — приращение от текущей точки; &amp;lt;code&amp;gt;PLOT&amp;lt;/code&amp;gt; — тоже приращение, но кладёт результат не в буфер, а на устройство.&lt;br /&gt;
&lt;br /&gt;
Имена &amp;lt;code&amp;gt;ORIGIN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DNPLOT&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;NDRAW&amp;lt;/code&amp;gt; встречаются в текстовых листингах, но подкодов не имеют: все подкоды, встречающиеся в оттранслированных файлах, уже опознаны. &amp;lt;code&amp;gt;DNPLOT&amp;lt;/code&amp;gt; по смыслу — приращение без следа.&lt;br /&gt;
&lt;br /&gt;
=== Преобразования ===&lt;br /&gt;
&lt;br /&gt;
Операторы &amp;lt;code&amp;gt;¤MOVE&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;TURN&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;STRETCH&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;&amp;#039;переписывают уже лежащие в буфере записи&amp;#039;&amp;#039;&amp;#039;, новых не добавляя.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Оператор !! Операнды&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;¤MOVE&amp;lt;/code&amp;gt; || буфер, сдвиг по X, сдвиг по Y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;TURN&amp;lt;/code&amp;gt; || буфер, X и Y точки, угол поворота&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;STRETCH&amp;lt;/code&amp;gt; || буфер, X и Y точки, масштаб по X, масштаб по Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Названная точка у &amp;lt;code&amp;gt;TURN&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;STRETCH&amp;lt;/code&amp;gt; неподвижна. Единица измерения угла — общая с тригонометрическими функциями, задаётся операторами &amp;lt;code&amp;gt;SELECT D&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SELECT R&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;SELECT G&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Три оператора обратимы: последовательность из растяжения, поворота и обратного растяжения возвращает картинку на место.&lt;br /&gt;
&lt;br /&gt;
Выход за пределы растра — ошибка машины, перехватываемая оператором &amp;lt;code&amp;gt;ON ERROR&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Присваивание буфера ===&lt;br /&gt;
&lt;br /&gt;
 ¤LET &amp;lt;буфер&amp;gt; = &amp;lt;буфер&amp;gt;        копирование картинки&lt;br /&gt;
 ¤LET &amp;lt;буфер&amp;gt; = 0              опустошение буфера&lt;br /&gt;
&lt;br /&gt;
В известных программах первая форма встречается только присваиванием буфера самому себе, что записей не меняет; побочное действие такого оператора не установлено.&lt;br /&gt;
&lt;br /&gt;
== Система координат ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Оператор !! Операнды !! Что задаёт&lt;br /&gt;
|-&lt;br /&gt;
| WINDOW || &amp;lt;code&amp;gt;&amp;amp;lt;x0&amp;amp;gt;,&amp;amp;lt;x1&amp;amp;gt;,&amp;amp;lt;y0&amp;amp;gt;,&amp;amp;lt;y1&amp;amp;gt;&amp;lt;/code&amp;gt; || область на устройстве, в дискретах; имени буфера в операндах нет — область общая&lt;br /&gt;
|-&lt;br /&gt;
| FRAME || &amp;lt;code&amp;gt;&amp;amp;lt;буфер&amp;amp;gt;,&amp;amp;lt;x0&amp;amp;gt;,&amp;amp;lt;x1&amp;amp;gt;,&amp;amp;lt;y0&amp;amp;gt;,&amp;amp;lt;y1&amp;amp;gt;&amp;lt;/code&amp;gt; || ту же область в пользовательских единицах, своя у каждого буфера&lt;br /&gt;
|-&lt;br /&gt;
| ORIGIN || &amp;lt;code&amp;gt;&amp;amp;lt;буфер&amp;amp;gt;,&amp;amp;lt;dx&amp;amp;gt;,&amp;amp;lt;dy&amp;amp;gt;&amp;lt;/code&amp;gt; || смещение начала координат&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Границы &amp;lt;code&amp;gt;WINDOW&amp;lt;/code&amp;gt; — целые дискреты, границы &amp;lt;code&amp;gt;FRAME&amp;lt;/code&amp;gt; бывают дробными и отрицательными: это диапазон самих данных.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;В записях буфера лежат дискреты устройства, а не пользовательские единицы.&amp;#039;&amp;#039;&amp;#039; Перевод выполняется при добавлении записи, а &amp;lt;code&amp;gt;FRAME&amp;lt;/code&amp;gt; с &amp;lt;code&amp;gt;ORIGIN&amp;lt;/code&amp;gt; его и задают. Ни &amp;lt;code&amp;gt;FRAME&amp;lt;/code&amp;gt;, ни &amp;lt;code&amp;gt;ORIGIN&amp;lt;/code&amp;gt; ничего не рисуют.&lt;br /&gt;
&lt;br /&gt;
По умолчанию отображение тождественное: программы, работающие прямо в дискретах экрана, &amp;lt;code&amp;gt;WINDOW&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;FRAME&amp;lt;/code&amp;gt; не вызывают вовсе.&lt;br /&gt;
&lt;br /&gt;
Где машина хранит это отображение, не установлено. В заголовке буфера на него остаются непрочитанные байты 7–39.&lt;br /&gt;
&lt;br /&gt;
== Оператор PLOT ==&lt;br /&gt;
&lt;br /&gt;
Единственный графический оператор, который рисует прямо на устройстве группы &amp;lt;code&amp;gt;PLOT&amp;lt;/code&amp;gt;, минуя буфер. Буфера в операндах нет.&lt;br /&gt;
&lt;br /&gt;
 PLOT &amp;lt;x,y,перо&amp;gt;,&amp;lt;x,y,перо&amp;gt;,…&lt;br /&gt;
&lt;br /&gt;
Группа ограничена токенами &amp;lt;code&amp;gt;D7&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;D4&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;&amp;amp;lt;&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;), группы и элементы внутри группы разделяются &amp;lt;code&amp;gt;DE&amp;lt;/code&amp;gt;. Элементов ровно три, любой может быть пуст.&lt;br /&gt;
&lt;br /&gt;
Координаты — &amp;#039;&amp;#039;&amp;#039;приращения&amp;#039;&amp;#039;&amp;#039;, а не точки. Первая группа серии отсчитывается от начала координат.&lt;br /&gt;
&lt;br /&gt;
Третий элемент — перо, отдельные однобайтовые метки:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Байт !! Буква !! Смысл&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;E5&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt; || перо поднято: сдвиг без следа&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;E6&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;D&amp;lt;/code&amp;gt; || перо опущено: отрезок&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;E7&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt; || сброс: перо в начало координат, размеры по умолчанию&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;E8&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; || шаг знака по X и Y&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;E9&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; || размер знака&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Те же байты в позиции операнда означают константы и унарный минус; метка узнаётся &amp;#039;&amp;#039;&amp;#039;по месту&amp;#039;&amp;#039;&amp;#039; — третий элемент группы, за которым сразу стоит &amp;lt;code&amp;gt;DE&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;D4&amp;lt;/code&amp;gt;. Третьим элементом бывают также выражение, строковый литерал и вырезка &amp;lt;code&amp;gt;STR(…)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Буквы &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;C&amp;lt;/code&amp;gt; — законные имена переменных, и различает их тоже только место в группе.&lt;br /&gt;
&lt;br /&gt;
== Управляющие коды устройства 10 ==&lt;br /&gt;
&lt;br /&gt;
Графическое устройство принимает короткие управляющие последовательности оператором &amp;lt;code&amp;gt;PRINT /10,HEX(…)&amp;lt;/code&amp;gt;. Коды соответствуют документации на Wang 2282 Graphic CRT&amp;lt;ref name=&amp;quot;wang2282&amp;quot; /&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Код !! Действие&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt; || гасит поле, точка встаёт в начало координат, перо поднимается&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04&amp;lt;/code&amp;gt; || выбрать принтер&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06&amp;lt;/code&amp;gt; || выбрать графическую трубку&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0A&amp;lt;/code&amp;gt; || шаг между знаками, из предшествующего вектора&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0D&amp;lt;/code&amp;gt; || размер знака 1…15, из ΔX предшествующего вектора&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0E&amp;lt;/code&amp;gt; || перо поднято&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0F&amp;lt;/code&amp;gt; || перо опущено&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; || длинный двоичный вектор: ΔX и ΔY по два байта, дополнительный код&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;E1&amp;lt;/code&amp;gt;–&amp;lt;code&amp;gt;E3&amp;lt;/code&amp;gt; || перо 1…3; перо 2 гасит точки&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;E4&amp;lt;/code&amp;gt; || задать начало координат&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;E5&amp;lt;/code&amp;gt; || сброс: начало координат в левый нижний угол&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;E6&amp;lt;/code&amp;gt; || короткий двоичный вектор: ΔX и ΔY по байту&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;E7&amp;lt;/code&amp;gt; || скопировать поле на принтер&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;FA&amp;lt;/code&amp;gt; || вернуть точку в начало координат&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Рисуют из них только векторы &amp;lt;code&amp;gt;E0&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;E6&amp;lt;/code&amp;gt;; остальное задаёт состояние.&lt;br /&gt;
&lt;br /&gt;
Три кода, встречающиеся в программах Искры, в таблицу 2282 не попадают: &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;, пара &amp;lt;code&amp;gt;01 02&amp;lt;/code&amp;gt; и последовательность &amp;lt;code&amp;gt;08 0B 09 06&amp;lt;/code&amp;gt;. Значит блок отображения Искры повторяет Wang не полностью.&lt;br /&gt;
&lt;br /&gt;
Перевод строки, который оператор &amp;lt;code&amp;gt;PRINT&amp;lt;/code&amp;gt; дописывает сам, на графическое устройство не уходит: у графического поля строк нет.&lt;br /&gt;
&lt;br /&gt;
== Не установлено ==&lt;br /&gt;
&lt;br /&gt;
# Байты заголовка 7–39 — где хранится отображение &amp;lt;code&amp;gt;WINDOW&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;FRAME&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;ORIGIN&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Байты заголовка 40–43. Прикладные программы держат там пару чисел, к которым прибавляется сдвиг &amp;lt;code&amp;gt;¤MOVE&amp;lt;/code&amp;gt;, и требуют неотрицательного итога; читаются они старшим байтом вперёд, в отличие от остального заголовка.&lt;br /&gt;
# Код записи &amp;lt;code&amp;gt;83&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Смысл второго и третьего байта признаков надписи.&lt;br /&gt;
# Подкоды операторов &amp;lt;code&amp;gt;ORIGIN&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DNPLOT&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NDRAW&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Побочное действие оператора &amp;lt;code&amp;gt;¤LET&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Управляющие коды устройства &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;01 02&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;08 0B 09 06&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Код ошибки, который получает &amp;lt;code&amp;gt;ON ERROR&amp;lt;/code&amp;gt; при выходе преобразования за пределы растра.&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;balasanyan&amp;quot;&amp;gt;Баласанян В. Э., Богдюкевич С. В., Шахвердов В. А. Программирование на микроЭВМ «Искра 226». — М.: Финансы и статистика, 1987. — 264 с.: ил.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;wang2282&amp;quot;&amp;gt;2282 Graphic CRT Plotter User Manual. — Wang Laboratories, 700-4627A, 10-81. — разд. 3.2 «Control Codes».&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
&lt;br /&gt;
* Баласанян В. Э., Богдюкевич С. В., Шахвердов В. А. Программирование на микроЭВМ «Искра 226». — М.: Финансы и статистика, 1987.&lt;br /&gt;
* [http://www.wang2200.org/docs.html 2282 Graphic CRT Plotter User Manual] — управляющие коды графического устройства.&lt;br /&gt;
* Реконструкция по программам &amp;lt;code&amp;gt;SLIDE&amp;lt;/code&amp;gt; (редактор графических объектов), &amp;lt;code&amp;gt;SIG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;EDITOR&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VICT&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;STAT01&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FAN01&amp;lt;/code&amp;gt; и по готовой картинке с дискового образа — 196 записей потока.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Искра-226]]&lt;/div&gt;</description>
			<pubDate>Wed, 26 Aug 2026 15:37:23 GMT</pubDate>
			<dc:creator>Panther</dc:creator>
			<comments>https://emuverse.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%93%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B1%D1%83%D1%84%D0%B5%D1%80_BASIC_02</comments>
		</item>
		<item>
			<title>Искра-226/Файлы данных BASIC 02</title>
			<link>https://emuverse.ru/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%A4%D0%B0%D0%B9%D0%BB%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_BASIC_02&amp;diff=4293&amp;oldid=0</link>
			<guid isPermaLink="false">https://emuverse.ru/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%A4%D0%B0%D0%B9%D0%BB%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_BASIC_02&amp;diff=4293&amp;oldid=0</guid>
			<description>&lt;p&gt;Новая страница: «{{emuverse}}  &amp;#039;&amp;#039;&amp;#039;Файлы данных BASIC 02&amp;#039;&amp;#039;&amp;#039; — способы записи и чтения данных программой на &lt;a href=&quot;/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Искра-226 (страница не существует)&quot;&gt;Искра-226&lt;/a&gt;: режимы доступа, устройство логической записи и форматы значений.  Файловая система, указатель каталога и концевая запись описаны в статье Искра-226/Файловая система...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{emuverse}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Файлы данных BASIC 02&amp;#039;&amp;#039;&amp;#039; — способы записи и чтения данных программой на [[Искра-226]]: режимы доступа, устройство логической записи и форматы значений.&lt;br /&gt;
&lt;br /&gt;
Файловая система, указатель каталога и концевая запись описаны в статье [[Искра-226/Файловая система|Файловая система]]. Формат рисунка, который программа записывает в файл как обычное символьное значение, — в статье [[Искра-226/Графический буфер BASIC 02|Графический буфер BASIC 02]].&lt;br /&gt;
&lt;br /&gt;
== Способы доступа ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Приставка !! Режим !! Адресация&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DC&amp;lt;/code&amp;gt; || файл каталога || последовательная, от текущего сектора файла&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DA&amp;lt;/code&amp;gt; || абсолютная адресация || начальный сектор задан в операторе&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;BA&amp;lt;/code&amp;gt; || блок 256 байт || то же, служебной разметки нет&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;BT&amp;lt;/code&amp;gt; || блочный обмен с устройством || диск не участвует&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Тип файла в записи каталога («данные») о внутреннем устройстве файла не говорит: он может содержать логические записи, сырые блоки от &amp;lt;code&amp;gt;DATA SAVE BA&amp;lt;/code&amp;gt; либо и то и другое.&lt;br /&gt;
&lt;br /&gt;
=== Таблица устройств ===&lt;br /&gt;
&lt;br /&gt;
Файл открывается на одну из восьми строк таблицы устройств, &amp;lt;code&amp;gt;#0&amp;lt;/code&amp;gt;…&amp;lt;code&amp;gt;#7&amp;lt;/code&amp;gt;; строка выбирается программой оператором &amp;lt;code&amp;gt;SELECT #n&amp;lt;/code&amp;gt;, а не выдаётся системой. У открытого файла строка содержит три адреса: начальный сектор, конечный сектор и текущий сектор.&lt;br /&gt;
&lt;br /&gt;
Оператор &amp;lt;code&amp;gt;DATA SAVE DC CLOSE&amp;lt;/code&amp;gt; обнуляет только эти три адреса; адрес самого устройства, назначенный оператором &amp;lt;code&amp;gt;SELECT&amp;lt;/code&amp;gt;, сохраняется. Параметр &amp;lt;code&amp;gt;ALL&amp;lt;/code&amp;gt; закрывает все открытые файлы.&lt;br /&gt;
&lt;br /&gt;
== Операторы ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Токен !! Оператор !! Действие&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1E&amp;lt;/code&amp;gt; || IF END THEN &amp;lt;строка&amp;gt; || переход, если последнее чтение наткнулось на концевую запись&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;66&amp;lt;/code&amp;gt; || DATA LOAD BT || принять блок с устройства&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;68&amp;lt;/code&amp;gt; || DATA SAVE BT || передать блок на устройство&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;6E&amp;lt;/code&amp;gt; || DATA SAVE BA || записать 256-байтовый блок по абсолютному адресу&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;6F&amp;lt;/code&amp;gt; || DATA SAVE DA || записать логическую запись по абсолютному адресу&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;70&amp;lt;/code&amp;gt; || DATA LOAD BA || прочитать 256-байтовый блок&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;71&amp;lt;/code&amp;gt; || DATA LOAD DA || прочитать логическую запись по абсолютному адресу&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;74&amp;lt;/code&amp;gt; || DATA LOAD DC || прочитать логическую запись с текущего сектора&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;75&amp;lt;/code&amp;gt; || DATA LOAD DC OPEN || открыть существующий файл&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;76&amp;lt;/code&amp;gt; || DATA SAVE DC || записать логическую запись с текущего сектора&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;76&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;D7&amp;lt;/code&amp;gt; || DATA SAVE DC END || записать концевую запись&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;77&amp;lt;/code&amp;gt; || DATA SAVE DC CLOSE || закрыть файл&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;78&amp;lt;/code&amp;gt; || DATA SAVE DC OPEN || завести файл в каталоге и открыть&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;79&amp;lt;/code&amp;gt; || DBACKSPACE || сдвинуть текущий сектор назад&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;7A&amp;lt;/code&amp;gt; || DSKIP || сдвинуть текущий сектор вперёд&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;7B&amp;lt;/code&amp;gt; || LIMITS || выдать границы файла и число занятых секторов&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;81&amp;lt;/code&amp;gt; || SCRATCH || вычеркнуть файл из каталога&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;82&amp;lt;/code&amp;gt; || SCRATCH DISK || создать каталог&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;83&amp;lt;/code&amp;gt; || VERIFY || проверить читаемость области&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Операнды всех перечисленных операторов описаны в статье [[Оттранслированное представление BASIC 02]].&lt;br /&gt;
&lt;br /&gt;
=== Последовательность работы ===&lt;br /&gt;
&lt;br /&gt;
Запись в режиме каталога:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;DATA SAVE DC OPEN&amp;lt;/code&amp;gt; заводит файл в указателе и заполняет строку таблицы устройств тремя адресами. В &amp;#039;&amp;#039;&amp;#039;последний&amp;#039;&amp;#039;&amp;#039; сектор файла записывается &amp;lt;code&amp;gt;1C 00 01&amp;lt;/code&amp;gt;; больше при открытии не пишется ничего.&lt;br /&gt;
# &amp;lt;code&amp;gt;DATA SAVE DC&amp;lt;/code&amp;gt; пишет логическую запись начиная с текущего сектора и двигает текущий за неё.&lt;br /&gt;
# &amp;lt;code&amp;gt;DATA SAVE DC END&amp;lt;/code&amp;gt; кладёт концевую запись в текущий сектор и текущего &amp;#039;&amp;#039;&amp;#039;не двигает&amp;#039;&amp;#039;&amp;#039;: она помечает сектор, откуда можно продолжать запись, и следующая запись ляжет на её место.&lt;br /&gt;
# &amp;lt;code&amp;gt;DATA SAVE DC CLOSE&amp;lt;/code&amp;gt; обнуляет адреса строки.&lt;br /&gt;
&lt;br /&gt;
Чтение устроено так же, с &amp;lt;code&amp;gt;DATA LOAD DC OPEN&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;DATA LOAD DC&amp;lt;/code&amp;gt;. Прочитав сектор с кодом &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt;, оператор чтения ничего не делает, оставляет текущий сектор на концевой записи и взводит признак, который проверяет &amp;lt;code&amp;gt;IF END THEN&amp;lt;/code&amp;gt;. Обычная запись признак снимает.&lt;br /&gt;
&lt;br /&gt;
Параметры &amp;lt;code&amp;gt;DSKIP&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;DBACKSPACE&amp;lt;/code&amp;gt;: число записей, &amp;lt;code&amp;gt;BEG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;END&amp;lt;/code&amp;gt; либо число с параметром &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; — в секторах.&lt;br /&gt;
&lt;br /&gt;
=== Абсолютная адресация ===&lt;br /&gt;
&lt;br /&gt;
Операторы &amp;lt;code&amp;gt;DA&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;BA&amp;lt;/code&amp;gt; получают начальный сектор выражением в самом операторе; каталог при этом не нужен. Необязательный второй операнд — приёмник, куда возвращается адрес сектора за последним занятым; у символьного приёмника это два первых байта двоичным числом.&lt;br /&gt;
&lt;br /&gt;
Диски, записанные только так, указателя каталога не имеют вовсе.&lt;br /&gt;
&lt;br /&gt;
=== Блочный обмен ===&lt;br /&gt;
&lt;br /&gt;
Операторы &amp;lt;code&amp;gt;DATA SAVE BT&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;DATA LOAD BT&amp;lt;/code&amp;gt; передают блок байтов без всякой служебной разметки. Устройство задаётся приставкой &amp;lt;code&amp;gt;/&amp;amp;lt;адрес&amp;amp;gt;&amp;lt;/code&amp;gt;, причём &amp;#039;&amp;#039;&amp;#039;адрес — выражение, а не сырой байт&amp;#039;&amp;#039;&amp;#039;; чаще всего это переменная.&lt;br /&gt;
&lt;br /&gt;
Название группы устройств по умолчанию (&amp;lt;code&amp;gt;TAPE&amp;lt;/code&amp;gt;) вводит в заблуждение: обмен идёт с любым устройством. Адреса из таблицы ФАУ:&amp;lt;ref name=&amp;quot;balasanyan&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Адрес !! Устройство&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt; || блок отображения символьной информации&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;0C&amp;lt;/code&amp;gt; || АЦПУ&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt; || блок отображения графической информации&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;14&amp;lt;/code&amp;gt; || графопостроитель&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;34&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;35&amp;lt;/code&amp;gt; || телекоммуникационный интерфейс: передатчик и приёмник&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Логическая запись ==&lt;br /&gt;
&lt;br /&gt;
Сектор записи:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;код сектора&amp;gt; &amp;lt;тип&amp;gt; &amp;lt;длина&amp;gt; &amp;lt;данные&amp;gt; &amp;lt;тип&amp;gt; &amp;lt;длина&amp;gt; &amp;lt;данные&amp;gt; …&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Код !! Значение&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt; || первый сектор многосекторной записи&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt; || последний сектор многосекторной записи&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;1C&amp;lt;/code&amp;gt; || концевая запись&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;8B&amp;lt;/code&amp;gt; || запись целиком в одном секторе&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;8F&amp;lt;/code&amp;gt; || промежуточный сектор&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Служебный заголовок сектора данных занимает &amp;#039;&amp;#039;&amp;#039;один&amp;#039;&amp;#039;&amp;#039; байт, а не два, как у программных секторов; под данные остаётся 255 байт.&lt;br /&gt;
&lt;br /&gt;
Идентификатор значения — два байта:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Тип !! Длина !! Значение&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt; || всегда &amp;lt;code&amp;gt;08&amp;lt;/code&amp;gt; || число&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;40&amp;lt;/code&amp;gt; || 1…253 || строка символов, [[КОИ-8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Документация&amp;lt;ref name=&amp;quot;balasanyan&amp;quot; /&amp;gt; описывает также целое значение длиной 2 байта, но на дисковых образах такие значения не встречаются: у типа &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt; длина всегда 8.&lt;br /&gt;
&lt;br /&gt;
Хвост сектора после последнего значения — нули. Значение, не помещающееся в сектор целиком, переносится в следующий сектор полностью; остаток предыдущего сектора при этом не затирается, и там остаётся копия ранее записанных значений.&lt;br /&gt;
&lt;br /&gt;
Массив в списке записи и чтения разворачивается в свои элементы, строка за строкой.&lt;br /&gt;
&lt;br /&gt;
== Формат числа ==&lt;br /&gt;
&lt;br /&gt;
Восемь байт, двоично-десятичный.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Байт !! Значение&lt;br /&gt;
|-&lt;br /&gt;
| 0–5 || цифры 1…12 мантиссы, BCD, старшая первой&lt;br /&gt;
|-&lt;br /&gt;
| 6 || порядок, знаковое двоичное (дополнительный код)&lt;br /&gt;
|-&lt;br /&gt;
| 7 || старшая тетрада — 13-я цифра мантиссы, младшая — знак: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; плюс, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; минус&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 значение = d1 d2 d3 . d4 … d13 × 1000 ^ порядок&lt;br /&gt;
&lt;br /&gt;
Мантисса — 13 цифр с точкой после третьей, что даёт заявленные для машины 13 значащих разрядов. &amp;#039;&amp;#039;&amp;#039;Порядок берётся по основанию 1000&amp;#039;&amp;#039;&amp;#039;, а не 10: нормализованная мантисса лежит в диапазоне [1, 1000).&lt;br /&gt;
&lt;br /&gt;
Первая значащая цифра стоит на позиции 1, 2 или 3, поэтому число значащих разрядов в записи на диск равно 13, 12 или 11 соответственно.&lt;br /&gt;
&lt;br /&gt;
Примеры: &amp;lt;code&amp;gt;00 10 00 00 00 00 00 00&amp;lt;/code&amp;gt; — единица, &amp;lt;code&amp;gt;00 80 00 00 00 00 00 00&amp;lt;/code&amp;gt; — восьмёрка.&lt;br /&gt;
&lt;br /&gt;
== Десятично-упакованный формат ==&lt;br /&gt;
&lt;br /&gt;
Операторы &amp;lt;code&amp;gt;PACK(&amp;lt;/code&amp;gt; (токен &amp;lt;code&amp;gt;48&amp;lt;/code&amp;gt;) и &amp;lt;code&amp;gt;UNPACK(&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;5D&amp;lt;/code&amp;gt;) укладывают числа в символьное поле по образу печати, вида &amp;lt;code&amp;gt;[+|-] ### [.###] [^^^^]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Две цифры на байт, старшая тетрада первой, разряды в порядке образа.&lt;br /&gt;
* Размер группы: число тетрад = знак плюс количество знаков &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;, округлить вверх до целого байта, плюс байт порядка при &amp;lt;code&amp;gt;^^^^&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Образ &amp;lt;code&amp;gt;####&amp;lt;/code&amp;gt; занимает ровно два байта.&lt;br /&gt;
&lt;br /&gt;
Тетрада знака (&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; плюс, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; минус) и байт порядка со знаком на дисковых образах не встречаются и приняты по устройству восьмибайтового числа.&lt;br /&gt;
&lt;br /&gt;
== Поток значений переменных ==&lt;br /&gt;
&lt;br /&gt;
Секторы, следующие за программой в оттранслированном программном файле, содержат значения переменных, записанные в том же формате логической записи. Для файла &amp;lt;code&amp;gt;DIG DEM&amp;lt;/code&amp;gt;: сектор начинается идентификатором &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt;, за ним 25 записей по 10 байт (&amp;lt;code&amp;gt;00 08&amp;lt;/code&amp;gt; и восемь байт значения), последние 5 байт сектора не используются — &amp;lt;code&amp;gt;1 + 25 × 10 + 5 = 256&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Не установлено ==&lt;br /&gt;
&lt;br /&gt;
# Кодирование целого значения длиной 2 байта, описанного в документации.&lt;br /&gt;
# Тетрада знака и байт порядка в десятично-упакованном формате.&lt;br /&gt;
# Токен формы &amp;lt;code&amp;gt;DATA SAVE DA … END&amp;lt;/code&amp;gt; и приёмника адреса в скобках у &amp;lt;code&amp;gt;BA&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;DA&amp;lt;/code&amp;gt;: документация их описывает, в оттранслированных файлах они не встречаются.&lt;br /&gt;
# Округляет или усекает машина разряды, не поместившиеся в восьмибайтовое число.&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;balasanyan&amp;quot;&amp;gt;Баласанян В. Э., Богдюкевич С. В., Шахвердов В. А. Программирование на микроЭВМ «Искра 226». — М.: Финансы и статистика, 1987. — 264 с.: ил. — разделы 11.5, 18.1–18.9.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
&lt;br /&gt;
* Баласанян В. Э., Богдюкевич С. В., Шахвердов В. А. Программирование на микроЭВМ «Искра 226». — М.: Финансы и статистика, 1987.&lt;br /&gt;
* Аладьев В. З. и др. Персональный компьютер «Искра-226». Архитектура и программное обеспечение. — Киев, 1988.&lt;br /&gt;
* Реконструкция по 65 файлам данных с 42 образов дисков; формат числа — по 12 132 значениям.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Искра-226]]&lt;/div&gt;</description>
			<pubDate>Wed, 26 Aug 2026 15:34:45 GMT</pubDate>
			<dc:creator>Panther</dc:creator>
			<comments>https://emuverse.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%A4%D0%B0%D0%B9%D0%BB%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_BASIC_02</comments>
		</item>
		<item>
			<title>Искра-226/Кодирование BASIC-файлов</title>
			<link>https://emuverse.ru/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%9A%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_BASIC-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2&amp;diff=4292&amp;oldid=0</link>
			<guid isPermaLink="false">https://emuverse.ru/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%9A%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_BASIC-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2&amp;diff=4292&amp;oldid=0</guid>
			<description>&lt;p&gt;Новая страница: «{{emuverse}}  &amp;#039;&amp;#039;&amp;#039;Оттранслированное представление BASIC 02&amp;#039;&amp;#039;&amp;#039; — внутренний формат записи программы &lt;a href=&quot;/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Искра-226 (страница не существует)&quot;&gt;Искра-226&lt;/a&gt;, включаемый параметром &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; оператора &amp;lt;code&amp;gt;SAVE DC&amp;lt;/code&amp;gt;. Имена операторов и функций заменены однобайтовыми токенами, имена переменных — индексами; текст в...»&lt;/p&gt;
&lt;a href=&quot;https://emuverse.ru/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%9A%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_BASIC-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2&amp;amp;diff=4292&quot;&gt;Внесённые изменения&lt;/a&gt;</description>
			<pubDate>Wed, 26 Aug 2026 15:30:17 GMT</pubDate>
			<dc:creator>Panther</dc:creator>
			<comments>https://emuverse.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%9A%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_BASIC-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2</comments>
		</item>
		<item>
			<title>Искра-226/Файловая система</title>
			<link>https://emuverse.ru/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%A4%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0&amp;diff=4291&amp;oldid=4290</link>
			<guid isPermaLink="false">https://emuverse.ru/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%A4%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0&amp;diff=4291&amp;oldid=4290</guid>
			<description>&lt;p&gt;new vers&lt;/p&gt;
&lt;a href=&quot;https://emuverse.ru/w/index.php?title=%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%A4%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0&amp;amp;diff=4291&amp;amp;oldid=4290&quot;&gt;Внесённые изменения&lt;/a&gt;</description>
			<pubDate>Wed, 26 Aug 2026 15:27:57 GMT</pubDate>
			<dc:creator>Panther</dc:creator>
			<comments>https://emuverse.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%98%D1%81%D0%BA%D1%80%D0%B0-226/%D0%A4%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0</comments>
		</item>
</channel></rss>