ZXNet эхоконференция «code.zx»


тема: SJAsm + MultiEdit (красота и удобство)



от: Roman Fhyedorov
кому: All
дата: 04 Sep 2006
Hello, All я начинал кодить в GENS`e? потом в PRIMUS`e. это была такая примочка к ZEUS`у. типа интерфэйс и др. (кстати у кого оно есть? мне надо!). потом появился TASM и все исходники были перенесены в его формат. затем MASM и опять конвертация исхлдников. ну и в конце концов привыкнув к интерфейсу TASM`a я не смог обойти вниманием ALASM, а исходники постигла участь очередной конвертации... времена изменились, я повзрослел и у меня появились жуткая нехватка свободного для кодинга времени и отстутствие места под реальный спекк в квартире. свой навороченый скорп я отдал брату на сохранение, но тяга к спекку не пропала. я стал писать в ALASM`e под эмулём, кстати несколько раз удачно. проблемы проявились позже... то я случайно закрою эмуль (он конечно спрашивает "сохранить вам диск? там чо-то поменялось", а я по запарке нажимал "нет", типа не надо закрывать, а он закрывался хороня с собой набиваемые всю ночь тексты), то свет отключат, а я давно не сохранял trd... короче ужос... позже в эмуль добавили кнопку "отмена" для таких как я, но мне всё равно чего-то не хватало... я программист по профессии мне нужна нормальная среда разработки, т.е. редактор, компилер, дебаггер. и чтобы всё работало вместе!!! и тут волей судеб я натолкнулся на старое сообщение Kurles`a http://zx.pk.ru/showpost.php?p=45452&postcount=10 в моём сознании появилось просветление! вот оно решение проблем!!! подумал я. осталось только помучать Kurles`a на предмет того, как он это сделал... чем я последние два дня и занимался... итак, к делу, товарищи! для начала нам нужны такие вещи: 1.sjasm http://trd.speccy.cz/sbor/SJASM+.ZIP 2.multiedit http://www.multiedit.com/downloads/upgrade/SetupMe910.exe (14 метров кстати!!!) 3.файлик из атачча написаный Kurles`ом, кстати затем мы правдами и неправдами (последнее особенно) устанавливаем multiedit. потом в директории куда он установился находим папку MAC и кладём туда соответствующий файлик из атачча. запускаем значит multiedit (надеюсь он уже не trial у вас) идём в tools>customize>general>languages создаём язык (Z80, например) кнопкой insert заполняем поля reserved words; 1:; display macro endm rept dup edup org ent page savesna savebin savehob db defb dw defw ds defs if endif else disp equ labelslist incbin include 2; neg; ccf rl cpl scf inc dec sub sbc add adc ei di halt ld rlca rla rrca rra rlc rr sla sra srl rld rrd bit ldir ldi lddr ldd cpi cpir cpd cpdr cp xor and or set res ex exx nop im call jp jr ret reti retn rst in ini inir ind indr out outi otir outd outr sli djnz push pop 3; a; b c d e f h l af hl de bc af' bc' de' hl' iy ix r i sp 4; z; nz c nc pe po p m потом поля symbols; @=*+-/.,^:;; brackets; ()[]<>; strings; "'; numerics; #; $ дальшe идём к полям block comment; open1:; /* close1; */; ещё одни поля end of line comments; 1:; ; 2; //; в поле tag file пишем: z80.tag ниже в поле find tag пишем: Z80^Z80FindTag ну в этом окошке всё. идём дальше не расслабляемся. после нажатия ok>close нажимаем filename extension тут мы создаём тип файла, опять же кнопкой insert, например 'a80' (чтоб ЧВ открывать) в поле extension так и пишем a80 ставим галочку associate to desktop shell, чтобы расширение a80 открывалось multiedit`ом по умолчанию в поле language выбираем созданый нами ранее z80 внизу справа есть кнпочка compiler/program setup, дык нажмите же её!!! уже привычной кнопкой insert создаём описание компилера в description пишем sjasm в command что-то типа c:sjasmplus.exe -md . ниже в поле program type создаём тип z80, естественно не без кнопки insert внизу есть поля regular expressions, дык вот заполняем их: search; ^([^; ]+) line (): (.*)$ replace; /F=/L=1/M=2; и всё блиать!!!! теперь мы можем компилить текст прямо из multiedit`a (кнопкой F9, например) получая на выходе файлик с метками для эмуля UNREAL и объектный код! кстати как захотите так и настроите (хоть trd), но для этого почитайте manual по sjasm`у также мы можем перескакивать по ошибкам выдаваемым компилятором в нижнем окошечке output а для того чтобы видеть метки нажмите view>tags потом меню tags>scan tags for current file и ПРАВИЛЬHЫЕ МЕТКИ появятся в окошечке tags!!! причем, по ним можно переходить и даже если они в другом файле!!! ПРАВИЛЬHЫМИ МЕТКАМИ являются метки после которых нет никаких символов (ну как в ALASM`е короче) а если почитать manual по multiedit`у, то можно найти ещё больше всяких фич облегчающих наш программерский труд. например при нажатии shift+F11 если курсор стоит в ссылке на метку мы на неё перейдём. а теперь, пользуясь случаем я хочу передать привет моему брату и сказать ОГРОМHОЕ СПАСИБО Aprisobal`у и Kurles`у!!! авторы multiedit`a перебьются - у них работа такая. творческих успехов ребята!!! новых игр и софта!!! не только cpu loves you, но и я!!! p.s. исходники своей стратегии я уже перевёл в *.a80 щас попрёт маза!!! Файл: Multiedit.zip http://zx.pk.ru/attachment.php?attachmentid=3698

