<?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; NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
		<link>https://forum.agatcomp.ru//viewtopic.php?id=244</link>
		<atom:link href="https://forum.agatcomp.ru/extern.php?action=feed&amp;tid=244&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «NMI, IRQ, развёртка и совмещение видеорежимов».]]></description>
		<lastBuildDate>Mon, 20 Apr 2020 16:18:18 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=3839#p3839</link>
			<description><![CDATA[<p>Вот что нашел в описании Тест ОТК генплаты:&nbsp; </p><p><em>В текстовых режимах матрица экрана составляет 256 строк по 448 точек в каждой, что порождает следующую особенность. Для НБ от 0 до 191 функция считывания ДК в стенде будет такой же как и для графических режимов, а для НБ от 192 до 255 считывание будет проходить по 1-ому столбцу, причем, информация о каждой следующей точке столбца будет поступать на содержимое адреса C660 через&nbsp; 64 мкс.</em></p>]]></description>
			<author><![CDATA[null@example.com (garnizon)]]></author>
			<pubDate>Mon, 20 Apr 2020 16:18:18 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=3839#p3839</guid>
		</item>
		<item>
			<title><![CDATA[Re: NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=3813#p3813</link>
			<description><![CDATA[<p>когда совсем закончишь - сообщи, где взять-посмотреть</p>]]></description>
			<author><![CDATA[null@example.com (Voldemar0)]]></author>
			<pubDate>Mon, 30 Mar 2020 17:47:51 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=3813#p3813</guid>
		</item>
		<item>
			<title><![CDATA[Re: NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=3811#p3811</link>
			<description><![CDATA[<p>С новой графикой и исправленными прерываниями. Собственно, старая графика тоже нормально показывает картинку с исправленными прерываниями.<br /><span class="postimg"><img src="http://forum.agatcomp.ru//misc.php?action=pun_attachment&amp;item=754&amp;download=0" alt="http://forum.agatcomp.ru//misc.php?action=pun_attachment&amp;amp;item=754&amp;amp;download=0" /></span></p>]]></description>
			<author><![CDATA[null@example.com (SnakE)]]></author>
			<pubDate>Sun, 29 Mar 2020 19:28:23 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=3811#p3811</guid>
		</item>
		<item>
			<title><![CDATA[Re: NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=3810#p3810</link>
			<description><![CDATA[<p><a href="http://agatcomp.ru/agat/Software/Other/Ssystem.shtml">http://agatcomp.ru/agat/Software/Other/Ssystem.shtml</a></p><p><a href="http://agatcomp.ru/agat/Software/Graphic/KVTgred.shtml">http://agatcomp.ru/agat/Software/Graphic/KVTgred.shtml</a></p>]]></description>
			<author><![CDATA[null@example.com (garnizon)]]></author>
			<pubDate>Sun, 29 Mar 2020 19:09:34 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=3810#p3810</guid>
		</item>
		<item>
			<title><![CDATA[Re: NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=3801#p3801</link>
			<description><![CDATA[<div class="quotebox"><cite>Voldemar0 пишет:</cite><blockquote><p>PPS Вопрос на подумать: что будет, если в начале NMI-обработчика выключить таймер, а в конце, перед RTI - включить ?</p></blockquote></div><p>Нашел тут обсуждение ситуации, когда выполняющийся относительный переход приводит к задержке обработки прерывания (<a href="https://atariage.com/forums/topic/168550-a-taken-branch-before-nmi-delays-nmi-execution-by-one-full-instruction/">https://atariage.com/forums/topic/16855 … struction/</a>). Может, с RTI что-то похожее?</p><div class="quotebox"><cite>SnakE пишет:</cite><blockquote><p>Главный вопрос -- какая инструкция будет текущей на момент падения NMI.</p></blockquote></div><p>Если я правильно понял, у семерки разрешение прерываний должно происходить по нарастающему фронту φ0. То есть, к следующей инструкции за STA $C040, процессор уже должен прерывание распознать.</p>]]></description>
			<author><![CDATA[null@example.com (avivanov76)]]></author>
			<pubDate>Sun, 22 Mar 2020 22:05:47 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=3801#p3801</guid>
		</item>
		<item>
			<title><![CDATA[Re: NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=3800#p3800</link>
			<description><![CDATA[<div class="quotebox"><cite>Voldemar0 пишет:</cite><blockquote><p>Оч надеюсь, что хоть один из имеющихся эмулей будет реально правильно работать с совмещением режимов</p></blockquote></div><p>Оч надеюсь, что я уже очень к этому близок. Пару дней назад я научил свою экспериментальную графику переключаться между любыми режимами с точностью до строки развёртки. Рапира теперь эмулируется правильно. Правда, вылез интересный дефект с Фантавижном: мерцают объекты, двигающиеся на статичном фоне. Попробую это тоже побороть.<br /></p><div class="quotebox"><cite>Voldemar0 пишет:</cite><blockquote><p>PPS Вопрос на подумать: что будет, если в начале NMI-обработчика выключить таймер, а в конце, перед RTI - включить?</p></blockquote></div><p>Если при отключении прерываний NMI всегда устанавливается в высокий уровень, а при включении -- обратно в низкий, процессор регистрирует ещё один запрос на NMI прерывание и отрабатывает его, как только заканчивается текущая инструкция. Главный вопрос -- какая инструкция будет текущей на момент падения NMI. Я бы ожидал, что RTI не выполнится, но судя по трейсам, она всё-таки исполняется.</p>]]></description>
			<author><![CDATA[null@example.com (SnakE)]]></author>
			<pubDate>Sun, 22 Mar 2020 14:31:02 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=3800#p3800</guid>
		</item>
		<item>
			<title><![CDATA[Re: NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=3799#p3799</link>
			<description><![CDATA[<p>PPS Вопрос на подумать: что будет, если в начале NMI-обработчика выключить таймер, а в конце, перед RTI - включить ?</p><div class="codebox"><pre><code>NMI:
      STA $C050
....
      STA $C040
      RTI</code></pre></div><p>Сразу скажу: аппаратура таймера отрабатывает с точностью до такта ЦП.<br />Т.е. !NMI уже к следующей, после &quot;STA $C050&quot;, команде будет в высоком уровне.</p><p>У меня получилось следующее:</p><div class="codebox"><pre><code>$x08A5:: 
$x08A6:: 
$x08A7:: 
$x0040::                         C040
$x08A8:: NMI{0}  включили NMI , выполняем команду RTI
$x08A9:: NMI{1}  этот байт запрошен, но не используется ЦП
$x01EB:: NMI{2}  это обращение к стеку не используется никак, реально всё сохранено со следующего байта
$x01EC:: NMI{3}  выгребаем из стека адрес возврата и слово состояния
$x01ED:: NMI{4}  
$x01EE:: NMI{5}  
$x0CAB:: NMI{6}  пытались сделать выборку очередной команды, но так и не стали её выполнять
$x0CAB:: NMI{7}  
$x01EE:: NMI{8}   опять всё на стек
$x01ED:: NMI{9}  
$x01EC:: NMI{10}  
$x1FFA:: NMI{11}  NMI process{0}  
$x1FFB:: NMI{12}  </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Voldemar0)]]></author>
			<pubDate>Sun, 22 Mar 2020 10:14:43 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=3799#p3799</guid>
		</item>
		<item>
			<title><![CDATA[Re: NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=3798#p3798</link>
			<description><![CDATA[<p>Протрассировал вызовы на семёрке, в РАПИРе. Насчитал 188 срабатываний IRQ от переключения в NMI до обратного переключения в IRQ.<br />В аттаче файл rap.trace: в первой колонке 13 младших бит адресной шины, затем отметки о состоянии NMI, IRQ и счётчики событий в {}.<br />Состояние адресной шины и NMI/IRQ захватывалось по raise F0. Т.е. каждая строка - это такт F0.<br />Для адресной это точно правильный захват, а вот насчёт NMI/IRQ - не знаю, когда его парсит проц. Если знаете - напишите.</p><div class="codebox"><pre><code>$x01F6::                                                                                                            
$x01F7:: NMI{0}  IRQ{0}                              Поднялись оба прерывания                                                          
$x1C94:: NMI{1}  IRQ{1}                                                                                             
$x1C95:: NMI{2}  IRQ{2}                                                                                             
$x1C95:: NMI{3}  IRQ{3}                              Закончили последнюю операцию                                                               
$x01F7:: NMI{4}  IRQ{4}                               Скидываем на стек слово состояния и PC                                                              
$x01F6:: NMI{5}  IRQ{5}                                                                                             
$x01F5:: NMI{6}  IRQ{6}                                                                                             
$x1FFA:: NMI{7}  IRQ{7}  NMI process{0}          Выбираем вектор обработчика                                                                   
$x1FFB:: NMI{8}  IRQ{8}                                                                                             
$x1803:: NMI{9}  IRQ{9}                                   Исполняем обработчик                                                          
$x1804:: NMI{10}  IRQ{10}                                                                                           
$x1805:: NMI{11}  IRQ{11}            ........ дальше смотрите аттач  </code></pre></div><p>PS Оч надеюсь, что хоть один из имеющихся эмулей будет реально правильно работать с совмещением режимов. В своём я даже не хочу так заморачиваться :)))</p>]]></description>
			<author><![CDATA[null@example.com (Voldemar0)]]></author>
			<pubDate>Sun, 22 Mar 2020 09:38:24 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=3798#p3798</guid>
		</item>
		<item>
			<title><![CDATA[Re: NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=3779#p3779</link>
			<description><![CDATA[<div class="quotebox"><cite>SnakE пишет:</cite><blockquote><p>Кстати, а были в реальной жизни турбированные Агаты, у которых проц работал на сильно другой частоте? Нужно ли это уметь эмулировать?</p></blockquote></div><p>Была плата высокоскоростного сопроцессора ( <a href="http://agatcomp.ru/Images/new_CPU/sp-1.jpg">http://agatcomp.ru/Images/new_CPU/sp-1.jpg</a> ). И вроде кто-то писал, что у нее была поддержка в НиппельОС. Но никаких подробностей про нее я не знаю.</p><p>Кстати, любопытно - на сайте написано, что процессор у нее питался от 12 вольт, но в обвязке все микросхемы стоят стандартные, 5-вольтовые. У процессора было отдельное питание ядра что-ли?</p>]]></description>
			<author><![CDATA[null@example.com (avivanov76)]]></author>
			<pubDate>Thu, 19 Mar 2020 20:55:10 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=3779#p3779</guid>
		</item>
		<item>
			<title><![CDATA[Re: NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=3777#p3777</link>
			<description><![CDATA[<p>Ошибки были в коде Олега. Код Марата в эмуляторе тоже есть, но используется ли он, я не знаю.</p>]]></description>
			<author><![CDATA[null@example.com (SnakE)]]></author>
			<pubDate>Thu, 19 Mar 2020 16:31:33 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=3777#p3777</guid>
		</item>
		<item>
			<title><![CDATA[Re: NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=3776#p3776</link>
			<description><![CDATA[<p>В книге Мымрина было написано что применяя 6502А и 6502В можно увеличить скорость работы Агата. </p><p>А модуль CPU с ошибкой это какой? Тот что предоставил Марат Файзулин?<br /><a href="https://fms.komkon.org/">https://fms.komkon.org/</a></p><p>Или модуль Олега?</p>]]></description>
			<author><![CDATA[null@example.com (garnizon)]]></author>
			<pubDate>Thu, 19 Mar 2020 15:50:21 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=3776#p3776</guid>
		</item>
		<item>
			<title><![CDATA[Re: NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=3775#p3775</link>
			<description><![CDATA[<div class="quotebox"><cite>SnakE пишет:</cite><blockquote><p>А откуда число 500?</p></blockquote></div><p><strong>SnakE</strong>, это я тупанул капитально... Сорри.</p><div class="quotebox"><cite>SnakE пишет:</cite><blockquote><p>Кстати, а были в реальной жизни турбированные Агаты, у которых проц работал на сильно другой частоте?</p></blockquote></div><p>Ну, серийных-то точно не было. Где-то в году так 94-м я <a href="https://zx-pk.ru/threads/24455-turboagat-9-16.html?p=762604&amp;viewfull=1#post762604">экспериментировал</a> - работало, и сейчас экспериментирую, догнал до 3.5 Махов.</p><div class="quotebox"><cite>SnakE пишет:</cite><blockquote><p>Нужно ли это уметь эмулировать?</p></blockquote></div><p>Однозначно <a href="https://zx-pk.ru/threads/24455-turboagat-9-16.html?p=824276&amp;viewfull=1#post824276">нужно</a>!</p>]]></description>
			<author><![CDATA[null@example.com (LeoN)]]></author>
			<pubDate>Thu, 19 Mar 2020 15:33:00 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=3775#p3775</guid>
		</item>
		<item>
			<title><![CDATA[Re: NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=3774#p3774</link>
			<description><![CDATA[<div class="quotebox"><cite>avivanov76 пишет:</cite><blockquote><p>Взялся за гуж, не говори, что не дюж :)</p></blockquote></div><p>Я старый больной пью! К тому же, похоже, это была шальная ошибка: у INC, например, всё правильно.<br /></p><div class="quotebox"><cite>avivanov76 пишет:</cite><blockquote><p>Ура!</p></blockquote></div><p>Но развёртка всё ещё прибита гвоздями к тактам ЦПУ.</p><p>Кстати, а были в реальной жизни турбированные Агаты, у которых проц работал на сильно другой частоте? Нужно ли это уметь эмулировать?</p>]]></description>
			<author><![CDATA[null@example.com (SnakE)]]></author>
			<pubDate>Thu, 19 Mar 2020 15:10:44 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=3774#p3774</guid>
		</item>
		<item>
			<title><![CDATA[Re: NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=3773#p3773</link>
			<description><![CDATA[<div class="quotebox"><cite>SnakE пишет:</cite><blockquote><p>Это что мне, все команды перепроверять? %)</p></blockquote></div><p>Взялся за гуж, не говори, что не дюж :)</p><div class="quotebox"><cite>SnakE пишет:</cite><blockquote><p>Да, теперь всё правильно: Рапира переключает режим на 207 строке развёртки, так что 208 уже полностью текстовая.</p></blockquote></div><p>Ура!</p>]]></description>
			<author><![CDATA[null@example.com (avivanov76)]]></author>
			<pubDate>Thu, 19 Mar 2020 14:57:38 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=3773#p3773</guid>
		</item>
		<item>
			<title><![CDATA[Re: NMI, IRQ, развёртка и совмещение видеорежимов]]></title>
			<link>https://forum.agatcomp.ru//viewtopic.php?pid=3772#p3772</link>
			<description><![CDATA[<p>Да, теперь всё правильно: Рапира переключает режим на 207 строке развёртки, так что 208 уже полностью текстовая.</p>]]></description>
			<author><![CDATA[null@example.com (SnakE)]]></author>
			<pubDate>Thu, 19 Mar 2020 14:50:25 +0000</pubDate>
			<guid>https://forum.agatcomp.ru//viewtopic.php?pid=3772#p3772</guid>
		</item>
	</channel>
</rss>
