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

User Tag List

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

Тема: Тесты ВМ1

Комбинированный просмотр

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

    По умолчанию Тесты ВМ1

    Судя по поиску, тут этого ещё не пробегало. Для эмуляции БК будет крайне полезно.
    http://bk0010.org/forum/?id=3716&page=
    ? anonymous - 11.12.2009 22:58
    А тесты 791401, 791404 и 791323 проходят?
    ? anonymous - 11.12.2009 23:39
    Первые два - из комплекта сдаточных тестов ВМ1, тест инструкций процессора и тест прерываний, третий - расширенный тест ОЗУ. Они обругают, если что-то не так съемулировано. Загружаются с адреса 0, диагностику выводят на учительскую машину через блок ИРПС. ИРПС эмулировать не сложно, там 4 регистра, перемычкой их адрес задается 0176560..0176567 для школьного бейсика и 0177560..0177567 для школьного фокала, последний вариант - стандартные адреса терминала в pdp11, на этих адресах и следует добавить эмуляцию с выводом в соседнее, например, окно, или в файл. В *560м регистре имеются два бита, 6й и 7й. 7 бит *560го регистра устанавливается, если во входной регистр *562 поступил новый байт, а если перед приемом байтов установить в 1 6й бит *560го регистра, то произойдет прерывание с вектором, адрес которого читается из регистра *566. *562й регистр - буфер приемника, оттуда считывается последний принятый байт, по записи регистр ничего не делает. В регистре *564 имеются тоже два бита, 6й и 7й, с тем же назначением, что и у приемника, 7й бит устанавливается в 0, когда процессор пишет байт в буфер передатчика, *566, и устанавливается в 1, когда заканчивается передача, т.е. когда буфер готов к приему следующего байта. Если при установке 7го бита был установлен 6й, то по готовности передатчика возникает прерывание с вектором, на 4 бОльшим, чем считываемое из регистра *566 значение. Регистр *566 - по записи - буфер передатчика, по чтению - регистр вектора прерывания, при установке адресов 0176560..0176567 вектор считывается 0360, приемник прерывает работу по 0360му вектору, а передатчик - по 0364му, при установке адресов 0177560..0177567 - адрес вектора 060 для приемника и 064 для передатчика.
    По команде процессора reset все биты в регистрах приемника обнуляются, а в регистре передатчика устанавливается бит 7 - готовности к передаче.
    Вложения Вложения
    • Тип файла: zip tests.zip (10.4 Кб, Просмотров: 490)

  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)

    По умолчанию

    Необходимое дополнение от Alex_K:
    Эти тесты запускаются по значению вектора по сбою питания (24 вектор).
    У всех тестов получается стартовый адрес равен 0200, значение PSW равно нулю.

  4. #3
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Уважаемые владельцы реальных БК-0010-01, выполните в Бейсике такую программку:
    Код:
    10 DATA &O010046,&O012700
    20 DATA &O000520,&O010020
    30 DATA &O016715,&O000004
    40 DATA &O012600,&O000207
    100 RESTORE
    110 FOR I%=&O500 TO &O516 STEP 2
    120 READ A%
    130 POKE I%,A%
    140 NEXT I%
    150 DEF USR0=&O500
    160 A%=USR0(0%)
    170 PRINT OCT$(A%)
    Хотелось бы узнать, какой результат получается - 520 или 522.
    Сама программка:
    Код:
    000500: MOV R0,-(SP)
    000502: MOV #520,R0
    000506: MOV R0,(R0)+
    000510: MOV 520,@R5
    000514: MOV (SP)+,R0
    000516: RETURN
    000520: .BLKW 1

  5. #4
    Junior
    Регистрация
    11.12.2009
    Адрес
    Москва
    Сообщений
    14
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Хотелось бы узнать, какой результат получается - 520 или 522.
    520

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

    По умолчанию

    Проходя по шагам тест 791401, исправил работу команд MARK, MFPS и RTT.
    Теперь тест выдает:
    <00>
    <0e>k prohod
    <0e>k prohod
    <0e>k prohod
    ...и так далее в цикле.
    (В угловых скобках записаны коды неотображаемых символов.)

  7. #6
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кстати, все эти тесты входят в состав ТМОС. Дискета с тестами и краткая инструкция к ним находятся на сайте Grand.
    В прикрепленном файле загрузочный образ для УКНЦ.
    ВНИМАНИЕ!!! Перед запуском FTMON обязательно нужно выключить таймер!
    После загрузки на ошибку "Invalid command" не надо обращать внимание - просто нет программы DATIME.SAV, она в принципе и не нужна.
    Вложения Вложения

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    В прикрепленном файле загрузочный образ для УКНЦ.
    ВНИМАНИЕ!!! Перед запуском FTMON обязательно нужно выключить таймер!
    Алексей, у тебя на реальной машинке этот диск работает?
    На эмуляторе как ни пробовал -- выпадает при загрузке теста в память:

    .FTMON
    ,L 791401
    *** СТОП ***

  9. #8
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Алексей, у тебя на реальной машинке этот диск работает?
    На эмуляторе как ни пробовал -- выпадает при загрузке теста в память:

    .FTMON
    ,L 791401
    *** СТОП ***
    Он и должен выпадать, в инструкции сказано, что после загрузки по команде L надо запустить тест с адреса 200, либо выйти на командную строку по адресу 30124.
    Запускать тесты лучше командой R для бесконечного прохода или O для однократного прохода. Бесконечный проход можно прервать клавишей СТОП и запуститься с адреса 30124 для выхода в командную строку.

    Кстати тест 791403 (команды FIS) на реальной УКНЦ, также как и на эмуляторе, вываливается по зависанию в пультовый монитор. Этот тест предназначен для платы МС 1201.2 с ПЗУ 1801РЕ2-055, там эмулятор FIS немного по другому сделан.

    ---------- Post added at 23:18 ---------- Previous post was at 23:09 ----------

    Еще небольшое дополнение по эмулятору УКНЦ: где-то ошибка при эмуляции канала 2, поэтому после выпадения в СТОП и запуска по новому адресу происходит снова выпадение в СТОП по адресу 64. Это срабатывает прерывание от клавиатуры, хотя не должно быть. По всей видимости канал 0 дает запрос на прерывание, но они запрещены, после чтения регистра данных запрос должен сброситься, но он не сбрасывается.
    Исходя из этого лучше в debug-консоли для ЦП набрать команду g200 и запустить тест командой O. Я их таким образом и гонял. Есть ошибки в эмуляции команд ASH и ASHC.

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Еще небольшое дополнение по эмулятору УКНЦ: где-то ошибка при эмуляции канала 2, поэтому после выпадения в СТОП и запуска по новому адресу происходит снова выпадение в СТОП по адресу 64. Это срабатывает прерывание от клавиатуры, хотя не должно быть. По всей видимости канал 0 дает запрос на прерывание, но они запрещены, после чтения регистра данных запрос должен сброситься, но он не сбрасывается.
    Исходя из этого лучше в debug-консоли для ЦП набрать команду g200 и запустить тест командой O. Я их таким образом и гонял. Есть ошибки в эмуляции команд ASH и ASHC.
    У меня сейчас тест 791401 проходит -- запуском через R либо O -- перенёс вчерашние исправления MARK, MFPS и RTT из BKBTL.
    Но есть проблема с тестом 791404 -- я тебя письмом выслал трассу -- посмотри если не трудно. Там валится на примере с установкой бита T через RTT и затем вызовом IOT.

  11. #10
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    У меня сейчас тест 791401 проходит -- запуском через R либо O -- перенёс вчерашние исправления MARK, MFPS и RTT из BKBTL.
    Но есть проблема с тестом 791404 -- я тебя письмом выслал трассу -- посмотри если не трудно. Там валится на примере с установкой бита T через RTT и затем вызовом IOT.
    По всей видимости проблема в том, что прерывание по биту T не должно исполняться, ведь исполнение IOT загружает новый PSW, а там по всей видимости бит T сброшен и прерывания по биту T не должно возникнуть.

    P.S. Для процессора ВМ2 предназначен тест 691401, по 791401 он вываливается в СТОП.

Страница 1 из 8 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Тесты железа
    от Almaz в разделе Софт
    Ответов: 3
    Последнее: 18.03.2006, 02:33

Ваши права

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