Большая часть моих ассемблерных исходников находится в формате ALSM. Это не обычный текстовый формат - там для экономии памяти каждый оператор и операнд хранятся в упакованном виде. Поэтому, чтобы ознакомиться с исходником, его нужно либо загружать в ALASM и изучать там, либо предварительно конвертировать в текст. Для конвертации я использовал комплектный конвертер, который работает на Спектруме и конвертирует по одному файлу. Это, безусловно, неудобно, но про другие конвертеры я ничего не слышал. Поэтому для собственного удобства я написал скрипт на Python, который берёт TRD, SCL, HoBeta или уже выдернутый файл H, и конвертирует все найденные там исходники из формата ALASM в текст.
Использовать просто:
Главное только, чтобы на компьютере был установлен Python 3.Код:alasm2text.py filename.(trd|scl|$h|H)
После отработки скрипта, рядом с обрабатываемым файлом вы получите готовые текстовики в кодировке CP866 (DOS) с расширением .asm. В начало заголовка каждого файла добавляется счётчик, так как в TRD и SCL файлы могут дублироваться. Оригинальное название файла, которое берётся из заголовка исходника, добавляется в первый комментарий самого текста.
Особые усилия были предприняты для того, чтобы текстовые файлы выглядели именно так, как они выглядят в самом ALASM. Прежде всего это касается табуляций и пробелов. Я проверил на десятке файлов от разных авторов и вроде бы все проблемы поборол. Но это не точно
Также столкнулся с ситуацией, когда в ALASM строка "- INCLUDE "FILE"" отображается как "+ INCLUDE "FILE"". Не понимаю из-за чего это происходит, но делать с этим пока ничего не стал.