от: Сергей Кузнецов
кому: All
дата: 04 Sep 2006
Hello, bugsy Если не секрет, в чём фишка использования именно MultiEdit? Имхо есть достойные, кастомизируемые и менее монструозные редакторы. SciTE например.

от: Roman Fhyedorov
кому: All
дата: 04 Sep 2006
Hello, CHRV а что там с буквой Я?

от: Чунин Роман
кому: All
дата: 04 Sep 2006
Hello, bugsy bug> а что там с буквой Я? Hе переваривает он букву Я в конце строки (правда это токо для виндоз режима кажеться актуально).

от: Чунин Роман
кому: All
дата: 04 Sep 2006
Hello, bugsy bug> ну его удалось качественно прикрутить зато. bug> я не спорю что есть другие. Я пользуюсь мультиэдитом версии наверно с пятой, уже лет 12 наверно. Омонстрел он конечно и вечная проблема с буквой "я".

от: Roman Fhyedorov
кому: All
дата: 04 Sep 2006
Hello, 736b ну его удалось качественно прикрутить зато. я не спорю что есть другие.

от: Roman Fhyedorov
кому: All
дата: 05 Sep 2006
Hello, moroz1999 ты же хотел ME?!?!? какой тут может быть SCI?!?!?

от: moroz1999
кому: All
дата: 05 Sep 2006
Hello, 736b 736> SciTE например. кто-нибудь к нему кстати z80 asm раскраску встречал? я по-быстрому накидал команд в стандартный asm для минимальной раскраски, но это даже выкладывать стыдно.

от: Андрей Савичев
кому: All
дата: 05 Sep 2006
Hello, CHRV CHR> Я пользуюсь мультиэдитом версии наверно с пятой, уже лет 12 наверно. я с восьмой...но чтобы получать кайф по полной надо осваивать его макро- как язык программирования...тогда кстати и над sjasm-ом можно много чего надстроить...еще обратите внимание на возможности его help системы...поскольку можно получать справку на что угодно, что проиндексировано в файле помощи...ну и еще он поддерживает ведение проектов

от: Aprisobal
кому: All
дата: 05 Sep 2006
Hello, andrews MultiEdit - имхо пока единственный редактор, который нормально подсвечивает синтаксис, разбирает output, действия build и debug на горячих клавишах, поддерживает ведение проектов и имеет внятный интерфейс. Crimson Editor; есть; проекты, подсветка синтаксиса, но нету горячих клавиш для Tools. Programmer's Notepad 2; есть; проекты, разбирает output, горячие клавиши для Tools, но неудобная настройка подсветки синтаксиса и вообще глюки всё портят. Хотя в нем я полностью написал игру для Твоя Игра 3. UltraEdit; есть; проекты, макросы и ещё много чего, но странная настройка подсветки синтаксиса, нет разбора output, нет горячих клавиш для Tools. Все остальные в большинстве своём либо не имеют настраиваемую подсветку синтаксиса либо нету горячих клавиш на Tools(это очень важно) либо имеют неудобный интерфейс. Интересно было бы узнать, кто какой редактор использует. Только в отдельной ветке плз, чтобы не разводить тут оффтопик.

