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

User Tag List

Показано с 1 по 9 из 9

Тема: Программа "Тест Устройств"

  1. #1
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Программа "Тест Устройств"

    Решил изучить программу "Тест устройств" и понять, что там и как... Известно три версии программы: testustr.rom и testustr_.rom для Вектора (из каталога Базиса), а также TEST_(PK6128TS).COM для ПК-6128ц (в Базисе нет, можно скачать тут: 1, 2 или 3). Ещё один файл в Базисе, "testustr [pack].rom" -- это копия "testustr.rom", только в запакованном виде.

    Итак, программа "Тест Устройств", как и многие программы Счётмаша собрана на базе "Драйверов устройств", отличия в версиях такие:
    • Тест ОЗУ -- в тестах для Вектора отличий нет, для ПК-6128ц этот тест обновлён в соответствии с конфигурацией его памяти.
    • Тест Клавиатуры -- отличий нет, но в тесте для ПК-6128ц есть ошибка -- перепутаны клавиши ВК и ЗБ.
    • Тест ПУ -- в варианте testustr.rom добавлено некое тестирование системной шины по кнопке "СТР", как оно работает я не понял, т.к. и на реале, и в эмуляторах выдаёт ошибку. Возможно для него нужна какая-нибудь заглушка на порт ВУ, как в тесте порта ПУ. Кому интересно на него взглянуть -- он есть в исходниках, с адреса L_3A06. В остальном в тесте отличий нет.
    • Тест экрана -- отличия только на ПК-6128ц, связанные с его особенностями.
    • Тест электронного диска -- в testustr.rom есть небольшие добавления, но для чего -- не углублялся...
    • Тест дополнительного устройства -- в testustr.rom должен загружаться с адреса 6400h, в testustr_.rom -- с 6200h.
    • Остальные тесты существенных отличий, фактически, не имеют.

    Кроме того, в "testustr.rom" добавлено отключение КД в начале, и в большинстве тестов есть незначительные изменения. В целом, тест для ПК-6128ц ближе к "testust_.rom" -- общая часть совпадает за исключением вырезанной заставки и отдельных тестов.

    Ну и всё это исследование в конечном итоге привело к сборке нового объединённого "Теста Устройств":

    Нажмите на изображение для увеличения. 

