nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 18 Aug 2018 18:33



Reply to topic  [ 54 posts ]  Go to page Previous  1, 2, 3, 4  Next
Изделие МНК-11-01.ДМ 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Mixa64 wrote:
А вот это, извините, ерничанье. Поверьте, на такое отвечать нет желания.
Для чего вам такие экзерсисы?

Я пошел Вам навстречу, задал давно интересующий меня технический вопрос в той форме,
в которой Вы сами возжелали выше. Но Вы снова продолжаете словесно юлить:
Mixa64 wrote:
Вот честно скажу, я не вижу вашего настоящего интереса. Сначала на первом плане было пренебрежение, сейчас ерничанье. Интерес второстепенен, более того, может быть нарочно искажен в пользу первостепенного.
Не вижу того, что вы хотите узнать по-настоящему. Узнать - не первостепенно.

Видимо, мои предположения полностью подвердились: Ex nihilo nihil fit.
Настоящий интерес невозможно проявить к тому, чего не существует.

_________________
iLavr


20 May 2018 16:39
Profile
Doomed

Joined: 25 Aug 2009 08:02
Posts: 350
Location: Москва
Reply with quote
[delete]


Last edited by Mixa64 on 21 May 2018 13:21, edited 1 time in total.



20 May 2018 16:54
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Mixa64 wrote:
Lavr, ваша беда в том, что вы сделали предположение и не можете от него отказаться. А со временем оно все более обретает статус факта. Откажитесь от предположения в пользу пустоты, не заполняйте пустоту ничем, ответ придет со временем.

Я никак не могу от этого отказаться! Ибо куда ни глянь - там Ваши словеса и "стенд"! :o
Поверьте, Вы для меня ничего не значите, но этот самый словесный "стенд" ваш - ВЕЗДЕ! :o

Вот я совсем другим делом был занят, но снова наткнулся на Ваш "стенд"!
Attachment:
mv64.gif
mv64.gif [ 18.68 KiB | Viewed 742 times ]

И везде сценарий совершенно одинаков: слова, слова, слова, фото нет, схем нет - ничего в итоге нет!
Вы себя-то почитайте "каким-то раком", "заполнение - в стиле касания проводочком разрядов по очереди" и т.п.

Одно фото "стенда" или "экстремального и неудобного макета" снимает все вопросы и не требует столько
слов, сколько Вы их уже написали на этом форуме.

Ещё раз убедительно, без ёрничения с неподдельным интересом прошу - покажите, пожалуйста,
этот стенд, экстремальный и неудобный макет, либо любой другой о которых Вы пишете!

И весь вопрос будет с повестки дня снят.

_________________
iLavr


20 May 2018 17:38
Profile
Doomed

Joined: 25 Aug 2009 08:02
Posts: 350
Location: Москва
Reply with quote
Это из книги Микропроцессоры, справочное пособие для разработчиков судовой РЭА.
Любопытное сочетание правдивых сведений и хм, мягко говоря, домыслов. Ничему из написанного и прочитанного верить нельзя. Так вот, сходу, и не понятно, где тут пурга.


Attachments:
138.jpg
138.jpg [ 152.3 KiB | Viewed 645 times ]
139.jpg
139.jpg [ 127.73 KiB | Viewed 645 times ]


Last edited by Mixa64 on 25 May 2018 08:16, edited 2 times in total.

20 May 2018 18:31
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Mixa64 wrote:
И вас прошу тут ничего не комментировать, если что - вопросы в личку.

А вот тут уж извините - форум у нас для всех, и вы - не исключение.
Вопросы можно задавать в топике, и в топике же получать на них ответы.
Но вижу я, как вас ни спрашивай - в ответ одно словоблудие.
Собственно об этом и глаголет латинская фраза: Ex nihilo nihil fit.

Пока больше ничего не скажу, наберитесь терпения, правила форума едины для всех.

