Разыскиваю исходные тексты ZASM 3.10. Попытки связаться с авторами, а также с Tim Kelly, не увенчались успехом. :(
Вид для печати
Разыскиваю исходные тексты ZASM 3.10. Попытки связаться с авторами, а также с Tim Kelly, не увенчались успехом. :(
Интересно как же ты пытался? и какое отношение к ZAsm'у имеет Tim Kelly?Цитата:
Сообщение от rajdee
Опа, сам автор ZASM появился здесь! В первую очередь хочу сказать большое спасибо за самую удобную среду разработки для ZX-Spectrum! Все мои программы (Real Commander, Technodrom и много других) были написаны на ZASM 3.0 и 3.10. Никакие там Alasm'ы с примитивным интерфейсом меня не прельщают (хотя компилятор там бесспорно хорош).
Если у Вас вдруг появится желание сделать новую версию, то хотелось бы иметь возможность присваивания значений и выражений меткам (как в Alasm). Также помнится был глюк с невозможностью вложения условных макросов (мне в общем никогда и не надо было такое).
ZASM рулит. Напрягает только две вещи:
неясно, как использовать недокументированные команды (сейчас просто пишу типа "DB #DD" итд)
нельзя скомпилить в файл (требуется, когда прога рассчитана на неудобные для компилятора или оболочки области памяти, например - экранной области. или я чего-то прото не знаю?)
make "blabla",#0000 насколько я помню там был (не писал в ZASMе с 98 года)Цитата:
Сообщение от moroz1999
Три: ошибки в реализации директив условной компиляции и жуткие ограниченияЦитата:
Сообщение от moroz1999
на макросы всё сводят на нет. (невозможно писать рекурсивные макросы)
Точно, что не знаешь.Цитата:
Сообщение от moroz1999
Ба! Вот этого я не ожидал :)
Пытался связаться c Константином Афендиковым, по адресу 2:465/69.39, но безуспешно. Других адресов не нашел :(Цитата:
Сообщение от Rubts0FF
2 марта 1999 года, в конференции zx.spectrum, Tim Kelly написал следующее:Цитата:
Сообщение от Rubts0FF
P.S. Т.к. возможности связаться с авторами не было, я использовал все доступные варианты ;).Цитата:
Сообщение от TimKelly
Для этого мануалы и существуют :)
Из недокументированных команд поддерживаются:Цитата:
Сообщение от moroz1999
- команды SLI register, например: sli a
- команды с половинками индексных регистров IX и IY, обозначаемыми как
XH,XL, YH,YL, например: ld a,xh : xor yl
- out (c),0
Выбирай:Цитата:
Сообщение от moroz1999
Код:--- Директива MAKE ---
~~~~~~~~~~~~~~
Директива MAKE определяет помещение объектного кода на диск.
Синтаксис:
<Метка> make "A:FileName.C",<выражение>
<Метка> - необязательный параметр;
"A:FileName.C" - имя создаваемого файла <выражение>, Адрес с которого
будет ассемблироваться файл. В памяти объектный код не создается. Программа
может иметь несколько директив MAKE .
Директива MAKE не может находится в файлах, подключаемых на компиляцию
директивой include.
Действие директивы make отменяет директива org.
Пример:
org #8000
Start include "a:main.asm"
Levels make "E:level_1 .C",0c000h
include "a:level1_1.asm"
include "a:level1_2.asm"
make "E:level_2 .C",0c000h
include "a:level2_1.asm"
include "a:level2_2.asm"
и т.д.
--- Директивы PHASE & UNPHASE ---
~~~~~~~~~~~~~~~~~~~~~~~~~
Директивы PHASE и UNPHASE изменяюттекущий адрес компиляции, неизменяя при
этом адрес размещения объектного кода.
Синтаксис:
<Метка> PHASE <выражение>
<Метка>, необязательный параметр;
Вычисленное <выражение> определит адрес смещения. UNPHASE устанавливает
адрес компиляции равным адресу размещения объектного кода или, в случае
вложенности, адрес предыдущего phase.
Допускается 5-ти кратная вложенность директивы phase.
Внимание !!!
При большей вложенности разрушится часть компилятора.
Пример:
ResMem equ #5b00
org #6000
ld hl,Prog:ld de,#4000
ld bc,Len:push de:ldir:ret
Prog phase #4000
ld hl,Resident:ld de,ResMem
ld bc,ResLen:ldir
..............
call ResMem
.............
Resident phase ResMem
.............
unphase
ResLen equ $-Resident
unphase
Len equ $-Prog
если опустить второй unphase, метка Len примет неверное значение.
Отключить phas'ированое можно и ди- рективами ORG, MAKE.
Костя, увы, забросил не только Спекку но и программинг :(. А адреса в документации как к ZAsm'у v3.00 так и 3.10. Так-же вызывается по EXT-Цитата:
Сообщение от rajdee
SS+I из редактора.
Писать не мешки ворочать ;).Цитата:
Сообщение от rajdee
Всем спасибо за спасибо! Мне и ответить нечего. Кто-то доки все-же читает. А между прочем выход ZAsm'а 3.10 затянулся практически на год из за отсутствия этих самых доков :(.
Да, макросы в ZAsm'е далеки от идеала. Причина в том что мы сами тогда макросами не пользовались (их небыло). Ориентировались на GENS:). Меня неустраивает следующее: Нельзя передать стринг в качестве параметра, нельзя использовать инструкции Z80, при вложенном макросе проблема с параметрами. инструкция IFP дейсвует на параметры вообще а хотелось бы на любой указанный.
Да у меня новыми версиями 20гб-винт забит.;)Цитата:
Сообщение от Pawel
огромное спасибо, буду юзать, а то выкручивался такими методами, как shadow monitor'ом тормознуть в нужный момент итд.! :)
Тогда будем с нетерпением ждать новую версию.Цитата:
Сообщение от Rubts0FF
Новыми версиями Zasm`a?Цитата:
Сообщение от Rubts0FF
Я, к слову, тоже до недавнего времени пользовался только Zasm`ом 3.10, но вот настала задача (игру делаю) освободить всю 128-ю память и мне пришлось перейти на Alasm...
Да, новыми, но вариантов (т.е. версий) ... и какой принять к релизу ???Цитата:
Сообщение от axor
Может народ подскажет что он хочет от ZAsm ver.Next? Кстати на zasm.nxt.ru через пару дней расскажу почему небыло Zasm-ов после v3.10.
Я как поклонник ZAsm'a скажу что очень хочется мне:Цитата:
Сообщение от Rubts0FF
1) локальные метки
2) больший объем памяти под исходник, либо (что лучше) мультидокументный интерфейс.
3) легкая подсветка синтаксиса
Сначала хотелось бы узнать что планировали авторы. А то может получиться так, что то, что желает пользователь уже сделано.Цитата:
Сообщение от Rubts0FF
Хотя...
Мне, например, не стало хватать единственного - жесткая привязка самой среды ассемблера к конкретным страницам памяти. Еще раз напомню, я перешел на Аласм только по той причине, что мне нужно было освободить 128-ю память, в Zasm`е же этого пока сделать нельзя.
Да авторы ничего не планировали. Есть два варианта: ZAsm в верхней памяти (128 free 4 user) и компиляция в верхнюю память. Оба! варианта не идеальны :(. Наиболее подходит вариант ПЦ - все на диск. Кстати этот вариант реализован в ZAsm v3.10. А на момент выхода проги первые два были неактуальны IMHO. Я неоднократно пытался что то сделать в рамках v3.10, но отведенной памяти катастрофически нехватало. В итоге клон за клоном. Необходим пересмотр структуры ZAsm'a. Например когда нам не стало хватать памяти мы сделали оверлеи, сейчас нужно разделить редактор и компилятор, которые слишком привязаны друг к другу, чтобы навернуть каждый.Цитата:
Сообщение от axor
Сделано:
1 - Редактор с буфером в три банки. Но ... если загрузить файл с пустыми строками а затем нажать ENTER, то можно попить кофе ...:(.
2 - Компиляция в любую страницу памяти, кроме ZAsm'овских - только под ATM-1.
3 - ZAsm в верхней памяти - только Profi-512
Но поскольку все это мне не очень надо, а мои бетатестеры играют в Кваку ... все и лежит мертвым грузом. :(
С этим согласен. Это реально сегодня?Цитата:
Сообщение от Rubts0FF
Почему идет жесткая привязка к конкретным клонам? Лучший вариант - это драйвер пользователя, либо очень универсальный, как сейчас используется в самом zasm 3.10. Хотя все же пользовательский драйвер универсальнее. Только нужно объяснить как его писать.Цитата:
Сообщение от Rubts0FF
А когда будет указанный рассказ?Цитата:
Сообщение от Rubts0FF
Реально. Вот только времени нехватает.Цитата:
Сообщение от axor
Все очень просто. На стадии работы я выбрасываю автоконфиг т.к. мне не нужно определять какой у меня комп.;) и время на компиляцию сокращяется. А релиз в полном комплекте.Цитата:
Сообщение от axor
Праздники ..., Женщины ... . Sorry через пару дней.Цитата:
Сообщение от axor
Чтож. Ждем...Цитата:
Сообщение от Rubts0FF
Люди, есть такой вопрос - как скачать файлы с http://zasm.nxt.ru/.
Дело в том, что сами файлы лежат по тридесятому адресу и тот удаленный сервак ругается, что мол "сервер перегружен попробуйте в другой раз". Раз 5 пытался - одна и та же история. Может быть кто то сможет выложить те файлы здесь, на форуме.
В свое время пытался переделать ZXD (imho он лучший в классе дизассемблеров на реале). Разобрался во многом, но нужно было описание формата ZASM2.x (ZXD сохраняет файлы в этом формате), а самого ассемблера найти не удалось ни на CD, ни на сайтах, ни у друзей. По этой, и по ряду других причин, тогда дело застопорилось, и вот теперь вроде бы нашел, то, что искал, а достать не могу.
Help plz.
М-да, а сразу все качалось. Ну вот а-ля зеркало http://zasm.hut1.ru/.Цитата:
Сообщение от spensor
Спасибо. http://zasm.hut1.ru/ работает.
А от новых версий хотелось бы Disasm. В ZXASM3.10 есть все необходимое для работы, а вот дизасм почему то не вошел в пакет. В принципе я сам хотел такую вещь сделать, да вот както документации было маловато, да и архитектура ZASMа закрытая. Единственное, что можно было сделать - заменить встроенный монитор-отладчик, назначение которого, при наличии STS, не очень понятно. А сам STS для дизассемблинга не подходит, поскольку все считает командами и работает автоматом.
ZASM - это мой второй ассемблер после GENS`а и первый ассемблер, на котором (ZASM3.0) я сделал свою первую полноценную программу (таблицы для тестирования телевизоров, к сожалению, эта дорогая как память программа не сохранилась)...
Я даже "сидел" в ZASM3.10 и был, наверное, одним из первых, кто купил эту программу у ALOS`а (помнишь такого? ;) ). Долго в нем сидел, пока не пришлось писать код, которому необходимо было юзать 128-ю память. Сначала меня удовлетворяла "замена" страниц на этапе отладки и написания на "расширенные", но скоро появились приемлимые версии alasm`а, который меня лично устраивал по практичности и гибкости, но, естественно, не по сервису и удобству. Тут у ZASM`а нет конкурентов.
Если автор решит продолжить написание ZASM`а, то хотелось бы попросить у него предусмотреть возможность ПОЛНОГО размещения кода ассемблера в "расширенных" страницах памяти...
ПАЦАНЫ, ПРОСТИТЕ ЗА ОФФТОП, НО:
УКРАЇНА, ДЕ ВАШІ РУКИ?!?!?!?!?!
:smile: :smile: :smile: :smile:
ГОРДОСТЬ, БЛИН :))))))))
Во-во. И я о том же! Дайте людям новый Zasm!:)Цитата:
Сообщение от dwt
Легко! ;) Если только перенести в ext память то через неделю, ну две получите. Но ... за это время без поддержки 128 кб. :(Цитата:
Сообщение от dwt
Ну, я бы не сказал что архитектура ZASMа закрытая. Просто она слабо (очень) документирована. Но если посмотреть исходники оверлеев кое-что станет ясным. А что не ясно, можно узнать у меня (лучше мылом). Кстати в исходниках на http://zasm.hut1.ru/ есть файл "disassm" by Hohlov.0. На его базе и строился zmon.ovl довести до ума не хватило времени да и желания. В общем может получиться замечательный дизассм. К тому же текст можно сразу упаковать и поместить в редакторЦитата:
Сообщение от spensor
Обязательно доделывайте. Это отличный ассемблер! Я, например, его буду ждать.Цитата:
Сообщение от Rubts0FF
Я не помню сколько осталось из двух, отмеренных мною-же, недель но ...Цитата:
Сообщение от axor
ЩАС ZAsm компилит в любую страницу, текст в extmem, подложка и каталог там-же. Да ORG NPAGE,ADDR. Осталось чуть ... перетащит ZAsm in extmem.
посему вопрос - можно-ли опустить IntBuff=257 bytes ниже 8000H?.
Можно. Будет торможение на фирменных спекки (и a-la фирменных клонах) процентов на 25 (реально число может быть любым), но для асма это не критично.Цитата:
Сообщение от Rubts0FF
Если во время обработки прерывания - ничего страшного. шО там опрос клавы ну может будет мыша. Да и сколько зтих фирменных спекки ...?Цитата:
Сообщение от Spectre
Много клонов фирменных спекки с тормозной памятью, например Львов, Байт. Но еще раз повторю, для асма это торможение будет незаметно, если только музыку на прерывания не повесить.Цитата:
Сообщение от Rubts0FF
Вот, вроде можно показать. Чуть подробнее в readme в архиве
Сразу пару замечаний:Цитата:
Сообщение от Rubts0FF
1. При запуске асма на эмуляторе Unreal изображение на экране портится (точнее включаются видеорежимы, которых асм поидее не поддерживает). Связано это с тем, что асм при старте пишет в порт #EFF7 всякую шнягу (на первый взгляд #7F). Исправляется положение путем сброса битов этого порта вручную, но это отнють не выход!
2. Крайне нечитабельный шрифт! Поидее его там можно заменить на свой, но этот шрифт "поумолчанию" совсем не пригодный для чтения - чисто эргономическое соображение!
? Сам юзаю Шалаева и рильный пентагон. Возможно при определении ЦМОСа чето нахимичил?.Цитата:
Сообщение от Dr.Lion/RSM
! Такой непривычночитаемый шрифт сделан умышленно, шоб я ZAsm от Zasm-а отличить мог ;) . Меняется очень просто. (см. ldfont.asm).Цитата:
Сообщение от Dr.Lion/RSM
И ГЛАВНОЕ это альфа. Выложил шоб народ.ру видел, шо я нетолько водку с пивом, но и обещяния... ;)
Прибил пару багов и добавил текст загрузчика ZAsm-а.
Кто-нибудь знает куда делся автор?
Так же предлагаю всем заинтересованным лицам писать свои дополнения по поводу усовершенствования Засма. Можно писать сюда, можно мне, т.к. я уже начал :) Потом все отдадим автору, если объявится :)