30 мегабайт exe-файл
Пора бы привыкнуть, что программа с GUI на современных фреймворках/библиотеках весит много. Размер 33.8 МиБ в запакованном exe, реальный размер 82 МиБ из них 66.8 МиБ - PyQt6. Если бы выложили .py скрипт, то можно было бы сэкономить место, когда много программ с использованием PyQt6.
К слову,
Хеллоу ворды на хромиум движке весят от 100 МиБ, у Steam CEF занимает 624 МиБ, в Epic Games Launcher - 502 МиБ, Ubisoft Connect - 160 МиБ, GOG Galaxy - 100 МиБ. Для маленького размера используют "древние" технологии или специальные способы (например, для open source Qt можно скомпилировать статически). С GUI вообще беда, одно хуже другого.
я честно не знаю насчет исходного кода чтобы не получилась куча потом похожих программ на мою
Не так чтобы много кому это нужно было. В чём проблема похожих программ? Допустим, вы забрасываете разработку, а человеку что-то неудобно, что не хватает или есть баг, ему придётся писать программу заново вместо изменения существующей.
UPD:
нет понимания как работает ips
Нужно убрать Sega Genesis из названия программы, добавить проверку на расширение файлы, чтобы Fix checksum работал только для MD ромов. Ещё
нет поддержки .smd файлов, этот формат (если файл правильно назван) отличается от bin (он же gen, md - другие расширения, а
не формат), тогда Fix checksum не нужно давать применить, для определения можно посмотреть код ucon64.
UPD2: Также можно улучшить: проверка совместимости патчей без выбора рома; вместо написания "1.ips и 2.ips конфликтуют по адресу" для каждого адреса, перечислить адреса для каждой пары патчей; когда не выбран патч или выбран один патч, нужно сделать неактивной кнопку "Сравнить адреса патчей" вместо "Ошибка Выберите патчи для сравнения." после нажатия, с "Открыть папку вывода" та же история. Поддержки перетаскивания файлов всё ещё нет.