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

User Tag List

Страница 1 из 5 12345 ПоследняяПоследняя
Показано с 1 по 10 из 43

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

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

    По умолчанию Помогите найти основной тест комманд электроники 60

    Жизнь заставляет заниматься извращением. Возникла необходимость в эмуляторе МС1201 для замены стоек управления ЧПУ.
    В инете нашел несколько исходников и пытаюсь приспособить под свою задачу. Эмулятор будет работать на ARM Cortex M3, заменяя практически всю необходимую переферию станка.
    Запустил с образом К1801РЕ1-000. Работает не так как надо. Где то ошибка в методах адресации. Помогите найти бинарник основного теста команд.
    Или подскажите с какого адреса он находится в указанном ПЗУ.
    Еще очень хотелось бы найти содержимое ПЗУ Электроники 60 К581РУ1-3.
    И детальное описание К581ИК1,2.

    С Уважением

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,996
    Спасибо Благодарностей отдано 
    1,061
    Спасибо Благодарностей получено 
    1,224
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Посмотрите, речь случайно не про этот тест?
    http://zx.pk.ru/showthread.php?t=11557



    Описание этого теста здесь:
    http://grands.land.ru/docs/test0505.htm

    Кстати, выложите пожалуйста прошивку К1801РЕ1-000.

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

    По умолчанию

    Цитата Сообщение от Impartial Посмотреть сообщение
    Помогите найти бинарник основного теста команд.
    В приложении - комплект тестов.

    Подготовка и запуск тестирования выполняется командным файлом:
    Код:
    SPEED
    R FTMON
    C MXPSI
    ^C
    Цепочный файл MXPSI.CCC содержит команды FTMON, запускающие отдельные тесты:

    Код:
    ; ЦЕПОЧНЫЙ ФАЙЛ MXPSI.CCC
    B/1
    ; ОСНОВНОЙ ТЕСТ КОМАНД:
    L 791401
    S
    ;-------------------------------------------
    ; ТЕСТ ПРЕРЫВАНИЙ:
    L 791404
    S
    ;-------------------------------------------
    ; ТЕСТ СИМВОЛЬНОГО ДИСПЛЕЯ:
    L 012101
    S
    ;-------------------------------------------
    ; СИСТЕМНЫЙ ТЕСТ
    L SYST1
    S
    ;-------------------------------------------
    ;  ТЕСТ ПАРАЛЛЕЛЬНОГО ИНТЕРФЕЙСА
    L LPIN
    S
    ;-------------------------------------------
    ;ТЕСТ ПАМЯТИ:
    L 791323
    D 3454=1
    S
    E
    ...

    Я уже год эмулирую МС1201 и к настоящему моменту мой эмулятор успешно проходит следующие тесты:

    ОСНОВНОЙ ТЕСТ КОМАНД
    ТЕСТ ПРЕРЫВАНИЙ
    ТЕСТ СИМВОЛЬНОГО ДИСПЛЕЯ

    :)
    Вложения Вложения
    • Тип файла: zip FTMON.zip (41.6 Кб, Просмотров: 149)
    Последний раз редактировалось Patron; 10.11.2011 в 12:11.

  5. #4
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,996
    Спасибо Благодарностей отдано 
    1,061
    Спасибо Благодарностей получено 
    1,224
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Impartial, насколько я понимаю, на этой плате стоит К1801ВМ1?
    У меня есть код процессора, который проходит тест 791401, но пока не проходит 791404: http://code.google.com/p/bkbtl/sourc...KBTL%2Femubase

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

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    У меня есть код процессора, который проходит тест 791401, но пока не проходит 791404
    Если не ошибаюсь - тест 791404 проверяет (в том числе и) соблюдение строгой последовательности обработки прерываний от последовательных портов при их одновременном приходе. Т.е. тест делает MTPS 0340, затем вызывает установку IRQ от портов передачи и приёма терминала не в том порядке, в каком эти прерывания должны обрабатываться, потом делает MTPS 0 и смотрит, прерывание от какого порта будет обработано первым. Если первым будет обработано прерывание от того порта, который первым выставил запрос IRQ, но по строгому порядку должен быть обслужен вторым - эмуляция не засчитывается :)

    ---------- Post added at 12:57 ---------- Previous post was at 12:36 ----------

    Еще одна тонкость, необходимая для успешного прохождения эмулятором теста 791404 (если не ошибаюсь) в том, что прерывания по готовности выходного порта терминала должны отставать от команды записи в его регистр данных не менее чем на 4 команды процессора.

    ---------- Post added at 13:06 ---------- Previous post was at 12:57 ----------

    Ну и, конечно - прерывание при установке бита 6 (бит разрешения прерываний) в регистре готового устройства (установлен бит 7) должно происходить строго через одну команду процессора после команды установки бита 6.

    Если следующая команда сбросит бит 6 ( а значит - отменит IRQ ) - эмулятор должен выполнять HALT_Trap_To_SEL1+012, но если следующая команда не только сбросит бит 6, но и вызовет сброс шины - отмена IRQ должна проходить без проблем.

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

    По умолчанию

    Спасибо !
    Буду пробовать. Я пытаюсь запустить исходник от Robert M Supnik с опциями эмуляции LSI 11/03.
    Начал проект позавчера. Пока дошел до непоняток с регистром 177716.
    При любых конфигурациях бит загрузки вылетает в HALT.
    Буду начинать с теста команд, прерываний ... Ну и вспоминать ВМ1.
    А в ПЗУ наверняка есть этот тест. По моему вызывался по Т0 с терминала ДВК. Адрес какой?
    Кстати, выложите пожалуйста прошивку К1801РЕ1-000.
    Эту прошивку я нашел где то в недрах этого сайта.
    Вложения Вложения
    • Тип файла: rar 000.rar (3.5 Кб, Просмотров: 138)

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Если первым будет обработано прерывание от того порта, который первым выставил запрос IRQ, но по строгому порядку должен быть обслужен вторым - эмуляция не засчитывается
    По моему а ПДП11 нет программных приоритетов прерываний от УВВ . Приоритет определяется местом установки платы УВВ в корзине. Чем ближе к процессору ( в электрической цепочке линии IRQ) тем выше приоритет.

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

    По умолчанию

    Цитата Сообщение от Impartial Посмотреть сообщение
    А в ПЗУ наверняка есть этот тест. По моему вызывался по Т0 с терминала ДВК. Адрес какой?
    По T0 запускается выполнение всех тестов ( T1 - T6 ) подряд (таймер должен быть выключен).

    В моём эмуляторе МС1201 успешно проходят тесты T1 - T4 :

    Код:
    160442
    @T0
    ТЕСТ     1
     
    ТЕСТ     2
    ПАМЯТЬ   020000 -157776
    ПАМЯТЬ   000600 -017776
     
    ТЕСТ     3
     
    ТЕСТ     4
    ВВЕДИТЕ СЛЕДУЮЩИЕ СИМВОЛЫ:
     
    1 2 3 4 J C U K
    1 2 3 4 J C U K
    ТЕСТ     5
     
    ДЕФЕКТ   71
     
    002046
    @

    Код ПЗУ, запускающий тесты, выглядит так:

    Код:
    ROM:160754   Cmd_T:        Call    GetChar
    ROM:160760                 BiT     #2000, R1
    ROM:160764                 BNE     BadCmdChar
    ROM:160766                 Cmp     #6, R0
    ROM:160772                 BCS     BadCmdChar
    ROM:160774                 Mov     R0, @#456
    ROM:161000                 ASL     R0
    ROM:161002                 Add     #T0, R0
    ROM:161006                 Mov     R0, R4
    ROM:161010                 Mov     (R4), R4
    ROM:161012                 Jmp     @#160306
    
    ROM:160306                 Clr     @#177644
    ROM:160312                 BiS     #^B1100, @#177716   ; SEL1
    ROM:160320                 Jmp     (R4)
    
    ROM:161410   T0:           .Word   167430
    ROM:161412   T1:           .Word   167652
    ROM:161414   T2:           .Word   164354
    ROM:161416   T3:           .Word   164354
    ROM:161420   T4:           .Word   164354
    ROM:161422   T5:           .Word   164354
    ROM:161424   T6:           .Word   164354


    ---------- Post added at 13:47 ---------- Previous post was at 13:42 ----------

    Цитата Сообщение от Impartial Посмотреть сообщение
    По моему а ПДП11 нет программных приоритетов прерываний от УВВ . Приоритет определяется местом установки платы УВВ в корзине. Чем ближе к процессору ( в электрической цепочке линии IRQ) тем выше приоритет.
    Дело в том, что передающий и принимающий порты - это разные устройства, но находящиеся в одном контроллере. Их невозможно воткнуть в корзину в произвольном порядке, поэтому их приоритет относительно друг друга определяется схемотехникой самого контроллера. Следовательно, нарушение их приоритета означает физическое повреждение контроллера, что и проверяет тест.

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

    По умолчанию

    Дело в том, что передающий и принимающий порты - это разные устройства, но находящиеся в одном контроллере. Их невозможно воткнуть в корзину в произвольном порядке, поэтому их приоритет относительно друг друга определяется схемотехникой самого контроллера. Следовательно, нарушение их приоритета означает физическое повреждение контроллера, что и проверяет тест.
    Судя по документации вставлять УВВ в корзину в произвольном порядке можно, но только без разрывов (по линии IAKO).
    При получении сигнала VIRQ процессор (при разрешенных прерываниях)
    формирует безадресный цикл шины (без SYNC) выставляя сигналы DIN и IAKO.
    УВВ принимая сигнал IAKO блокирует его прохождение далее по цепочке и выставляет на шину адрес своего вектора прерывания, подтверждая выдачу сигналом RPLY и снимая свой запрос по линии VIRQ. Процессор снимает последовательно сигналы DIN,IAKO завершая цикл приема вектора, а устройство отвечает снятием сигнала RPLY.
    Таким образом определить какое устройство вызвало прерывание можно только по адресу вектора им выданном и больше никак.
    Повреждение блока прерывания в УВВ проверить так нельзя.

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

    По умолчанию

    Цитата Сообщение от Impartial Посмотреть сообщение
    Судя по документации вставлять УВВ в корзину в произвольном порядке можно
    Речь идёт не о разных устройствах, находящихся на разных платах, а о разных портах (регистрах) одного устройства, схемотехнически реализованных на единой плате (в обсуждаемом случае - о передающем и приёмном портах терминала на плате МС1201 ), выдающих прерывания по разным векторам.

    Так порт приёма контроллера терминала имеет регистр команд по адресу 0177560 и выдаёт прерывания по вектору 060, а порт передачи контроллера терминала имеет регистр команд по адресу 0177564 и выдаёт прерывания по вектору 064.

    Когда за время маскирования прерываний успевают "созреть" запросы IRQ и от порта передачи терминала, и от порта приёма - то после MTPS 0 оба прерывания должны быть обслужены непосредственно одно за другим - в порядке аппаратного приоритета.

    Порядок этот однозначно и единообразно определяется схемотехникой платы МС1201 и никак не зависит от её положения в корзине.

Страница 1 из 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

Ваши права

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