Название:	testust_scr1.png 
Просмотров:	28 
Размер:	5.3 Кб 
ID:	80412

    Что было сделано:
    • Тест базового микропроцессора -- добавлено автоматическое определение типа процессора.
    • Тест ОЗУ -- на ПК-6128ц тестируется 128кБ / 4 банки, в остальных случаях -- 64кБ.
    • Тест клавиатуры -- без изменений (для ПК-6128ц исправлена ошибка расположения клавиш).
    • Тест ввода-вывода на магнитную ленту -- без изменений.
    • Тест параллельного интерфейса -- без изменений.
    • Тест устройства отображения информации -- на ПК-6128ц в конце тестируется переключение 12 экранов, в остальных случаях -- 4, как на стандартном Векторе-06ц.
    • Тест таймера и звукового синтезатора -- добавлен простой тест AY8910, если чип будет обнаружен.
    • Тест электронного диска -- добавлена возможность ввода вручную порта диска, можно протестировать несколько квази-дисков.
    • Тест манипуляторов типа джойстик -- добавлено определение и тестирование джойстика "С" (по схеме Вектор-06ц.02).
    • Тест матричного печатающего устройства -- без изменений.
    • Тест дополнительного устройства -- добавлено указание адреса для загрузки теста.

    Новый тест имеет автоматическое определение типа ПК (по контроллеру памяти), поэтому работает и на Векторе, и на ПК-6128ц -- мне он всё-таки нужен в моём проекте, для проверок... Исходники выложил на гитхаб, откомпилированный бинарник дублирую тут: testust~.7z

    В планах есть добавить туда тест часов реального времени, специально оставил для этого строку, тогда там будет всё встроенное в ПК-6128ц++ железо, но за это ещё не брался. Если не влезет, то, случае необходимости, там можно вырезать тест принтера (у кого-нибудь они есть?).
    Ну и хорошо было бы ещё оптимизировать в нём алгоритмы, ускорить графику, как Бейсике 2.99 (тем более, что там алгоритмы схожи с Бейсиком 2.5, а значит и возможность ускорить есть), но я не настолько силён в оптимизации, как ivagor, поэтому ещё даже не пробовал.
    Последний раз редактировалось Improver; 27.02.2024 в 15:31. Причина: обновление

  2. Эти 3 пользователя(ей) поблагодарили Improver за это полезное сообщение:

    Cooper (28.02.2024), ivagor (22.02.2024), parallelno (06.03.2024)

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

  4. #2
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вряд ли стоит заниматься разгоном данного теста, разве что отрезать заставку, чтобы не ждать запуска. Мелкое занудное пожелание - исправить фирму для Z80.
    Тест системной шины интересный, но непонятный, надеюсь потом кто-нибудь разберется и расскажет.

  5. Этот пользователь поблагодарил ivagor за это полезное сообщение:

    Improver (22.02.2024)

  6. #3
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    исправить фирму для Z80
    Исправил и перезалил, спасибо.

    Цитата Сообщение от ivagor Посмотреть сообщение
    разве что отрезать заставку
    Я думал об этом, но она не так то уж и много времени занимает, и места, да и без неё будет не так красиво, пропадает дух 1988 года...

  7. #4
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    По поводу теста системной шины есть предположение, которое объясняет часть с чтением стека. Похоже в заглушке ВУ должны быть соединены выходы /ШАП со входами ШД. Насчет OUT и IN я не понял.

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

    IN и OUT вероятно управляют сигналом /БЛК, чтобы читать стеком не из внутреннего озу, а с ВУ.

  8. Этот пользователь поблагодарил ivagor за это полезное сообщение:

    Improver (22.02.2024)

  9. #5
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Исправил найденный баг: если в тесте джойстика первой нажать кнопку, то портится программа по адресам 0180h...018Fh. На гитхабе и первом сообщении архив с бинарником обновил.

  10. Этот пользователь поблагодарил Improver за это полезное сообщение:

    ivagor (27.02.2024)

  11. #6
    Master Аватар для Ramiros
    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    954
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    71
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Improver, у меня в VV в конфиге 6128 тест памяти заливает 1, 2 и 3ю банки синим цветом и все, дальше нет никакой реакции на клавиатуру и картинка не меняется, так и задумано, или где то баг?
    Здесь можно скачать актуальные версии Virtual Vector (VV)

  12. #7
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ramiros Посмотреть сообщение
    Improver, у меня в VV в конфиге 6128 тест памяти заливает 1, 2 и 3ю банки синим цветом и все, дальше нет никакой реакции на клавиатуру и картинка не меняется, так и задумано, или где то баг?
    Да, это баг, но не теста, а эмулятора. Аналогично ведёт себя и оригинальный "Тест Устройств" от ПК-6128ц. Подвисание происходит примерно на этом участке:
    Код:
    	CALL    L_MC0B	; тестирование Банка 3
    	MVI  A, 020h
    	OUT     00Eh	; Банк 0, Банк 1 (R) / Банк 3 (W)
    	CALL    L_MC9C	; переброска данных
    	MVI  A, 022h
    	OUT     00Dh	; Экран в Банке 3
    	MVI  A, 066h
    	STA     D_MDEA
    ;
    	XRA  A		; 
    	OUT     00Eh	; Банк 0, Банк 1 (RW)
    	STA     D_MDE9
    	CALL    L_MCA9	; переброска данных из Банка 0 в Банк 1
    	MVI  A, 055h
    	OUT     00Eh	; Банк 1, Банк 0 (RW)
    	STA     D_MDEB
    	CALL    L_MC0B	; тестирование Банка 0
    Вероятнее всего неверно отрабатывается конфигурация памяти 20h или 55h. К чести сказать, в других эмуляторах тут тоже не всё гладко...

    Завтра погоняю тест и скажу точно, где виснет.

  13. #8
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Или вот еще

  14. #9
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ramiros, получается так: после MVI A, 055h; OUT 00Eh (память в конфигурации "Банк 1, Банк 0") запускается тестирование области 8000h..FFFFh, которое при первом проходе с обнулением памяти стирает само себя, от этого и зацикливается. Похоже, что там запись выполняется по адресам 0000h..7FFFh вместо 8000h..FFFFh.

    Для "шпаргалки" сделал такую вот табличку...
    Последний раз редактировалось Improver; 28.02.2024 в 13:21. Причина: Дополнил.

  15. Этот пользователь поблагодарил Improver за это полезное сообщение:

    Ramiros (28.02.2024)

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

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

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

Похожие темы

  1. Ответов: 3
    Последнее: 21.04.2022, 06:30
  2. KAY 256 тест памяти "KRAMIS"
    от PVG в разделе KAY
    Ответов: 12
    Последнее: 28.05.2018, 09:19
  3. Ответов: 9
    Последнее: 08.08.2016, 12:34
  4. Ответов: 16
    Последнее: 23.10.2006, 02:17

Ваши права

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