<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[ПЭВМ "Агат" 7-9: Форум &mdash; Сигнатура в ПЗУ контроллера загрузочного устройства]]></title>
		<link>https://forum.agatcomp.ru//viewtopic.php?id=189</link>
		<atom:link href="https://forum.agatcomp.ru/extern.php?action=feed&amp;tid=189&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Сигнатура в ПЗУ контроллера загрузочного устройства».]]></description>
		<lastBuildDate>Fri, 03 Aug 2018 05:33:14 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Сигнатура в ПЗУ контроллера загрузочного устройства]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=2231#p2231</link>
			<description><![CDATA[<div class="quotebox"><cite>Voldemar0 пишет:</cite><blockquote><p>Я имел ввиду компилятор и язык.<br />У тебя уже выбран компилятор, который может собирать под архитектуру агата ?</p></blockquote></div><p><a href="http://hoop-la.ca/apple2/#assembler">Кросс-ассемблеры</a>. Мне нравятся hxa и 64tass, изучаю.</p><div class="quotebox"><cite>Voldemar0 пишет:</cite><blockquote><p>Зачем делать копирование с SD-карты, если уже есть эмуляторы флопиков, которые напрямую работают с SD-картами ?</p></blockquote></div><p>Может я что-то пропустил... Есть полноценный эмулятор 840К с записью?</p>]]></description>
			<author><![CDATA[null@example.com (LeoN)]]></author>
			<pubDate>Fri, 03 Aug 2018 05:33:14 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=2231#p2231</guid>
		</item>
		<item>
			<title><![CDATA[Re: Сигнатура в ПЗУ контроллера загрузочного устройства]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=2230#p2230</link>
			<description><![CDATA[<div class="quotebox"><cite>avivanov76 пишет:</cite><blockquote><p>Так?</p></blockquote></div><p>Да.</p>]]></description>
			<author><![CDATA[null@example.com (LeoN)]]></author>
			<pubDate>Fri, 03 Aug 2018 05:27:43 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=2230#p2230</guid>
		</item>
		<item>
			<title><![CDATA[Re: Сигнатура в ПЗУ контроллера загрузочного устройства]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=2229#p2229</link>
			<description><![CDATA[<div class="quotebox"><cite>LeoN пишет:</cite><blockquote><p>Я. Ну никто не запрещает же никому это сделать самому...<br />На чём? На писи, конечно же!</p></blockquote></div><p>Я имел ввиду компилятор и язык.<br />У тебя уже выбран компилятор, который может собирать под архитектуру агата ?</p><p>-=-</p><p>Зачем делать копирование с SD-карты, если уже есть эмуляторы флопиков, которые напрямую работают с SD-картами ?</p>]]></description>
			<author><![CDATA[null@example.com (Voldemar0)]]></author>
			<pubDate>Fri, 03 Aug 2018 02:01:11 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=2229#p2229</guid>
		</item>
		<item>
			<title><![CDATA[Re: Сигнатура в ПЗУ контроллера загрузочного устройства]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=2228#p2228</link>
			<description><![CDATA[<div class="quotebox"><cite>LeoN пишет:</cite><blockquote><p>Ну да, и наоборот.<br />А еще это могут быть гамы, демы, проги...</p></blockquote></div><p>То есть, если я правильно понимаю, при отсутствии флопа с SD карты можно будет загрузить только специально написанные программы, которые:<br /></p><ul><li><p>либо умещаются в оперативную память и могут быть считаны загрузчиком за один присест</p></li><li><p>либо содержат собственный ДОС, позволяющий догружать нужные программе данные с карты и при необходимости записывать данные обратно (например, сейвы игр)</p></li></ul><p>Так?</p>]]></description>
			<author><![CDATA[null@example.com (avivanov76)]]></author>
			<pubDate>Thu, 02 Aug 2018 22:22:34 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=2228#p2228</guid>
		</item>
		<item>
			<title><![CDATA[Re: Сигнатура в ПЗУ контроллера загрузочного устройства]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=2227#p2227</link>
			<description><![CDATA[<div class="quotebox"><cite>Voldemar0 пишет:</cite><blockquote><p>1) Ну хорошо, загрузил ты свою прогу с SD, а дальше ?<br />Она потащила образ с SD куда ? На обычный флопик ?</p></blockquote></div><p>Ну да, и наоборот.<br />А еще это могут быть гамы, демы, проги...</p><div class="quotebox"><cite>Voldemar0 пишет:</cite><blockquote><p>2) А кто эту прогу (*.aup) писать будет ? И на чём ?</p></blockquote></div><p>Я. Ну никто не запрещает же никому это сделать самому...<br />На чём? На писи, конечно же!</p>]]></description>
			<author><![CDATA[null@example.com (LeoN)]]></author>
			<pubDate>Thu, 02 Aug 2018 15:27:12 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=2227#p2227</guid>
		</item>
		<item>
			<title><![CDATA[Re: Сигнатура в ПЗУ контроллера загрузочного устройства]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=2226#p2226</link>
			<description><![CDATA[<p>1) Ну хорошо, загрузил ты свою прогу с SD, а дальше ?<br />Она потащила образ с SD куда ? На обычный флопик ?</p><p>2) А кто эту прогу (*.aup) писать будет ? И на чём ?</p>]]></description>
			<author><![CDATA[null@example.com (Voldemar0)]]></author>
			<pubDate>Thu, 02 Aug 2018 10:06:51 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=2226#p2226</guid>
		</item>
		<item>
			<title><![CDATA[Re: Сигнатура в ПЗУ контроллера загрузочного устройства]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=2225#p2225</link>
			<description><![CDATA[<div class="quotebox"><cite>Voldemar0 пишет:</cite><blockquote><p>1) Исходники тебе не помогут, потому что там такой же код и будет, как с дизасма.</p></blockquote></div><p>Дык, про исходник я и не спрашивал (его и нет уже в природе даже у авторов...). А спрашивал о листинге (после дизасма), может кто-то дизасмил и у него сохранился... :)</p><div class="quotebox"><cite>Voldemar0 пишет:</cite><blockquote><p>2) Просто повтори первые 6 байт и последние 4 байта загрузочного ROM и он начнёт получать управление.</p></blockquote></div><p>Да, управление контроллер получит. Но! Всё программьё (васик, Рапира, BTK, ИКП и т.д.) будут опознавать его как КНГМД, а работать-то с ним не умеют... (смотри ниже)</p><div class="quotebox"><cite>Voldemar0 пишет:</cite><blockquote><p>3) Помни о входной точке Сx5C</p></blockquote></div><p>Тоже ни к чему... (смотри ниже)</p><div class="quotebox"><cite>Voldemar0 пишет:</cite><blockquote><p>Либо пилить совсем свою железку, но тогда тебе придётся не только ковыряться в сисмоне, что не сложно, но и во всём том софте, который ты надеешся на ней запустить. Сможешь ?</p></blockquote></div><p>Нет, нет, и нет!<br />Размер сектор другой, количество секторов другое, файловая система другая (FAT16) и т.д.<br />&quot;Лопатить&quot; огромное количество программья и пакетов - УТОПИЯ!!!<br />Как я вижу SD-картовод версии 1: на ячейку принтера в разъём цепляю небольшую платку с конвертерами уровней и SD-слотом, бздуху меняю на адаптер большего объёма W27E257 с переклюком прошивки (стандарт принтер или загрузчик SD). Бздуха откликается на -IOSelect ($Cx00-$CxFF) и -IOStrobe ($C800-$CFFF), там загрузчик инитит карту, ищет в фате первый попавшийся файл типа *.aup (Auto Loading Programm) или что-то подобное, грузит его (а в нем в начале как и у B-файлов адрес загрузки и длина) и отдаётся ему... Это, к примеру, копировщик &quot;Образ диска на SD&quot; &lt;-&gt; &quot;КНГМД+НГМД840&quot;.</p><div class="quotebox"><cite>Voldemar0 пишет:</cite><blockquote><p>у тебя всего два пути: или идеально совместимая со 140кой либо 840кой железка.</p></blockquote></div><p>В мечтах еще &quot;вынашиваю&quot; версию 2 - эмулятор контроллера и флопа в одном флаконе, вот он будет полностью прозрачен для всего программья.</p>]]></description>
			<author><![CDATA[null@example.com (LeoN)]]></author>
			<pubDate>Thu, 02 Aug 2018 03:50:21 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=2225#p2225</guid>
		</item>
		<item>
			<title><![CDATA[Re: Сигнатура в ПЗУ контроллера загрузочного устройства]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=2223#p2223</link>
			<description><![CDATA[<p>Так бы сразу и сказал.</p><p>1) Исходники тебе не помогут, потому что там такой же код и будет, как с дизасма. Разве что немножко меток будет. Ни комментов, ничего. Всё и так просто и понятно (по мнению авторов кода).</p><p>2) Просто повтори первые 6 байт и последние 4 байта загрузочного ROM и он начнёт получать управление. Желательно последние 4 байта сделать изменяемыми: у разных 140ок и у 840ки они иногда тоже используются как сигнатуры - соответственно, если хочешь косить под разные типы контроллеров, их придётся менять.</p><p>3) Помни о входной точке Сx5C: до неё идёт инициализация устройства и счётчиков (адрес, сектор...), вывод голов в нулевой трек. После неё должен быть чистое чтение. Это касается всех версий всех контроллеров. Даже эпловских. Эта точка часто используется внешним кодом. Также учти, что на выходе из ROM-лоадера у тебя должны быть вполне конкретные значения регистров и флага C - это часто используется. В частности, C указывает на повторный вызов ROM-лоадера, но это нужно уточнить.</p><p>Так что морока у тебя будет не с сисмоном, а именно с ROM-лоадером. У сисмона всё просто.</p><p>ЗЫ Немного ещё неясно: у тебя всего два пути: или идеально совместимая со 140кой либо 840кой железка. Но тогда зачем вообще копаться в коде - оставь существующий и не усложняй жизнь. Либо пилить совсем свою железку, но тогда тебе придётся не только ковыряться в сисмоне, что не сложно, но и во всём том софте, который ты надеешся на ней запустить. Сможешь ?</p>]]></description>
			<author><![CDATA[null@example.com (Voldemar0)]]></author>
			<pubDate>Thu, 02 Aug 2018 02:07:55 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=2223#p2223</guid>
		</item>
		<item>
			<title><![CDATA[Re: Сигнатура в ПЗУ контроллера загрузочного устройства]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=2219#p2219</link>
			<description><![CDATA[<div class="quotebox"><cite>Voldemar0 пишет:</cite><blockquote><p>Ты скажи, зачем оно тебе надо, тогда понятнее будет, о чём рассказывать.</p></blockquote></div><p>Это получается как бы продолжение <a href="http://forum.agatcomp.ru//viewtopic.php?id=109">этого</a> (кстати, Владимир, ты же вроде как <strong>root</strong>, может эту тему к той отпочковать, или наоборот, ту сюда?).<br />Листинг нужен для изучения анализа сигнатуры загрузочного контроллера (SD-картовод хочу прикрутить), и для изучения инициализации сисмоном ДопОЗУ.</p><p>Идой-6.5 пытаюсь дизасмить:<br />$FA36 - хардварный ресет,<br />$FAA0 - горячий ресет,<br />$FA45 - холодный ресет, здесь же начинается хитрый цикл, в котором и память (и на генплате и в слотах) обнюхивается и в $CxFE и $CxFF сигнатура (и памяти и контроллеров) анализируется. Пока особо не вкурил этот анализ...</p>]]></description>
			<author><![CDATA[null@example.com (LeoN)]]></author>
			<pubDate>Wed, 01 Aug 2018 13:33:38 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=2219#p2219</guid>
		</item>
		<item>
			<title><![CDATA[Re: Сигнатура в ПЗУ контроллера загрузочного устройства]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=2216#p2216</link>
			<description><![CDATA[<p>Так на любом компе типа Агат сбрасываешь загрузку и пишешь :<br />fffc.fffd<br />видишь вектор сброса<br />дальше пишешь этот вектор и букву L - ВВОД - получаешь листинг :)</p><p>Сперва идёт группа вызовов процедур настройки IOSub (окно, цвет, текстовый режим, вектора IO), а потом проверка векторов-флагов 3f2..3f4. Там есть проверка на *$3F3 % *$3F4 == $A5, по результату ветвление либо на JMP ($3F2) либо эта самая процедура вывода надписи &quot;Агат&quot;, установка вектора-флага и поиск флоп-контроллера.<br />Я семёрку изучал когда-то очень подробно на эту тему, помню что там проверяются три байта в начале каждой ячейки, причем именно как тут описано: один через два. Но, возможно я ошибаюсь, это именно байты Cx00, Cx02, Cx04 == A2, A0, A2. Девятку подробно не копал, но, вроде бы, там отличие только в порядке поиска: у семёрки от 6 до 1, у девятки от 1(2?) до 6 слота. Если флоп не найден - переход на начало интерактивной части сисмона $FF69. Причем в семёрке это даже не переход, а просто такая последовательность команд - т.е. процедура поиска как раз расположена перед адресом $FF69.</p><p>Ты скажи, зачем оно тебе надо, тогда понятнее будет, о чём рассказывать.</p>]]></description>
			<author><![CDATA[null@example.com (Voldemar0)]]></author>
			<pubDate>Tue, 31 Jul 2018 10:29:33 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=2216#p2216</guid>
		</item>
		<item>
			<title><![CDATA[Re: Сигнатура в ПЗУ контроллера загрузочного устройства]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=2215#p2215</link>
			<description><![CDATA[<p>Вот <a href="http://www.agat-legacy.narod.ru/docs/teac.rar">здесь</a> вполне так сходится. ;)</p><div class="quotebox"><cite>Voldemar0 пишет:</cite><blockquote><p>Как агатовский сисмон ищет флопики и так хорошо видно из его кода (алгоритм похож на описанный, хотя, возможно, отличается сдвигом на байт).</p></blockquote></div><p>Есть листинг? Можно взглянуть?</p>]]></description>
			<author><![CDATA[null@example.com (LeoN)]]></author>
			<pubDate>Tue, 31 Jul 2018 09:16:31 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=2215#p2215</guid>
		</item>
		<item>
			<title><![CDATA[Re: Сигнатура в ПЗУ контроллера загрузочного устройства]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=2214#p2214</link>
			<description><![CDATA[<div class="quotebox"><cite>LeoN пишет:</cite><blockquote><p><a href="http://www.txbobsc.com/aal/1986/aal8606.html#a5">http://www.txbobsc.com/aal/1986/aal8606.html#a5</a><br /></p><div class="quotebox"><blockquote><p>In order to use the protocol converter firmware, you need first to find it. The first step in finding it is to find which slot it is in. All of the cards with P/C firmware (so far) are also cards which control or emulate disk drives and have firmware supporting the ProDOS device driver protocol. Cards with ProDOS device driver firmware can be identified by four bytes: <span style="color: red">$Cs01 = $20, $Cs03 = $00, $Cs05 = $03</span>, and $Cs07 = $00. <span style="color: red">The first three bytes in that list are the same for all disk drive controllers</span>. The zero value at $Cs07 distinguishes it as a disk controller with protocol converter firmware.</p></blockquote></div></blockquote></div><p>Пока как-то туманно это относительно Агата.</p><p>&quot;Для использования ПО конвертора протокола, вам сперва необходимо найти его. Первый шаг в поиске есть поиск слота, в который он установлен. Все карты с ПО конвертора протокола (P/C) являются&nbsp; также картами управляющими или эмулирующими дисководы и имеют поддержку ProDOS device driver protocol.&quot;</p><p>Где тут агат ? Как агатовский сисмон ищет флопики и так хорошо видно из его кода (алгоритм похож на описанный, хотя, возможно, отличается сдвигом на байт). Как ищет продос и некоторые другие проги/ОС контроллер 140/840ки - тоже не секрет - не так как тут описано (у них сигнатура в последних 4 байтах ROM-загрузчика). У продоса вообще безумная логика работы: она часть кода ROM-лоадера загружает к себе в качестве куска кода.</p>]]></description>
			<author><![CDATA[null@example.com (Voldemar0)]]></author>
			<pubDate>Tue, 31 Jul 2018 07:11:20 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=2214#p2214</guid>
		</item>
		<item>
			<title><![CDATA[Сигнатура в ПЗУ контроллера загрузочного устройства]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=2213#p2213</link>
			<description><![CDATA[<p><a href="http://www.txbobsc.com/aal/1986/aal8606.html#a5">http://www.txbobsc.com/aal/1986/aal8606.html#a5</a><br /></p><div class="quotebox"><blockquote><p>In order to use the protocol converter firmware, you need first to find it. The first step in finding it is to find which slot it is in. All of the cards with P/C firmware (so far) are also cards which control or emulate disk drives and have firmware supporting the ProDOS device driver protocol. Cards with ProDOS device driver firmware can be identified by four bytes: <span style="color: red">$Cs01 = $20, $Cs03 = $00, $Cs05 = $03</span>, and $Cs07 = $00. <span style="color: red">The first three bytes in that list are the same for all disk drive controllers</span>. The zero value at $Cs07 distinguishes it as a disk controller with protocol converter firmware.</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (LeoN)]]></author>
			<pubDate>Tue, 31 Jul 2018 06:16:13 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=2213#p2213</guid>
		</item>
	</channel>
</rss>
