Сайт тюменской творческой группы работающей на ZX Spectrum
site logo
Guest@23.20.64.16 we believe in speccy future
SJAsm + MultiEdit
SJAsm + MultiEdit
красота и удобство программирования
bugsy 12.02.2011

я начинал кодить в 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/SJASMWIN.ZIP
2.multiedit http://www.multiedit.com/downloads/upgrade/SetupMe910.exe (14 метров кстати!!!)
3.файлик-макрос, написаный Kurles`ом, кстати
4.файлик настроек, чтобы не делать то что я описываю ниже

затем мы правдами и неправдами (последнее особенно) устанавливаем multiedit. потом в директории куда он установился находим папку MAC и кладём туда соответствующий файлик из атачча.

если вы скачали ещё файл из пункта №4 и уже установили MultiEdit, то дальше разберётесь сами. единственное, что я вам хочу сказать - зайдите в меню tools>customize>import-export, укажите файлик настроек и дольше дело техники! и дальше можете не читать...

ну а если вы любите делать всё своими руками, то запускаем значит multiedit (надеюсь он уже не trial у вас)
идём в tools>customize>general>languages
создаём язык (Z80, например) кнопкой insert
заполняем поля reserved words:
1: display macro endm rept dup edup org ent page savesna savebin savehob shellexec db defb dw defw ds defs if ifn endif else disp equ labelslist incbin include DEVICE ABYTE ABYTEC ABYTEZ ALIGN ASSERT BINARY BLOCK BYTE DC DD DEFARRAY DEPHASE DEFD DEFDEVICE DEFINE DEFM DM DZ DWORD EMPTYTRD ENCODING END ENDLUA ENDMOD ENDMODULE ENDT EXPORT FIELD FPOS INCHOB INCLUDELUA INCTRD INSERT LABELSLIST LUA MAP MEMORYMAP MODULE OUTPUT PAGE PHASEREPT SAVETRD SIZE SLOT TEXTAREA UNPHASE WORD IFDEF IFNDEF D24
!!!красным цветом выделены новые операторы для версий 1.07 и выше!!!


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 NONE ZXSPECTRUM48 ZXSPECTRUM128 SCORPION256 ATMTURBO512 _SJASMPLUS _VERSION _RELEASE _ERRORS _WARNINGS
!!!красным цветом выделены новые дэфайны для версий 1.07 и выше!!!


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 (): (.*)$
!!!ахтунг!!! для версий 1.07 в search надо писать search: ^([^ ]+)\(()\): (.*)$
replace: /F=\0/L=\1/M=\2

и всё блиать!!!!

теперь мы можем компилить текст прямо из multiedit`a (кнопкой F9, например) получая на выходе файлик с метками для эмуля UNREAL и объектный код! кстати как захотите так и настроите (хоть trd), но для этого почитайте manual по sjasm`у
также мы можем перескакивать по ошибкам выдаваемым компилятором в нижнем окошечке output
а для того чтобы видеть метки нажмите view>tags
потом меню tags>scan tags for current file
и ПРАВИЛЬНЫЕ МЕТКИ появятся в окошечке tags!!! причем, по ним можно переходить и даже если они в другом файле!!!

ПРАВИЛЬНЫМИ МЕТКАМИ являются метки после которых нет никаких символов (ну как в ALASM`е короче)

а если почитать manual по multiedit`у, то можно найти ещё больше всяких фич облегчающих наш программерский труд. например при нажатии shift+F11 если курсор стоит в ссылке на метку мы на неё перейдём.

а теперь, пользуясь случаем я хочу передать привет моему брату и сказать ОГРОМНОЕ СПАСИБО Aprisobal`у и Kurles`у!!! авторы multiedit`a перебьются - у них работа такая.

творческих успехов ребята!!!
новых игр и софта!!!
не только cpu loves you, но и я!!!

p.s. исходники своей стратегии я уже перевёл в *.a80
щас попрёт маза!!!

>> Список статей в этой категории
<< Назад на главную страницу статей
Оценка
Нет оценки

Вы должны войти в систему, для того, что бы оставлять сообщения.. Нажмите сюда для регистрации либо войдите в систему под своим именем пользователя. здесь чтобы зарегистрироваться