User Tag List

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

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,578
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    407
    Спасибо Благодарностей получено 
    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,712
    Спасибо Благодарностей отдано 
    431
    Спасибо Благодарностей получено 
    208
    Поблагодарили
    186 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    По умолчанию

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

  8. #5
    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кБ (в процессе восстановления)

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

    CityAceE (07.08.2021)

  10. #6
    Master Аватар для Shaos
    Регистрация
    16.01.2005
    Адрес
    California, USA
    Сообщений
    807
    Спасибо Благодарностей отдано 
    100
    Спасибо Благодарностей получено 
    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 (всё ещё собираю)

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

    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
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,578
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    407
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shaos Посмотреть сообщение
    Наверное все пользуются моим конвертером 20-летней давности, который в 2013 году расширил Дмитрий
    Я его увидел уже после того, как написал свой Ну и про плагин для Total Commander'а я совершенно забыл. Наверное, если бы я про всё это знал/помнил, то поленился бы писать что-то своё. Но в любом случае, у меня помимо самого перекодирования была цель обрабатывать целый TRD/SCL и я её достиг.

    Цитата Сообщение от Shaos Посмотреть сообщение
    Незнаю насколько они важны/нужны, но мне не попадались
    Я воспользовался данными, которые прилагались к оригинальному ALAMS, то есть к авторской документации. Конвертер писал для себя, а в имеющихся у меня в распоряжении аласмовских исходников таких кодов не было, но я на всякий случай тоже их сейчас добавил, раз такое дело

    Цитата Сообщение от Spir0 Посмотреть сообщение
    Причина оказалась в слешах в названии файла в TRD образе.
    Простой фикс
    Спасибо за bug report и за фикс.

    Дополненная и исправленная версия скрипта в первом посте.
    С уважением, Станислав.

  15. #9
    Veteran Аватар для Bedazzle
    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,493
    Спасибо Благодарностей отдано 
    227
    Спасибо Благодарностей получено 
    150
    Поблагодарили
    116 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    была цель обрабатывать целый TRD/SCL и я её достиг.
    Я в свои поделки на питонах заберу работу с трд, можно?
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

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

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    Я в свои поделки на питонах заберу работу с трд, можно?
    Буду только рад!
    С уважением, Станислав.

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

    Bedazzle (21.08.2021)

Страница 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

Ваши права

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