ASTRA32 и ASTRA. Программы определения конфигурации компьютера.
154 subscribers
175 photos
34 files
11 links
Канал разработчика программ определения конфигурации компьютера ASTRA32 for Windows и ASTRA for DOS. Новости, тестирование.
https://www.astra32.com/ru
https://www.sysinfolab.com/ru
Download Telegram
Из экзотики есть материнская плата EISA с парой карт (SCSI, сеть) расширения. Научился программировать EISA-устройства. Много писал об этой плате и программировании EISA в своём Telegram-канале (https://t.iss.one/SysinfoLab).

Хотелось бы сделать поддержку MCA-устройств, но такое железо найти практически нереально или оно стоит как крыло от «Боинга».

Может быть, вспомните на конкретном примере, с каким «железом» было работать сложнее всего?

Пара примеров (всю боль могут прочувствовать только программисты, остальным можно не читать).

Выяснилось, что ASTRA32 не работает в Windows NT 4.0 без сервис-паков. Падает в самом начале где-то на этапе инициализации, до моего кода дело не доходит.
Первая мысль: надо поставить Delphi и посмотреть в отладчике, что происходит.
Delphi требует, чтобы был установлен сервис-пак 3. Устанавливаю сервис-пак 3 – и ASTRA32 начинает прекрасно работать. Удаляю сервис-пак, опять падает, но и Delphi без него не работает. Начинается метод тыка. Удалил сторонний модуль перевода интерфейса. Падает. Начал перебирать старые версии. Нашёл версию трёхлетней давности, которая заработала. Чем она отличается? Она была собрана в Delphi 6. Виновата версия Delphi? Не факт, надо проверить. Пытаюсь эту старую версию собрать в Delphi 7. Что само по себе непросто. Собрал, начала падать. Виновата Delphi 7.
Что делать дальше? Не откатываться же на Delphi 6? Начинаю удалять всё подряд (второстепенные окна настройки, мастер отчётов, сплэш-скрин и подобное). От программы практически ничего не осталось, кроме главной формы. Не работает. Удалил все иконки – и внезапно всё заработало. Возвращаю иконки назад, опять всё работает. Как такое может быть? В основной версии удаляю иконки, потом добавляю назад – и всё начинает работать. После внесения изменений в код (не связанный с интерфейсом и иконками) через какое-то время опять программа начинает падать. Теперь перед каждым релизом приходится проверять запуск в NT 4.0 без сервис-паков. Если падает, то удаляю и добавляю назад иконки.
На всё это ушло три недели с перекурами.

Купил SCSI CD-ROM Pioneer, и ASTRA32 в Windows NT 4.0 начала падать в синий экран.
Выяснилось, что это происходит при попытке выполнить неподдерживаемую CD-приводом SCSI-команду. В этом случае драйвер должен вернуть ошибку, а он думает секунд 5 и валит винду в синий экран. Собираю похожую конфигурацию в 86Box, никаких синих экранов, но там SCSI-контроллер другой модели. Кто виноват? ASTRA32 или драйвер? Пытаюсь проверить сторонний диагностический софт. Выяснилось, что со SCSI в NT 4.0 никто не умеет работать, максимум могут определить модель устройства, никакой расширенной информации нет.
Прошерстил DDK, всё делаю как в мануалах. Остаётся тот самый метод тыка.
Проблема в том, что после синего экрана надо выключить комп, включить, секунд 30 идёт POST, минуты 3-4 загружается NT 4.0, минут 5 загружается Delphi (В системе 32 МБ памяти, нужны модули с Parity Check, больше таких модулей у меня нет).
Что-то меняю, опять синий экран и 10 минут до следующей итерации. Позже сделал маленькую консольную утилиту, которую можно быстро собрать без загрузки Delphi.
Экономия пяти минут, но всё равно долго. Параметров при исполнении SCSI-команд много. Прошла неделя, пока я понял, что не нравится драйверу. В DDK размер буфера всегда равен 192 байтам, у меня стоял комментарий от 2008 года, что любое отличное от 192 значение приводит к BSOD. Поэтому менять я его стал в последнюю очередь, когда всё остальное не помогло. Выяснилось, что драйверу не нравился размер буфера. Размер должен быть не 192 байта, а ровно столько, сколько данных возвращает конкретная SCSI-команда. Возможно, это проблема конкретного драйвера.
Скорее всего, в интернете тех лет обсуждалась эта проблема, но старый интернет стремительно вымирает (особенно старые форумы). Есть web.archive.org, но в нём очень плохой поиск. Это ещё одна проблема ретропрограммирования.
🔥41
Если не сложно – расскажите, пожалуйста, о Вашем уникальном алгоритме вычисления статуса надёжности винчестеров, а также оставшегося ресурса SSD-дисков. Насколько достоверен такой прогноз?

Уникальным он был в 2005 году. Эта была одна из первых диагностических утилит, которая для обычного пользователя показывала состояние диска в виде Хорошо/Средне/Плохо. Алгоритм основан на анализе SMART-атрибутов и моей статистике по отказам жёстких дисков. Если статус диска Плохой (Bad), то его надо менять немедленно. Если Средний (Poor), то диск ещё поживёт, но важные данные хранить на нём нельзя.
Оставшийся ресурс SSD-дисков определяет контроллер диска.

Случались ли в Вашей деятельности какие-нибудь смешные случаи, курьёзы?

В прошлом году выяснилось, что последние 22 года ASTRA32 for Windows не работает в Windows NT 4.0 на старых процессорах уровня 486DX 33 МГц. Причём никогда не работала, начиная с первых версий. В 2003 году подобных компьютеров почти не осталось, а если и остались, то работали печатными машинками в Windows 95 (в ней проблем не было).

У Вас были (или есть сейчас) другие проекты (помимо «Астры»)? Чем Вы сейчас вообще занимаетесь? (Хобби, работа, семья?)

Других проектов нет. Хобби в настоящее время – это ретрокомпьютеры.

Как Вы вообще относитесь к downgrade – сохранению компьютерной истории, использованию старых компьютеров и ПО? Может быть, посещаете какие-то сайты на эту тему?

ASTRA for DOS – это и есть лютый downgrade. Читаю ретрофорумы и ретроканалы в Telegram. У меня есть свой небольшой канал по ретротематике в Telegram: https://t.iss.one/SysinfoLab

Используют ли ASTRA любители старых компьютеров? Есть ли какая-то обратная связь с ними, то есть Вам приходят какие-то баг-репорты, предложения, результаты тестов?

Да, мне присылают отчёты и пожелания. Совместно исправляем ошибки и недочёты. Всем спасибо, но хотелось бы больше отчётов с ретрожелеза.
Приятно встретить на «Авито» или «Мешке» скриншот ASTRA на ретрожелезе как подтверждение работоспособности.

Возможно, у Вас будут какие-нибудь пожелания читателям журнала?

Всем здоровья, это самое главное.

Большое спасибо за интересное интервью!

На вопросы отвечал:
Константин Владимирович Кондаков (a2kkv)

Вопросы задавали:
uav1606
Вячеслав Рытиков (eu6pc)
Андрей Шаронов (Andrei88)
🔥4
Фото из интервью:

1 - ASTRA32 v4.20 под Windows 95
2 - XT-компьютер разобран, поэтому скриншота с настоящего железа нет. Есть только из эмулятора
3 - Скриншот ASTRA for DOS с основного компьютера AMD Ryzen 5 5600
4 - Самый старый ноутбук в коллекции. Chaplet Systems Halikan NBA386SX. Ориентировочно 1993 год
6 - Тестовый набор AGP-видеокарт Nvidia (26 штук) и тестовый стенд времён разработки низкоуровневой поддержки видеочипов Nvidia
5 - Тестовый стенд для отладки поддержки EISA. Материнская плата DEC PRIORIS MTE (EISA/VLB). EISA SCSI-контроллер Adaptec AHA-2740/42W. Сетевая карта 3COM EtherLink III EISA. VLB-видеокарта Cirrus Logic CL-GD5429
🔥9👍1
Вышла новая бета версия ASTRA32 for Windows 4.21 beta от 27 мая 2025 года.

Новое в этой бете:
- добавлена подробная информация о чипсете VIA VT82C486/VT82C486A/VT82C496G
(режим контроллера памяти, размер и тип кеша L2 и т.д.)
- увеличена скорость поиска в базе данных в 3-8 раз
- исправлены некоторые незначительные ошибки
👍6🔥5
Вышла новая бета версия ASTRA for DOS 4.21 beta от 27 мая 2025 года.

Новое в этой бете:
- добавлена подробная информация о чипсете VIA VT82C486/VT82C486A/VT82C496G
(режим контроллера памяти, размер и тип кеша L2 и т.д.)
- увеличена скорость поиска в базе данных в 3-8 раз
- исправлены некоторые незначительные ошибки
🔥7👍1
Вышла новая версия ASTRA for DOS 7.21
👍5🔥2
Новое в версии 7.21:

- улучшено определение процессоров семейства 386/486 (без поддержки CPUID) с помощью метода CPU RESET
- добавлена подробная информация о чипсете Intel 440MX (поддерживаемый и текущий тип памяти и частота, режим контроллера памяти, тайминги и т.д.)
- добавлена подробная информация о чипсете VIA VT82C486/VT82C486A/VT82C496G (режим контроллера памяти, размер и тип кеша L2 и т.д.)
- добавлено определение sSPEC номера процессоров семейства Intel 486
- добавлено определение коэффициента умножения процессоров 486
- увеличена скорость поиска в базе данных в 3-8 раз
- улучшена поддержка процессоров семейства Intel Xeon Granite Rapids-SP, Xeon Granite Rapids-AP, Xeon Granite Rapids-D
- улучшена поддержка процессоров семейства Intel Xeon Sierra Forrest
- улучшена поддержка процессоров семейства Intel Lunar Lake-V
- добавлено определение процессоров AMD Ryzen Threadripper (Shimada Peak)
- добавлена предварительная поддержка семейства процессоров
Intel WildCat Lake
Intel Bartlett Lake
AMD Zen 6
- исправлено чтение информации DDR5 SPD на чипсетах Intel
- исправлено определение номера AMD OPN процессоров AMD Athlon/Sempron
- исправлено зависание программы при определении звуковой карты ESS 1868 в некоторых случаях
- исправлено зависание программы на процессорах семейства IBM 486SLC/BLX
- исправлены некоторые незначительные ошибки
- обновлена база данных программы
👍6🔥3
Вышла новая версия ASTRA32 for Windows 4.21
🔥6
Новое в версии 4.21:

- добавлена информация об эффективных ядрах (E-core) гибридных процессоров AMD
- добавлена подробная информация о чипсете Intel 440MX (поддерживаемый и текущий тип памяти и частота, режим контроллера памяти, тайминги и т.д.)
- добавлена подробная информация о чипсете VIA VT82C486/VT82C486A/VT82C496G (режим контроллера памяти, размер и тип кеша L2 и т.д.)
- добавлено определение sSPEC номера процессоров семейства Intel 486
- добавлено определение коэффициента умножения процессоров 486
- увеличена скорость поиска в базе данных в 3-8 раз
- улучшена поддержка процессоров семейства Intel Xeon Granite Rapids-SP, Xeon Granite Rapids-AP, Xeon Granite Rapids-D
- улучшена поддержка процессоров семейства Intel Xeon Sierra Forrest
- улучшена поддержка процессоров семейства Intel Lunar Lake-V
- добавлено определение процессоров AMD Ryzen Threadripper (Shimada Peak)
- добавлена предварительная поддержка семейства процессоров
Intel WildCat Lake
Intel Bartlett Lake
AMD Zen 6
- исправлено чтение информации DDR5 SPD на чипсетах Intel
- исправлено определение номера AMD OPN процессоров AMD Athlon/Sempron
- исправлено определение некоторых SCSI контроллеров Adaptec в Windows NT 4.0
- исправлены некоторые незначительные ошибки
- обновлена база данных программы
👍3🔥2