Да и вобщем-то все коллеги действуют по типичному сценарию, к примеру, как здесь:
http://www.nedopc.org/forum/viewtopic.php?p=143291#p143291
Фото макета, если людям интересно - ответы на вопросы, схемы, прошивки.
И только Вы предпочитаете "схемы словами" и в ответ на конкретный вопрос - опять же
"слова через слова".

Форум здесь технический, поэтому позволю себе вновь повторить конкретный интересующий
меня на протяжении уже долгого времени технический вопрос
:
Ещё раз убедительно, без ёрничения с неподдельным интересом прошу - покажите, пожалуйста,
этот стенд, экстремальный и неудобный макет, либо любой другой о которых Вы пишете!


Если вам нечего показать - не отвечайте мне, ибо читать пустое словоблудие уже просто тошно.

_________________
iLavr


20 May 2018 19:01
Profile
Doomed

Joined: 25 Aug 2009 08:02
Posts: 350
Location: Москва
Reply with quote
Так, на чем остановились ... Возвращаемся из программных дебрей в железные. Итак, архитектура микросхемы 1801ВМ1, ее система команд подразумевает, нет, даже не подразумевает, а требует наличия внешних по отношению к этой микросхеме средств, причем вполне определенных. Это:
- Регистр SEL1 с обязательными битами 15..8 (адрес начального пуска) и 3 (подключение ПЗУ в районе 160000). Остальные биты могут использоваться произвольным образом.
- ячейки ПЗУ в районе адреса 160000
- ячейки ОЗУ в верхней области, размером по надобности и условию непересечения с остальными ресурсами, но включающей адреса 177674 и 177676
Перечисленные средства обеспечивают работу процессра в двух режимах, Программа и Пульт (Останов) (или RUN и HALT, кому как нравится). В режиме Пульт на консоли активен ODT, с его помощью можно проделывать простые манипуляции с памятью и исследовать состояние процессора.

Другими словами, сам по себе 1801ВМ1 мало чем примечателен кроме системы команд, а в соответствующем окружении становится Настоящим Процессором.
На этой волне вдохновления и оптимизьма можно попробовать изобразить блок-схему, чтобы потом перейти к схеме принципиальной. Но прежде было бы разумно разобраться с тактированием.

Такта требуют три микросхемы, сам недо-процессор 1801ВМ1, контроллер ОЗУ 1801ВП1-030 (по совместительству приставка-дополнение для 1801ВМ1 до CPU) и UART 1801ВП1-065. (При выборе между UART -035 и -065 почему-то остановился на -065, потому что у -065 есть режим 8-битной телетайпной посылки, у -035 7 бит максимум. Хотя, выбор спорный, но об этом потом как-нибудь). Скорости телетайпа получаются делением тактовой частоты, поэтому для такта -065 вариантов нет, он равен 4608 кГц. Для 1801ВМ1 подгруппа А макс. тактовая составляет 5 МГц. Для такта 1801ВП1-030 у Шахнова приводится рабочий диапазон от 4,2 до 8 МГц, там же есть ее временные диаграммы для тактового периода 125 нс. Конечно, в нищебродском изделии хочется обойтись одним генератором источником синхронизации, поэтому раскладка тактирования будет по производным от 4608 кГц. Здесь простых вариантов особо и нет, долько две частоты, 4608 кГц и 9216 кГц. И вариантов тактирования тоже практически два, тактировать одной частотой или разными, причем второй вариант предлагает 9216 кГц для ВП1-030 в силу ее большей тактовой частоты по спецификации. Вот он-то самым подходящим вариантом и видится. Временная диаграмма цикла обращения к ДОЗУ при такте 9216 кГц в спецификации микросхем памяти (565РУ3 или 565РУ6) укладывается. Совместная же временная диаграмма сигналов ВМ1 и ВП1-030 в цикле шины выглядит гораздо симпатичнее, чем при варианте их тактирования одинаковой частотой, где ВП1-030 просто жуть какая тормозная получается. Когда-то давно я проводил испытания 1801ВМ1 на стенде по-очереди совместно с контроллерами 1801ВП-030 и 1801ВП-037. По оставшимся записям, результат получился таким, что ВМ1 хорошо работает совместно с 1801ВП1-037 на частоте 6 МГц, а 1801ВП1-030 не тянет на 12 МГц. Причем -030 тянула на 10 МГц, это просто запомнилось. Значит, и на 9.2 потянет.

