Отладочный модуль на К1801ВМ1
Moderator: Shaos
-
- Doomed
- Posts: 491
- Joined: 05 Apr 2011 12:45
- Location: Великий Новгород
UPD
спросил у человечка который хорошо разбирается в этой архитектуре насчет R2 и DD2.1
резистор R2 токоограничивающий. Т.к процессорная нога RPLY при обращении к внутренним регистрам процессора работает как выход. И на ней будет лог. 0 на на ноге 5 DD4.1 будет в этот момент лог.1
DD2.1 формирует необходимую временную задержку при REPLY от внешней схемы. Его можно исключить, но тогда уменьшится быстродействие.
В общем все так. И предположения насчет этих элементов оказались верны сравнивая эту схему с другими
спросил у человечка который хорошо разбирается в этой архитектуре насчет R2 и DD2.1
резистор R2 токоограничивающий. Т.к процессорная нога RPLY при обращении к внутренним регистрам процессора работает как выход. И на ней будет лог. 0 на на ноге 5 DD4.1 будет в этот момент лог.1
DD2.1 формирует необходимую временную задержку при REPLY от внешней схемы. Его можно исключить, но тогда уменьшится быстродействие.
В общем все так. И предположения насчет этих элементов оказались верны сравнивая эту схему с другими
танцуй пока живешь под каплями огненного дождя...
-
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
Случайность wrote:резистор R2 токоограничивающий. Т.к процессорная нога RPLY при обращении к внутренним регистрам процессора работает как выход. И на ней будет лог. 0 на на ноге 5 DD4.1 будет в этот момент лог.1
Странно. Во встреченной мною справочной литературе нигде такая особенность не упоминается. Везде написано - вход.
В момент формирования ответа устройством низкий уровень сразу же появится на входе /RPLY процессора. Без задержки, поскольку вход /R D4.1 асинхронный. Переключится в единицу он после переключения в единицу сигнала /RPLY от устройства по следующему спаду тактового сигнала, т.е., возможно, с некоторой задержкой. Но какой смысл в такой задержке, если /RPLY устройство снимает лишь после снятия /DIN (/DOUT) процессором, т.е. в любом случае после того, как процессор ответил на /RPLY? Или я что-то неправильно понимаю в логике работы этой штуки?Случайность wrote:DD2.1 формирует необходимую временную задержку при REPLY от внешней схемы. Его можно исключить, но тогда уменьшится быстродействие.

-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
-
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
-
- Maniac
- Posts: 287
- Joined: 05 Nov 2008 19:47
- Location: 81.28.208.238
Довольно сильно сомневаюсь, что пошаговое прерывание так просто получитсяLavr wrote:Я тоже прикидываю - должно получиться, мне кажется...VituZz wrote:Сделать аппаратное пошаговое устройство, по образу и подобию оного для ВМ80, не получится?
Но надо разобраться подробнее, всё же проц незнакомый.
- в проце не нашел ног для поддержки онного
- если просто задержать ответ пассивного устройства (память/устройство (хотя в этой системе нет такого разделения)) проц перейдет в прерывание по 4-му адресу/вектору - ошибка обращения к памяти.
Наверное нужно просто отключать тактирование - проц скорее всего полностью статический.
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
А специальных ног у 8080 тоже нет...aav8 wrote:Довольно сильно сомневаюсь, что пошаговое прерывание так просто получится
- в проце не нашел ног для поддержки онного

Проц не статический - мы уже это смотерли в его характеристиках. Есть минимальная тактовая.aav8 wrote: - если просто задержать ответ пассивного устройства (память/устройство (хотя в этой системе нет такого разделения)) проц перейдет в прерывание по 4-му адресу/вектору - ошибка обращения к памяти.
Наверное нужно просто отключать тактирование - проц скорее всего полностью статический.
Но я думаю - надо просто посмотреть чем он удобно тормозится.
Или 1801ВМ2 поюзать - он вроде как точно тормозится.
iLavr
-
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
Процессор выдаёт сигнал /DIN (/DOUT), устройство отвечает сигналом /RPLY. Процессор снимает /DIN (/DOUT). Если устройство будет продолжать удерживать /RPLY, не будет ли процессор простаивать, ожидая его снятия? Это можно было бы использовать для пошагового устройства, защёлкнув в регистрах предварительно адрес.
Если в Шахнове посмотреть на рис. 11.5 (временная диаграмма цикла ПДП), то мы увидим, что входы там названы выходами, и наоборот. Возможно, вывод, обозначенный в таблице как "вход/выход", выполняет альтернативную функцию в моменты, когда процессор с этим выводом является "НЕГЛАВНЫМ", т.е. не управляет шиной, а отдал её в распоряжение другого активного устройства? SYNC тоже там назван "входом/выходом".Lavr wrote:Меня вот INIT смущает... по таблице - он вход-выход.
Last edited by VituZz on 10 Nov 2013 07:22, edited 1 time in total.
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Потратил я сегодня квант времени и дамп кодов Монитора, тот, что в статье МПСС, - оцифровал.Lavr wrote:Ну тогда я попробую распознать Файнридером дамп кодов Монитора, тот, что в статье МПСС.

