Обновил тут версию МАМЕ в своём гиперспине, и столкнулся с проблемой - перестали загружаться картриджи для TI-99.
Полез копаться и выяснил следующее:
File Manager -> Cart -> Software List -> Cartridges -> {select}{enter} --- всё работает как часы
File Manager -> Cart -> File Manager -> Путь/к/этому же/самому/файлу/хоть в архиве хоть распакованный -> {select}{enter} --- unzip: couldn't find ECD, Unable to load image %imageName% : Bad archive signature (archive:1)
- это происходит со всеми играми/программами на картриджах в формате .bin, соответственно картриджи в этом формате, которых нет в softwarelist, загрузить больше невозможно вообще никак
- эта ошибка вылазит если грузить картридж в формате .bin либо .zip файл с этим .bin внутри
- картриджи в формате .rpk грузятся нормально
- ошибка вылазит вне зависимости от того, грузится файл через ui или через cli (минимально необходимый cli для воспроизведения ошибки: mame.exe ti99_4a -cart1 "/path/to/rom"), но в консоли она чуть-чуть другая чем в messagebox-е (хотя смысл тот же): Fatal error: Device TI-99 cartridge load failed: Bad archive signature
- в версии 0.271 - всё работает, в версии 0.283 - уже нет
Update: а вот ни фига, в 0.271 оно тоже не работает. Оно даже в 0.186 не работает. Соответственно либо я эту ошибку когда то пропустил, либо что то фундаментально поломал. В первом случае, получается что читать бины котоырх нет в softwarelist он в принципе не может? Ладно бы формат не умел читать вообще, так ведь умеет. Странно это. Зачем он пытается раззиповывать .bin-ы? Подтвердите, пожалуйста, кто ни будь, что я не сошёл с ума, прежде чем я полезу issue-шки им плодить...

Update2: Всё, разобрался: .rpk - оказались просто зипами, в которых может лежать один или несколько .bin-ов и layout.xml, в которым написано в какие адреса каждый из этих бинов пихать. Как я понял, картридж раздроблен на физические чипы, что привычно для аркад, но для компов это супер экзотический вариант, по этому долго разбирался...