<?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=.mdr</id>
	<title>.mdr - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://emuverse.ru/w/index.php?action=history&amp;feed=atom&amp;title=.mdr"/>
	<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=.mdr&amp;action=history"/>
	<updated>2026-05-16T16:52:23Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://emuverse.ru/w/index.php?title=.mdr&amp;diff=585&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=.mdr&amp;diff=585&amp;oldid=prev"/>
		<updated>2007-12-19T15:21:37Z</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;
Эмулятор использует формат файлов картриджа микродрайва, идентичный тому, который ввел в использование Карлос Дельгез в своем эмуляторе Спектрума, написанном для компьютера Sinclair QL. Этот же формат поддерживается эмулятором «XZX» Дез Хэрриота.&lt;br /&gt;
&lt;br /&gt;
Файл, эмулирующий картридж, состоит из 254-х секторов, по 543 байта в каждом. В конце картриджа есть еще один финальный байт, который не равен нулю, если картридж защищен от записи. Итого, полная длина файла составляет 137923 байта. На ленте картриджа, после GAP-зазора некоторой длины Интерфейс-1 прописывает 10 нулевых байтов и 2 байта по FF (так называемая «преамбула»). После нее идет 15-байтный блок хэдера с контрольной суммой. После еще одного GAP-зазора он пишет преамбулу еще раз, а за ней 15-байтный блок-описатель с контрольной суммой (его структура очень похожа на хэдер-блок). Сразу следом идет блок данных длиной 512 байтов и, наконец, контрольная сумма этих 512-ти байтов. Преамбулы используются Интерфейсом-1 для синхронизации и не используются программами, поэтому преамбулы не сохраняются в файл, эмулирующий микродрайв.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Смещение Длина Имя Содержание&lt;br /&gt;
0	1 HDFLAG Единица указывает на то, что это хэдер&lt;br /&gt;
1	1 HDNUMB номер сектора (значения от 254 до 1)&lt;br /&gt;
2	2	не используются&lt;br /&gt;
4	10 HDNAME имя картриджа (дополненное пробелами)&lt;br /&gt;
14	1 HDCHK контрольная сумма хэдера (первых 14 байтов)&lt;br /&gt;
15	1 RECFLG &lt;br /&gt;
                  — bit 0: всегда 0, что указывает на то, что блок служит для записи&lt;br /&gt;
                  — bit 1: включен для блока EOF&lt;br /&gt;
                  — bit 2: выключен для PRINT-файла&lt;br /&gt;
                  — bits 3-7: не используются (нули) 16 1 RECNUM номер записи (от 0 и выше)&lt;br /&gt;
17	2 RECLEN длина блока (&amp;lt;=512, младший байт впереди)&lt;br /&gt;
19	10 RECNAM имя файла (дополненное пробелами)&lt;br /&gt;
29	1 DESCHK контрольная сумма описателя записи (предыдущих 14 байтов) 30 512 блок данных&lt;br /&gt;
542	1 DCHK	контрольная сумма блока (всех 512 байтов, даже если не все байты использованы)&lt;br /&gt;
254 раза&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На самом деле вся эта информация «прозрачна» для эмулятора. Все, что он делает, так только сохраняет 2 раза по 254 блока в файле .MDR по мере того, как они поступают на порт вывода. Длины этих блоков поочередно составляют 15 байтов и 528 байтов и т. д. Эмулятор проверяет контрольные суммы. С прочими данными разбирается эмулируемое программное обеспечение Интерфейса-1.&lt;br /&gt;
&lt;br /&gt;
Использованный блок либо является конечным блоком (EOF-блок, у которого бит-1 RECFLG равен 1) либо является блоком данных и содержит 512 байтов данных (RECLEN = 512, то есть бит 1 старшего байта RECLEN равен 1). Пустой блок содержит 0 в первом бите RECFLG и RECLEN=0. Блок, не подлежащий использованию — это EOF-блок, у которого RECLEN=0.&lt;br /&gt;
&lt;br /&gt;
Три контрольных суммы рассчитываются путем сложения всех байтов вместе по модулю 255. В итоге контрольная сумма никогда не может быть равна 255. Возможно, именно по такому числу Интерфейс-1 определяет, что на ленте нет данных или что данные испорчены.&lt;br /&gt;
&lt;br /&gt;
В нормальных условиях все первые пятнадцатибайтные блоки каждого хэдера и каждого блока должны иметь правильную контрольную сумму. Если контрольная сумма неправильна, блок воспринимается как зазор GAP. например, если вы дадите команду OUT 239,0 на нормальном Спектруме с Интерфейсом-1, начнет работать двигатель микродрайва и весь картридж будет полностью стерт за 7 секунд. Команда CAT 1 даст резолюцию &amp;#039;microdrive not ready&amp;#039;. Проверьте это на эмуляторе.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Форматы файлов]]&lt;br /&gt;
[[Категория:ZX Spectrum]]&lt;/div&gt;</summary>
		<author><name>Panther</name></author>
	</entry>
</feed>