от: Aprisobal
кому: All
дата: 05 Sep 2006
Hello, key-jee key> Вообще-то горячие кнопки на tools/macros в CE работают.. Hаверное я что-то пропустил... :v2_wacko; Сам; ведь и расцветку для него выкладывал - http://zx.pk.ru/attachment.php?attachmentid=346 Глянул ещё на редактор ConTEXT; есть; проекты, tools на горячих клавишах, подсветка синтаксиса и разбор output'a. Hеплохая альтернатива. В аттачменте подсветка синтаксиса Z80 (разархивировать в папку Highlighters). Файл: z80 assembler highlighter.zip http://zx.pk.ru/attachment.php?attachmentid=3705

от: Иван Петухов
кому: All
дата: 05 Sep 2006
Hello, Aprisobal Apr> Crimson Editor; есть; проекты, подсветка синтаксиса, но нету горячих Apr> клавиш для Tools. Вообще-то горячие кнопки на tools/macros в CE работают..

от: moroz1999
кому: All
дата: 05 Sep 2006
Hello, bugsy bug> ты же хотел ME?!?!? какой тут может быть SCI?!?!? это кому было адресовано? я всю жизнь на scite.

от: Roman Fhyedorov
кому: All
дата: 22 Sep 2006
Hello, moroz1999 в связи с выходом 1.07 надо немного поднастроить мультиэдит. я там в первом сообщении 'ахтунг' красными буквами написал

от: Roman Fhyedorov
кому: All
дата: 13 Oct 2006
Hello, bugsy найдена наикрутейшая фича мультиэдита!!! он умеет сворачивать процедуры и функции в одну строку! как я раньше не замечал?!?!? фича называется "collapse". например строки ┌─- code ─── org #6000 call somecode ret ;************************************* ;+ somecode ;* in; none; ;* out; none; ;************************************* somecode ld hl,#0000 ret └── code ─── свернутся в ┌─- code ─── org #6000 call somecode ret ;************************************* +;+ somecode └── code ─── а если нажать "плюсик" развернётся обратно!!! такие фичи я раньше видел только в полноценных IDE, в 1Сv8 например ;) применимо к ZX до сегодняшнего дня я об этом только мечтал...

от: Дмитрий Васильевич Терентьев
кому: All
дата: 16 Oct 2006
Hello, bugsy UltraEdit спокойно сворачивает и разворачивает, можно настроить и код между macro endm будет сворачивать и разворачивать, да плюсь ко всему еще спокойно переваривает ошибки выдаваемые SJasm'ом и щелкнув на ошибочку можно попасть на нужную строку в исходнике

от: Roman Fhyedorov
кому: All
дата: 16 Oct 2006
Hello, demon_zx dem> можно настроить и код между macro endm будет сворачивать и dem> разворачивать вот это круто!!! dem> да плюсь ко всему еще спокойно переваривает ошибки выдаваемые dem> SJasm'ом и щелкнув на ошибочку можно попасть на нужную строку в dem> исходнике если бы ты прочитал моё первое сообщение, ты бы понял что так можно и в multiedit`e. ещё есть такая фича как переход по меткам. как в аласме по EXT+L. только тут метки отображаются в маленьком окошке справа, что очень удобно

от: Дмитрий Васильевич Терентьев
кому: All
дата: 17 Oct 2006
Hello, bugsy В предыдущем сообщении забыл упомянуть о том, что по меткам тоже можно шлятся как в аласм 8-P, так что пока особых различий не видно

от: Roman Fhyedorov
кому: All
дата: 18 Oct 2006
Hello, demon_zx это всё хорошо... а как в УльтраЭдите по меткам шариться?