С тактированием разобрались, теперь маленькое предисловие к блок-схеме. У ВП1-030 внутри находятся две относительно независимые части, контроллер ОЗУ и логика управления системным ПЗУ. Контроллер вырабатывает цикл обращения к ОЗУ для адресного диапазона 177600 .. 177676 (те самые нужные процессору ячейки в верхней области) всегда и независимо ни от чего, а вне этого диапазона только при наличии сигнала MSEL. Логика управления системным ПЗУ в адресной фазе цикла шины вырабатывает сигнал LOCK в том случае, если комбинация битов 2, 3 регистра SEL1 и адреса на шине соответствуют условию обращения к ПЗУ в данном цикле. Поэтому при активном LOCK должен происходить цикл обращения к системному ПЗУ вместо обращения к ресурсам по этому адресу. В ДВК разделение обращения сделано на демультиплексоре, строб /DIN при активном LOCK направляется на системное ПЗУ, иначе - в направлении системного /DIN. В литературе также рекламируется этот подход, но, похоже, что книжки просто повторяют решение из ДВК.

Есть альтернативное решение (с оговорками, но для малой системы приемлемо). ПЗУ отображается в область адресов, начиная с 160000 и выше, что соответствует банку памяти 7, и обычный цикл шины в этом диапазоне адресов сопровождается активным шинным сигналом /BS7. В этой области памяти располагаются регистры устройств ввода-вывода, и можно ввести требование, чтобы каждое УВВ всегда использовало сигнал /BS7 при дешифрации обращения к себе. В самом деле, такое требование разумно, экономно и выгодно. В этой системе кроме самодельных УВВ других не будет, поэтому потенциальная проблема, связанная с игнорированием /BS7 каким-либо УВВ, отсутствует. Для подстановки ПЗУ достаточно сделать запрет выработки /BS7 при наличии активного LOCK, а активный LOCK связать с линией /CS ПЗУ (через простой инвертор, простой - потому что куда уж проще).

На самом деле, 4 килослова под УВВ, а это 8-я часть доступного адресного пространства, для маленькой системы выглядит как многовато. Почти все это пространство будет оставаться неиспользуемым. Причем будет не использоваться не просто пространство, а настоящие живые ячейки в уже имеющемся ОЗУ. Поэтому есть смысл уменьшить диапазон, отводимый под УВВ. В этом случае ПЗУ пересекается с ОЗУ, поэтому активный LOCK должен запрещать выработку MSEL. Может случиться так, что ПЗУ будет пересекаться только с ОЗУ, (забегая вперед, а так и будет), но это не отменяет необходимость блокировки ,BS7, потому что для дешифрации УВВ используется небольшое число младших адресных линий, которые не один раз пробегают свой диапазон в адресах ПЗУ.

Остались мелочи, формирователь /DCLO - /ACLO для процессора и буфера для ОЗУ, регистровый буфер на выходе и обычный на входе, для сокращения длины проводников и уменьшения емкости. Потому что предполагается, что общая шина будет без буферизации.


Last edited by Mixa64 on 25 May 2018 07:23, edited 2 times in total.



21 May 2018 03:41
Profile
Doomed

Joined: 25 Aug 2009 08:02
Posts: 350
Location: Москва
Reply with quote
Вот такая блок-схема основного модуля нарисовалась. Она не сильно отличается от ядра платы центрального процессора ДВК и от вышеприведенной блок-схемы из книжки, но это и неудивительно. Если в качестве компаньона к 1801ВМ1 брать 1801ВП1-030, то в части программной модели совпадение будет почти полное, различия появляются в вариантах железной реализации схем сопряжения.
Мне кажется, что я нащупал минимальный железный вариант в рамках желаемой программной модели и похожести на PDP-11.


