ASTRA32 и ASTRA. Программы определения конфигурации компьютера.
155 subscribers
177 photos
34 files
11 links
Канал разработчика программ определения конфигурации компьютера ASTRA32 for Windows и ASTRA for DOS. Новости, тестирование.
https://www.astra32.com/ru
https://www.sysinfolab.com/ru
Download Telegram
Расскажите о своих планах. Какую перспективу Вы видите для ASTRA в будущем?

Насчёт ASTRA for DOS. Она жива, пока жива ASTRA32 for Windows, т. к. исходники общие и это не требует отдельной поддержки DOS-версии. Единственная диагностическая программа для DOS, которая ещё жива, – это HWiNFO. Мы видим, как Мартин Малик мучается с её поддержкой. Разрабатывать отдельную версию, которая нужна единицам, очень тяжело.
Планы простые — разработать лучшую в мире диагностическую утилиту для DOS. :-)
В принципе, она по многим параметрам лучшая в мире. Адекватно работает на любом компьютере от Intel 8086/8088 до современных Intel Core / AMD Ryzen. Уже уникальное сочетание. :-)

Может быть, существуют планы по переходу на мобильные устройства или портированию на другие операционные системы?

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

Что планируете добавить в будущих версиях? Что нового сейчас в разработке?

Из ближайших планов по ретротематике: поддержка бОльшего числа старых чипсетов (на которые есть документация), определение размера кэша (не через чипсет или CPUID, а по скорости доступа). Ещё интересная тема — определение частоты сопроцессора на 286/386-платах. Как известно, на таких платах частота сопроцессора не равна частоте процессора. Утилита NSSI (единственная) пытается угадать частоту сопроцессора, но не всегда угадывает. Пока провожу эксперименты, но нужны бета-тестеры с экзотическими сопроцессорами.

Можно ли назвать «Астру» успешным коммерческим проектом? Приносит ли она прибыль, и каково количество официально зарегистрированных пользователей?

С появлением официального сайта в 2000 году (https://web.archive.org/web/20000917174943/https://www.informer.newmail.ru/) популярность программы начала расти. В 2001 году INFORMER переименован в ASTRA и стал Shareware.
В 2006 году я получал доход примерно в 5 раз больше, чем на основной работе. Поэтому я уволился с работы, открыл ИП и перешёл на так называемое full-time shareware.
Разумеется, сейчас ASTRA for DOS покупают очень редко. В декабре 2023 ASTRA стала бесплатна для некоммерческого использования. Но если вы хотите поддержать разработку, то её по-прежнему можно купить. :-)

Расскажите, пожалуйста, каким образом Вы тестируете ASTRA? У Вас есть коллекция «железа» разных поколений для тестирования программы? Если да, то, может быть, расскажете про самые интересные, на Ваш взгляд, её «экспонаты»?
Или, может быть, Вы используете виртуальные машины либо что-то ещё?

ASTRA/ASTRA32 умеет сохранять дампы CPUID/PCI/SPD в текстовом отчёте. Если отлаживаемый компьютер не совсем старый (поздние 486-е и новее), то специальная отладочная версия может брать данные не из реального железа, а из файла отчёта.
Поэтому присылайте отчёты, они помогают в разработке.
Если компьютер совсем старый или дампы не могут помочь, то отладка ведётся в эмуляторе 86Box. Собирается нужная конфигурация и загружается образ с нужной операционной системой. Это радикально ускоряет работу. Разумеется, если поддержка нужного железа в нём есть. Есть вещи, которые в эмуляторе не реализованы, например, в нём нет понятия кэша. Поддержки EISA тоже нет. Для этого пришлось покупать материнскую плату с EISA и пару карт расширения и отлаживаться на настоящем железе. Это самый медленный вариант. Обмен с основным компьютером ведётся либо по сети, либо через карту CompactFlash.

Для отладки у меня есть все основные платформы от 8088 до Socket 1151. В коллекции нет Socket 4, Socket 8, Slot 2 и экзотики типа Transmeta Crusoe.
🔥4
Из экзотики есть материнская плата 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