от: Roman Fhyedorov
кому: All
дата: 20 Oct 2006
Hello, bugsy пока кернальщики бьются с компоновщиками [http://zx.pk.ru/showthread.php?t=3973] я хочу рассказать вам, дорогие друзья пограммисты о том как получать от кодинга ещё больше удовольствия. товарищ demon zx [http://zx.pk.ru/member.php?u=1141] пару дней назад сооблазнил (!) меня попробовать ultraedit [http://ultraedit.com] совместно с нашим любимым асмом... оказалось что я был не прав... естественно только в том что multiedit рулит... забудте об этом, друзья! ultraedit foreva!!! он гораздо красивее! он не менее, а может и более удобен. в нём есть возможность нормальной настройки фолдинга процедур (ну сворачивать их в строку можно!) если ВАМ дорогие товарищи ЭТО интересно, я могу рассказать как HАСТРОИТЬ ultraedit под sjasm.

от: elfh
кому: All
дата: 25 Oct 2006
Hello, bugsy рассказывай, я все-же решил попробовать.

от: Знахарь
кому: All
дата: 30 Oct 2006
Hello, elfh ДА!!! И как потом отлаживать красиво в дебугере в унреале ???

от: Знахарь
кому: All
дата: 30 Oct 2006
Hello, Знахарь Кста! А что критики скажут про notepad++ 3.9 - свиду тоже "мал клоп, да вонюч"

от: Алексей Гончаров
кому: All
дата: 31 Oct 2006
Hello, Знахарь Я им пользуюсь, но для другого, тк это именно notepad, а не IDE. Он сейчас заменяет мне bred3.

от: Дмитрий Васильевич Терентьев
кому: All
дата: 31 Oct 2006
Hello, NovaStorm Отладка такая: ставишь в коде jr $ (типа токча останова), а дальше уже разбираешься (можно в принципе ставить di:halt, но первый вариант лучше, на надо прерывания восстанавливать вручную)

от: Знахарь
кому: All
дата: 01 Nov 2006
Hello, demon_zx Боже... а вот так как в СТС ? Сразу звучит страшно :) Т.е. если, скажем, нам надо как в аласм+СТС: т.е. напр, компилишь процедурку и хочешь тут же видеть её в деБуггере сначала - то jr $ надо ставить первой командой... Т.е. получим то же что и при таких действиях в аласме+стс выполняя команды assemble и затем сразу debug ???

от: Дмитрий Васильевич Терентьев
кому: All
дата: 02 Nov 2006
Hello, Знахарь Почти, унрил напишет "cpu stopped", нажимаем escape и мы в дебугере, забиваем jr $ нулями и вперед!

от: poisoned cyberjack
кому: All
дата: 02 Nov 2006
Hello, demon_zx Hу так что там насчет UltraEdit???

от: Roman Fhyedorov
кому: All
дата: 02 Nov 2006
Hello, psndcj можно я завтро напишу?

от: elfh
кому: All
дата: 26 Nov 2006
Hello, elfh если кому-то интересно, я настроил multiedit 9.10, чтобы иметь возможность переходить по ошибкам компиляции tools>execute compiler> reset original line numbers - выставляем current, tools>рядом program type ...> edit> regular expressions> search> заполняем вот tools>этим: ^(

)(()):(error:.#)$ ниже идет replace - заполняем: /F=/L=3/M=4


от: elfh
кому: All
дата: 02 Dec 2006
Hello, elfh похоже, я сам с собой в этой теме разговариваю ;) у меня еще одна проблема. периодически в multiedit получаю ошибку error 3032, level 2 - типа файл занят другим приложением, мой текст, я имею в виду. и не сохранить ничего. потом проходит само собой. неприятно. у кого-нибудь было подобное? как решили?

от: Roman Fhyedorov
кому: All
дата: 03 Dec 2006
Hello, elfh elf> ... у кого-нибудь было подобное? как решили? я решил юзанием ultraedit

от: poisoned cyberjack
кому: All
дата: 03 Dec 2006
Hello, bugsy bug> я решил юзанием ultraedit кстати... вроде ктото чтото обещал... или "завтра"? =)

от: Roman Fhyedorov
кому: All
дата: 04 Dec 2006
Hello, psndcj я же говорил ЗАВТРА! а вы всё время СЕГОДHЯ прходите! ;) если честно то у меня творческий кризис

от: Roman Fhyedorov
кому: All
дата: 05 Dec 2006
Hello, CHRV надо подумать... ;)

от: Roman Fhyedorov
кому: All
дата: 15 Dec 2006
Hello, elfh интересненько...

от: elfh
кому: All
дата: 15 Dec 2006
Hello, elfh Я разобрался, почему виснет unrealspeccy debugger! Это происходит если длина метки где-то в районе 12 символов - точно не знаю.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
the making of zxoom - история создания игры ZXOOM.
Фан-клуб - Сегодня, 21 июня 1999 года исполнилось бы 38 лет лидеру группы "КИНО" Виктору Цою...
Scenergy - обещанного видео в статьях не будет...
PC ASM - ассемблер для X86.
Почта - реклама и обьявления.

В этот день...   8 мая