Attachments:
b1.png
b1.png [ 23.38 KiB | Viewed 647 times ]
21 May 2018 03:53
Profile
Doomed

Joined: 25 Aug 2009 08:02
Posts: 350
Location: Москва
Reply with quote
При составлении принципиальной схемы важно не забывать, что для 1801ВМ1 нужно все асинхронные входные сигналы привязывать к его такту, к любому перепаду CLC. Также привязывается к такту сигнал /RPLY, кроме того, между D-триггером привязки и линией RPLY микросхемы 1801ВМ1 необходимо включить резистор, потому что у 1801ВМ1 эта линия двунаправленная, он по ней отвечает сигналом /RPLY сам себе при обращении к своим внутренним регистрам или к регистрам, адресуемым линиями SEL1 и SEL2.
Кроме 1801ВМ1 и 1801ВП1-030 потребуется: генератор на 9216 кГц, делитель на 2, D-триггер привязки /RPLY, D-триггеры привязки асинхронных сигналов /ACLO, /IRQ1, /IRQ2, /IRQ3, /VIRQ, рассыпуха для диспетчера обращения к ОЗУ-УВВ-ПЗУ, что-то для формирователя /DCLO - /ACLO, еще что-то для построения регистра начального пуска, а также ПЗУ, буфера для ОЗУ, ОЗУ.

Вот эта ПЗУ, которая садится прямо на общую шину. С ультрафиолетовым стиранием и крайне малым заявленным числом перезаписей, всего 10. Ничто по современным меркам. Штука, уже практически несуществующая. Но респект Ангстрему, что она вообще была когда-то сделана и слава Аллаху, что она мне однажды попалась.


Attachments:
pzu.jpg
pzu.jpg [ 47.85 KiB | Viewed 644 times ]
25 May 2018 09:55
Profile
Doomed

Joined: 25 Aug 2009 08:02
Posts: 350
Location: Москва
Reply with quote
1801ВП1-030 формирует два сигнала управления выходным регистр-буфером ОЗУ, строб и разрешение выхода. Сигналы ничего особенного из себя не представляют, строб в положительной логике и /OE в отрицательной. Любой 373/ИР22 или аналог со сгруппированными по сторонам входами-выходами подойдет без всякого дополнительного сопряжения. Но эти ИРки уже приелись во всяких других поделках класса Z80 или подобных, а 1801ВП1-030 на разных схемах всякий раз управляет не двумя 8-разрядными буферами, а одним сразу 16-разрядным, выполненном на многорежимной микросхеме 1801ВП1-034, настроенной на вариант 16-разрядного буфера. И как назло, эта микросхема у меня имеется в наличии. Долго размышлял, каким способом организовать 16-разрядный лэтч, 2-мя непримечательными 8-битными или по-другому, остановился на варианте 1801ВП1-034. Во-первых, как дань уважения Ангстрему, во-вторых, как вариант исполнения буфера, который вряд ли где придется так к месту, как здесь, ну и для разнообразия, конечно.
Вот он этот буфер.


Attachments:
034.jpg
034.jpg [ 62.71 KiB | Viewed 643 times ]
25 May 2018 10:15
Profile
Doomed

Joined: 25 Aug 2009 08:02
Posts: 350
Location: Москва
Reply with quote
Карту памяти сделал таким образом, что ОЗУ в режиме Программа уходит за стандартный рубеж 28 к слов, область 160000 .. 172776 при этом отводится под ОЗУ, в этом заключается отличие и изюминка.
В остальном карта получилась такой, как сделано в ДВК, это неудивительно, картой управляет 1801ВП1-030.

Программа
000000 .. 172776 ОЗУ (почти 31 к слов)

Пульт
000000 .. 157776 ОЗУ (28 к слов)
160000 .. 163776 ПЗУ ODT (1 к слов)
164000 .. 172776 ПЗУ с утилитами/тестами или ОЗУ (почти 2 к слов)

