1 Отредактировано Voldemar0 (14-02-2017 20:51)

Тема: Мелкие программки на ассемблере для сисмона

Привет!

На разных форумах и тут тоже бывают всякие истории о ремонтах агатов. Вы ведь часто используете всякие самописные мелкие (байт на 10-40) программки, которые позволяют из сисмона проверить разные блоки машины. Ну там дисководу головки погонять, экран полосками изрисовать, память как нибудь заполнить и т.д.

Есть мысль: собрать такие программки в одной теме.

Если не знаете как что-то сделать, есть только идея или черновик, всё равно напишите - я подправлю и проверю. Желательно, если программка будет без изменений работать на обеих архитектурах.

2 Отредактировано Wierzbowsky (14-02-2017 21:21)

Re: Мелкие программки на ассемблере для сисмона

Проверка режима экрана Эппла.

Команды:

400:A0
401<400.7FFM
1800:A2 00 8A 9D 00 04 E8 D0 F9 2C 54 C0 2C 51 C0 60
1800G

Результат работы:

http://podrezov.com/temp/done.jpg

Автор:  avivanov76

3 Отредактировано Wierzbowsky (15-02-2017 16:27)

Re: Мелкие программки на ассемблере для сисмона

Проверка работы графики Агата-9.

Команды:

1800:A9 40 85 81 A0 00 84 80 98 91 80 C8 D0 FB E6 81 A5 81 C9 80 F0 0C 4A 4A 4A 29 03 AA BD 23 18 4C 09 18 60 00 55 AA FF
1800G
C720

Результаты работы:

http://www.podrezov.com/agat/test1.jpg

4 Отредактировано Wierzbowsky (14-02-2017 21:21)

Re: Мелкие программки на ассемблере для сисмона

Простой тест экранного ОЗУ.

Команды:

1800:A9 00 AA A8 9D 00 14 E8 D0 FA DD 00 14 F0 03 2C 30 C0 E8 D0 F5 C8 D0 F2 18 69 01 4C 04 18
1800G

Описание:

Программа пишет байт в 256 ячеек (посреди отображаемого экрана), а потом 256 раз читает эти 256 ячеек и сравнивает, тот ли байт прочелся. Если не тот, дергает бипер. Потом берет следующее число и все с начала. Одно значение проверяется где-то полсекунды, если чтение неустойчивое, должны быть слышны странные звуки (правда, если совсем не повезет, может уйти в ультразвук).

Автор:  avivanov76

5 Отредактировано Wierzbowsky (14-02-2017 21:21)

Re: Мелкие программки на ассемблере для сисмона

Различные тестилки для установки вместо Монитора.

Шьём соответствующий объектник в ПЗУ (D6), ставим в панельку вместо Монитора. В процессе работы anykey - пауза/возобновление работы.

DgnRamWO - диагностика записи.
DgnRAMWR - диагностика записи и чтения.

TstMMU - читаем содержимое маппера до инициализации после включения питания, затем маппим 0-7 на 0-7, и опять читаем.

CGVRWO28.zip
CGVRWR28.zip
На сегменты 2-3 подключаем банки 8-9 и отображаем их в ЦГВР и тестируем их. Одна только запись, вторая - запись с последующим чтением.

Запустите эти прошивки в эмуляторе чтобы посмотреть как должно выглядеть на исправной плате.

Автор:  LeoN65816

Post's attachments

Attachment icon CGVRWO28.zip 1.33 kb, 54 downloads since 2017-02-14 

Attachment icon CGVRWR.zip 1.46 kb, 56 downloads since 2017-02-14 

Attachment icon CGVRWR28.zip 1.47 kb, 55 downloads since 2017-02-14 

Attachment icon DgnRamWO.zip 785 b, 58 downloads since 2017-02-14 

Attachment icon DgnRamWR.zip 855 b, 55 downloads since 2017-02-14 

Attachment icon TstMMU.zip 1.06 kb, 56 downloads since 2017-02-14 

6

Re: Мелкие программки на ассемблере для сисмона

Ой, я халявщик. Всю трудную работу по оформлению моих тестов за меня уже сделали. Спасибо, Wierzbowsky!
Единственно, надо дополнить, что "проверка работы графики Агата" предназначена для девятки.
А "простой тест экранного ОЗУ" оказался бестолковым из-за маленького объема проверяемой области и того, что каждое чтение вызывает регенерацию соответствующей строки. Поэтому по факту проверяется хранение данных между моментом записи и первым чтением, а это всего около 2,6 миллисекунд, что конечно мало.

7

Re: Мелкие программки на ассемблере для сисмона

avivanov76 пишет:

Ой, я халявщик. Всю трудную работу по оформлению моих тестов за меня уже сделали. Спасибо, Wierzbowsky!
Единственно, надо дополнить, что "проверка работы графики Агата" предназначена для девятки.
А "простой тест экранного ОЗУ" оказался бестолковым из-за маленького объема проверяемой области и того, что каждое чтение вызывает регенерацию соответствующей строки. Поэтому по факту проверяется хранение данных между моментом записи и первым чтением, а это всего около 2,6 миллисекунд, что конечно мало.

:) Это вам спасибо. Поправил описание графтеста для девятки. Что поправить в записи про тест экранного ОЗУ?

8

Re: Мелкие программки на ассемблере для сисмона

Wierzbowsky пишет:

Что поправить в записи про тест экранного ОЗУ?

Ладно пусть пока так останется, предупреждение, что тест не слишком полезный я сделал :) Может, когда время свободное появится, подумаю, как сделать нормальный тест, работающий из ПЗУ.

9 Отредактировано Voldemar0 (25-02-2017 11:10)

Re: Мелкие программки на ассемблере для сисмона

Проверка графики 128x128x16, обе архитектуры

Выводит 16 цветных горизонтальных полос

4000:A9 60 85 81 A0 00 84 80
4008:A5 81 4A 29 0F 85 E0 0A
4010:0A 0A 0A 05 E0 91 80 C8
4018:D0 FB E6 81 A5 81 C9 80
4020:D0 E6 8D 31 C7 60 00 00
4000G

Тест клавиатуры 2, обе архитектуры

Нажимайте клавиши, любая клавиша будет выведена как символ, включая специальные.

РЕГ/Shift меняют алфавит, РУС/LAT переключают регистр

4000:A0 00 AD 03 C0 10 FB 2C
4008:16 C0 0A 0E 63 C0 6A 91
4010:28 C8 C8 4C 02 40 00 00
C110:0    ; на семёрке не обязательно
4000G

Тест клавиатуры 1

Нажимайте клавиши, коды будет отображаться

Семёрка:

4000:20 09 40 20 c1 fd 4C 00
4008:40 6c 38 00 00 00 00 00

Девятка:

4000:20 09 40 20 cb fd 4C 00
4008:40 6c 38 00 00 00 00 00

4000G