User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 20

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

  1. #1

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    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 
Просмотров:	247 
Размер:	5.3 Кб 
ID:	80412

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

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

    В планах хорошо было бы ещё оптимизировать алгоритмы "Драйверов устройств", ускорить графику, как Бейсике 2.99 (тем более, что там алгоритмы схожи с Бейсиком 2.5, а значит и возможность ускорить есть), но я не настолько силён в оптимизации, как ivagor, поэтому ещё даже не пробовал.
    Последний раз редактировалось Improver; 02.08.2024 в 09:25. Причина: обновление

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

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

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

  3. #2

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,386
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,365
    Поблагодарили
    1,315 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    Improver(22.02.2024)

  4. #3

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  5. #4

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,386
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,365
    Поблагодарили
    1,315 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

    Improver(22.02.2024)

  6. #5

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    ivagor(27.02.2024)

  7. #6

    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    988
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    45 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  8. #7

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    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. К чести сказать, в других эмуляторах тут тоже не всё гладко...

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

  9. #8

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,386
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,365
    Поблагодарили
    1,315 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Или вот еще

  10. #9

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    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. Причина: Дополнил.

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

    Ramiros(28.02.2024)

  11. #10

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновил программу -- добавил тест часов реального времени. Проверил на реале и эмуляторах, глюков не обнаружено.
    Исходники также были выложены на гитхаб, откомпилированный бинарник обновил тут в первом сообщении.

Страница 1 из 2 12 ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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