PDA

Просмотр полной версии : тест таймера - как?



Atari1974
08.12.2015, 17:08
Есть БК-0010-01 с жесткой клавой. Как набрать тест таймера что бы убедиться в исправности. Есть базовый набор без возможности что либо загрузить.

Patron
08.12.2015, 19:30
Есть БК-0010-01 с жесткой клавой. Как набрать тест таймера что бы убедиться в исправности.Если речь о том таймере, который имеет регистры по адресам 177706..177712, то последовательность такая.

1. Прочитать содержимое 177706 и 177710 - после включения питания там случайные ( но неизменные у каждого конкретного экземпляра ) значения, например - 104014 и 177777;
2. Прочитать содержимое 177712 - после включения питания там должно быть 177400 восьмеричное;
3. Записать 0 в 177706 и проверить результат - должно записаться;
4. Записать 0 в 177710 и проверить результат - записаться не должно ( этот регистр только для чтения );
5. Записать восьмеричное 160 ( десятичное 112 ) по адресу 177712 - таймер должен начать непрерывный счёт.
6. Читать содержимое счётчика по адресу 177710 - оно должно постепенно уменьшаться.

Atari1974
08.12.2015, 20:38
Спасибо конечно но не повезло мне, после третьего включения видимо блок питания сдох. Лампочка не горит и иногда что то свистит. Когда бэкашку от него откоючаешь то при включении кирпича кнопкой лампочка загорается а когда саму бэкашку включаешь то гаснет. Жаль. И где теперь питалово другое взять, я же в электронике не разбираюсь :( Блок типа кирпич ревизии 02

- - - Добавлено - - -

Пока блок был жив прогнал тест с блоком наргузок и фокалом. Тесты из инструкции. Все тесты пройдены. Хотел этот таймер еще протестить а не судьба. Помню раньше когда определенные игры скроллингом глризонтальным шли и если глючили в определенных местах то говорили что таймер барахлит.

Jarik65535
11.12.2015, 14:54
А музыка в заставке demon stalker тоже с помощью таймера сделана? Есть у кого алгоритм ее генерации?

SKcorp.
11.12.2015, 15:18
А музыка в заставке demon stalker тоже с помощью таймера сделана? Есть у кого алгоритм ее генерации?

А там разве была музыка?

Jarik65535
11.12.2015, 15:36
А там разве была музыка?

Вроде да, я даже кусок кода переписывал на бумажку в восьмиричном виде. Вроде она играет если с адреса 1100 запустить, давно это было.

SuperMax
17.12.2015, 06:50
если возможность загрузить появится - есть мои тесты таймера TIM74 и TIM791
один быстрый, другой полный.
серьезные проблемы выявляет быстрый, но в 15% случаев только полный

из игр, можно считать одним из неполных тестов - Plate

таймер штука сложная и без теста на коленке путем не проверить. я совсем не случайно написал тест тк в свое время ремонтировал БКшки. Вариант предложенный Патроном выявит только самые серьезные проблемы.

shattered
07.11.2024, 21:44
есть мои тесты таймера TIM74 и TIM791

хочу потестировать ими эмулятор -- где их взять?

shattered
08.11.2024, 00:27
отдельный вопрос по тесту Савельева CPUTEST2 -- что имел в виду автор, переписывая счетчик таймера в его CSR?


TICK: MOV @#177710,@#177712 ; пишем данные в регистр управления, если счётчик стоит, то там то же значение,
; что и в 177706, т.е. 110275
CMP #177777,COUNT ; не даем счетчику переполниться
BEQ STOP
INC COUNT
STOP: ADD @#177706,@#177712 ; 110275 прибавляем в регистр управления. тут надо знать, что доступно в РУ по чтению.

gid
08.11.2024, 08:35
что имел в виду автор, переписывая счетчик таймера в его CSR?
Если посмотреть внимательно, то этот код используется в прерывании по вектору 100 для определения частоты процессора.
И значение регистров ВЕ таймера и его состояние не имеют никакого значения. Т.е. эти команды нужны просто для задания какой-то, строго определённой задержки.
Там потом по значению COUNT выводится на экран примерная частота работы процессора.

shattered
08.11.2024, 14:42
Ага...

В эмуляторе (MAME) CPUTEST2 показывает скорость работы >7 МГц, вместо 4.



CHK04S: MOV #C4V04E,@#4 ; проверим. куда приведет jmp rn, на вектор 4
...
MOV #340,R2 ; выставляем PSW
MTPS R2 ; у проги
MOV R2,@#6 ; у вектора 4
MOV R2,@#12 ; у вектора 10 <<<


Тест скорости замеряет время работы эмулятора FIS, при этом прерывания при входе в него остаются запрещены и TICK может не выполниться.

А TIMERTST пропускает этот кусок кода и тест работает корректно.

SuperMax
08.11.2024, 18:30
хочу потестировать ими эмулятор -- где их взять?

все просто - ищем как и любой другой софт
https://mirrors.pdp-11.ru/search.php?text=tim791

shattered
10.11.2024, 20:17
ага

оба теста проходят, можно коммитить

shattered
09.12.2024, 21:22
Однако же нет, рано коммитить -- нашел в своем коде ошибку в режиме OS (csr &= RUN вместо csr &= ~RUN)

Заодно вопрос -- как предполагается сбрасывать запрос на прерывание таймера в ВМ1Г? https://github.com/1801BM1/cpu11/blob/master/vm1/doc/1801vm1.pdf это не объясняет.