Верхняя область, одинаковая для обоих режимов
173000 .. 173776 ПЗУ загрузчика (256 слов)
174000 .. 177576 Регистры УВВ (960 слов)
177600 .. 177676 Служебное ОЗУ (32 слова)
177700 .. 177776 Регистры для нужд процессора (32 слова)

Кстати, в упомянутой выше книжке Микропроцессоры, справочное пособие для разработчиков судовой РЭА далее на стр. 146 рассказывается (правда, не без вводящих в заблуждение опечаток насчет разрядов 2 и 3 SEL1), что ПЗУ, открытому в диапазоне 160000 .. 163776 соответствует режим "Останов", а в диапазоне 160000 .. 172776 - режим "Расширенная арифметика". Сопоставляя эти диапазоны с состоянием битов 2 и 3 регистра SEL1, можно сделать предположение, что бит 3 называется "подключение ПЗУ Расширенной арифметики", а бит 2 называется "подключение ПЗУ Останов". Вроде бы логика есть, но странная, 1801ВМ1 при возникновении исключительной ситуации (и HALT в том числе) подключает ПЗУ Расширенной арифметики, а 1801ВП1-030 при включении питания (по сигналу /DCLO) подключает ПЗУ Останов. Кому верить, на что опираться?.. Техописания микросхем не найти, только собственные эксперименты и свое понимание.


25 May 2018 16:54
Profile
Doomed

Joined: 25 Aug 2009 08:02
Posts: 350
Location: Москва
Reply with quote
У некоммерческой бесплатной версии Eagle ограничение на размер платы 8x10 см. Размерчик подходящий, для мелких поделок. Эта поделка тоже мелкая, не хочется выходить за малый формат. Целиком процессор с памятью на этой площади не помещаются никак, поэтому решил сделать этажерочный вариант. 4 платы 8x10 этажеркой несравненно более компактны по сравнению с одной 16x20. Где-то оно может и оправдано, одна плата, но у меня места на столе мало.
Но не только габаритами продиктован выбранный конструктив. В одноплатном варианте проводники получатся длинные, а при объемном монтаже их можно сделать короче. К тому же разводка проводников становится проще.

Расклад по платам размера 8x10 см получился такой:
1. Процессорное ядро со всей обвязкой
2. Буфера ОЗУ
3 и 4. Накопители ОЗУ, младший и старший банки

Уменьшение длины проводников общей шины достигнуто путем сосредоточения ее на первой плате. Проводники выходят оттуда системным разъемом, к другим модулям, а с другой стороны выходят к плате буферов ОЗУ, где и заканчиваются.

Привожу принципиальную схему. DD1 это КМОПовские повторители, идея подсмотрена в БК-0011М и доведена до рабочего состояния.
Attachment:
bk0011_reset.png
bk0011_reset.png [ 25.45 KiB | Viewed 548 times ]

БКшный вариант склонен к возбуждению и генерации пачки импульсов на линии /DCLO. Процессором проглатывается, но зачем нам сомнительные решения, правда? Поэтому напильник в руки и на доработку. Еще добавил туда /ACLO с разъема.
DD2 привязка внешней асинхронки к такту, DMR тоже туда, чтоб все 6 триггеров работали.
DD3 делитель на 2 и привязка /RPLY. Фазы тактирования 1801ВМ1, 1801ВП1-030 и привязки /RPLY подобраны на стенде экспериментальным путем по минимальной средней длительности цикла обращения к ОЗУ.
DD5 и часть DD4 определяют окно обращения к ОЗУ, если JP1 перекрыт, то ОЗУ почти 62 килобайта вместо обычных 56.
DD10 ЛП10 буфера с 3-мя состояниями, разряды регистра SEL1. Поставилось напрямую, без согласующей логики, благодаря двум /OE.
DD8 триггер КП2, занимается диспетчеризацией обращения к памяти и формирует шинный сигнал /BS. /BS7 он не называется, потому что он бывает и /BS7, и /BS31.

Системный разъем всего 44 контакта, наш советский МРН-44.
На другую плату через межплатные разъемы уходят линии AD и сигналы для накопителей ОЗУ, мультиплексированный адрес и управление.


