Здравствуйте Все!
Подскажите "новичку", как Вы разрабатываете код под эмулятором?
Первый вопрос - по сохранению работы на "диск"
:v2_dizzy_coder:
Вид для печати
Здравствуйте Все!
Подскажите "новичку", как Вы разрабатываете код под эмулятором?
Первый вопрос - по сохранению работы на "диск"
:v2_dizzy_coder:
Hacker VBI, тебе нужен кросс ассемблер (sjasm) какаянибудь среда программирования (akelpad) и эмулятор (unreal)
компилишь в снап запускаешь в анриле
финальную сборку собираешь как тебе удобнее
Sjasm savesna "primer.sna" ,start и device zxspectrum128 не понимает
чем компилируете?
в общем помогло code @ #8000
и т.д.
после компиляции переименовую в *.bin
спектакулятор хавает, уже прогресс.
Пока спасибо.
SjAsmPlus надо
Только нативный асм, только хардкор!
http://zx.pk.ru/showthread.php?t=104...F2%EE%F0%EE%EC
Там есть разные примеры
После того, как попробовал «Sublime Text 2» на другие редакторы уже смотреть не могу :rolleyes:
http://img13.imageshost.ru/img/2013/...0d33_small.jpg
Эмулятор EmuZWin со встроенным ассемблером и дебаггером наше всё! И не нужны никакие связки прог.
Блин, а можешь сделать "полный фарш"? Меня уже тоже тошнит от ConTEXT, но лучше найти ничего не получилось. Что хочется:
- раскраска текста;
- outlining;
- code completion;
- module view;
- переход от строки с ошибкой в текст;
- проект с конфигурациями, конвертирующимися в DEFINEs;
- запуск эмулятора со скомпилироанным файлом;
- breakpoints;
А мне старый добрый FAR как-то роднее :)
К сожалению я не сильно разбирался в редакторе и как под него писать, поэтому сделал только раскраску и то, честно говоря не совсем понятно как там устроена сама логика раскраски :dizzy_mad_old:
Как я уже сказал выше, частично она готова, в сильном желании можно добавить все оставшиеся мнемоники.
Ты имеешь ввиду сделать список меток для быстрого перехода?
Он как бы есть дефолтовый для текста, но поскольку мнемоники всего пару символов это больше раздражает, чем помогает.
Тут поясни, что конкретно ты хочешь видеть?
честно скажу компилятор я не настраивал, но чисто гипотетически думаю возможно.
Вот за это точно не скажу, но опять же редактор достаточно гибкий, и если разобраться можно много чего написать.
Опять же мне это не нужно было, поскольку у меня запускается хитрый батник, который монтирует образ харда, копирует туда новые файлы, отмонтирует и запускает эмулятор. В теории можно повесить вызов на хоткей какой-нибудь.
По идеи наверное можно взять данные из редактора и как-то выгрузить, но опять же, для кого? для Unreal? в каком формате? или кто будет отладкой заниматься?
В атачменте незаконченная раскраска для «Sublime Text 2».
Распаковывается в c:\Users\%UserName%\AppData\Roaming\Sublime Text 2\Packages\User\
http://img13.imageshost.ru/img/2013/...0fe8_small.jpg
По поводу билда немного стрындел :) Он есть по Ctrl+B. Файл sjasmplus.sublime-build там же размещается где файлы цвета, в нём всего пару строк кода:
Правда вот как сделать запуск я не разобрался пока.Код:{
"cmd": ["sjasmplus", "src/main.asm"],
"working_dir": "${project_path:${folder}}",
"variants":
[
{
"name": "Run",
"cmd": ["C:/zx/unreal.ts/run_cli.bat"]
}
]
}
http://img13.imageshost.ru/img/2013/...6c2b_small.jpg
Нет, это сворачивание процедур. Круто было бы, если бы границы процедур распознавались автоматически.
Code Completion нужен не для мнемоник, а для имен символов в модулях.
Дерево модулей со списком символов в нем.
Обычно это делается через парсинг output'а компилятора.
Может тогда подскажешь за одно, как там вообще эти группы формируются?
Я нашел в других примерах, по аналогии сделал свои:
storage.type.asm
keyword.operator.asm
keyword.mnemonic
comment.line.asm
comment.block.asm
string.asm
constant.character.asm
support.type.sys-types.c
Они вообще-то задаются или отдельно описываются? кроме того есть небольшая проблема со string.asm, надо как-то подкорректировать regexp, иначе если в продолжении стоит комментарий, например
include "newfile.asm" ; Подгружаем блок
то теряется выделение "newfile.asm"
---------- Post added at 13:35 ---------- Previous post was at 13:29 ----------
Ну тут надо подумать над логикой, по какому принципу оно будет определять начало и конец. Ну с началом более менее ясно, метка не являющаяся мнемоникой, а вот с концом. Это может быть и другая метка? или это будет строка RET, а может быть и JP/JR?
Ну тут уже нужно более детально изучать возможности редактора, строить список модулей, меток и оттуда уже выдёргивать данные.
Это всё понятно, тут вопрос стоит в том, как обратиться к данным из output'а, что бы их уже разобрать.
Вообщем надо более тщательно искать и читать документацию.
вообще вроде бы их можно задавать в темах (как называются, какой цвет). принцип там, типа, на уточнении основан, каждое следующее слово после точки описывает стиль более подробно. ищет максимальную цепочку из известных, поэтому язык указывается в самом конце (чтобы именно для него можно было делать особые уточнения, а если их нет в темах - использовать те, которые максимально близко подошли).
сворачивание по синтаксису там не работает вообще, только по отступам (хотя оно может быть описано в раскраске).
можно адаптировать раскраску из фара.
Каким макаром вы отлаживаете программы?
Есть идея "загрузить бегучку в картинку", с отладкой дурацкие проблемы.
СТС непонятно как грузится :)
---------- Post added at 13:23 ---------- Previous post was at 13:13 ----------
С унреалом вообще нихт не ясно, как стс загружать. А отладчики эмулей не очень удобны
Что подскажете?
Hacker VBI, в анриле свой весьма навороченный дебаггер
стс там лишний
Hacker VBI, F1 :)
установка бряк пойнтов
поставил раз - перекомпилил, перезапустил - все на месте
в любой момент времени нажал esc(или ~) получил дебугер
ищешь ошибку - есть подозрение - воткнул в исходник di:halt - вывалился в нужной точке
трассировка есть, трассировка по условиям (ооочень гибким и очень быстрым) есть
Ещё вопрос, по музыке.
Есть модуль, как лучше его експортнуть с плеером из VT для вставки в код?
incbin "*.$c" ?
Если это SjASM, то не надо в него incbin'ом вставлять $c-файлы! $c-файл содержит TR-DOS-заголовок, он добавиться в код тоже. И маска для указания конкретного файла тоже не покатит. Надо что-то в духе
Экспортить лучше как .SCL или .TAP-файл и вытаскивать из образа каким-нибудь плагином для файлового менеджера.Код:INCBIN "Module.c"
Я даже не знаю что сказать
Цитата:
INCBIN <filename>[,offset[,length]]
To include a binary file into the outputfile. The offset and length are optional.
Example 5.23.
INCBIN "gfx.scc",7 ; include gfx.scc, skip first 7 bytes
INCBIN "rantab.com",3,256 ; include 256 bytes from offset 3
INCBIN gfx.scc ,7 ; note the space between the filename and the ',7' here :)
INCHOB <filename>[,offset[,length]]
To include a data from a hobeta file into the outputfile. The offset and length are optional.
Example 5.24.
INCHOB "gfx.$c",7 ; include gfx.scc, skip first 7 bytes
INCHOB "sprs.$c",3,256 ; include 256 bytes from offset 3
INCHOB gfx.$c ,7 ; note the space between the filename and the ',7' here :)
INCLUDE <filename>
To include another sourcefile into the current. Sourcefiles can be nested 20 levels deep. If the file cannot be found in the current directory (the current directory is the directory the current file comes from) the file will be searched for in the directories specified at the commandline. When angle brackets are used, the commandline directories are searched before the current directory.
Example 5.25.
INCLUDE <VDP.I>
INCLUDE MORE.I
INCLUDE "MORE.I"
INCLUDELUA <filename>
To include another LUA script in first pass(!). If the file cannot be found in the current directory (the current directory is the directory the current file comes from) the file will be searched for in the directories specified at the commandline. When angle brackets are used, the commandline directories are searched before the current directory.
Example 5.26.
INCLUDELUA <mylibrary1.lua>
INCLUDELUA mylibrary2.lua
INCLUDELUA "library_for_zx.lua"
INCTRD <filenameoftrdimage>,<filenameintrdimage>[,offset[,length]]
To include a file from a TRD image into the outputfile. The offset and length are optional.
Example 5.27.
INCTRD "test.trd","mygfx.C" ; include mygfx.C from test.trd
INCTRD "test.trd","mygfx.C",12 ; include mygfx.C from test.trd, skip first 12 bytes
INSERT <filename>[,offset[,length]]
INSERT is a synonym of INCBIN. See above.