Просмотр полной версии : ZX Turbo Assembler
Rubts0FF
21.07.2018, 18:54
ZX Turbo Assembler - Версии.
Начать я хотел бы все же с версии 2.5, это давно забытая, несправедливо кстати сказать, но какое-то время ей активно пользовались и не только я. Как оказалось, раньше это был просто "ZX Assembler", дальнейшая приставка "Turbo" появилась позже и подозреваю с легкой руки Кости Афендикова, потому что я никогда не страдал по поводу скорости ассемблирования.
Так же оказалось, что я об этом думал давно, о восстановлении справедливости, относительно забытой версии и т.п. Вот что я писал в 2016 году:
ZX Turbo Assembler
version 2.5
(c) Hohlov Oleg
Давно собирался это сделать. Версия с которой для меня, с Костей, все началось
совершенно незаслуженно забыта. Этой версии нет ни на вирте, ни на zx.pc.
Так как ZX\IBM Editor v1.0 во первых в чистом, авторском виде его нигде нет, а во
вторых в какой-то мере является примером к ZAsm'у присутствует здесь. Сначала хотел
отдельно. И да, сначала был ZAsm, потом - на его исходниках сделан редактор.
В общем, восстанавливаю справедливость. Получилось такое наследие Олега Хохлова
Итак, на диске находятся следующие файлы:
ZXASM2.5 b загрузчик ZAsm v2.5 на Basic'е
a2.5exe c кодовый блок
Font6 c -
Bold.fnt c - шрифты
ReadMe1 c - описание среды
ReadMe2 c - и ассемблер компилятора
a2.5_p c - файл проэкта
a2.5_1 c - подпрограммы
a2.5_2 c - редактор
a2.5_3 c - компилятор
a2.5_4 c - меню
std.lib c - дополнительные библиотеки
std.io c - используются пп. ниже и в
chr&str c - качестве примера.
ed1.0 b - ZX/IBM Editor v1
ed1.0exe c - кодовый блок
ed.p c - исходные тексты
ed.1 c - в формате
ed.2 c - ZX Turbo Assembler
ed.3 c - v2.5
ibm_copy c - пример исп. библитек
miner c - игра
graph c - так же библиотеки
keyboard c - различного назначения
FP_CALC c - ! очень интересная !
random c -
disassm c - Дизассемблер
Как видите довольно богатое наследие.
Всем этим можно и нужно пользоваться как по прямому назначению, так и меняя что
то для своих целей, так и изучая тексты.
Вот у кого можно поучиться как нужно писать программы правильно.
И по структуре и по обильным комментариям практически к каждой пп.
Все.
14.12.2016 V.Rubts0FF
Оказывается я временами что то полезное таки делаю, только забываю об этом.
21.07.2018 V.Rubst0FF
p.s. Исходные тексты в разных форматах, что то в формате обычного текста (v2.5),
что то уже токенизировано. Ну уж как получилось. Обратить туда/обратно можно в любой версии ZAsm'а кроме v2.5.
Собственно ReadMe с диска. Там же присутствует ReadMe1 с описанием среды и ReadMe2 с описанием ассемблер-компилятора.
Про остальные версии ничего говорить не буду, каждая содержит файлы с описанием. Так, что мы имеем на сегодня:
1 - ZAsm v2.5 Олег Хохлов, 48к
2 - ZAsm v3.0 практически тоже. но 128-я версия - т.е. сама программа располагается в страницах, 48-я память полностью под программы пользователя.
3 - ZAsm v3.10 - 128+, то есть, если больше чем 128 - используется как рам-диск, и это очень удобно, особенно на реальных компьютерах. На диске много файлов с описанием среды, редактора и еще много чего.
4 - ZAsm v3.2x - 256 и больше. ZAsm занимает/использует последние 128 к памяти. Основная 128-я память - под программы пользователя. Об отличиях от v3.10 ReadMe, About.
5 - ZAsm x64 - та же 3.2х только с одним шрифтом - 64 символа в строке - такая блажь, хотя временами и пользуюсь.
6 - ZAsm v3.15 - Попытка сделать версию 3.2x работающую в 128к.
Версии последних ZAsm`ов в архивах могут отличаться от тех что в разделе "Программирование". Так что лучше качать оттуда.
ZAsm3.2o - исходные тексты оверлеев.
ZX Turbo Assembler v3.3.02 - Версия на базе v3.2x и v3.4x с исправленными ошибками.
здесь https://zx-pk.ru/threads/215-iskhodnye-teksty-zasm-3-10.html?p=998509&viewfull=1#post998509 - подробнее.
Rubts0FF
17.08.2018, 09:22
ZAsm Notepad - оверлей к версии 3.2х. Здесь - http://zx-pk.ru/threads/215-iskhodnye-teksty-zasm-3-10.html?p=975843&viewfull=1#post975843 - подробнее.
Самому не удобно все это по теме искать, вот, попробовал собрать вместе. Обновки:
ZX Turbo Assembler v3.2x lite 1 - https://zx-pk.ru/threads/29356-zx-turbo-assembler.html?p=976485&viewfull=1#post976485
NewFonts - https://zx-pk.ru/threads/29356-zx-turbo-assembler.html?p=980579&viewfull=1#post980579
NEWOVLS "screen.ovl" и "fconv.ovl" - https://zx-pk.ru/threads/215-iskhodnye-teksty-zasm-3-10.html?p=983028&viewfull=1#post983028
ZX Turbo Assembler v2.6 48k - https://zx-pk.ru/threads/29356-zx-turbo-assembler.html?p=986212&viewfull=1#post986212
Visual Compare Code v0.2 - https://zx-pk.ru/threads/29356-zx-turbo-assembler.html?p=990570&viewfull=1#post990570
NewOvls (SpriteCut & FontMaker) - https://zx-pk.ru/threads/29356-zx-turbo-assembler.html?p=992591&viewfull=1#post992591
Rubts0FF, здравствуйте.
Нельзя ли продолжить работу над веткой версии ZAsm v3.0 (все в одном, без подзагрузок)?
Добавить повтор команды, возможно, компиляцию в банки памяти и макроопределения.
Rubts0FF
19.08.2018, 09:08
Нельзя ли продолжить работу над веткой версии ZAsm v3.0
Пытался много раз, но мне слишком удобно в ZAsm`е 3.2х, и выбор файл, и возможность его предварительно посмотреть, и .. все не припомню. Самое простое - удалите все оверлеи, оставьте только compile.ovl. Он загружается после загрузки самого ZAsm`а. Ну в случае случайного выбора каких-то пунктов меню, например Options, будете получать сообщение Not Found.
Впрочем, если есть интерес, почему и нет. Только здесь проще обрезать версию 3.2х, чем доделать 3.0.
Поэтому сразу вопрос, дополнительные шрифты (4х8, 5х8, 8х8) они нужны или можно удалить? И Setup будет в виде .asm файла который можно и нужно будет изменить в редакторе, а после ассемблирования перезагрузить ZAsm. Ну можно сделать пункт Load SetUp.
В общем можно попробовать, ломать в общем-то не строить.
дополнительные шрифты (4х8, 5х8, 8х8) они нужны или можно удалить?
Можно удалить. Шрифты 6x8 получились достаточно эргономичными.
- - - Добавлено - - -
здесь проще обрезать версию 3.2х, чем доделать 3.0.
Версия 3.0 работает в Unreal Speccy без проблем, в 3.2х нужно что-то (не помню что) донастраивать.
Rubts0FF
20.08.2018, 15:41
Можно удалить. Шрифты 6x8 получились достаточно эргономичными.
- - - Добавлено - - -
Версия 3.0 работает в Unreal Speccy без проблем, в 3.2х нужно что-то (не помню что) донастраивать.
Версия 3.0 использует 15619 или что там, версия 3.2х использует свой драйвер, более быстрый, когда то это было актуально да и сейчас. Переделать под 15619 я уже наверное не смогу - не помню, как там перехваты ошибок, обращений SOS48. В UNREAL версия 3.2х работает и нормально работает, смотря в какой версии UNREAL, в старых, еще от автора (сейчас еще и компьютер нужно найти, старый, в котором они бы работали) - работала, затем в каких-то переделках - нет. А вот последние версии, уж извините не помню сейчас за чьим авторством, прекрасно работает. В Spectaculator`е работает, но там максимум 256 кб и значит ни какого рам-диска, но жить тоже можно.
Насчет (не)работы в других эмуляторах - ZAsm работает на реальных компьютерах, если он не работает в эмуляторе - это его проблема.
з.ы. уже какое-то время занимаюсь, версия 3.01.1. Несмотря на то, что сократил часть пп. большого прироста, размер программы не сильно уменьшился. В планах удалить: в файлере - автопоиск (фильтр уже пал жертвой и похоже сам файлер будет сильно упрощен), в редакторе LineDrawing, программа Input, уже упрощена, нет предыстории ввода, но упрощу до версии 3.0 (курсор влево - очистка). Раздумываю над удалением сохранения подложки (экрана) под окном и вывод окна только с одиночной рамкой. Открытие *.trd файлов, пока работает как в файлере, так и при ассемблировании CHD "a:FONTS.trd"
В итоге получится такая себе спартанская версия, завтра в сутки, послезавтра может что и покажу.
Да, может лучше определиться чего хочется от этой версии, а то я так упрощу .... :-)
Например, убрать все оверлеи и шрифты, а остальное пусть будет.
Или, все как можно проще, как в версии 3.0.
Версия 3.0 использует 15619 или что там, версия 3.2х использует свой драйвер
Попробовал в Unreal Speccy запуститься с винчестера в конфигурации ZS Scorpion. Версия 3.2х виснет.
может лучше определиться чего хочется от этой версии
Rubts0FF, хочется, чтобы версия ZAsm v3.0 была дополнена:
-- повтором команды, например как в Storm Assembler v1.3+ ("Если в поле метки стоит запись вида ".число", где число = 0-255, задающее тираж данной строки");
-- если места хватит, то компиляцию в банки памяти и макроопределения (на них тоже можно было бы сделать тираж).
Rubts0FF
23.08.2018, 21:50
Версия 3.01 как и 3.02 ушли в корзину, упростил до .. потери юзабельности, т.е. сам пользоваться не смог. Вспомнил, уже как то делал lite версию не помню правда по чьей просьбе или самому блажь нашла. Решил использовать тот же подход. Попытка 1: ZX Turbo Assember v3.2xl1.
Что упрощено, удалено:
1 - оверлей как таковой, компилятор в теле программы.
2 - удалена возможность просмотра файлов.
3 - фильтр в файлере.
4 - использование дополнительных шрифтов (х4, х5, х8)
5 - перемещение окон.
6 - Setup, такой пункт в меню есть, но по выбору ничего не происходит. На диске есть "setup.asm", содержащий переменные и окна ZAsm`а (как altset в ZAsmx64) после ассемблирования создается файл "z32xl.set" из которого после загрузки ZAsm подхватывает настройки. Сделать в том виде как он был раньше - не получится. Но может сделаю пару пунктов - загрузить сетап, может быть еще шрифт.
7- пришлось пожертвовать XLAT Table, подозреваю никто и не знает, что это было. В последнее время сам не пользовался, а вот когда писал .. неZAsm - очень даже.
8 - запуск программ на бейсике.
Может что то еще.
В остальном как в v3.2x. Ассемблер-компилятор так же, никак не изменился.
В общем, пожелания - предложения принимаются. Хотя сам я этой версией не буду пользоваться никогда, просто не вижу смысла. Ну у каждого своё видение, так что версия не закрыта.
Rubts0FF
09.09.2018, 15:55
justify.ovl - оверлей и исходный текст для ZAsm v3.2x - подробнее и архив - http://zx-pk.ru/threads/215-iskhodnye-teksty-zasm-3-10.html?p=978228&viewfull=1#post978228
Evgeny Muchkin
19.09.2018, 00:42
Жаль, что допиливанием STORM'а так никто не занимается :(
Rubts0FF
21.09.2018, 10:41
Жаль, что допиливанием STORM'а так никто не занимается
Storm делался для определенных задач и допиливать там особо и нечего. Хотя я видел только одну из первых версий.
Вот только уместно ли это обсуждать здесь? Просто мыль вслух.
Жаль, что допиливанием STORM'а так никто не занимается :(
даешь holywar zx asm vs storm!
Rubts0FF
30.09.2018, 11:50
Есть у меня пару долго-строев, оверлеев к ZAsm`у, compare.ovl и disasm.ovl. Вот никак не идут, compare тот еще шевелиться, а вот disasm - мертвый груз и давно. Что то пробило на рисо.. издевательство над шрифтами. Они БОЛЬШИЕ и первое время не привычные, но вот уже пару дней пользуюсь только ими, хотя с каким то конкретным не определился.
В общем, может кому еще пригодится.
Rubts0FF
19.10.2018, 20:22
Обновил пару оверлеев "screen.ovl" и "fconv.ovl" - подробнее и забрать здесь http://zx-pk.ru/threads/215-iskhodnye-teksty-zasm-3-10.html?p=983028&viewfull=1#post983028
Привет RubtsOFF,
Мне нравится ваш ZASM-ассемблер для ZXS. Один важный вопрос: можете ли вы также создать протокол перевода с ассемблера на машинный код?
Тот же протокол, что и в AS на платформе PC naprimer. Это очень поможет отладить программу и найти ошибки.
Надеюсь, это то, что я имею в виду.
Благодарю вас!
Hood
Rubts0FF
06.11.2018, 09:21
Привет RubtsOFF,
Мне нравится ваш ZASM-ассемблер для ZXS.
Благодарю вас!
Hood
Здравствуй Hood, спасибо.
Один важный вопрос: можете ли вы также создать протокол перевода с ассемблера на машинный код?
Тот же протокол, что и в AS на платформе PC naprimer. Это очень поможет отладить программу и найти ошибки.
А вот здесь нужно бы подробней, конкретней.
Привет, я отправляю образец отчета о переводе. показывает:
строка, адрес компиляции, код команды и сама инструкция.
0532 0107 3B STRT_NMI DEC SP
0533 0108 3B DEC SP
0534 0109 ED 73 34 01 LD (SET_PC+1),SP
0535 010D 31 73 01 LD SP,ZASOB+24
0536 0110 D9 EXX
0537 0111 08 EX AF,AF'
0538 0112 F5 PUSH AF
0539 0113 E5 PUSH HL
0540 0114 D5 PUSH DE
0541 0115 C5 PUSH BC
0542 0116 FD E5 PUSH IY
0543 0118 DD E5 PUSH IX
0544 011A D9 EXX
0545 011B 08 EX AF,AF'
0546 011C DB 2F IN A,(47);take A from FDD register
0547 011E F5 PUSH AF
0548 011F E5 PUSH HL
0549 0120 D5 PUSH DE
0550 0121 C5 PUSH BC
0551 0122 ED 57 LD A,I
0552 0124 F5 PUSH AF
0553 0125 32 15 02 ld (STRT3+1),a
0554 0128 ; LD B,A
0555 0128 ED 5F LD A,R
0556 012A F5 PUSH AF
0557 012B ; DI
Это отличная помощь программисту.
Возможно, вы поняли, что я имею в виду.
Искренне ваш
Hood
Stalker Stealth Monitor? (http://speccy.info/Stalker_Stealth_Monitor) Он умеет транслировать asm метки.
http://speccy.info/w/images/1/1b/STS_debugger.png
[ss+5] - вкл/выкл показ меток. Анализируется содержимое первой страницы меток ALASM (при входе из ALASM в STS записывается номер страницы и адрес начала меток ALASM).
[D] - Disasm To Disk. Дизассемблирование на Диск.
Softwares (http://alonecoder.nedopc.com/zx/)
Stalker Stealth Monitor? (http://speccy.info/Stalker_Stealth_Monitor) Он умеет транслировать asm метки.
http://speccy.info/w/images/1/1b/STS_debugger.png
[ss+5] - вкл/выкл показ меток. Анализируется содержимое первой страницы меток ALASM (при входе из ALASM в STS записывается номер страницы и адрес начала меток ALASM).
[D] - Disasm To Disk. Дизассемблирование на Диск.
Softwares (http://alonecoder.nedopc.com/zx/)
Привет,
Я не это имел в виду. То, что Влад говорит, - это свалка памяти, которую может сделать каждый монитор. Я имею в виду протокол перевода. Это знают те, кто работает с ассемблерами «AS» или «SJASM plus» на PC.
Во время перевода с ассемблера на машинный код создается файл, чтобы увидеть, где и что скомпилировано, и любые ошибки или проблемы с переводом. У этого нет никакого ассемблера на ZXS, только устаревшая MRS. И я думаю, что большая работа не сработает. В основном это документирование курса перевода инструкций в машинный код.
Hood
Rubts0FF
06.11.2018, 17:57
Так понимаю, во время ассемблирования, нужно создавать .log файл с записью в него каких-то ключевых моментов, не писать же все, но каких. Что нужно записывать в этот файл, кроме например места ошибки. Последнее просто, но не так и необходимо, так как при возникновении ошибки выводится вся необходимая информация, и сама строка.
Так понимаю, во время ассемблирования, нужно создавать .log файл с записью в него каких-то ключевых моментов, не писать же все, но каких. Что нужно записывать в этот файл, кроме например места ошибки. Последнее просто, но не так и необходимо, так как при возникновении ошибки выводится вся необходимая информация, и сама строка.
Да, это своего рода файл .log. Что впоследствии помогает программисту лучше работать с программой. По моему опыту, могу сказать, что это очень полезно. Протокол перевода PC также включает ошибки перевода.
Но RubtsOff, пожалуйста, поймите, что я не прошу вас, но я желаю, чтобы ваш ZASM мог это сделать, потому что это принесет вам отличную программу. Я работал над ZASM 3.0 для нашего дискового контроллера MB-02 +, а также для Alasm 5.08. Но теперь я программирую на PC в SJASM Plus, потому что он предлагает только протокол перевода, который очень помогает работать с программой.
Если вы хотите и подумать об этом, я могу отправить вам пример такого протокола с PC.
Hood
transman
07.11.2018, 10:02
hood, предлагаемый файл, конечно, штука удобная. Помогала не раз. Вот только на спектруме будет пользоваться крайне не удобно.
Размер. Он может достигать 400-600кб. Значит писать надо в процессе компиляции сразу на диск. Причём отдельный. Систем с двумя дисководами и раньше было не так уж и много.
Просмотр. Нужна возможность комфортного просмотра полученного текста. А просмотрщики на zx сильно уступают даже простейшему Lister из Total Commander.
hood, предлагаемый файл, конечно, штука удобная. Помогала не раз. Вот только на спектруме будет пользоваться крайне не удобно.
Размер. Он может достигать 400-600кб. Значит писать надо в процессе компиляции сразу на диск. Причём отдельный. Систем с двумя дисководами и раньше было не так уж и много.
Просмотр. Нужна возможность комфортного просмотра полученного текста. А просмотрщики на zx сильно уступают даже простейшему Lister из Total Commander.
Да, вы пишете правильно.
Посмотр. Это разрешимо. Я думаю в самом ZASM или во внешнем браузере. Конечно, Lister в Total Commander приносит максимальный комфорт для пользователя. Samij lucsij dlja prosmotra=format 64 znakov/stroka.
Сохранение на диск. Да, это, наверное, самая большая проблема. Протокол перевода может составлять сотни килобайт, т. Е. по мере ввода, вам нужно сохранить его, когда вы скомпилируете его на диске.
Разработка протокола перевода в ZASM была только моим предложением автору увеличить полезность программы:)
Hood
Rubts0FF
08.11.2018, 09:58
Вы наверное скиньте файл-пример, а я посмотрю что можно и что стоит, и стоит ли вообще это делать. И да, в ZAsm`е вполне приличная смотрелка текста (v3.2x).
Вы наверное скиньте файл-пример, а я посмотрю что можно и что стоит, и стоит ли вообще это делать. И да, в ZAsm`е вполне приличная смотрелка текста (v3.2x).
Ниже приведен пример протокола AS. Рассмотрите и посмотрите, выгодно ли для вашего ZASM и программистов :-)
Hood
http://hood.speccy.cz/zxcdp.lst
mastermind
09.11.2018, 00:46
hood, Rubts0FF, это вроде всегда называлось "листинг" (assembler listing). См. в Google "assembler lst file"
Rubts0FF
09.11.2018, 07:46
я отправляю образец отчета о переводе. показывает:
М-да, я об этом догадывался, но боялся оказаться быть правым. :-).
В общем к коду добавлять исходник. Это интересно, наверное, и сделать не сложно, как на первый взгляд. Однако объемы файлов, а в один точно все не влезет, глядя на исходники ZAsm`а. Да и скорость ассемблирования упадет в разы.
Если только создавать listing не всего, а указанного участка. Еще была, давно это было, у нас с Костей идея сделать монитор в котором бы отображался исходный текст в привязке к сгенерированному коду или наоборот.
Хорошо, я пока посмотрю - подумаю что и как.
М-да, я об этом догадывался, но боялся оказаться быть правым. :-).
В общем к коду добавлять исходник. Это интересно, наверное, и сделать не сложно, как на первый взгляд. Однако объемы файлов, а в один точно все не влезет, глядя на исходники ZAsm`а. Да и скорость ассемблирования упадет в разы.
Если только создавать listing не всего, а указанного участка. Еще была, давно это было, у нас с Костей идея сделать монитор в котором бы отображался исходный текст в привязке к сгенерированному коду или наоборот.
Хорошо, я пока посмотрю - подумаю что и как.
Благодаря. Это не задача, больше вдохновения, мое замечание, как ZASM может улучшиться.
Hood
Rubts0FF
12.11.2018, 11:01
ZX Turbo Assembler v2.6 48k - с одной стороны, ну кому сейчас нужен 48к, а с другой стороны есть у меня друг-товарищ и кровопийца по совместительству, нет, не тот для кого делался ZAsm 3.15. В прошлое его "явление", а было это месяцев 8 а может и 10 назад, мы уже пытали исходники ZX TAsm 2.5. Отчасти сам был виноват, сказал - вот если бы я сегодня делал версию 128к, делал бы по другому. В общем результатом прошлых встреч был ZX TAsm v2.7 он все так же оставался 48к, но занимал мало места, используя для большинства своих пп. страницу 128-й памяти. Не знаю для чего это было сделано, делалось так: а давай так попробуем - давай, а давай эдак - вот что то и получилось. Тогда ни какой цели конкретной не ставили, поэтому версия так и осталась в архивах.
И вот несколько дней назад, еще одно "явление", но уже с конкретной целью - а давай мы сделаем его (ZX TAsm v2.5) немного удобней, но не сильно увеличивая его в размерах. В качестве максимального размера было выбрано значение в #4000 байт и здесь мы вложились.
А теперь, что же там изменилось:
Редактор: поменял местами PGUP - PGDN; добавил вывод имя файла; режим клавиатуры как в ZAsm3.2x (en/EN/ru/RU); режим INSERT/Over как в ZAsm3.2x изменение вида курсора;
Добавлено в редактор: Next Search; Закладки PutPoint/ToPoint; Навигация по меткам Goto Label at cursor / Back from label; Навигация Cursor Left to BlockBegin / Cursor Right to End; перед удаление блока Delete Block (Yes/No) y-del,n-nodel
В меню: Run - удалены BreakPoins и Processor; Setup - Добавлен цвет KeyModes; добавлен выбор раскладки русской клавиатуры: йцукен - qwerty;
В Компилятор: Добалены следующие инструкции: PHASE / UNPHASE, REPL
Подробнее в AboutMe, там же ReadMe1 - описание среды 2.5, ReadMe2 - описание ассемблер компилятора, еще help - по COMMAND редактора
p.s. Сам не ожидал, но мне даже понравилось пользоваться этой версией, особенно когда добавил туда возможность перехода на метку под курсором. Но, 48-й больше скорее всего не будет, товарищ уехал и теперь появится не раньше весны.
Самое интересное у него дома кроме 48-го Композита, 128 пентагон и АТМ-2, логичный вопрос - зачем? Ответа нет.
Rubts0FF
14.11.2018, 09:30
Думал дождаться когда кто то еще обнаружит, но сам то обнаружил почти на третий день, причем пользовался этим ассемблером постоянно. В общем так, нужно внести следующие изменения:
SetColors
call OutFS:DB #0F
DB #0B,#06,#12,#0E,ColDial
DB 22,7,17
DB "Border",#D
DB "Text attr",#D
DB "Block attr",#D
DB "Main menu",#D
DB "Editor info",#D
DB "Menu box",#D
DB "Dialog box",#D
DB "Error box",#D
DB "KeyModes",22,6,#1f,0
ld hl,Border:ld b,9
Ошибка собственно в том, что не выводилось окно и не правильные координаты вывода запроса "Enter new value".
з.ы. в версии 2.5 вызов окна производился по координатам в HL, в размерах DE и цвета в A. Сейчас за это отвечает код #0F в OutHL/OutFS,
далее координаты, размер и цвет, если у байта цвета установлен бит 7, цвет берется из списка Colors от Border, иначе то что там записано.
Rubts0FF
08.12.2018, 16:20
Visual Compare Code v0.1 - за этими красивыми словами стоит очень простой смысл, visual compare вы будете делать своими собственными глазами. Во всяком случае пока, и это уже не так плохо.
Подобная программа нужна была давно, давно же и пытался что то сделать, но как-то все не клеилось. Причина возможно в том, что в ZAsm`е нет возможности переключаться между двумя открытыми на чтение файлами и возможности позиционирования в файле, только последовательное чтение - делалось для include и это понятно.
Ладно, теперь как это работает сейчас:
Сначала выбираем файлы которые будем сравнивать, если второй файл не определен, в первый раз, ничего не произойдет, далее, после "Ок" переход в другое окно где выводится hex и text дамп по 4 байта в строку для каждого файла. Чтение происходит по-секторно. Обрабатываются только следующие кнопки:
¦ #04 - PGUP на страницу вверх
¦ #05 - PGDN на страницу вниз
¦ #07 - вызов меню выбора файлов, здесь можно выбрать любой другой.
! Для выхода вызываем меню выбора файла и выходим по Break, Escape и т.п.
Что бы как то скрасить картину, дампы покрашены в разный цвет и это поверьте хорошо, я это видел монохромным.
Общая длинна дампа определяется по более короткому файлу.
Файлы могут находится на любых дисках - дисководах (A-e), но думаю лучше будет если на одном, по-секторное чтение будет тормозить даже в эмуляторах, не говоря уже о реале.
Сам пользовался совсем немного, шрифты сравнивал, даже так, без реального compare толк есть.
Что еще, о планах в About, который в конце исходного текста, который как обычно в архиве имеется.
Буду рад если кому еще окажется полезным.
Rubts0FF
09.12.2018, 12:09
Visual Compare Code v0.2 - теперь по-удобней, в чем отличия:
После нажатия "Ок" в меню выбора файлов и если они были выбраны, запускается пп. сравнения, выводится hex дамп, по 8 байт если все файлы совпадают, вы так и просмотрите анимацию шестнадцатиричного дампа, впрочем можно прервать по "BREAK" (не проверял к чему это приведет).
Отличия выделяются инверсией и вам предложат: либо смотреть дальше (Continue), до следующего не совпадения (здесь шаг 8 байт), либо посмотреть полный дамп файлов (ViewDump) и дальше сравнивать самостоятельно, сюда возврата нет.
Или вернуться в начало (caNcel), к выбору файлов.
About, приблизительно то же самое, в конце исходника.
Rubts0FF
27.12.2018, 14:15
Sprite Cut - Спрайто-резка, она была написана давно, еще для ZAsm v3.10, а сделать под версию 3.2х руки не доходили, наверное и надобности не было. Появилась.
Спрайты складываются в формате Sprite Editor v1 и ZAsm Sprite Editor, это практически одно и тоже. Расширение файл .G, сам файл:
+ 0 - 1 байт - ширина спрайта в байтах
+ 1 - 1 /-/-/ - высота в линиях / пикселах
+ 2 - 1 число спрайтов (1-255) в файле / массиве.
+ 3 - спрайты.
Если вас что то не устраивает - переделывайте под собственные нужды сколько угодно, исходный текст прилагается, в конце может чуть подробней - About
Font Maker - это тоже не свежая идея, была у меня программка, ну как - скомпилировал, запустил, по пользовался. Давно хотел сделать на её основе оверлей, но ограничился только идеей и вот в чем она.
Из двух шрифтов, на самом деле их может быть сколько угодно, но одновременно в экран загружаются два шрифта. В верхние два сегмента, нижний сегмент под собираемый 3-й шрифт.
Не понимаю что там, ниже написано, но имел ввиду следующее:
Load Font1 - выбрать/загрузить шрифт в верхний сегмент экрана
Load Font2 - то же во второй, загружаются как обычные .fnt, так и в формате сегмента .fn1.
--------------------
Clear - чистка третьего сегмента, можно от .. до .. заданных символов
Save font - сохранить, сохранить можно как полный (2048), в обычном .fnt или в формате сегмент экрана .fn1, так и любой участок от .. до .. и тогда расширение файла не имеет значения.
Attributes - задать цвет для сегментов экрана, можно сохранить в mkfont.set, в том числе сохраняется положения окон.
Здесь определяем откуда будем делать MAKE
Source font-segment - номер шрифта/сегмента экрана (1-2)
First char code - код первого символа, выбор из ASCII TABLE
Last char code - последний символ
Target char code - код символа куда помещать, обычно заноситься значение с First Char.
Output char code in - это не сделано, да уже и не знаю нужно ли.
Copy - операция копирования с заданного выше в нижний сегмент, в позицию Target Char.
Подобным операциями занимался и занимаюсь не так часто, и использую для этого инструкции INSERT - SAVEOBJ, но так значительно удобней и результат виден сразу.
Исходный текст - само собой. В конце About и там точно подробней.
На диске с ZXASM2.5 есть какието исходы. они вообще для чего? асм который на диске их не понимает
Rubts0FF
10.02.2019, 16:43
На диске с ZXASM2.5 есть какието исходы. они вообще для чего? асм который на диске их не понимает
В качестве примера, в том числе исходники ZX/IBM редактор.
21.07.2018 V.Rubst0FF
p.s. Исходные тексты в разных форматах, что то в формате обычного текста (v2.5),
что то уже токенизировано. Ну уж как получилось. Обратить туда/обратно можно в любой версии ZAsm'а кроме v2.5.
При запуске Z32X.trd в унреал после загрузки "рабочего стола" пишет, что мол нет диска.
Что я делаю не так?
При этом в zxmak2 всё работает.
Rubts0FF
02.03.2019, 12:01
При запуске Z32X.trd в унреал после загрузки "рабочего стола" пишет, что мол нет диска.
Что я делаю не так?
При этом в zxmak2 всё работает.
Здесь вопрос версии (эмулятора), не все версии правильно мулят ТР-ДОС, вот последние 038, 039 - там все работает.
Здесь вопрос версии (эмулятора), не все версии правильно мулят ТР-ДОС, вот последние 038, 039 - там все работает.
Версия UnrealSpeccy 0.38.1 by SMT, Jul 23 2013
Может это быть из-за того что стоит скорость 15Мгц?
Может это быть из-за того что стоит скорость 15Мгц?
что у тебя в настройках Beta128 (traps/delays) ?
Rubts0FF
02.03.2019, 20:54
Обычно это ни от каких настроек не зависит, проходил я через это. Вот старая, авторская версия 02х - все работает, потом долгое время ни в одном unreal`е запустить не мог (по указанной выше причине), последнее время, вот версия 039 вообще порадовала пропорциями экрана, там все работает. Еще работает в Spectaculator`е и конечно на реальном спектруме. Сам я пользуюсь исключительно Шалаевым, комфортно мне в нем.
Заменил версию эмуляторя на 39, всё заработал.
Rubts0FF
12.01.2020, 10:28
ZX Turbo Assembler v3.3.07 - борьба с ошибкой. Здесь https://zx-pk.ru/threads/215-iskhodnye-teksty-zasm-3-10.html?p=1041795&viewfull=1#post1041795 подробней.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot