С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Пример организации порта 177714 или 177716 с использованием вывода SEL № 1801ВМ1 :
Для минимизации Э3 можно нижнюю ИРку сменить на ИР22 или АП6.
Для выборки массива КР580ВВ55А с ориентировочными адресами 177620-177636 можно использовать пример из контроллера УТК - 3 :
Почему именно эти адреса ?
Ответ :
Для некотрой совместимости железки с массивом М-ЭВМ на 1801-й и 1806-й серии.
Если не применять 1801ВМ3, то можно использовать и адреса 177600 - 177656, т.к. в ВМ3 по этим адресам сидят регистры ДП.
В 177660-177666 сидят регистры БК-0011М, а диапазон 177000 и выше равномерно занят :
177700 - 177716 - 1801ВМ1
177720 - 177756 - IDE ДВК ( всё еще проектируемое в части дров под RT-11 )
Выше - регистры проца J11 ( 1831ВМ1 ).
Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения MMTEMA@MAIL.RU
Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения MMTEMA@MAIL.RU
[offtop]
Напрягся... Остатки волос встали дыбом....
Программерский калькулятор. 177560. octal->hex. FF70h.
Фффух... это уже другое дело. Сразу всё становится понятным, мир - светлым и радостным
[/offtop]
- - - Добавлено - - -
Когда ПЗУ находится "где-то там", а вектор сброса - в нулевых адресах, как в данном случае происходит старт? Подстановка теневого ПЗУ?
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Кстати, уважаемый господин Патрон добавил в DESS в эмуле ДВК Хексы. Ценой трапования на ассемблере...
Т.е. надо иметь оба ДЕССа - V5.00 и из эмуля.
- - - Добавлено - - -
В старшем байте порта 177716 надо разместить адрес первой исполняемой инструкции ( минимальный шаг - 000400 ), и старт будет именно с неё.
Фокус с жонглированием ПЗУ применяется в 1801ВМ3, где мода пульта начинается с 000000 адрес без вариантов, но в нем есть и режим старта с 24-го вектора ( "авария питания" ) моды пользователя и даже с 173000 адреса пользователя.
- - - Добавлено - - -
Старт с ПЗУ с 000000 адреса в 1801ВМ1 настоятельно не рекомендуется, либо такое ПЗУ надо "прятать в тень". Команды работы с тень в 1801ВМ1 отсуствуют, в отличии от 1801ВМ2.
Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения MMTEMA@MAIL.RU
Технически это делается "фиксированным" содержимым порта на чтение?
Младший байт при чтении может быть произвольным? тогда имеем поле в 256 байт, откуда может быть взята первая инструкция?
Это мне сильно напоминает IM2 на Z80 при нестабильной шине. Там тоже "накрывали поляну" в 256 байт![]()
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Нет, адрес старта только с шагом в 000400 ( 256 байт ). Младший байт 177716 при старте - ССП, рекомендуется значение 000200 ( 128 дес. ), но в нормально сделанной М-ЭВМ, где прерывания постоянно не долбят проц, младший байт можно использовать на усмотрение пользователя. При этом желательно в первой инструкции стартового ПЗУ указать ССП командой :
106427 000340 ( Установить ССП на максимальный приоритет проца )
Блог : http://collectingrd.kxk.ru/ . В ЛС прошу не писать, все сообщения MMTEMA@MAIL.RU
ММ написал: "( минимальный шаг - 000400 )" это оно и есть, насамделе 8-миричка отличается от 16-рички токо тем что один знак кодирует не 4 разряда а 3, вот и все. 400 => 100 000 000 => 1 0000 0000 => 0x100 => 256
ССП = это PSW, советую поставить на свой комп это - http://retrocmp.com/tools/pdp11gui (виртуальный pdp11 и графический tool для работы с реальным pdp11, если в самодельном компе планируется сделать ПУЛЬТъ то эта штука с ним будет работать как с родным pdp11)
Последний раз редактировалось bigral; 07.09.2017 в 16:19.
Именно это я и расписал. И ёмкость байта в любой системе счисления - таки 256 байт.
- - - Добавлено - - -
Команды? Кучеряво живете...
В Специалисте/Орионе просто стоит триггер, отлавливающий обращение по верхним адресам и отключающий после этого доступ к ПЗУ с нулевых. Всё это достаточно просто. Процессор стартует с нуля, читает из ПЗУ команду JMP F800 и оказывается... там и оказывается, и ПЗУ вместе с ним![]()
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
На адрес любые инверторы, на данные - 1533АП16 (двунаправленный буфер с Z, такой же как АП6, но с инверсией). Как-то так.
Хотя данные можно и не инвертировать, ведь прошивку можно заливать уже инверсную (и с ней же и сверять). Тупо целый файл проинвертировать - это же элементарно (когда уже не надо будет в нем переставлять байты из-за инверсного адреса). Таких утилит уже готовых - вагон, например популярный hiew умеет ксорить содержимое файла (а xor 0FFh и есть инверсия).
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)