Вот и прошел еще один год с момента публикации «Что нового в IMSProg в 2025 году». За этот год программа была дополнена рядом полезных функций и приобрела новые возможности, но обо всем по-порядку.

Самая значимая функция — IMSProg теперь поддерживает не только программаторы на микросхеме CH341A, но и на микросхеме CH347T. Работа с разными версиями программаторов на чипе CH347 отличается тактовой частотой, поскольку у версии v1.1 этого программатора есть функция переключения напряжений питания программируемой микросхемы. Для работы этой функции в программатор была добавлена микросхема преобразователя уровней Texas Instrumenst TXS0108, которая вносит дополнительные задержки и не позволяет CH347T работать без ошибок на максимальной скорости.

По просьбам пользователей в интерфейс программы в раздел «Авто опции» была добавлена функция контроля стирания, выполняемая непосредственно после стирания. Эта функция сравнивает каждый байт микросхемы со значением 0xFF.
Теперь размер и положение основного окна а также местоположение последнего использованного файла сохраняется в ini-файле при закрытии программы и восстанавливается при ее запуске. (Хочу напомнить, что положение окон сегодня конструктивно не сохраняется ни у одной программы в связке Wayland + KDE).
Добавлен новый тип микросхем — SPI NAND Flash. Операции с этими микросхемами можно проводить в двух режимах — считывая или записывая только данные, или считывая всю микросхему с дополнительными областями (Spare Area). Соответственно для этого типа микросхем появился дополнительный список «Операции», в котором переключаются режимы. Дополнительные области в шестнадцатеричном редакторе автоматически подкрашиваются розовым цветом.

Для этого типа микросхем добавлены также формы просмотра/записи регистров статуса, страницы параметров (ONFI), Unique ID, а также чтения/записи регистров безопасности (Security registers). Поскольку в NAND Flash даже с завода допускается наличие сбойных блоков в IMSProg добавлена форма сканирования таких блоков.
В базу микросхем добавлены FeRam (Ferroelectric RAM) от производителей RAMXEED и RAMTRON с интерфейсом SPI и I2C. Я не стал делать отдельный тип для микросхем этой технологии, поскольку по чтению/записи они полностью совместимы (в зависимости от типа интерфейса) с микросхемами 25-й и 24-й серии.
Кроме того, в базу добавлены I2C микросхемы от Micron с нетипичной адресацией 24LC515 и 24LC1025. Часть программы, отвечающая за работу с I2C интерфейсом была полностью переписана заново. Алгоритм работы с SPI NOR Flash микросхемами был оптимизирован и дал прирост скорости записи примерно в три раза.
На момент написания статьи в базе IMSProg содержится 815 наименований микросхем. Bash cкрипт обновления базы был заменен Qt-приложением.

Меню работы с шестнадцатеричным редактором также стало богаче. Теперь есть возможность сравнения дампов последней и предпоследней операции (например чтения микросхемы и загрузки файла или двух последовательных загрузок файла в буфер).

Различающиеся байты подкрашиваются розовым цветом. Есть возможность отображать также ASCII области дампов.
Добавлена функция заполнения буфера тестовым массивом содержащим дубликат адреса и символы ASCII в алфавитном порядке. Я использую этот режим для проверки правильности записи новых микросхем. Сразу виден сдвиг адресов при логических ошибках.

Добавлена функция заполнения конкретной части буфера определенным кодом.
Поскольку очень многие пользователи просили порт программы на MacOS и Windows, предпоследний релиз был посвящен именно проблемам совместимости с этими операционными системами, положением файлов и папок, правильному отображению элементов форм в разных операционных системах.
Последний релиз был связан с портированием IMSProg с Qt5 на Qt6. Я постарался скорректировать код и CmakeLists,txt таким образом, чтобы он работал одинаково хорошо на обоих версиях Qt.
Сервис Repology сообщает о наличии IMSProg в следующих официальных репозиториях Linux:

ссылка на оригинал статьи https://habr.com/ru/articles/1047824/