Спасибо! Значит для ПТ3 никто не пробовал.
Вид для печати
Спасибо! Значит для ПТ3 никто не пробовал.
svofski, ты на сайт bulba.at.kz можешь зайти (там вроде был плеер для PT3)? У меня не получается, даже если я игнорирую предупреждение "Имеется информация, что этот сайт атакует компьютеры!".
Я смог зайти через archive.org и он на меня кааааак набросится! Не смог я оттуда ничего вытащить. Плеер есть на msx.org, но для спектрума и з80. Я-то надеялся, что готовенький будет.
---------- Post added at 16:26 ---------- Previous post was at 16:23 ----------
http://bulba.untergrund.net/progr_e.htm -- социально адаптированная версия этого сайта. На людей и компьютеры не бросается.
Себя дополняю :) ссылка на архив с исходниками Sound Tracker
http://www.zx.pk.ru/showpost.php?p=150571&postcount=87
Там как оригинал(дизассемблирован ый), так и мое поделие. Под Вектором проблем не должно быть - порты те же
Где то в недоделках есть проигрыватель модулей ASM (со Спека)
Я выдрал плеер из SES'овского Black Ice, оказался плеер PT2. Если кто знает, где есть забавные PT2 без блямканья, поделитесь знанием =)
Mick, а каким ассемблером надо твои сорцы собирать?
Ааа.. Я думал, что WinIde это для дизассемблирования, а TASM85 то же самое, что TASM35. Голову можно расщепить себе обо все эти странные тулы.
Хотя нет, похоже, что TASM85 это то же самое. Я пошел топиться, это вилы. Он же не понимает макросов.
Те у кого нет предубеждения против z80 на векторе, могут попробовать вот это:
Вложение 12791
Также можно рассматривать эту штуку как инструмент мотивации для улучшения эмуляции AY в одном из эмуляторов. Проверял на коллекции Бульбы.
Offtop: со вчерашнего вечера форум был мне недоступен, это только у меня так было?
Как же есть в моем исходники макросы и все понимает TASM85
Если хочешь могу кидануть тебе мой тасм.
---------- Post added at 14:54 ---------- Previous post was at 14:48 ----------
Это среда разработки выглядит как VC. Там есть как ассемблеры , так и компиляторы с для 85 и cемейства z80. Продукт фирмы Softools Inc.
Я скачал демо и немного пошаманил с ним, чтобы можно было ассемблировать большие тексты. Ибо безумных денег сей продукт стоит. :(
---------- Post added at 15:13 ---------- Previous post was at 14:54 ----------
Обновил архив и выложил в ветке вместе с ассемблером
http://www.zx.pk.ru/showthread.php?p=150239#post150239
SES сказал, что он перетаскивал на Вектор плееры для всех мыслимых и немыслимых форматов. Сорцы от них у него вроде бы не сохранились, но он их давал и другим людям, то есть теоретически они могли сохраниться. Сорцы периодически всплывают, да и люди тоже -- не зря же мы жужжим тут.
Нужна утилита, проверяющая исходник в мнемониках Z80 на совместимость на выходе с опкодами i8080. Можно транслятор (меняющий на макросы), можно просто выводящий несовместимое с опкодами i8080 на экран. Главное, чтобы после трансляции текст оставался как и был в мнемониках Z80 (ну не перевариваю я интеловые), с комментариями, директивами препроцессора и т.п. Есть такое в природе?
Ёлы-палы, почему я раньше об этом не подумал?!
Стандартный макрос замены команды LDIR, например
для случаев BC<=000FFh вполне можно представить в видеКод:lxi b, 0000Fh
push psw
mov a, m
stax d
inx h
inx d
dcx b
mov a, b
ora c
jnz $-7
pop psw
Получаем экономию 12 тактов при каждом выполнении тела цикла. В некоторых случаях можно отказаться от push/pop psw и развернуть цикл.Код:lxi b, 0000Fh
push psw
mov a, m
stax d
inx h
inx d
dcr c
jnz $-5
pop psw
ivagor, в связи с этим новый исходник tank.asm в приложении, запакуй его, как ты это делаешь. Кое-что еще поправлено, в итоге получилось на 112 байт короче и теоретически должно быть немного пошустрее.
Переделываю DAO 1.12 в приложение tvdao на FPC и FreeVision.
FPC кроссплатформенный, поэтому (теоретически) приложение можно собрать под маком и линуксом.
Репозиторий с кодом: https://github.com/nzeemin/tvdao
Оригинал это текстовое приложение под DOS, которое пишет asm-кодом прямо в экран. Можно было конечно переделать только рисование экрана, но мы же простых путей не ищем.
https://pic.maxiol.com/thumbs2/16248...ao20210627.png
Дизасм увеличен с 14 до 22 строк - позже можно будет переделать чтобы не было константой.
Блок с просмотром памяти занимает оставшееся слева место, показывают символы, в режиме просмотра только символов теперь видно 64 в строке.
Справа показываю все метки - этого не было в оригинале.
Использует тот же формат рабочего файла, что и DAO 1.12 - формат версии 1.0. (DAO 1.15 использует формат 1.1, рабочий файл больше на 32К.)
Реализованы основные команды навигации и редактирования, сохранение ASM.
Пока не сделано:
- Несколько оставшихся команд навигации и редактирования
- Сканирование по F9 и Alt+F9
- Команды поиска
- Импорт .SYM и .CTL
- Просмотр графики
Досыпал немного багов конечно, чтобы потом исправить.
С одной стороны это хорошее дело, но у DAO есть принципиальный недостаток - меня с самого начала не устраивала технология, которая требует дизассемблировать в самом DAO. Но возможно для многих это не проблема.
"Словарь" надо дорабатывать, но про это уже много написано и при наличии исходника это посильная вещь.
Я никогда не занимался рекомпиляцией, поэтому могу не до конца чувствовать суть проблемы. Мне не очень понятно почему получение исходника и подмена инструкций должны делаться в одном инструменте.
Почему нельзя получить исходник в том инструменте, который хорошо это умеет делать, например IDA, а результат реверса пропустить через поиск-замену по словарю?
Если говорить о сегодняшнем дне, то мне тоже. Почему Tim0xA так сделал - он взял за основу рекомпилятор Валерия Бостана и сменил начинку c z80->x86 на 8080->z80. Но с самого начала я писал ему, что вариант трансляции на уровне исходников был бы намного продуктивнее.
Мне не особо.
Главное, что IDA может экспортировать в asm и я считаю, что рекомпилятор должен делать из исходника z80 исходник 8080. Ведь нередко бывает, особенно сегодня, что исходник z80 уже есть. Да, можно открыть бинарник в DAO и сверяясь с исходником заново дизассемблировать. И я даже так делал для коротких программ, но это просто потеря времени и больше я так делать не буду, энтузиазм молодости закончился.