Attachments:
proc_1.png
proc_1.png [ 467.58 KiB | Viewed 578 times ]
28 May 2018 11:01
Profile
Doomed

Joined: 25 Aug 2009 08:02
Posts: 350
Location: Москва
Reply with quote
Вот примерно так детали размещаются на платке. По идее, туда еще хорошо бы было поместить буфера шин данных и управления для ОЗУ, но они уже не помещаются. Буферный 16-разрядный регистр 1801ВП1-034 (на DRAM Data Out), которая еще онда ВП-шка, уже с очевидностью не помещается (или с большим трудом), а еще нужны 2 20-ногих DIP ТТЛ 8-разрядных буфера (DRAM Data In) и 2 16-ногих DIP ТТЛ 6-разрядных повторителя (DRAM MuxAddr & Ctl).

Шина данных уходит на другую плату через разъемы, расположенные рядом с наборами резисторов R11 и R12, в целом компактно и короткими проводниками. Такое повышенное внимание уделяется общей шине и шине данных как ее части, потому что она без буферов, управляется слабыми токами микросхемы 1801ВМ1, и это главный нехороший компромисс и допущение ради упрощения конструкции.

Собирая всякие поделки на 155 серии и микропроцессорах, двусторонние платы разводил так, чтобы переход сигнала между сторонами был только на сквозных отверстиях под ноги микросхем. Питание, как самую ветвистую цепь, не разводил, а прокладывал шинами по верху, к шинам же развязывающие емкости припаивал.

Эта плата тоже разводится двумя слоями без отдельных межслойных переходов сигнальных проводников, все переходы только на ногах деталей. Для питания вместо отдельных шин два собственных слоя, всего четыре.


Attachments:
proc_1_brd.png
proc_1_brd.png [ 311.44 KiB | Viewed 547 times ]
29 May 2018 06:04
Profile
Doomed

Joined: 25 Aug 2009 08:02
Posts: 350
Location: Москва
Reply with quote
Упустил один важный момент, тоже нигде до конца не раскрытый, но важный для понимания программы ODT. Активный поиск того, как оно работает, происходил здесь, где по ходу рождались допущения и предположения, окончательный ответ получен после реверса 1801ВМ1.
Речь идет про биты 10 и 11 PSW. Для грамотного использования этих битов нужно понимание того, что они делают и, главное, для чего они это делают. Сухим инженерным языком, кратко, бит 10 запрещает все внешние прерывания и переводит адрес вектора ошибки шины с адреса 000004 на адрес 160002, бит 11 запрещает внешнее прерывание IRQ1 и также переводит адрес вектора ошибки шины на адрес 160002.
Возможно, в ТУ на 1801ВМ1 есть какие-то пояснения, для чего так сделано, но это ТУ мало кто видел и в доступе его нет. Поэтому ничего не остается, как сделать рациональное предположение о назначении этих битов. На самом деле, предположение несложное и достаточно прямолинейное. Бит 10, запрещая все прерывания и переводя вектор Bus Error в область пультового ПЗУ, обслуживает режим Пульт (Останов), в котором процессор ни на что не реагирует, но из пульта может случиться Bus Error, например, при открытии несуществующей ячейки.
Бит 11 задает специфический режим, ни Программа, ни Пульт в чистом виде, а нечто, совмещающее некоторые их свойства. В этом режиме процессор реагирует на внешние прерывания. Одним из способов применения этого режима могла бы быть целевая программа, расположенная в ПЗУ и имеющая в том числе надежный, неразрушаемый вектор обработчика Bus Error и сам обработчик. Скорее всего, это было сделано с прицелом на применение 1801ВМ1 в качестве ядра бортовых вычислителей или узкопрофильных управляющих микро-ЭВМ.

Подводя итог, применительно к рассматриваемому изделию:
Для режима совместимости с PDP-11 бит 11 смысла не несет, поэтому использоваться не будет.
Бит 10 наделяется смыслом индикатора режима Пульт.
(Смысл нужен. Если нет смысла, то и изделие получается бессмысленным.)


