можно записать только нужный кодовый блок директивой ассемблера, без содержимого Е000.
Вид для печати
можно записать только нужный кодовый блок директивой ассемблера, без содержимого Е000.
Как ?
---------- Post added at 00:20 ---------- Previous post was at 00:16 ----------
хочу чтоб сохранил только нужный мне кусок ;)
без указания типа машины
c DS в общем то не сильно принципиально
обошлось
просто мне казалось что m80 было как-то по другому
ну и ладно с ним
а с нумерацией строк - похоже понял
я то скомпилил sjasmplus под osx
а исходник подсунул ему из win
перевел исходинк в UNIX style
и попустило, но баг на лицо
Код:0059 4024 out_de_99: ; CODE XREF: vdp_wr_de_a+4p
0060 4024 ; vdp_rd_de+1p ...
0061 4024 7B ld a, e
0062 4025 D3 99 out (99h), a ; '™'
0063 4027 7A ld a, d
0064 4028 D3 99 out (99h), a ; '™'
0065 402A C9 ret
0066 402B ; End of function out_de_99
В чем баг-то заключается? Исходники где твоей мега-программы, чтобы можно было посмотреть?
Про бинарники читай документацию. Я так понял ты хочешь это:
This will create two files: loader.com and bigfile.dat.Код:OUTPUT loader.com
ORG 100H
INCLUDE loader.asm
INCLUDE bios.asm
OUTPUT bigfile.dat
ORG 4000H
INCLUDE main.asm
ORG 8000H
INCLUDE data.asm
Savebin без указания типа машины не работает, а так можно было бы и им сохранить, указав с какого адреса сохранять.
ну прям классический ответ девелопера на баг репорт ;)
я ж в своем посте описал в чем грабля
ну да ладно, пойдем обычным путем
[precondition]
SjASMPlus Z80 Cross-Assembler v1.07 RC8 (build 06-11-2008)
build under OS X 10.7.3
[steps to reproduce]
1. extract attached zip
2. execute ./build.sh from archive
3. compare lst file
or just compare lst files
[expected result]
lst file test_unix.lst should be same as test_win.lst
[actual result]
lst file for test_win.lst contain unnecessary lines and invalid line numbering
looks like incorrect processing windows line ending (CR/LF) under UNIX system
CR and LF like different lines for SJASM
but if convert windows file to unix format (dos2unix) line number work correct
and let file doesn't contain unnecessary lines
ок, убрал ссылку в теле письма на аттач, теперь он виден явно
Я не девелопер, никаких аттаченых зипов не вижу. sjasm под автораспознавание концовок не затачивался, насколько я знаю, он берет как есть. Можешь сам внедрить, исходники у тебя есть.
Да и проблема какая-то выеденного яйца не стоит по-моему.
про savebin я в доке прочитал.
а вот что конкретно попадет в loader.com и bigfile.dat.
loader.com
100h .. последний байт на момент чего ????
bigfile.dat
4000h .. 8000h+len(data.asm) ??
---------- Post added at 01:13 ---------- Previous post was at 00:59 ----------
ну как сказать то ;)
почему сюда написал
компилю значится первый раз исходник, и получаю результат работы вида
тихо фигею с 15798 ибо в самом файле 8268 строкКод:SjASMPlus Z80 Cross-Assembler v1.07 RC8 (build 06-11-2008)
Pass 1 complete (0 errors)
p2.asm(1985): error: Bytes lost 8
p2.asm(1987): error: Bytes lost 8
p2.asm(1987): error: Bytes lost 8
Pass 2 complete (3 errors)
p2.asm(1985): error: Bytes lost 8
p2.asm(1987): error: Bytes lost 8
p2.asm(1987): error: Bytes lost 8
Pass 3 complete
Errors: 6, warnings: 0, compiled: 15798 lines, work time: 0.044 seconds
смотрю строчки 1985-1987 и фигею второй раз
ЧТО ТУТ может вызвать error: Bytes lost 8Код:sbc hl, de
ex de, hl
ld a, 60h ; '`' ; First Char of Konami
и только когда включил LST и догадался в него посмотреть
что уже ГОРАЗДО ближе к телуКод:p2.asm(1985): error: Bytes lost 8
01985 44A4 db 'S','O','U','N','D', 1, 1,'@','@','@','@','Y','¡','O', 1, 1, 1, 1
01985 44A4 534F554E4401014040404059A14F01010101
01986 44B6
p2.asm(1987): error: Bytes lost 8
p2.asm(1987): error: Bytes lost 8
01987 44B6 db 'C','G', 1, 1, 1, 1, 1,'@','@','@','@','R','¡','S', 1,'C','¡','K'
01987 44B6 434701010101014040404052A1530143A14B
про текст ошибки - разговор отдельный ;)
p.s. Bytes lost 8 - 8ка тут, это я искал что же за грабля
и попатчил исходник чтобы понять какая из 3х функия конкретно говорит эту фразу
потом уже пришла идея про конец строк, но далеко не сразу ;)
так стоит эта проблема пол дня потраченного времени ?
или яйца выеденного не стоит ?
да и на sourceforge указано что он win/FreeBSD/Linux
значитца должен
Ну упоминания стоит, да. Только версии не для винды официально не поддержаны, насколько я знаю, так что там на свой страх и риск всё.
С начала OUTPUT и до следующего OUTPUT.Цитата:
loader.com
100h .. последний байт на момент чего ????
Блин. Ну тут будет содержимое main.asm+data.asm. Без нулей между ними, они просто на тот адрес отассемблируются.Цитата:
bigfile.dat
4000h .. 8000h+len(data.asm) ??
SAVEBIN работает только в режиме эмуляции реальной машины, а он этого не хочет.
Не ко мне вопрос. Наверное из-за страничек.
хочет не хочет... возможность-то есть, разницы особо нет.
Ну учитывая, что он компилит под MSX - думается разница есть.
разница в чем? опкоды другие станут у з80? ;)
Ты видимо уже забыл, о чем говорил. Перечитай. Разговор шел о том, почему не подходит SAVEBIN.
Esl про savebin знает, я не в курсе чего там за архитектура у того компа, под какой он это пишет, наверное ему 48k мало.
тише, господа !
ниче странного у меня то и нету, сейчас компилю дизасм рома для MSX
потом возможно будет под другую архитектуру
просто sjasm впервые увидел буквально вчера, прочел доку, стал спрашивать
задача в общем у меня простоя,
код компилится с 4000h .. 7fff
что надо прописать в чтоб такое в файл бросало
реально оно там больше компилит
4000..8000 E000..E400 (тут живут переменные DSами)
нужно только то что 4000-8000
Какой из SJASM умеет BASIC сохранить с автозапуском? Юзаю
SjASMPlus Z80 Cross-Assembler v1.07 RC7 (build 02-04-2008) — не фурычит.
:(Цитата:
SAVETRD "namr.trd","basic.B",23867,EndBasic-BeginBasic,1
Никакой не умеет. зайди хекс-редактором поправь пару байт и всё. или доктором каким-нить.
А еще есть http://zx.pk.ru/showthread.php?t=19326. Умеет больше многа.
На самом деле, я встречал посты, что SJASM вроде кто-то для себя фиксил и автостарт BASIC'а работал. Может это в пресловутом RC8 которого нигде нет?
Это не я писал. Как ты так процитировал-то.
Кстати скомпилилось, правда со 100 варнингами. Надо посмотреть :)
Хм, и правда работает автостарт.
---------- Post added at 12:40 ---------- Previous post was at 11:44 ----------
Вот, держи: http://zx.logtech.ru/sjasmplus.exe
Вроде пока "не работает совсем" не заметил. Все мне сбилдило и записало.
И кстати да, zebest прав, есть же SAVETAP для записи на ленту.
если бы была утилита, где можно было бы править хедеры на диске, всё решалось бы вообще без каких-либо проблем. а то найди специальный асм, сделай то, сделай сё... костыли какие-то...
При чем тут хедеры на диске. Автостарт не в хедерах же прописывается. Утилита - взять любой хекс-редактор и исправить.
Ну любой диск эксплорер тебе в помощь. Far Manager, Total Commander с плагинами вроде это всё позволяют.
А вот непонятно как-то. Я уже пару раз замечал, что форум такие штуки выкидывает. Сегодня просто в спешке не заметил, что за ник он вставаил.
Да никак у меня руки не дойдут сделать что-то подобное моей tap-утилите для trd :( Чтобы все и сразу.
Потестируйте чтоли кто-нить этот RC8 билд, который я сбилдил. Что там не работает у кого?
Может быть смешно, но я до сих пор пользую ALASM. Нет желания изменить ему, но всё большее количество кодеров переходит на этот асм. Будьте добры, обьясните что и как. Как им пользоваться и как запустить из XP? какую версию этого асма скачать и откуда? Хотелось бы подробное описание пользователя.
Заранее благодарен. VNN
Как так, у меня работает, а у тебя нет? Давай сурс, будем разбираться.
---------- Post added at 00:26 ---------- Previous post was at 00:25 ----------
Да наверное добавлю, линк не дашь на исходник? Че-то курлес вроде писал. А то я только патчи нашел, на RC7.
---------- Post added at 00:43 ---------- Previous post was at 00:26 ----------
Вот это не обещаю, я как бы си++ тока сегодня увидел :) Ну попробую после разбора с SETBP и BPLIST. Кинь линком, где ты пояснял проблему.
---------- Post added at 01:12 ---------- Previous post was at 00:43 ----------
Хотя не, выковырял из патча команды. Ссылка та же - http://zx.logtech.ru/sjasmplus.exe
Тестируйте. Пока сохраняет в старом виде, завтра переделаю под последний unreal.
Напоминаю - команды setbp X (или setbreakpoint X) и bplist "имяфайла". Первая ставит точку останова, вторая генерирует файл.
Выложил билд с поддержкой bpx.ini от последнего Unreal.
В синтаксис setbp добавлена возможность ставить на r w x (ну как в unreal в общем - на чтение, запись и вызов) - теперь оно setbp адрес,[r/w/x]. По умолчанию ставится на вызов, если не указывать.
Код частично утащен у thims'а :)
http://zx.logtech.ru/sjasmplus.exe
Там какой-то мегакод для этих едупов, похоже нет вложенной проверки едупов и вообще я там половину не понял :) Например также не работает вот такое:
то есть если пропущен едуп тоже ошибок не показывает. В общем постараюсь разобраться на следующей неделе. Надо книжки по си++ почитать :)Код:dup 56
ldi
ld sp,56
add hl,sp
ld sp,hl
dup 28
dec l
ld d,(hl)
dec l
ld e,(hl)
push de
edup
PS - Если есть какие-то еще билды sjasmplus, у которых можно утащить что-то полезное - говорите, не стесняйтесь, заберем, внедрим.
я просто мимо проходил...
никто не желает написать статью в вики "быстрый старт с SjASM"? про батники, шаблон кода и т.п... чтобы взял, попробовал и сразу начал работать...