<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://emuverse.ru/w/index.php?action=history&amp;feed=atom&amp;title=.tap</id>
	<title>.tap - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://emuverse.ru/w/index.php?action=history&amp;feed=atom&amp;title=.tap"/>
	<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=.tap&amp;action=history"/>
	<updated>2026-05-16T10:38:34Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://emuverse.ru/w/index.php?title=.tap&amp;diff=582&amp;oldid=prev</id>
		<title>Panther: Новая: {{ДИ|Автор=(с) Г. А. Лунтер (G.A.Lunter), Нидерланды, 1994; (с) Перевод с английского и техническое редактирование...</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=.tap&amp;diff=582&amp;oldid=prev"/>
		<updated>2007-12-19T15:15:57Z</updated>

		<summary type="html">&lt;p&gt;Новая: {{ДИ|Автор=(с) Г. А. Лунтер (G.A.Lunter), Нидерланды, 1994; (с) Перевод с английского и техническое редактирование...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ДИ|Автор=(с) Г. А. Лунтер (G.A.Lunter), Нидерланды, 1994; (с) Перевод с английского и техническое редактирование «Инфорком-Пресс», Москва, 1995.}}&lt;br /&gt;
&lt;br /&gt;
Эти файлы содержат блоки данных, сохраненных как бы на ленту. Все блоки начинаются с двух байтов, в которых указано сколько байтов за ними следует (не считая этих двух байтов). Затем идут сами данные, включающие флаговый байт и байт контрольной суммы. Байт контрольной суммы получается в результате последовательной операции XOR для всех байтов, включая флаговый байт. Например, если вы захотите выгрузить пару байтов из ПЗУ командой: SAVE &amp;quot;ROM&amp;quot; CODE 0,2, то получите в результате:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      |-----Данные, генерируемые Спектрумом--|	|---------|&lt;br /&gt;
13 00 00 03 52 4f 4d 7x20 02 00 00 00 00 80 f1 04 00 ff f3 af a3&lt;br /&gt;
^^^^^...... длина первого блока (19б.=17б.хэдер+флаг+контр.сумма) &lt;br /&gt;
      ^^... флаговый байт (00 для хэдера, ff для блока данных)&lt;br /&gt;
         ^^ первый байт хэдера, указывающий на тип данных&lt;br /&gt;
имя файла ..^^^^^^^^^^^^^&lt;br /&gt;
информация в хэдере.......^^^^^^^^^^^^^^^^^&lt;br /&gt;
к.с. хэдера.................................^^&lt;br /&gt;
длина второго блока............................^^^^^&lt;br /&gt;
флаговый байт 2-го блока..............................^^&lt;br /&gt;
первые два байта ПЗУ....................................^^^^^&lt;br /&gt;
контрольная сумма первых двух байтов и флагового байта........^^ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эмулятор всегда считывает байты с начала блока. Если загружается меньше байтов, чем есть в наличии, то лишние байты пропускаются и последний загруженный байт рассматривается как контрольная сумма. Если запрашивается на загрузку больше байтов, чем есть в наличии, то загружающая процедура прерывается с включением флага, свидетельствующего об ошибке ввода с ленты. Обработку ошибки производит вызываемая Z80 процедура.&lt;br /&gt;
&lt;br /&gt;
Обратите внимание на то, что можно объединять .ТАР-файлы простым &amp;quot;пристегиванием&amp;quot; их друг к другу, например так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
COPY /B FILE1.TAP + FILE2.TAP ALL.TAP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для полноты картины я включу сюда же и структуру хэдера. Он всегда состоит из 17 байтов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Байт    Длина   Описание&lt;br /&gt;
0	1	Тип файла (0,1,2 или 3)&lt;br /&gt;
1	10	Имя файла (если меньше 10 символов, вставляются пробелы)&lt;br /&gt;
11	2	Длина блока данных&lt;br /&gt;
13	2	Параметр 1&lt;br /&gt;
15	2	Параметр 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тип файла 0,1,2,3 соответствует: программе, числовому массиву, символьному массиву, блоку кодов. Экранные файлы SCREEN$ рассматриваются как файлы кодов, начинающиеся в 16384 и имеющие длину 6912 байтов. Если файл является программой, то параметр-1 содержит номер строки автостарта или число, большее, чем 32768, если номер строки автостарта не указан. параметр-2 содержит смещение адреса программных переменных относительно адреса начала программы. Для блока кодов параметр-1 содержит адрес, из которого этот блок выгружался, а параметр 2 содержит число 32768. Для файлов данных (массивов) байт, расположенный в позиции 14 содержит имя переменной. &lt;br /&gt;
&lt;br /&gt;
[[Категория:Форматы файлов]]&lt;br /&gt;
[[Категория:ZX Spectrum]]&lt;/div&gt;</summary>
		<author><name>Panther</name></author>
	</entry>
</feed>