Исходник очень низкого качества - вот он: Mpss_1986_02_P37.djvu.
Из него я делал контрастный файл графики: Mpss_1986_02_P37.gif, который и распознавал
Файнридером, поскольку с полутонами, как в оригинале, распознается просто отвратительно.
После распознавания я фактически весь дамп перечитал и вручную проправил, там где плохо
видно, смотрел этот же дамп из другого источника: Mpss_1986_02_p37.jpg.
Вот здесь дамп монитора - с адресами, как в статье МПСС: MONITOR_1986_02_P37.doc.
Вот здесь дамп монитора - без адресов, как для бинарника: MONITOR_1986_02_P37.txt.
Весь набор я выложил, чтобы вы могли исправить что-то или уточнить, ежели я где-то ошибся.
Хотя я пару раз внимательно проверил - но исходный текст очень некачественный.

Я сразу хотел выложить и бинарник, но споткнулся на вот каком вопросе: числа в дампе, видимо,
16-битные (2-байтные)?
Code: Select all
DK:M.SAV/N/0:1
BLOCK NUMBER 0001
000/ 016700 003766 010005 012705 000004 010715 062725 062454
020/ 005025 010715 062725 002462 005025 010715 062725 001564
040/ 005015 012705 000034 010715 062725 001754 005015 026027
060/ 000026 123456 001411 012760 123456 000026 012760 000010
100/ 000030 012701 000032 000402 012701 000100 004767 002750
И если я хочу использовать 2 ПЗУ типа РФ, то бинарник надо разделить на 2 прошивки?
Одна - для младших байт, вторая - для старших?
iLavr
-
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
Числа-то 16-битные, но каждая циферка ведь отвечает за 3 бита. Поэтому разделять для РФ нужно, пересчитывая целиком сразу 16-битное число из 8-битной системы в 16-битную, а потом старший байт писать в старшую РФку, а младший - в младшую.
0167008 -> 0.001.110.111.000.000 -> 0001.1101.1100.0000 -> 1DC0h. 1D - туды, C0 - сюды
. Вроде так? А писать в дампе, я думаю, старший-младший.
0167008 -> 0.001.110.111.000.000 -> 0001.1101.1100.0000 -> 1DC0h. 1D - туды, C0 - сюды

-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Это всё автоматически получится при преобразовании char в word.VituZz wrote:Числа-то 16-битные, но каждая циферка ведь отвечает за 3 бита. Поэтому ....
А word - в 2 байта.
Так и сделаю - хотя на Intell процессоре удобнее наоборот...VituZz wrote:А писать в дампе, я думаю, старший-младший.

Ну оцифрованный txt-дамп я сделал - в бинарник теперь можно каждому
укладывать, как ему удобно.
PS. Попробую я декомпилировать Монитор через эмулятор УК-НЦ. Посмотрим,
что получится...
Last edited by Lavr on 10 Nov 2013 08:06, edited 1 time in total.
iLavr
-
- Doomed
- Posts: 491
- Joined: 05 Apr 2011 12:45
- Location: Великий Новгород
-
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
Если я всё правильно прочитал, то похоже, что - не будет.VituZz wrote:Процессор выдаёт сигнал /DIN (/DOUT), устройство отвечает сигналом /RPLY. Процессор снимает /DIN (/DOUT). Если устройство будет продолжать удерживать /RPLY, не будет ли процессор простаивать, ожидая его снятия?
Здесь aav8, видимо, прав:
Но я надеюсь, как-то без нас работали люди под этим процем? Значит иaav8 wrote:- если просто задержать ответ ... проц перейдет в прерывание по 4-му
адресу/вектору - ошибка обращения к памяти.
пошаговая отладка как-то осуществлялась.
Это сейчас эмуляторов - пруд-пруди, а тогда с ними было куда как хуже...
Значит как-то умели отладить пошагово.
iLavr
-
- Supreme God
- Posts: 16676
- Joined: 21 Oct 2009 08:08
- Location: Россия
А поточнее?VituZz wrote:Мне кажется, по первоисточнику так (адрес/ первоисточник оцифровано):
002/ 010006 010005
007/ 002454 062454
002/
007/ - в источнике просто нет...
есть
020/
040/.
Или у нас источники разные?
Нет - я вполне мог и не определить точно кое где, для чего и выложил все составляющие.
Last edited by Lavr on 10 Nov 2013 08:55, edited 1 time in total.
iLavr