Changelog
2.3.10
Выпущено 30 октября 2026 года
Добавлено
- Добавлена поддержка семейства MC9S08AW.
- Добавлен новый таргет R5F3640DNFB (M16C/64).
Изменено
- Улучшен Lua API
mp.file.save()для word-addressed данных.
Исправлено
- Исправлено стирание Flash для Infineon FM3.
- Исправлены размеры и метаданные таргетов в Target Configurator.
- Улучшены HEX/S19 parser и проверки целостности данных.
- Исправлены scrollbars в светлой и тёмной темах.
- Исправлена упаковка зависимостей USBDM FirmwareChanger.
- Уточнены комментарии connection-image в базе таргетов.
2.3.9
Выпущено 30-го сентября 2026 года
Добавлено
Поиск по коду в Script Console
Поиск по коду (Ctrl+F / F3 / Shift+F3 / Esc): подсветка всех совпадений, циклический переход между совпадениями, поиск от выделенного; панель поиска не перекрывает текст.
Примеры скриптов обновляются автоматически
Примеры скриптов автоматически обновляются до версии из поставки, пользовательские скрипты не затрагиваются. Замена атомарная — залоченный файл не портится.
TGSN: Поддержка BS-протокола чтения uPD78F0123H (NEC 78K0/Kx1+)
Новый системный таргет uPD78F0123H_BS: аргумент F0123_BS_PROT, скорость только 9600. Требует лицензию TGSN Full.
Минимальная версия TGSN — 3.4.4.
Если у вас был собственный таргет с именем uPD78F0123H_BS, после обновления он будет автоматически переименован в uPD78F0123H_BS_user (данные сохранены). Скрипты с mp.config.set_target("uPD78F0123H_BS") после обновления будут указывать на системный таргет.
Изменено
MCP-сервер: порт и адрес
Порт MCP-сервера (Model Context Protocol — сервер для управления MultiProg из внешних AI-агентов) валидируется (1024–65535) с понятным сообщением об ошибке. В --agent-mode диалог показывает фактический адрес с портом 8757.
Исправлено
Парсер прошивок (HEX)
- Исправлено склеивание данных в один блок, если HEX-файл содержал разрыв адресов (нестандартный случай).
- Устранено деление на ноль при нестандартных адресах второй записи.
- HEX-файл без data-записей теперь считается ошибкой, а не пустым блоком.
Добавлены новые self-тесты: разрывы адресов, сшивка, ELA через 64K, слова 2/3/4 байта, round-trip HEX↔S19 — всего 100 тестов.
2.3.8
Выпущено 12-го августа 2026 года
Добавлено
TGSN Full HW Test для NEC
Добавлен диалог TGSN → TGSN Full HW Test для запуска самотестирования аппаратной части, используемой при работе с NEC. Тест актуален только для участников проекта NEC / TGSN Full.
Минимальная версия TGSN — 3.4.1.
2.3.7
Выпущено 11-го августа 2026 года
Изменено
Интеграция AI-агента: IPC → MCP
Интеграция AI-агента переехала с собственного файлового IPC-моста на стандартный MCP-сервер MultiProg (Model Context Protocol). Теперь внешние AI-клиенты подключаются к MultiProg как к MCP-серверу, видят доступные инструменты и вызывают операции через стандартную MCP-модель, а не через прямую работу с agent_request.json / agent_result.json. Внутри используется тот же Lua API mp.*, что и в Script Console.
2.3.6
Выпущено 9-го августа 2026 года
Добавлено
TGSN Full Pro для NEC / 78K
Добавлен TGSN Full Pro для NEC/78K: отдельный диалог запуска, выбор питания 3.3V/5V, Start/Stop.
Изменено
- Проверка обновлений при старте переведена на асинхронный запрос с таймаутом 8 секунд.
- Примеры Lua-скриптов теперь корректно появляются после обновления без перезаписи пользовательских изменений.
Исправлено
- Custom baud больше не «залипает» после переключения с ESP на другой backend.
- TGSN mixed auto/json targets: исправлен вывод версии bootloader FW. Версия берётся из signature-parsed target, а при отсутствии валидных данных показывается
Bootloader FW version unknown.
2.3.5
Выпущено 17-го июня 2026 года
Добавлено
Обновление ESP-бэкенда (USB-UART)
Обновление ESP-бэкенда:
- Выбор COM-порта (
Auto/ конкретный порт / обновление списка) и выбор скорости (baud) — раньше скорость была фиксированной, теперь её можно выбрать из готового списка115200 / 230400 / 460800 / 921600 / 2000000или задать свою через пункт «Custom baud…»; по умолчанию460800. - Кнопка Cancel для длительных операций.
- Тестер пинов USB-UART (отдельный диалог): переключение DTR/RTS, проверка TX/RX по петле (loopback), монитор RX — помогает поднять нестандартные платы и проверить распайку перед прошивкой.
- Побайтовое сравнение в Verify: добавлено побайтовое сравнение — после блочной проверки по MD5 при расхождении показываются конкретные различающиеся байты.
- Конфигурация ESP-таргетов: добавлена возможность настраивать ESP — можно создать собственный ESP-таргет в Target Configurator. При несовпадении выбранного и определённого размера флеша показывается предупреждение — не блокирующее операцию.
Главное — скорость чтения. За счёт обновлённых RAM-loader'ов и работы на повышенной скорости чтение ускорилось в разы на всех семействах. Например, ESP32-S3 16 МБ: с ~24 мин 31 с (старый путь на 115200) до ~2 мин 46 с (около 8.9×); ESP32-C3 4 МБ — около 1450 кбит/с на 2000000 (около 9.7× к прежнему результату). Скорость 2000000 стабильна не на всех платах/адаптерах — безопасная рекомендация 921600 (ESP32-C6 устойчиво работает и на 2 Мбод).
Посегментный API скриптинга (Lua) — пока только для ESP-бэкенда
Для случаев, когда прошивка разбита на сегменты (например, по разделам из partitions.csv) и нужно обновить только часть, а не весь регион. Функции mp.backend.read_segment / verify_segment / write_segment / erase_segment(addr, size) работают с отдельным выровненным диапазоном адресов. Пока реализовано только в ESP-бэкенде; доступно как из Lua-скриптов, так и через IPC для AI-ассистента. Готовые примеры лежат в scripts/examples/esp_segment_*.lua (начните с esp_segment_example.lua); правила выравнивания описаны в справочнике по скриптингу.
Option Bytes STM32 как адресуемые регионы (ST-Link)
Главное — корректная проверка Option Bytes при верификации после записи: теперь каждый OB-байт проверяется так, как нужно — изменяемые байты сверяются, а служебные (комплементарные) байты, которыми управляет железо, из проверки исключены. Для этого для семейств STM32 F0, F1, F2, F3, F4 Option Bytes представлены как адресуемые регионы памяти на штатных адресах — их видно и можно редактировать в буфере. Дампы OB из версий MultiProg 2.3.0–2.3.4 при загрузке автоматически переносятся на новые адреса, поэтому такие файлы совпадают по адресам и править их не нужно. Адресация OB при этом формально совместима с J-Link. Для двухбанкового F4 регистры OPTCR и OPTCR1 объединены в один регион.
Интеграция AI-ассистента (agent IPC)
Добавлен handshake ping / status для проверки связи и состояния. Сама интеграция (файловый мост, управление MultiProg через тот же Lua API, что и Script Console) появилась раньше; включается через Settings → AI Agent Integration.
TGSN: принудительное стирание R8C по ID «ALeRASE» и защита от Protect
Добавлена поддержка функции Forced Erase для R8C. Если МК закрыт по ID-коду и обычный доступ невозможен (ID неизвестен), можно прислать зарезервированный ID ALeRASE: МК сам полностью сотрёт user ROM и станет доступен для работы. Данные при этом теряются — это ожидаемо, это «разблокировка через стирание».
ALeRASE — это 7 байт ASCII (регистр важен: A L e R A S E):
41 4C 65 52 41 53 45
Как выполнить принудительное стирание:
1. Ввести ID "ALeRASE" в ID-селекторе
2. Сделать повторный Connect — на МК без ROM code protect он сотрётся и разблокируется
- Работает только на поколении R8C/3xC (например, R8C/32C, 33C, 35C, 36A/36C/36M/36T-A, 38C, 38W·X·Y·Z); у старых R8C/1x и R8C/2x такой функции нет.
- Защита от случайного стирания: при Special Read, если восстановленный из МК ID оказывается
ALeRASE, MultiProg откажет и не подставит его обратно — операция чтения не сотрёт МК. Стирание запускается только осознанно — по введённому пользователем ID. ALeRASEпомогает не всегда. Forced erase зависит от ROM code protect (битыROMCR/ROMCP1регистра OFS). Если ROM code protect включён, а записанный ID не равенALeRASE, МК откажет в стирании, и MultiProg сообщит «ALeRASE refused: ROM code protect enabled» с сырыми байтами статуса — такой МК нельзя стереть по serial.Protect— это не то же, что ROM code protect. Зарезервированное ID-словоProtectполностью отключает serial/OCD-связь (МК «молчит»); кроме того, TGSN всегда отклоняетProtectкак присылаемый ID. ROM code protect — это пара битов OFS: МК продолжает отвечать, но блокирует стирание.
Все механизмы защиты R8C и какие состояния восстановимы — см. Виды защит R8C.
Требуется прошивка TGSN 3.3.7 или новее.
Изменено
- Переподключение ESP переиспользует активную сессию вместо закрытия и повторного открытия порта — устраняет периодические зависания при открытии на чипах с нативным USB (S2/S3).
- Усилена проверка обновлений при старте и добавлено уведомление о доступном обновлении.
Исправлено
- Первое подключение ESP иногда завершалось ошибкой «Can't read target id» сразу после синхронизации — чтение chip-id теперь повторяется.
2.3.4
Выпущено 2-го июня 2026 года
Изменено
Чтение всех таргетов STM32/FM3/FM4 с новым ram-агентом (ST-Link)
Все МК семейства STM32/FM3/FM4 переведены на новый агент чтения с двойным контролем CRC.
Options Bytes (OB) STM32 (ST-Link)
Теперь если OB = 0xFF (пустой буфер), они не записываются и соотвественно не проходят проверку после записи. Все регионы OB совместимы по адресам с файлами J-Link.
Проверка Data-Flash FM3-FM4
Таргеты FM3-FM4 теперь выдают предупреждение в лог о нестабильном поведение D-Flash (Work-Flash).
Если при чтении вы получили предупреждение в логе: [WARN] D-Flash unstable read at ... это 100%-ая гарантия битой прошивки (вернее сказать зависания записи D-Flash).
Также добавлена проверка сигнатуры (jep106) для MB9BF168R/S6E2HE6G, с предупреждение в случае ошибки.
S6E2HE6G - добавлен ram-агентом записи (ram-loader)
Скорость записи теперь как у MB9BF168R.
Исправлено
Пиноуты HCS08
Исправлены недочеты в пиноуте некоторых HCS08.
2.3.3
Выпущено 16-го мая 2026 года
Добавлено
TGSN Installer — обновлённый процесс установки
- Установка только из MultiProg — без настройки WiFi на TGSN. Интернет нужен только компьютеру с MultiProg; на самом TGSN ни WiFi, ни авторизация для установки больше не требуются. Двухстадийный процесс по умолчанию. Удобно на объектах со слабым WiFi. Сам установщик сфокусирован только на установке; если WiFi на устройстве всё-таки нужен (например, для последующих обновлений через меню Update прямо с TGSN) — это делается отдельно через
TGSN → TGSN Configure WiFi. - Статус-строка с текущим состоянием. На странице программирования всегда видна версия прошивки, git-хэш, текущая стадия и подэтап. По завершении — «Complete» / «Done» или «Failed: <причина>».
Добавлены новые скрипты
renesas_nec_targets.lua— выводит список таргетов NEC 78K0/xx2 с размером памяти. Был написан для своей задачи; оставлен в комплекте как пример обращения к базе таргетов из Lua.- Lua-скрипт очистки статистики на платах с FM4 (Cypress/Spansion MB9BF168R или S6E2HE6G) — добавлен как пример. Очищает Work Flash с
0x200C4000до конца региона и сохраняет служебный маркер по адресу0x200C5FFE(записывает0xA5, если пусто, иначе оставляет байт как есть). Полный цикл Connect/Read/Erase/Write/Verify, ограничен поддерживаемыми таргетами.
Утилиты программаторов (драйверы и прошивки в комплекте)
- Драйверы и апдейтеры прошивки теперь в составе установщика MultiProg.
- ST-Link:
STSW-LINK009(USB-драйверы) +STSW-LINK007 v3.14.5(апдейтер прошивки; именно v3.14.5 — потому что эта версия поддерживает и неоригинальные ST-Link). - USBDM:
USBDM_Drivers_4_12_3_Win_x64.zip(драйверы) + урезанная сборкаFirmwareChanger.exe(~9 МБ) для перепрошивки JS16/JB16 + бутлоадеры +FlashImages/DeviceData. Из 183-мегабайтного оригинального MSI взято только то, что нужно для перепрошивки JS16/JMxx.
- ST-Link:
- Распаковываются в профиль пользователя:
%USERPROFILE%/KuragaTech/MultiProg/programmer_utils/— обычному пользователю не нужны права администратора. - Из окна ошибки можно сразу открыть нужную папку: при типовых ошибках ST-Link/USBDM («firmware too old», «Programmer not found», «libusb error», «Unsupported USBDM programmer» и т.п.) в диалоге появляется кнопка «Open ST-Link/USBDM Utilities» — открывает соответствующую папку в Проводнике.
- Если папка пустая — показывается понятное «missing»-сообщение с подсказкой.
License — таблица модулей лицензии
- В диалоге License появилась таблица «License Modules» — видно, что входит в лицензию (какие семейства/функции).
- В таблице отображается
ST-Link(точное название модуля).
Диагностика подключения FM3 / FM4 (ST-Link)
- Размер флеша рядом с именем таргета в info-панели, например «MB9BF168R · 1024 KB». Помогает уверенно различать FM3/FM4 модели с одинаковым префиксом — у этих семейств нет регистра chip-ID, и если маркировка чипа плохо читается, размер флеша становится дополнительным ориентиром.
- Классификатор причин «не подключается» для FM3/FM4. Распознаются типовые сценарии:
- VTGT / нет питания цели;
- USB-stall на ST-Link (
libusb error -7) — подсказка «Unplug and replug the ST-Link»; - Плавающая SWD-шина (сигнатура
DHCSR=0xFFFFFFFF) — обрыв провода SWDIO/SWCLK/GND или они перепутаны местами; - МК не обнаружен. Эмпирически подтверждено на 6 разных вариантах разводки.
- Warning при несоответствии размера флеша объясняет контекст: «у FM3/FM4 одинаковые префиксы партномеров, нет регистра chip-ID, запись может повредить прошивку» — мастер видит, почему стоит остановиться и перепроверить выбранный таргет.
TGSN: самообновление через меню Update
- Меню
Updateна устройстве снова обновляет прошивку по WiFi — без MultiProg, прямо с TGSN. - Update доступен независимо от первичной установки через MultiProg. Если в этой версии прошивки первичная установка через MultiProg ещё не делалась — Update всё равно сработает (раньше в таком случае он не пускал и требовал сначала пройти установку из MultiProg).
- Анимированный лоадер WiFi-connect в Update.
- Цветовые вердикты по результату:
- 🟢 «WiFi connected»;
- 🔴 «WiFi timeout» (не получилось подключиться к WiFi);
- 🔴 «Update Failed» (прошивка не накатилась);
- 🟠 «not needed» (актуальная версия, обновлять нечего).
Исправлено
Пиноуты RL78
- RL78/L12 и L13: пиноуты разделены на отдельные подсемейства.
- RL78/G1C и G14: базовый пиноут унифицирован между подсемействами.
- RL78/G13 LQFP-64 (R5F100Lx / R5F101Lx): пиноут актуализирован.
R8C/10–13 — проверено на МК в Mode 2
- LQFP32: на схеме подключения добавлен пин CNVSS (для Mode 2 обязателен).
- Кварц XIN/XOUT: для Mode 2 в схеме явно указано требование внешнего кварца — мастер сразу видит, что без него стенд не заведётся.
Подключение к NEC 78K0 (TGSN)
- Подключение быстрее ~24 %. На стенде с uPD78F0534 @ 5 В на 100 циклов подключения время цикла снизилось с 449 мс → 388 мс. Оптимизирована смена скорости в момент подключения: хост сразу подстраивается под текущую скорость бутлоадера и отдаёт
OSC_FREQ_SETза один проход.
RL78 (TGSN)
- Улучшили сообщения об ошибках по Connect RL78. При сбое подбора скорости в окне MultiProg появляется конкретная строка: на каком шаге сорвалось (
baudrate_set,OCD sync,OCD ping,reset,Signature/iverify,Checksum), на какой скорости пробовали, что ответил чип — и короткая подсказка, что обычно помогает (проверить питание, землю, RESET, частоту, выбрать другую скорость). Если автоподбор перебрал все скорости и ни одна не сработала — приходит одно итоговое сообщение с самой показательной ошибкой. - 5V-REGC echo fix. На RL78 с напряжением REGC > 3,3 В при питании 5 В (если в MultiProg выставлено 5 V и подключение RX→REGC) проверка Flash Controller на этапе подбора скорости теперь игнорируется: при ошибке работа продолжается, а в лог идёт предупреждение
5V REGC: Flash Ctrl off — expected (REGC>3.3V), proceeding.. Раньше эта проверка считалась фатальной и подключение прерывалось.
2.3.2
Выпущено 13-го мая 2026 года
Добавлено
- Конфигурация таргетов ST-Link — добавили возможность конфигурации таргетов в ST-Link семействах через Target Configurator.
- Updater для 2.2.57 → 2.3.x — при попытке самообновления со старого MultiProg показывается окно со ссылкой на новый инсталлер 2.3.x и системные требования.
Изменено
- TGSN Installer (Online Installation, этап 4): подтверждение перед привязкой TGSN ID — диалог объясняет: первый раз → новый ID привяжется к Lilygo навсегда; уже привязана → используется существующий, повторять безопасно.
- Превью схемы подключения в Target Configurator работает ближе к Connection Image — pinout теперь можно таскать мышью.
Исправлено
Совместимость
- Старая Windows 10 (сборка < 17763): MultiProg корректно запускается, и текст в окнах — особенно кириллица в Settings / About / Configure Targets / License Setup / TGSN Installer — читается. На сборках 1607–1803 прежний детектор не ловил полусломанный DirectWrite (отсюда «квадратики» вместо букв или отказ запуска с «Can't initialize IDWriteFactory6»). На таких сборках теперь автоматически включается FreeType-рендер; номер сборки Windows и принятое решение пишутся в лог при старте.
Target Configurator
- HCS08 AC60/AC96/AC128: кастомная конфигурация сохраняется — раньше Save отказывал на BDM-пинах и paged-flash аргументах.
- Specified-вкладка прокручивается — для HCS08 AC с 11 кастомными полями форма больше не сжимается и поля не перекрываются.
- M16C/62P, /63, /64A, /65, /80: кастомная конфигурация сохраняется — раньше Save отказывал на регионе
Lock Bits. - Нет «Discard changes?» если ничего не правили — Cancel/ESC/крестик после простого просмотра больше не задают лишний вопрос.
TGSN Installer
- scanWifi не теряет ответ — таймаут поднят, пакет от устройства не пропадает. Различаем «устройство переподключается, ~10 с» и «TGSN не ответил».
- Улучшили обработку протокола при нажатии Cancel во время Login.
TGSN Full
- OK-кнопка в стиле темы — раньше внутри тёмно-зелёного диалога OK был белый системный.
Activation / License Setup
- Понятные ошибки активации — вернули как было в 2.2.57: вместо «Server return error» теперь видно полную причину («hardware ID привязан к другому аккаунту», «уже активированы две машины», «нет активной лицензии»).
Работа с сервером
- Улучшили обработку временных сбоев сети у провайдера — активация и обновление переживают разрывы TLS и временные 5xx-ошибки.
2.3.1
Выпущено 8-го мая 2026 года
Исправлено
STM32 SWD
- STM32 G0 (G0B0xE на ST-Link V2-1): устранена повторяющаяся ошибка «OBL_LAUNCH recovery failed» при записи option bytes. Подключение к работающему контроллеру стало надёжным: остановка ядра идёт напрямую через DAP-AP, а не через прежний сброс; восстановление после OBL_LAUNCH теперь сразу делает переподключение USB + системный сброс + остановку, без попыток внутри сессии (около 170 мс быстрее на цикл). Verify учитывает маску разрешённой записи и уровень защиты RDP=Level1. Проверено на STM32G0B0xE + ST-Link V2-1.
- STM32 G0/G4: массовое стирание при активной защите от записи (WRP) раньше возвращало
WRPERR, если хотя бы одна страница была защищена через WRP1AR/BR/2AR/2BR. Теперь драйвер сам снимает WRP перед стиранием; финальная фаза записи option bytes восстанавливает WRP из буфера. Сценарий клонирования (Read с чипа A → Write на чип B) сохраняется — WRP воспроизводится.
Lua / IPC
mp.memory.load_file/save_file: после загрузкиget_all_dataвозвращал0xFF— буфер ещё не успевал обновиться. Теперь после диспетчера выполняется очистка очереди событий GUI, и последующие чтения видят актуальные данные.- Улучшена работа AI-агента со следующими функциями чтения буфера:
read_byte/_at,read_range/_at,read_bytes,read_hex,read_string/_at/_until_null,region_size,get_region_data,get_all_data,export_region/all,compare. - Импорт/экспорт через
mp.memory: при настоящей ошибке возвращают(false, err), а не всегда(true, ""). mp.utils.bytes_to_string: переписано через нативный Lua API, без обёрток sol2.
Прочее
- Диалог настроек Checksum-скриптов падал на путях с кириллицей в
%USERPROFILE%. Теперь скрипт читается черезQFile+luaL_loadbuffer, минуя CRTfopen.
Добавлено
- VGBN (
Ctrl+0) теперь умеет брать размер нулевого блока из настроек семейства, а не только из конкретного таргета. Если у таргета размер не задан — берётся из семейства; если и там нет —1024с предупреждением в лог. В базе таргетов добавлен размер нулевого блока для семейств NEC_78K0R (2048), NEC_78K0_xx2 и RL78 (1024). Settings → Debug mode— переключатель в настройках, включает диагностические логи драйверов SWD ([g0-diag],[swd-diag]и др.) на лету, без перезапуска приложения. Сообщения идут в обычный лог MultiProg.
2.3.0
Выпущено 6-го мая 2026 года
В версии 2.3.0 мы переехали на новую архитектуру:
- 64-битная сборка на Qt 6 (вместо 32-битной на Qt 5).
- Поддерживаются только Windows 10 и Windows 11.
- Установщик ставится в
C:\Program Files(x64) и пишет настройки в 64-битную ветку реестра.
Если у вас Windows 7 или 8.x — оставайтесь на ветке 2.2.x.
Добавлено
Скриптовый движок Lua
- Встроенный Lua-движок (5.5.1) с полным API MultiProg —
около 235 функций в 12 модулях (
mpядро,mp.backend,mp.config,mp.memory,mp.file,mp.checksum,mp.targets,mp.target_builder,mp.log,mp.ui,mp.utils,mp.app). - Script Console — отдельное окно с редактором кода, подсветкой синтаксиса, автодополнением, отладчиком (точки останова, пошаговое выполнение) и интерактивной консолью REPL.
- Lua-скрипты как пользовательские калькуляторы контрольных сумм
с отображением результата в статус-баре (маркер
-- @checksum-script). - Контроль версий Script API (
SCRIPT_API_VERSION). - Папка
scripts/examples/с готовыми примерами. - Watchdog для внешних скриптов — автоостановка зависшего скрипта через 10 минут.
Темы оформления
- Четыре темы — Light, Dark, Telegram, Night — с переключением на лету через Settings > Theme.
- Редактор пользовательских тем в настройках.
- Корректная отрисовка заголовка окна (DWM), иконок, hex-просмотрщика, логгера, диалогов, скроллбаров и вкладок во всех темах.
- Hex Buffer Colors editor — отдельный редактор цветов hex-буфера с мини-превью и live-предпросмотром темы.
Сравнение HEX-буферов (Ctrl+M)
- Два HEX-просмотрщика рядом с подсветкой различий.
- Импорт из файла или текущего буфера, синхронная прокрутка.
- Навигация по различиям (вперёд/назад) с учётом вкладок и регионов.
- Цветная сводка различий.
Редактирование HEX-буфера
- Undo/Redo через меню редактирования.
- Подсветка изменённых байтов.
- Резервное копирование буфера при входе в режим редактирования.
- Контекстное меню Edit / Fill в hex-буфере; диалог Fill с live-валидацией hex и подсказкой адреса.
Connection image для каждого МК
- Поддержка корпусов: QFP/LQFP/TQFP/QFN/PQFP/PLCC/SOIC/SSOP/LSSOP/TSSOP/DIP/BGA + Connector1Row/Connector2Row/AbstractTable, прямоугольных корпусов (например, PQFP 14×20 мм для M16C) и BGA-разводок.
- Визуальный редактор пиноута (
PinoutEditorDialog) с превью — редактирование назначения пинов прямо в GUI. - Таблица подключения программатор↔целевое устройство (
AbstractTable) — альтернативное табличное представление сопоставления выводов. - Поворот корпуса для ориентации схемы под физическое положение чипа на плате.
- NC-выводы — визуальные ориентиры для непрограммируемых пинов корпуса (пин обозначен на корпусе, но не идёт к программатору).
- Автогенерация схемы подключения из JSON-описания пинов целевого устройства; пользователь может создать свою схему для нового чипа, отредактировав описание выводов.
- Pinout Export / Import — выгрузка и импорт пиноута через configurator.
Горячие клавиши
Ctrl+H— история последних выбранных целевых устройств.Ctrl+U— быстрый доступ к избранному.Ctrl+T— поиск целевого устройства.Ctrl+M— режим сравнения HEX-буферов.
ST-Link
- Новый собственный SWD-бэкенд (
KT SWD) — заменили внешний бэкенд на внутреннюю библиотеку, написанную с нуля. Включены в релиз: STM32 — 9 семейств (F0, F1, F2, F3, F4, F7, G0, G4, H7); Infineon FM3 / FM4 — 2 семейства; NXP MKE — 4 семейства (MKE02Z, MKE04Z, MKE14Z, MKE15Z). Свой код вместо стороннего — теперь улучшаем и расширяем без оглядки на внешние библиотеки. - Быстрая запись через SRAM-роутины — для STM32 F0/F1/F2/F3/F4/F7/G0/G4/H7, NXP MKE02/04/06 и Infineon FM4 MB9B560 запись идёт собственной микропрограммой в SRAM (раньше — побайтово через DAP). Скорость на уровне J-Flash / J-Link.
- Устойчивый коннект:
- двойное чтение для верификации передачи (ловим короткие USB-передачи);
- per-chunk проверка статуса операций (
GETLASTRWSTATUS2); - авто-реконнект при «мёртвой» SWD-сессии после power-cycle цели;
- тайминг-поллинг записи с допуском временных ошибок шины.
- На подключении — лог сырых ADC-отсчётов
VTREF(отладка кейсов «не видит цель» / «низкое напряжение»). - Строки Firmware и Voltage в панели программатора — отображение версии прошивки и текущего напряжения целевого устройства.
- Минимальная требуемая прошивка: V2J44S7+ (отказ с понятным сообщением, если ниже).
- STM32 G0 — корректная поддержка с записью/чтением Option Bytes
и
OBL_LAUNCHпосле записи. - STM32 G4 — новое семейство: запись/чтение Option Bytes,
OBL_LAUNCHпосле записи, чтение OB из flash storage area (совместимо с форматом сохранения J-Link). - STM32 H7 — новое семейство: запись Option Bytes, прогресс erase.
- NXP MKE — два собственных flash-драйвера: FTFE (для KE14/KE15) и FTMRH (для KE02/KE04). Включены 4 семейства: MKE02Z, MKE04Z, MKE14Z, MKE15Z. На FTFE поддерживается EEPROM Config, FlexRAM Set, FlexNVM partition restore, Read Resource, Erase All Unsecure, Program Partition, Option Bytes; на FTMRH — SRAM-stub fast-write.
USBDM
- Поддержка USBDM JS16 — добавлен новый программатор + декодер ошибок BDM.
- Freescale HCS08 теперь в бесплатной версии MultiProg — с поддержкой автоматического TRIM.
- Поддерживаемые таргеты HCS08: MC9S08AC60 / AC96 / AC128, MC9S08GB (включая GB60A — Arcadia 1).
- Paged-flash для AC96/AC128 — формат прошивки совместим с программатором Orange-5: один и тот же файл работает у нас и у O5.
- RAM-routine быстрого программирования (~50× быстрее побайтовой записи).
- Pre-write blank check (пропуск уже совпадающих байтов).
ESP32
- ESP32 теперь в бесплатной версии MultiProg.
- Connection image для всех ESP-таргетов; Auto-семейство ставится первым в списке выбора.
- Byte-level progress для больших flash-операций — точные байты в прогресс-баре вместо KB/MB, отзывчивее на крупных образах.
TGSN
- Toshiba TMPM470 — новое семейство в TGSN-бэкенде.
- NEC 78K0 Kx1+ (
NEC_78K0_Kx1plus) — новое семейство. Автоматическое определениеfoscс верификацией, затем подбор стабильной скорости из набора 153600 / 38400 / 9600. - NEC 78K0 xx2 (
NEC_78K0_xx2) — новое семейство. Автоматическое определение и подстройкаfoscна опорных 20 МГц с точностью ≈ 1 % — bootloader получает точную частоту, связь стабильно идёт на 115200 бод без ручной настройки. - Renesas M16C — новое семейство; поддержка lock bits через
MP_PROG_ARG_SET; CE/EPM пины на всех подсемействах и корпусах (включая прямоугольный PQFP 14×20 мм). Список скоростей:auto / 9600 / 38400 / 57600; 115200 не используется (нестабильна на M16C),autoпробегает по фиксированным значениям и фиксируется на сработавшем. - Renesas R32C — новое семейство; раздельные режимы стирания —
mass для Flash, block для Data Flash; VDD зафиксирован на 5 В.
Список скоростей:
auto / 9600 / 38400 / 57600 / 115200;autoпробегает по фиксированным значениям и фиксируется на сработавшем. - R8C — выбор режима входа MODE3 из MultiProg.
- Готовый Lua-скрипт
renesas_nec_checksum.lua— встроенный калькулятор контрольной суммы SUM-RL78 для Renesas RL78 (область0x0000–0x03FF, 1 КБ) и NEC 78K0R / 78K0 (область0x0000–0x07FF, 2 КБ). Подключается через Settings > Checksum Settings > Script, результат — в статус-баре главного окна.
Mismatch navigation
- Панель навигации по несовпадениям при verify (вперёд/назад, циклически).
Внешняя интеграция AI-агента (предварительная версия)
- IPC-мост (Inter-Process Communication, межпроцессное взаимодействие) для управления MultiProg внешними AI-агентами: чтение/запись памяти, выбор таргета, запуск операций программирования, получение логов через защищённый канал.
- Аутентификация по токену (
agent_tokenв%APPDATA%/KuragaTech/MultiProg/). - Режим
--agent-mode— запуск с включённым IPC из коробки. - Диалог настроек: Settings > AI Agent Integration — включение/выключение, просмотр/регенерация токена.
- Кнопка «Copy starter prompt for external agent» — готовый prompt с описанием API для подачи во внешний агент (Claude, Cursor и др.).
Контрольные суммы
- Полная переработка диалога Checksum Settings — новый диалог с профилями, общий стиль с другими настройками.
- +16 новых CRC-алгоритмов; переименование
KERMIT → CCITT. - Полный набор пресетов из
crccalc.com.
Прочее
- Сохранение одного региона: имя файла со штампом контрольной суммы региона.
- Settings > Debug mode — runtime-флаг расширенного логирования
операций (метки
[read-diag]/[trim-diag]в логе) без перезапуска приложения. - Select Range — диалог выбора фрагмента hex-буфера по offset.
- Лог-терминал — контекстное меню с поиском, фильтром ошибок и сохранением лога в файл.
- Ctrl+F context-aware — поиск по логу, если фокус в логе; иначе — поиск по hex-буферу.
- Favorites: колонка Notes — редактируемые заметки к избранным таргетам.
- Поддерживаются все стандартные расширения SREC:
.s28,.s37,.sx,.s,.s2,.s3. S19-парсер устойчив к записям с разрывами адресов (раньше падал).
Изменено
- TGSN Installer: явное различие сетевой ошибки и ошибки лицензии, кнопки Back, единый прогресс-диалог для медленных шагов.
- Имена в Save и пути JSON санитизируются для файловой системы (поддержка Unicode-имён без поломки путей).
Исправлено
- MultiProgSetup: понятная ошибка при привязке HWID к другому аккаунту, улучшенный процесс регистрации.
- ST-Link V3: явный отказ с сообщением (поддержка V3 в разработке).
2.2.57
Выпущено 10-го февраля 2026 года
Добавлено
- Отображение контрольной суммы в статусной строке с выбором алгоритма CRC.
- Алгоритм контрольной суммы SUM-RL78; Checksum-16, Checksum-16 Inv.
- Штамп контрольной суммы в имени файла при сохранении/экспорте.
- Горячая клавиша Ctrl+0 для быстрого расчёта контрольной суммы RL78-NEC.
- Кросс-контроль версий между прошивкой TGSN и MultiProg.
Изменено
- Файлы конфигурации и логов перенесены в пользовательскую директорию (
%AppData%) с автоматической миграцией при первом запуске. - CRC16-CCITT установлен алгоритмом контрольной суммы по умолчанию.
- Апдейтер запрашивает права администратора в Windows.
Исправлено
- Усечение 32-битного стартового адреса в
read_region(теперь сохраняются все битыstart_addr). - Размеры блоков и подблоков переведены на
uint32_tдля предотвращения переполнения. - Ошибки записи в
tgsn_programmer_write_dump. - Двойная блокировка буфера обмена при копировании hex/текста из буфера.
- Отсутствие возврата ошибки в
tgsn_programmer_get_programmer_info. - Проверка минимальной версии прошивки TGSN с понятным сообщением об ошибке.
2.2.56
Выпущено 3-го февраля 2026 года
Добавлено
- TGSN Open/Full: поддержка семейств HART-m300 и HART-i900.
- HART таргеты: автоматическое определение модели контроллера (i910, i910z, m300).
Изменено
- Автопереименование устаревших JSON-файлов HART-таргетов (HART-M300 → HART-m300).
- Скрыт селектор baud rate для таргетов HART-m300 (фиксированная скорость).
2.2.55
Выпущено 31-го января 2026 года
Добавлено
- Чтение ID Code из hex-буфера (ID из буфера).
- SpecialRead для таргетов R8C.
Изменено
- Действия и диалоги TGSN Full доступны только с лицензией TGSN Full.
- Блокировка кнопок TGSN Installer и Read Backup во время программирования.
2.2.54
Выпущено 24-го января 2026 года
Добавлено
- Загрузка и запись модулей TGSN (управление модулями прошивки).
- Диалог авторизации перед доступом к TGSN Installer.
- Blank check для всех TGSN таргетов.
- Загрузка бета-прошивки с сервера (контекстное меню на кнопке Flash), проверка по записи на сервере.
- R8C: добавлены аргументы для вариантов 21254-58 и BA.
Изменено
- Рефакторинг функций сохранения и загрузки.
- Обработка ошибок: новый обработчик
statusToQString, улучшенные сообщения об ошибках. - TGSN Installer требует активную лицензию для открытия.
- Загрузка прошивки использует чанковый протокол (
prot_write_file).
Исправлено
- Очистка обработчика ошибок TGSN special.
2.2.53
Выпущено 16-го октября 2025 года
Добавлено
- Поддержка EEPROM для MKE02Z.
Исправлено
- Исправлен размер flash для TMPM370.
- Отображение прогресс-бара.
- Увеличен таймаут на mass-erase (протестировано на 212BA).
2.2.52
Выпущено 15-го октября 2025 года
Добавлено
- TGSN Open/Full: поддержка семейства R8C.
- Новый таргет селектор с поиском, избранными и конфигуратором.
- Конфигуратор: подпрограмма конфигурации семейств (R8C, TMPM370) для добавления контроллера.
Изменено
- CRC8_LTE при чтении каждого блока в loader-e RL78 (TGSN).
- Автоматическая авторизация при установке.
Исправлено
- FM4 Infineon - HALT при чтении D-Flash (IROM2).
2.2.51
Выпущено 13-го августа 2025 года
Добавлено
- TGSN Full: чтение закрытых RL78.
- TGSN Open/Full: поддержка TMPM370 + I2C/SPI EEPROM (UART RAM loader).
- ST-Link: поддержка Infineon FM3.
Изменено
- TGSN: авто-таргеты из файлов конфигурации (JSON).
- tgsn-installer — проверка и загрузка стартовой прошивки с сервера (verify by CRC32), автоматическая авторизация при установке.
Исправлено
- TGSN: баг в библиотеке USB.
2.2.32
Выпущено 31-го января 2025 года
Добавлено
- начат журнал изменений
Изменено
- UI - скроллинг буфера, TGSN: Current_ID после подключения к контроллеру, в поле текущего ID;
Исправлено
- tgsn-installer, WiFi - парсинг некоторых символов в пароле;