30 May 2018 03:41
Profile
Doomed

Joined: 25 Aug 2009 08:02
Posts: 350
Location: Москва
Reply with quote
Есть списки команд Пульта/ODT, для DEC PDP-11/03 (также известная под названием LSI-11/03, первая модель с мультиплексированной Q-Bus, и где впервые был реализован подход ODT вместо пульта с лампочками), для Электроники-60 (копия, или почти копия LSI-11/03) и для ДВК с ПЗУ 1801РЕ1-000.
Они в целом совпадают. В Э60 и ДВК список дополнен командой M, которая "узнать причину останова", а в ДВК можно еще запускать всяческие тесты.
Attachment:
odt_lsi.png
odt_lsi.png [ 27.09 KiB | Viewed 504 times ]

Attachment:
odt_e60.png
odt_e60.png [ 284.08 KiB | Viewed 504 times ]

Attachment:
odt_dvk.png
odt_dvk.png [ 54 KiB | Viewed 504 times ]


В моем начальном варианте ODT не будет косвенной и относительной адресации, не будет "открыть предыдущую". По смешной причине, эти символы с шифтом вводятся.
ПС, который ^J, вообще с контролом вводится, поэтому дублирую его пробелом, с сохранением оригинального кода.
Тестов тоже не будет, не нужны они.

Добавлено дамп всех регистров, дамп памяти в octal и ASCII (вспоминая всякие мониторы для 80-х).
Итого:

Code:
Команда             Обозначение Код

Открыть ячейку                / 057
Закрыть ячейку               ВК 015
Закрыть ячейку и
открыть следующую  ПС или Пробел 012 или 040

Регистр                     R<n> 122
Регистр состояния             RS 122, 123
Пуск                     <addr>G 107
Продолжение                    P 120
Забой                         BS 177
Причина останова               M 115
Печать содержимого
всех регистров                 Q 121

Печать блока памяти
восьмеричными числами    <addr>Q 121

Печать блока памяти
символами ASCII          <addr>A 101


30 May 2018 08:52
Profile
Doomed

Joined: 25 Aug 2009 08:02
Posts: 350
Location: Москва
Reply with quote
Чем полезны эмуляторы.

573РФ3 это весьма ценный ресурс, и отлаживать программу в натуре никак не получится, как и не получится написать программу такую, что ее не потребуется отлаживать. Тем более, что на момент разработки программы ODT запускать код с настоящей ПЗУшки пока не на чем. Здесь как раз помог бы эмулятор. Широко известный SIMH не подходит, он эмулирует разные PDP-11, но только фирменные, от DEC. У меня не фирменная, но подошел бы эмулятор ДВК. К счастью, такой есть, эмулируются разные системы с архитектурой PDP-11, в том числе и ДВК с процессором К1801ВМ1, а там есть 1801ВП1-030 и 1801ВП1-065, как раз то, что нужно. Своя ПЗУшка подкладывается элементарно, достаточно иметь бинарный образ ПЗУ, имя файла которого вписывается в свой .cfg файл. Файл .cfg проще всего взять имеющийся и приспособить для себя. Я решил, что для моих целей самым подходящм из комплекта .cfg файлов в поставке будет ДВК-1_DX.cfg, его скопирвал в my.cfg, который и подправил. Изменений - минимум:

Назначить свой бинарный образ ПЗУ
BootROM_DataFile = ODT.bin

Поставить свою тактовую частоту
CPU_Frequency_KHz = 4608

Можно подправить время отклика ОЗУ, мой вариант ОЗУ не тормозит, как в ДВК
RAM_Latency_NS = 500

Запретить щелканье таймера на линии, чтоб не мешался. В ODT он не нужен.
InitialStateOf[Timer] = 0

Это всё хорошо, но откуда берется ODT.bin? :roll:


30 May 2018 09:12
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 54 posts ]  Go to page Previous  1, 2, 3, 4  Next

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.