Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: Конвертор файлов ALASM в текст

  1. #1
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,573
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Конвертор файлов ALASM в текст

    Большая часть моих ассемблерных исходников находится в формате ALSM. Это не обычный текстовый формат - там для экономии памяти каждый оператор и операнд хранятся в упакованном виде. Поэтому, чтобы ознакомиться с исходником, его нужно либо загружать в ALASM и изучать там, либо предварительно конвертировать в текст. Для конвертации я использовал комплектный конвертер, который работает на Спектруме и конвертирует по одному файлу. Это, безусловно, неудобно, но про другие конвертеры я ничего не слышал. Поэтому для собственного удобства я написал скрипт на Python, который берёт TRD, SCL, HoBeta или уже выдернутый файл H, и конвертирует все найденные там исходники из формата ALASM в текст.

    Использовать просто:

    Код:
    alasm2text.py filename.(trd|scl|$h|H)
    Главное только, чтобы на компьютере был установлен Python 3.

    После отработки скрипта, рядом с обрабатываемым файлом вы получите готовые текстовики в кодировке CP866 (DOS) с расширением .asm. В начало заголовка каждого файла добавляется счётчик, так как в TRD и SCL файлы могут дублироваться. Оригинальное название файла, которое берётся из заголовка исходника, добавляется в первый комментарий самого текста.

    Особые усилия были предприняты для того, чтобы текстовые файлы выглядели именно так, как они выглядят в самом ALASM. Прежде всего это касается табуляций и пробелов. Я проверил на десятке файлов от разных авторов и вроде бы все проблемы поборол. Но это не точно

    Также столкнулся с ситуацией, когда в ALASM строка "- INCLUDE "FILE"" отображается как "+ INCLUDE "FILE"". Не понимаю из-за чего это происходит, но делать с этим пока ничего не стал.
    Вложения Вложения
    Последний раз редактировалось CityAceE; 07.08.2021 в 13:19.
    С уважением, Станислав.

  2. Эти 5 пользователя(ей) поблагодарили CityAceE за это полезное сообщение:

    andrews (28.07.2021), Black Cat / Era CG (28.07.2021), Dexus (28.07.2021), mastermind (29.07.2021), Spir0 (07.08.2021)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Guru Аватар для andrews
    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,663
    Спасибо Благодарностей отдано 
    418
    Спасибо Благодарностей получено 
    195
    Поблагодарили
    173 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хорошо бы там example какой-нить приаттачить и readme файлец

  5. #3
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,573
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нет никакого описания, кроме того, что приведено в первом посте. А что касается примеров, то можно, например, взять комплект того же ALASM, ну, или исходники TRDN.
    С уважением, Станислав.

  6. Этот пользователь поблагодарил CityAceE за это полезное сообщение:

    andrews (30.07.2021)

  7. #4
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,573
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хоть кто-нибудь попробовал-то?
    С уважением, Станислав.

  8. #5
    Master Аватар для Shaos
    Регистрация
    16.01.2005
    Адрес
    California, USA
    Сообщений
    805
    Спасибо Благодарностей отдано 
    97
    Спасибо Благодарностей получено 
    99
    Поблагодарили
    66 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Наверное все пользуются моим конвертером 20-летней давности, который в 2013 году расширил Дмитрий

    https://zx-pk.ru/threads/1356-konver...m-v-tekst.html

    P.S. Дмитрий ещё вот такие коды добавлял:
    Код:
    	  case 0xE1: strcpy(str,"EXD"); break;
    	  case 0xE2: strcpy(str,"JNZ"); break;
    	  case 0xE3: strcpy(str,"JZ"); break;
    	  case 0xE4: strcpy(str,"JNC"); break;
    	  case 0xE5: strcpy(str,"JC"); break;
    	  case 0xE6: strcpy(str,"RUN"); break;
    Незнаю насколько они важны/нужны, но мне не попадались
    А так вроде всё совпадает
    Последний раз редактировалось Shaos; 01.08.2021 в 07:16.
    Администратор сетевого сообщества nedoPC.org
    Урал 8/64К, Sp2000, ZX48K+, ZX16K (спалил), TS1000 (американский ZX81), TS2068, Дельта-С, 20 лет собираю ATM Turbo 2+
    Неспектрумы: Электроника МК-85 и МК-85М, ПК-01 Львов, БК-0011, Вектор-06Ц, Лик (спец), Апогеи, Radio-86RK SRAM 32K & 128K (всё ещё собираю)

  9. Этот пользователь поблагодарил Shaos за это полезное сообщение:

    CityAceE (07.08.2021)

  10. #6
    Member
    Регистрация
    15.02.2005
    Адрес
    г. Днепропетровск, Украина
    Сообщений
    166
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Попробовал, на TRD с ALASM и STS не все распарсило

    python alasm2text.py ALASM509_STS75.TRD
    Traceback (most recent call last):
    File "/home/spiro/Downloads/ZX Spectrum/ALASM/alasm2text.py", line 177, in <module>
    with open('{0:03}_{1}.asm'.format(file_number, alasm_name), "wb") as f:
    FileNotFoundError: [Errno 2] No such file or directory: '065_SAVEBAS/.asm'
    Ленинград-2 + 256кБ + BDI (FDD Teac 5.25 + 3.5) + YM2149 + PS/2 Keyb(Caro)
    Ленинград-2 + 1MБ (Kay1024 Standart) + BDI (FDD Teac 3.5) + AY8912 + PS/2 Keyb(Caro)
    Pentagon 128кБ (в процессе восстановления)

  11. Этот пользователь поблагодарил Spir0 за это полезное сообщение:

    CityAceE (07.08.2021)

  12. #7
    Member
    Регистрация
    15.02.2005
    Адрес
    г. Днепропетровск, Украина
    Сообщений
    166
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb

    Причина оказалась в слешах в названии файла в TRD образе.
    Простой фикс - заменить строки на

    строка 12
    Код:
            file_name_trd = filedata_trd[begin + 0:begin + 8].decode().replace("\\"," ").strip()
    строка 63
    Код:
        asm_name = databytes[0:8].decode().replace("/"," ").strip()
    Ленинград-2 + 256кБ + BDI (FDD Teac 5.25 + 3.5) + YM2149 + PS/2 Keyb(Caro)
    Ленинград-2 + 1MБ (Kay1024 Standart) + BDI (FDD Teac 3.5) + AY8912 + PS/2 Keyb(Caro)
    Pentagon 128кБ (в процессе восстановления)

  13. Этот пользователь поблагодарил Spir0 за это полезное сообщение:

    CityAceE (07.08.2021)

  14. #8
    Activist
    Регистрация
    23.02.2005
    Адрес
    Донецк
    Сообщений
    437
    Спасибо Благодарностей отдано 
    23
    Спасибо Благодарностей получено 
    88
    Поблагодарили
    54 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вы маньяки, открыть .trd в Total Commander`е, посмотреть Lister`ом .H файл и скопировать в любой блокнот.

  15. #9
    Сибирский антропоморфн Аватар для Black Cat / Era CG
    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,558
    Спасибо Благодарностей отдано 
    922
    Спасибо Благодарностей получено 
    871
    Поблагодарили
    635 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Rubts0FF Посмотреть сообщение
    Вы маньяки, открыть .trd в Total Commander`е, посмотреть Lister`ом .H файл и скопировать в любой блокнот.
    Надоть плагин inAlasm иметь ишшо.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  16. #10
    Activist
    Регистрация
    23.02.2005
    Адрес
    Донецк
    Сообщений
    437
    Спасибо Благодарностей отдано 
    23
    Спасибо Благодарностей получено 
    88
    Поблагодарили
    54 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вы маньяки, открыть .trd в Total Commander`е, посмотреть Lister`ом .H файл и скопировать в любой блокнот.
    Цитата Сообщение от Black Cat / Era CG Посмотреть сообщение
    Надоть плагин inAlasm иметь ишшо.
    Я думал это по дефолту, для спектрумиста?!

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Конвертер из Tasm и Alasm в текст
    от Raider в разделе Программирование
    Ответов: 8
    Последнее: 26.03.2019, 16:40
  2. Конвертор TAP файлов
    от dM_GBG в разделе Софт
    Ответов: 1
    Последнее: 22.11.2011, 11:01
  3. Восстановление файлов от ALASM
    от fyrex в разделе Программирование
    Ответов: 2
    Последнее: 20.01.2007, 15:37

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •