Важная информация

User Tag List

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 43

Тема: Помогите найти основной тест комманд электроники 60

  1. #21
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Impartial Посмотреть сообщение
    Скажите какой адрес регистра SEL2?
    Адрес SEL2 = 0177714, но ни процессор, ни ПЗУ пульта не обращаются к этому регистру.

  2. #22
    Junior
    Регистрация
    10.11.2011
    Адрес
    Луганск, Украина
    Сообщений
    20
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Адрес SEL2 = 0177714, но ни процессор, ни ПЗУ пульта не обращаются к этому регистру.
    А как монитор узнает сколько памяти установлено?
    И еще вопрос. Включаются области ПЗУ установкой или сбросом битов в 0177716 Ф1,Ф2?

    161012 000167 JMP 160306
    160306 005037 CLR @#177644
    160312 052737 BIS #14,@#177716
    160320 000114 JMP (R4)

    Вот после этого куска где установлены оба бита эмулятор правильно выбрал следующую команду или должен был уйти на обработку ошибки обращения к каналу? Это кусок теста процессора на который выход по Т3 с пультового режима.
    Сейчас после команды 160320 000114 JMP (R4) происходит прерывание, т.е эта команда выполняется.
    Последний раз редактировалось Impartial; 15.11.2011 в 16:43.

  3. #23
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Impartial Посмотреть сообщение
    А как монитор узнает сколько памяти установлено?
    При начальной загрузке выполняется чтение/запись ячеек памяти с некоторым шагом (возможно = 1К) и при возникновении TrapTo_04 - предыдущий успешно считанный и записанный адрес принимается за вершину памяти.

    Цитата Сообщение от Impartial Посмотреть сообщение
    И еще вопрос. Включаются области ПЗУ установкой или сбросом битов в 0177716 Ф1,Ф2?
    1. Код ПЗУ, содержащий загрузчик с DX, всегда виден в диапазоне 0173000..0174000.
    2. При появлении на шине сигнала DCLO плата МС1201 устанавливает в 0177716 (SEL1) бит 2, подключая в адресное пространство код ПЗУ в диапазоне 0160000..0163777.
    3. При обработке HALT_Trap процессор 1801ВМ1 устанавливает в SEL1 бит 3, подключая в адресное пространство код ПЗУ в диапазоне 0160000..0172777.
    4. При выполнении команд START и STEP процессор 1801ВМ1 сбрасывает в SEL1 бит 3, пытаясь полностью отключить ПЗУ пульта из адресного пространства, но если бит 2 SEL1 не был до того сброшен - при сбросе бита 3 SEL1 код ПЗУ отключается только в диапазоне 0164000..0172777.

    161012 000167 JMP 160306
    160306 005037 CLR @#177644
    160312 052737 BIS #14,@#177716
    160320 000114 JMP (R4)

    Вот после этого куска где установлены оба бита эмулятор правильно выбрал следующую команду или должен был уйти на обработку ошибки обращения к каналу? Это кусок теста процессора на который выход по Т3 с пультового режима.
    Сейчас после команды 160320 000114 JMP (R4) происходит прерывание, т.е эта команда выполняется.
    Зависит от значения R4. Если в R4 находится адрес программы обработки команды T3 в ПЗУ пульта - то установка битов 2 и 3 SEL1 гарантирует присутствие кода ПЗУ пульта в адресном пространстве.

  4. #24
    Junior
    Регистрация
    10.11.2011
    Адрес
    Луганск, Украина
    Сообщений
    20
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    1. Код ПЗУ, содержащий загрузчик с DX, всегда виден в диапазоне 0173000..0174000.
    2. При появлении на шине сигнала DCLO плата МС1201 устанавливает в 0177716 (SEL1) бит 2, подключая в адресное пространство код ПЗУ в диапазоне 0160000..0163777.
    3. При обработке HALT_Trap процессор 1801ВМ1 устанавливает в SEL1 бит 3, подключая в адресное пространство код ПЗУ в диапазоне 0160000..0172777.
    4. При выполнении команд START и STEP процессор 1801ВМ1 сбрасывает в SEL1 бит 3, пытаясь полностью отключить ПЗУ пульта из адресного пространства, но если бит 2 SEL1 не был до того сброшен - при сбросе бита 3 SEL1 код ПЗУ отключается только в диапазоне 0164000..0172777.
    Я не корректно задал вопрос.
    В коде начального старта сразу идет установка бита 3 и сброс бита 2 в 0177716

    160000 000406 BR .+16
    160016 052737 BIS #10,@#177716
    160024 042737 BIC #4,@#177716
    160032 012706 MOV #177614,SP

    Если бы запись "0" в бит 2 закрывала ПЗУ с адреса 160000, то все дальнейшее не имело бы смысла.
    Похоже, что "0" открывает скрытое ПЗУ с адреса 160000.
    Хотя исходя из логики работы шины "0" это "1" ведь шина инверсная.

    Я не внимательно прочитал Ваш пост, извиняюсь.

    Цитата Сообщение от Patron Посмотреть сообщение
    Т.е. по команде HALT (как и по сигналу IRQ1, устанавливаемому переключателем "Пульт") процессор 1801ВМ1 сохраняет PSW в слове памяти по адресу 0177676, сохраняет PC по адресу 0177674, устанавливает бит 3 в регистре SEL1 (по адресу 177716), подключая ПЗУ пульта в адресное пространство, считывает адрес начального пуска из старшего байта SEL1, прибавляет к нему 02 и считывает оттуда вектор (т.е. PC и PSW) программы обработки прерывания HALT.
    Что однозначно указывает, что процессор работает в HALT моде, установка бита 3 в 0177716 или установка бита 10 в PSW?
    Последний раз редактировалось Impartial; 16.11.2011 в 12:16.

  5. #25
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Impartial Посмотреть сообщение
    В коде начального старта сразу идет установка бита 3 и сброс бита 2 в 0177716
    Бит 2 сбрасывается для того, чтобы после выполнения команды START код ПЗУ пульта полностью отключился из адресного пространства. Если бит 2 останется установленным, что сброс бита 3, выполняемый командой START, приведёт к отключению кода ПЗУ из адресного пространства только в диапазоне адресов 0164000..0172777.

    Если бы запись "0" в бит 2 закрывала ПЗУ с адреса 160000, то все дальнейшее не имело бы смысла.
    Если установлен бит 3 в SEL1, то значение бита 2 не играет роли. Бит 2 в SEL1 влияет на подключение/отключение кода ПЗУ только тогда, когда бит 3 в SEL1 сброшен.


    Что однозначно указывает, что процессор работает в HALT моде, установка бита 3 в 0177716 или установка бита 10 в PSW?
    Установка бита 10 в PSW. Единственное отличие HALT-моды процессора 1801ВМ1 от USER-моды в том, что прерывание зависания, вызывающее в USER-моде TrapTo_04, в HALT-моде обрабатывается как HALT_TrapTo_SEL1+02.

  6. #26
    Junior
    Регистрация
    10.11.2011
    Адрес
    Луганск, Украина
    Сообщений
    20
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Patron, Извиняюсь за навязчивость.
    Скажите назначение адреса 0177776 и если можно список всех ячеек памяти важных для платы МС1201. Я имею в виду системных без периферии.

  7. #27
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Impartial Посмотреть сообщение
    Скажите назначение адреса 0177776 и если можно список всех ячеек памяти важных для платы МС1201. Я имею в виду системных без периферии.
    Если запись по адресу 0177776 не приводит к TrapTo_04, то тест процессора сообщает об обнаружении дефекта 12 - "Ошибка при отработке прерывания по несуществующему адресу".

    У процессора 1801ВМ1 есть регистры, которые отсутствуют у процессора LSI-11 ( "Электороника 60" ). Вряд ли есть смысл заниматься их эмуляцией при условии совместимости с LSI-11.

    Для работы ПЗУ пульта платы МС1201 и команд START и STEP процессора 1801ВМ1 - требуется наличие ячеек ОЗУ в диапазоне адресов 0177600..0177677.

  8. #28
    Junior
    Регистрация
    10.11.2011
    Адрес
    Луганск, Украина
    Сообщений
    20
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Patron, Огромное Вам спасибо за консультации и поддержку!
    Прошли тесты 1,2,3 и 4, т.е правильно сделана эмуляция терминала.
    Будем работать дальше по периферии. Ну и сделаем (на досуге) поддержку дисковода, чтобы поиграть в XONIX

  9. #29
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Impartial Посмотреть сообщение
    сделаем (на досуге) поддержку дисковода
    Предлагаю первым делом реализовать поддержку псевдоустройства HD, позволяющего подключать к эмулятору образы любых размеров.

    В приложении - исходник драйвера HD.SYS для RT-11 и образ загрузочного диска HD с тестами TMOS для платы МС1201.

    Для поддержки устройства HD эмулятор должен обслуживать его регистры HDCSR = 0177720 и HDDATA = 0177722.

    Драйвер HD передаёт в HDCSR следующие команды:

    Код:
    SetUni		= 1	; Set HD unit number
    SetBlk		= 2	; Set HD block number
    SetBuf		= 3	; Set memory buffer address
    SetWCn		= 4	; Set operation word count
    CmdRea		= 5	; Execute READ  on HD
    CmdWri		= 6	; Execute WRITE on HD
    GetSiz		= 7	; Get HD size in blocks.
    Если после получения команды эмулятор установит старший бит HDCSR - это будет признак ошибки.

    "memory buffer address", записываемый драйвером HD в регистр HDDATA перед выдачей в HDCSR команды 3 ( Задать адрес в памяти ) - это адрес эмулируемой памяти ДВК, начиная с которого эмулятор должен читать или писать данные, при получении в HDCSR команды 5 (Читать образ диска в память) или 6 (Писать память в образ диска).

    Смещение от начала образа диска для команд чтения и записи (в блоках по 512 байт) задаётся содержимым HDDATA при получении эмулятором в HDCSR команды 2 ( Задать номер блока ).

    При получении в HDCSR команды 7 ( Сообщить размер образа ) эмулятор должен записать в HDDATA размер файла образа (в блоках по 512 байт), подключенного к приводу, заданному до того командой 1 ( Задать номер привода ), или 0, если к этому приводу образ диска в эмуляторе не подключен. При выполнении команды 7 признак ошибки не устанавливается.

    Устройство HD должно выполнять команды "мгновенно" для обслуживаемого процессора, поэтому на время выполнения команд HD - процессор надо останавливать.
    Вложения Вложения
    • Тип файла: zip HD.zip (256.4 Кб, Просмотров: 155)
    • Тип файла: zip HDSYS.zip (6.0 Кб, Просмотров: 193)
    Последний раз редактировалось Patron; 09.12.2015 в 15:57.

  10. #30
    Junior
    Регистрация
    10.11.2011
    Адрес
    Луганск, Украина
    Сообщений
    20
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Предлагаю первым делом реализовать поддержку псевдоустройства HD, позволяющего подключать к эмулятору образы любых размеров.

    В приложении - исходник драйвера HD.SYS для RT-11 и образ загрузочного диска HD с тестами TMOS для платы МС1201.

    Для поддержки устройства HD эмулятор должен обслуживать его регистры HDCSR = 0177720 и HDDATA = 0177722.

    Драйвер HD передаёт в HDCSR следующие команды:
    А каким образом будет происходить загрузка с этого диска? Ведь в ПЗУ, насколько я понял, нет для него загрузчика.
    А образа нет поменьше размером, а то этот не влезет в микроконтроллер.
    В нем 512кб флеша, из них около 18кб сам эмулятор, остальное можно под диск выделить.

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Основной экран в 24 строки
    от Den Zurin в разделе Для начинающих
    Ответов: 5
    Последнее: 12.12.2010, 09:07
  2. Помогите найти игру
    от RRRoman в разделе Игры
    Ответов: 2
    Последнее: 14.01.2007, 13:26
  3. помогите найти программу-тест
    от John North в разделе Софт
    Ответов: 1
    Последнее: 27.12.2006, 18:57
  4. Помогите найти музон!
    от Darkman007 в разделе Музыка
    Ответов: 12
    Последнее: 11.12.2005, 13:39

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •