Вышла новая бета версия ASTRA for DOS 7.21 beta.
Новое в этой бете:
- Добавлено определение sSPEC номера процессоров семейства Intel 486
- Добавлено определение коэффициента умножения процессоров 486
- Исправлено чтение информации DDR5 SPD на чипсетах Intel
- Исправлено определение номера AMD OPN процессоров AMD Athlon/Sempron
- Исправлено зависание программы при определении звуковой карты ESS 1868 в
некоторых случаях
- исправлены некоторые незначительные ошибки
- обновлена база данных программы
Новое в этой бете:
- Добавлено определение sSPEC номера процессоров семейства Intel 486
- Добавлено определение коэффициента умножения процессоров 486
- Исправлено чтение информации DDR5 SPD на чипсетах Intel
- Исправлено определение номера AMD OPN процессоров AMD Athlon/Sempron
- Исправлено зависание программы при определении звуковой карты ESS 1868 в
некоторых случаях
- исправлены некоторые незначительные ошибки
- обновлена база данных программы
👍8
Вышла новая бета версия ASTRA32 for Windows 4.21 beta.
Новое в этой бете:
- Добавлено определение sSPEC номера процессоров семейства Intel 486
- Добавлено определение коэффициента умножения процессоров 486
- Исправлено чтение информации DDR5 SPD на чипсетах Intel
- Исправлено определение номера AMD OPN процессоров AMD Athlon/Sempron
- Исправлено определение некоторых SCSI контроллеров Adaptec в Windows NT 4.0
- исправлены некоторые незначительные ошибки
- обновлена база данных программы
Новое в этой бете:
- Добавлено определение sSPEC номера процессоров семейства Intel 486
- Добавлено определение коэффициента умножения процессоров 486
- Исправлено чтение информации DDR5 SPD на чипсетах Intel
- Исправлено определение номера AMD OPN процессоров AMD Athlon/Sempron
- Исправлено определение некоторых SCSI контроллеров Adaptec в Windows NT 4.0
- исправлены некоторые незначительные ошибки
- обновлена база данных программы
🔥6👍3
astra32beta.exe
3.3 MB
ASTRA32 for Windows 4.21 Beta
👍5🔥3👏1
Вышла новая бета версия ASTRA for DOS 7.21 beta.
Новое в этой бете:
- улучшено определение процессоров семейства 386/486 (без поддержки CPUID) с помощью метода CPU RESET.
- исправлено зависание программы на процессорах семейства IBM 486SLC/BLX
- исправлены некоторые незначительные ошибки
Новое в этой бете:
- улучшено определение процессоров семейства 386/486 (без поддержки CPUID) с помощью метода CPU RESET.
- исправлено зависание программы на процессорах семейства IBM 486SLC/BLX
- исправлены некоторые незначительные ошибки
🔥10👍2
Позавчера вышла новая бета версия ASTRA for DOS.
Расскажу что означает строка "улучшено определение процессоров семейства
386/486 (без поддержки CPUID) с помощью метода CPU RESET".
Современные процессоры определяются с помощью команды CPUID. Но были времена когда в процессорах не было такой команды.
Изначально в IBM PC был возможен только один вариант процессора - Intel 8088 4.87 МГц и проблема как таковая не существовала. С появлением процессора Intel 80286 появилась задача определить на каком процессоре работает программа.
Intel опубликовала официальный способ определения 286 процессора. Он основан на том, что биты 12-15 регистра флагов FLAGS всегда установлены в ноль на 286 процессоре.
Подобная манипуляция с различными битами в расширенном регистре флагов EFLAGS позволяет определить 386 и 486 процессор. Но без деталей. Например, этим методом нельзя определить SX или DX вариант процессора. Тем более нельзя узнать производителя процессора. Только поколение.
Этого недостаточно.
Расскажу что означает строка "улучшено определение процессоров семейства
386/486 (без поддержки CPUID) с помощью метода CPU RESET".
Современные процессоры определяются с помощью команды CPUID. Но были времена когда в процессорах не было такой команды.
Изначально в IBM PC был возможен только один вариант процессора - Intel 8088 4.87 МГц и проблема как таковая не существовала. С появлением процессора Intel 80286 появилась задача определить на каком процессоре работает программа.
Intel опубликовала официальный способ определения 286 процессора. Он основан на том, что биты 12-15 регистра флагов FLAGS всегда установлены в ноль на 286 процессоре.
Подобная манипуляция с различными битами в расширенном регистре флагов EFLAGS позволяет определить 386 и 486 процессор. Но без деталей. Например, этим методом нельзя определить SX или DX вариант процессора. Тем более нельзя узнать производителя процессора. Только поколение.
Этого недостаточно.
🔥8
Каждое поколение процессора имеет несколько моделей и может использовать разные ревизии ядра с исправленными ошибками. Хорошо бы знать точную ревизию процессора. Поэтому все процессоры от Intel 80386, выпущенного в 1985 году, до современных Core/Ryzen после аппаратного сброса содержат в регистре EDX специальный идентификатор. Этот идентификатор может прочитать BIOS, но он нигде не сохраняется и не доступен для прикладных программ. В некоторых версиях BIOS для IBM PS/2 и старых версиях AMI BIOS есть функция для получения идентификатора из прикладной программы, но я никогда не встречал такой BIOS.
Для решения этой проблемы в процессорах Intel Pentium в 1993 году появилась инструкция CPUID. Она возвращает производителя процессора, семейство, модель и степпинг. Фактически CPUID возвращает тот самый идентификатор из регистра EDX.
Постепенно эта инструкция появилась в новых вариантах 486 процессоров, а так же у других производителей.
Поддержка CPUID появилась в 1993 году у всех Intel 486DX/SX с поддержкой SL Enhanced (функция энергосбережения).
В процессорах AMD 486 поддержка CPUID появилась в версии Enhanced с Write-Back кэшем в 1994 году.
В процессорах Cyrix команда CPUID по некоторым источникам появилась в Cx5x86 в 1995 году, но по умолчанию она отключена. В эмуляторе 86BOX программно включить CPUID не удалось, настоящего Cx5x86 у меня для проверки нет.
Тем не менее, в процессорах Cyrix (начиная с Cx486SLC/DLC, 1992 год) есть свой механизм идентификации с помощью регистров конфигурации DEVID registers (DIR). Доступ к этим регистрам возможен из прикладной программы в любой момент (в отличие от идентификатора в регистре EDX, который так же присутствует в процессорах Cyrix).
Итак, в 1997 году когда началась разработка INFORMER (на Intel Pentium 166 МГц) процессоры без поддержки CPUID считались устаревшими, но еще использовались. Для определения старых процессоров использовалась сторонняя библиотека CPU/FPU feature detection library by B-coolWare. С исправлениями и модификациями эта библиотека используется в ASTRA до сих пор. Есть подозрение, что такие диагностические программы как NSSI и agSI тоже используют эту библиотеку.
Определение основано на анализе ошибок разных версий процессоров и попытке исполнения различных недокументированных команд, специфичных для данного производителя/модели. Точность определения такими методами не очень высокая. Но так как поддержка старых процессоров была сделана по остаточному принципу, то эта библиотека устраивала.
В 2000 году я увлекся ретро компьютерами, стал добавлять поддержку старого железа. В прошлой апрельской бете было добавлено определение sSPEC номера, коэффициента умножения и прочего процессоров семейства Intel 486. Разумеется, только SL Enhanced версий с поддержкой инструкции CPUID.
А как быть с более старыми процессорами Intel/AMD (с Cyrix проблем нет)?
Как я написал выше идентификатор процессора в регистре EDX появляется только после сброса процессора. Казалось бы, невозможно сбросить процессор и остаться в своей программе. Оказалось, что можно.
Для решения этой проблемы в процессорах Intel Pentium в 1993 году появилась инструкция CPUID. Она возвращает производителя процессора, семейство, модель и степпинг. Фактически CPUID возвращает тот самый идентификатор из регистра EDX.
Постепенно эта инструкция появилась в новых вариантах 486 процессоров, а так же у других производителей.
Поддержка CPUID появилась в 1993 году у всех Intel 486DX/SX с поддержкой SL Enhanced (функция энергосбережения).
В процессорах AMD 486 поддержка CPUID появилась в версии Enhanced с Write-Back кэшем в 1994 году.
В процессорах Cyrix команда CPUID по некоторым источникам появилась в Cx5x86 в 1995 году, но по умолчанию она отключена. В эмуляторе 86BOX программно включить CPUID не удалось, настоящего Cx5x86 у меня для проверки нет.
Тем не менее, в процессорах Cyrix (начиная с Cx486SLC/DLC, 1992 год) есть свой механизм идентификации с помощью регистров конфигурации DEVID registers (DIR). Доступ к этим регистрам возможен из прикладной программы в любой момент (в отличие от идентификатора в регистре EDX, который так же присутствует в процессорах Cyrix).
Итак, в 1997 году когда началась разработка INFORMER (на Intel Pentium 166 МГц) процессоры без поддержки CPUID считались устаревшими, но еще использовались. Для определения старых процессоров использовалась сторонняя библиотека CPU/FPU feature detection library by B-coolWare. С исправлениями и модификациями эта библиотека используется в ASTRA до сих пор. Есть подозрение, что такие диагностические программы как NSSI и agSI тоже используют эту библиотеку.
Определение основано на анализе ошибок разных версий процессоров и попытке исполнения различных недокументированных команд, специфичных для данного производителя/модели. Точность определения такими методами не очень высокая. Но так как поддержка старых процессоров была сделана по остаточному принципу, то эта библиотека устраивала.
В 2000 году я увлекся ретро компьютерами, стал добавлять поддержку старого железа. В прошлой апрельской бете было добавлено определение sSPEC номера, коэффициента умножения и прочего процессоров семейства Intel 486. Разумеется, только SL Enhanced версий с поддержкой инструкции CPUID.
А как быть с более старыми процессорами Intel/AMD (с Cyrix проблем нет)?
Как я написал выше идентификатор процессора в регистре EDX появляется только после сброса процессора. Казалось бы, невозможно сбросить процессор и остаться в своей программе. Оказалось, что можно.
🔥10
Историческая справка:
В 286 процессоре появился защищенный режим процессора. Перейти в него довольно просто, подготовив таблицу дескрипторов и установив всего один бит в служебном регистре CR0. А вот вернуться назад в реальный режим средствами процессора невозможно (в 386 процессоре это исправили). Поэтому разработчикам IBM PC/AT пришлось делать костыли для возврата в реальный режим без перезагрузки.
После выполнения сброса процессор передает управление BIOS, который анализирует байт отключения 0Fh в CMOS памяти. Если в этом байте записан 0, то происходит обычная теплая (без тестирования железа) перезагрузка. Если записано значение 5 или 0Ah, то вместо перезагрузки управление передается по адресу, записанному в области данных BIOS 0040h:0067h.
Этот метод можно использовать не только для выхода из защищенного режима, но и сброса процессора для сохранения идентификатора из регистра EDX.
Алгоритм примерно такой:
1 Запрещаем прерывания
2 Сохраняем сегментные регистры, т.к. их содержимое будет уничтожено после сброса
3 Записываем значение 0Ah в байт отключения 0Fh в CMOS памяти
4 В область данных BIOS по адресу 0040h:0067h записываем адрес нашей процедуры, которая получит управление после сброса и сохранит регистр EDX в переменную
5 В порт контроллера клавиатуры 64h записываем 0FEh. Это команда контроллеру клавиатуры произвести аппаратный сброс процессора
6 Ждем сброса процессора. Изначально в этом месте была небольшая задержка, по идее достаточная, чтобы дождаться сброса. Во время отладки никак не удавалось добиться стабильной работы. В 30% случаев компьютер намертво зависал. Перепробовал все что мог, потратил несколько дней. В конечном итоге вместо задержки стал ждать сброс процессора в бесконечном цикле вида
wait: delay
jmp wait
Зависания прекратились. Это первый случай в моей практике программирования когда от зависания помог бесконечный цикл :-)
7 После сброса BIOS передает управление по адресу 0040h:0067h, в котором хранится адрес пользовательской процедуры
8 Восстанавливаем сегментные регистры
9 Записываем значение 0 в байт отключения 0Fh в CMOS памяти, чтобы следующая перезагрузка была обычная
10 Сохраняем регистр EDX в переменную
В 286 процессоре появился защищенный режим процессора. Перейти в него довольно просто, подготовив таблицу дескрипторов и установив всего один бит в служебном регистре CR0. А вот вернуться назад в реальный режим средствами процессора невозможно (в 386 процессоре это исправили). Поэтому разработчикам IBM PC/AT пришлось делать костыли для возврата в реальный режим без перезагрузки.
После выполнения сброса процессор передает управление BIOS, который анализирует байт отключения 0Fh в CMOS памяти. Если в этом байте записан 0, то происходит обычная теплая (без тестирования железа) перезагрузка. Если записано значение 5 или 0Ah, то вместо перезагрузки управление передается по адресу, записанному в области данных BIOS 0040h:0067h.
Этот метод можно использовать не только для выхода из защищенного режима, но и сброса процессора для сохранения идентификатора из регистра EDX.
Алгоритм примерно такой:
1 Запрещаем прерывания
2 Сохраняем сегментные регистры, т.к. их содержимое будет уничтожено после сброса
3 Записываем значение 0Ah в байт отключения 0Fh в CMOS памяти
4 В область данных BIOS по адресу 0040h:0067h записываем адрес нашей процедуры, которая получит управление после сброса и сохранит регистр EDX в переменную
5 В порт контроллера клавиатуры 64h записываем 0FEh. Это команда контроллеру клавиатуры произвести аппаратный сброс процессора
6 Ждем сброса процессора. Изначально в этом месте была небольшая задержка, по идее достаточная, чтобы дождаться сброса. Во время отладки никак не удавалось добиться стабильной работы. В 30% случаев компьютер намертво зависал. Перепробовал все что мог, потратил несколько дней. В конечном итоге вместо задержки стал ждать сброс процессора в бесконечном цикле вида
wait: delay
jmp wait
Зависания прекратились. Это первый случай в моей практике программирования когда от зависания помог бесконечный цикл :-)
7 После сброса BIOS передает управление по адресу 0040h:0067h, в котором хранится адрес пользовательской процедуры
8 Восстанавливаем сегментные регистры
9 Записываем значение 0 в байт отключения 0Fh в CMOS памяти, чтобы следующая перезагрузка была обычная
10 Сохраняем регистр EDX в переменную
🔥8👍2
Недостатки метода:
По идентификатору в EDX невозможно узнать производителя процессора. Т.к. ранние процессоры AMD были полными (включая микрокод) клонами процессоров Intel, то отличить их программно невозможно. ASTRA пытается использовать косвенные признаки для определения процессоров AMD, но это не всегда работает.
Метод работает только в реальном режиме процессора (загружен только himem.sys). Менеджеры памяти типа EMM386 и QEMM переводят процессор в виртуальный режим. В этом случае будет работать старый неточный метод определения.
Некоторые BIOS успевают уничтожить содержимое регистра EDX до передачи управления в пользовательскую процедуру. В этом случае вернется неверное значение идентификатора.
В любом случае это лучше, чем старый метод.
Теперь ASTRA умеет точно до ревизии ядра определять ранние 486 и 386 процессоры.
Требуются бета тестеры с 386/486 процессорами. Присылайте отчеты.
По идентификатору в EDX невозможно узнать производителя процессора. Т.к. ранние процессоры AMD были полными (включая микрокод) клонами процессоров Intel, то отличить их программно невозможно. ASTRA пытается использовать косвенные признаки для определения процессоров AMD, но это не всегда работает.
Метод работает только в реальном режиме процессора (загружен только himem.sys). Менеджеры памяти типа EMM386 и QEMM переводят процессор в виртуальный режим. В этом случае будет работать старый неточный метод определения.
Некоторые BIOS успевают уничтожить содержимое регистра EDX до передачи управления в пользовательскую процедуру. В этом случае вернется неверное значение идентификатора.
В любом случае это лучше, чем старый метод.
Теперь ASTRA умеет точно до ревизии ядра определять ранние 486 и 386 процессоры.
Требуются бета тестеры с 386/486 процессорами. Присылайте отчеты.
🔥14
DowngradeN50.pdf
20 MB
Большое интервью со мной электронного журнала о ретро компьютерах "Downgrade".
Весь выпуск журнала во вложении.
Ниже интервью в текстовом виде.
Весь выпуск журнала во вложении.
Ниже интервью в текстовом виде.
🔥5
Per aspera ad ASTRA
Вашему вниманию предлагается интервью с Константином Владимировичем Кондаковым (a2kkv), автором известной диагностической программы ASTRA (https://www.astra32.com/). Константин Владимирович любезно согласился ответить на несколько вопросов о себе и своей разработке.
Расскажите немного о себе – где Вы родились, сколько Вам лет, образование и так далее – любую информацию, которой готовы поделиться с нашими читателями.
Константин Кондаков: Мне 47 лет, высшее образование. Факультет систем автоматизированного проектирования (САПР). Специальность – «инженер-системотехник». Сейчас это называется «IT-шник».
Примечание 1: Название статьи переводится с латыни как «Через тернии к звёздам», ну или, в данном случае, «Через тернии к “Астре”» – прим. ред.
Вашему вниманию предлагается интервью с Константином Владимировичем Кондаковым (a2kkv), автором известной диагностической программы ASTRA (https://www.astra32.com/). Константин Владимирович любезно согласился ответить на несколько вопросов о себе и своей разработке.
Расскажите немного о себе – где Вы родились, сколько Вам лет, образование и так далее – любую информацию, которой готовы поделиться с нашими читателями.
Константин Кондаков: Мне 47 лет, высшее образование. Факультет систем автоматизированного проектирования (САПР). Специальность – «инженер-системотехник». Сейчас это называется «IT-шник».
Примечание 1: Название статьи переводится с латыни как «Через тернии к звёздам», ну или, в данном случае, «Через тернии к “Астре”» – прим. ред.
🔥3👍1
Как Вы впервые познакомились с компьютером? Что это была за модель? Как и на чём Вы научились программировать?
В детстве я увлекался радиоэлектроникой. Собирал несложные схемы, ремонтировал радиоаппаратуру знакомых.
Первый компьютер я увидел примерно в 1989-1990 году. Это был компьютерный класс, который в выходные работал как компьютерный клуб. Там были «Агаты», и за 1 рубль в час тётенька запускала игры с дискеты.
В 1992 году в школе появился предмет «Информатика». Компьютеры были БК 0010-01.
В то время на уроках информатики изучали язык программирования Basic, а не как сейчас – как открыть файл в Word и поменять шрифт. Именно тогда я понял, что программирование – это то, что мне нравится даже больше электроники.
Куда пойти учиться после школы вопросов не вызывало.
Расскажите про историю создания ASTRA. Как появилась идея написать такую программу, с чего всё началось?
В 1995 году на деньги родителей (за что я им благодарен, в то время это стоило безумных для провинции денег) я собрал свой первый Персональный Компьютер. Это был Intel 386DX 25 МГц, 1 МБ памяти, видеокарта Trident 9000i 512 КБ, один дисковод 5.25" 1.2 МБ. Монитор 14" Samsung SyncMaster 3. На жёсткий диск денег не хватило. Как сейчас помню, 1 МБ памяти (4 x 256 КБ) стоил 50 долларов.
Монитор стоил 280 долларов (с учётом инфляции это $579 нынешних долларов). Это и сейчас дорого, а в те времена всё это покупалось постепенно в течение года.
Как сейчас я помню первый запуск этого компьютера (когда был куплен самый дорогой компонент – монитор). Он включился, но остановился на тесте памяти. Я нажал Ctrl+Alt+Del – и компьютер загрузился в DOS с дискеты! В дальнейшем выяснилось, что при холодном включении всегда зависал тест памяти. После горячей перезагрузки всё замечательно работало. Первый вывод – неисправная память. Поэтому я записал кучу всевозможных тестов типа CheckIt у единственного друга с компьютером.
С этого началась моя коллекция диагностического софта для DOS (сейчас она занимает 260 МБ). Все тесты проходили без ошибок. В чём была проблема – так и осталось непонятно.
В 1997 году по дисциплине «Техническое обеспечение» надо было написать курсовой проект. Т. к. любовь к тестам железа никуда не делась, было принято решение написать свою System Info утилиту. В декабре курсовой проект был готов и получил оценку «отлично». 23 декабря 1997 года этот проект был выпущен публично и получил имя INFORMER 1.00.
Первую версию можно скачать на сайте Old-DOS.ru (https://old-dos.ru/files/file_3360.html).
Знали ли Вы о каких-либо других программах-тестах, когда начали работать над ASTRA/INFORMER? Какие недостатки, на Ваш взгляд, присутствовали в них (и которые Вы хотели бы исправить)?
К тому времени у меня уже была большая коллекция тестов железа. У любой программы есть сильные и слабые стороны. В документации INFORMER от 1998 года упоминаются Dr. Hardware, agSI, PC Config. Неплохие программы. До сих пор запускаю их на ретрожелезе.
Почему Вы назвали программу именно так?
Название было выбрано от русского слова «информировать». Потом было выяснено, что слово INFORMER не очень благозвучно звучит в английском языке. Программа была переименована в ASTRA (аббревиатура Advanced Sysinfo Tool and Reporting Assistant).
В детстве я увлекался радиоэлектроникой. Собирал несложные схемы, ремонтировал радиоаппаратуру знакомых.
Первый компьютер я увидел примерно в 1989-1990 году. Это был компьютерный класс, который в выходные работал как компьютерный клуб. Там были «Агаты», и за 1 рубль в час тётенька запускала игры с дискеты.
В 1992 году в школе появился предмет «Информатика». Компьютеры были БК 0010-01.
В то время на уроках информатики изучали язык программирования Basic, а не как сейчас – как открыть файл в Word и поменять шрифт. Именно тогда я понял, что программирование – это то, что мне нравится даже больше электроники.
Куда пойти учиться после школы вопросов не вызывало.
Расскажите про историю создания ASTRA. Как появилась идея написать такую программу, с чего всё началось?
В 1995 году на деньги родителей (за что я им благодарен, в то время это стоило безумных для провинции денег) я собрал свой первый Персональный Компьютер. Это был Intel 386DX 25 МГц, 1 МБ памяти, видеокарта Trident 9000i 512 КБ, один дисковод 5.25" 1.2 МБ. Монитор 14" Samsung SyncMaster 3. На жёсткий диск денег не хватило. Как сейчас помню, 1 МБ памяти (4 x 256 КБ) стоил 50 долларов.
Монитор стоил 280 долларов (с учётом инфляции это $579 нынешних долларов). Это и сейчас дорого, а в те времена всё это покупалось постепенно в течение года.
Как сейчас я помню первый запуск этого компьютера (когда был куплен самый дорогой компонент – монитор). Он включился, но остановился на тесте памяти. Я нажал Ctrl+Alt+Del – и компьютер загрузился в DOS с дискеты! В дальнейшем выяснилось, что при холодном включении всегда зависал тест памяти. После горячей перезагрузки всё замечательно работало. Первый вывод – неисправная память. Поэтому я записал кучу всевозможных тестов типа CheckIt у единственного друга с компьютером.
С этого началась моя коллекция диагностического софта для DOS (сейчас она занимает 260 МБ). Все тесты проходили без ошибок. В чём была проблема – так и осталось непонятно.
В 1997 году по дисциплине «Техническое обеспечение» надо было написать курсовой проект. Т. к. любовь к тестам железа никуда не делась, было принято решение написать свою System Info утилиту. В декабре курсовой проект был готов и получил оценку «отлично». 23 декабря 1997 года этот проект был выпущен публично и получил имя INFORMER 1.00.
Первую версию можно скачать на сайте Old-DOS.ru (https://old-dos.ru/files/file_3360.html).
Знали ли Вы о каких-либо других программах-тестах, когда начали работать над ASTRA/INFORMER? Какие недостатки, на Ваш взгляд, присутствовали в них (и которые Вы хотели бы исправить)?
К тому времени у меня уже была большая коллекция тестов железа. У любой программы есть сильные и слабые стороны. В документации INFORMER от 1998 года упоминаются Dr. Hardware, agSI, PC Config. Неплохие программы. До сих пор запускаю их на ретрожелезе.
Почему Вы назвали программу именно так?
Название было выбрано от русского слова «информировать». Потом было выяснено, что слово INFORMER не очень благозвучно звучит в английском языке. Программа была переименована в ASTRA (аббревиатура Advanced Sysinfo Tool and Reporting Assistant).
🔥6👍1
Как шёл процесс разработки, на каком языке программирования была написана ASTRA (DOS-, Windows-версии), какие инструменты использовались? Какие были сложности?
Несмотря на статус курсового проекта, INFORMER был достаточно продвинутой утилитой.
Определялся процессор, BIOS, жёсткие диски, видеокарта.
Программа была написана на Borland Pascal 7.0 и Turbo Assembler.
Интерфейс был создан с помощью Turbo Vision.
Разработка велась на Intel Pentium 166 МГц, RAM 24 МБ, HDD 3,2 ГБ, S3 ViRGE 2 MB.
Первоначально развитие этого проекта не планировалось, но весной 1998 года была добавлена функция сохранения файла-отчёта и написана документация (24 килобайта текста, писать я всегда любил :-)). Было принято решение развивать программу.
Например, в версии от марта 1998-го было добавлено определение PnP-мониторов.
Возможно, это была первая диагностическая программа для DOS с такой функцией.
Главная проблема при разработке в то время — недостаток документации.
Вы всё разрабатывали самостоятельно, или Вам кто-то помогал?
Общались ли Вы с авторами аналогичных программ, вроде Dr. Hardware, AIDA и др.?
Главным источником знаний по программированию железа в то время был x86/MS-DOS Ralf Brown's Interrupt List. Первые версии писались с помощью этого справочника.
В 2000 году я познакомился с Владимиром Афанасьевым (автор System Speed Test, SST).
В течение трёх лет мы переписывались по электронной почте. Я благодарен Владимиру за помощь в разработке INFORMER/ASTRA. 14 апреля 2003 года я получил последнее письмо от Владимира Афанасьева :-( Что с ним случилось – я не знаю...
Также хочу сказать спасибо всем бета-тестерам ранних версий (после появления постоянного доступа к интернету): Андрею Иконникову, Юрию Лысенко, Максиму Буланову, Алексею Климину, Дмитрию Молоснову и Владимиру Сергееву.
Версия 1.0 INFORMER датирована 23.12.1997. Это самая первая «серийная» версия, или существовали более ранние, возможно, под другим названием?
Очевидно, что были бета-версии, но сохранились только исходники версии 1.0.
Какие сейчас существуют версии программы? (Для каких ОС и т. д.)
ASTRA работала в Windows 95/98/Me, но с выпуском Windows XP стало понятно, что необходима Win32-версия программы.
В ноябре 2003-го была выпущена первая бета ASTRA32 for Windows. Среда Delphi 6.
Для снижения трудозатрат (ну и бросать разработку DOS-версии не хотелось) было принято решение разрабатывать ASTRA32 на основе исходников ASTRA for DOS.
До сих пор обе программы собираются из единого исходного кода. Это значит, что любые изменения (если они не специфичны для DOS или Windows) появляются в обеих версиях программы. Т. е. поддержка новых процессоров или чипсетов автоматически появляется в DOS -версии, а поддержка ретрожелеза появляется в Windows-версии. Причём практически без дополнительных трудозатрат. Благодаря этому DOS-версия до сих пор существует, в отличие от всего остального диагностического софта для DOS (кроме HWiNFO).
Несмотря на статус курсового проекта, INFORMER был достаточно продвинутой утилитой.
Определялся процессор, BIOS, жёсткие диски, видеокарта.
Программа была написана на Borland Pascal 7.0 и Turbo Assembler.
Интерфейс был создан с помощью Turbo Vision.
Разработка велась на Intel Pentium 166 МГц, RAM 24 МБ, HDD 3,2 ГБ, S3 ViRGE 2 MB.
Первоначально развитие этого проекта не планировалось, но весной 1998 года была добавлена функция сохранения файла-отчёта и написана документация (24 килобайта текста, писать я всегда любил :-)). Было принято решение развивать программу.
Например, в версии от марта 1998-го было добавлено определение PnP-мониторов.
Возможно, это была первая диагностическая программа для DOS с такой функцией.
Главная проблема при разработке в то время — недостаток документации.
Вы всё разрабатывали самостоятельно, или Вам кто-то помогал?
Общались ли Вы с авторами аналогичных программ, вроде Dr. Hardware, AIDA и др.?
Главным источником знаний по программированию железа в то время был x86/MS-DOS Ralf Brown's Interrupt List. Первые версии писались с помощью этого справочника.
В 2000 году я познакомился с Владимиром Афанасьевым (автор System Speed Test, SST).
В течение трёх лет мы переписывались по электронной почте. Я благодарен Владимиру за помощь в разработке INFORMER/ASTRA. 14 апреля 2003 года я получил последнее письмо от Владимира Афанасьева :-( Что с ним случилось – я не знаю...
Также хочу сказать спасибо всем бета-тестерам ранних версий (после появления постоянного доступа к интернету): Андрею Иконникову, Юрию Лысенко, Максиму Буланову, Алексею Климину, Дмитрию Молоснову и Владимиру Сергееву.
Версия 1.0 INFORMER датирована 23.12.1997. Это самая первая «серийная» версия, или существовали более ранние, возможно, под другим названием?
Очевидно, что были бета-версии, но сохранились только исходники версии 1.0.
Какие сейчас существуют версии программы? (Для каких ОС и т. д.)
ASTRA работала в Windows 95/98/Me, но с выпуском Windows XP стало понятно, что необходима Win32-версия программы.
В ноябре 2003-го была выпущена первая бета ASTRA32 for Windows. Среда Delphi 6.
Для снижения трудозатрат (ну и бросать разработку DOS-версии не хотелось) было принято решение разрабатывать ASTRA32 на основе исходников ASTRA for DOS.
До сих пор обе программы собираются из единого исходного кода. Это значит, что любые изменения (если они не специфичны для DOS или Windows) появляются в обеих версиях программы. Т. е. поддержка новых процессоров или чипсетов автоматически появляется в DOS -версии, а поддержка ретрожелеза появляется в Windows-версии. Причём практически без дополнительных трудозатрат. Благодаря этому DOS-версия до сих пор существует, в отличие от всего остального диагностического софта для DOS (кроме HWiNFO).
Ctyme
Ralf Brown's Interrupt List - HTML Version
HTML version of the famous Ralf Brown
Interrupt List with over 9000 linked pages and 350 indexes making the
process of searching much easier.
Interrupt List with over 9000 linked pages and 350 indexes making the
process of searching much easier.
🔥2