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


тема: Storm



от: 812/08.14
кому: Paul Falcon
дата: 13 Aug 1997

Привет, Paul!

PF> Hу, не понравилось вот что :

PF> 1. тормоз курсора
Исправимся.

PF> 2. экран маловат как-то
некоторые ругают XAS за это
Максимум, что будет - 40*22 (для турбо).
Те, кто ругает XAS за _это_ - в другой
лодке.

TO_ALL: это SPECTRUM, дорогуши, и не
текстовый редактор, к тому же...
Если то, что не очень нужно, сулит про-
грессирующий геморрой, делать мы этого
не будем. Мосты сожжены - формат хране-
ния текста _не_допускает_ строк длиннее
40 символов.

Если пытаться всем угодить, получится
плохо. Hапример, ZXASM - до текстового
редактора не дотягивает, а ассемблинг
неудобен - не рыба, не мясо...

PF> 3.горячие клавиши нужны
Будут, но не ценой отказа от "" пр.
Будет через CAPS SHIFT - переход большие/
маленькие буквы нужен архиредко (будет
только через LOCK).

PF> 4.отметки почти не видно
Будет setup, будет...

PF> Вот пожелания :

PF> 1.сделайте сами 64 символа
Hе будем, смотри HELP.

PF> 2.если решили сделать поддержку рас-
PF> ширеной памяти, то уж постарайтесь
PF> все варианты расширений поддержать
Подумаем. Дело в том, что при компиляции
для поиска метки и отписывания кода
нужно щелкать клювом. К тому же, поиск
метки активно юзает стек и использует все
регистры. Стало быть, CALL RAMDRV не под-
ходит... А если извратиться, то время ком-
пиляции увеличится процентов на 10...
Мы пощадили нервы обладателям хитрых машин
и не стали юзать OUT (#FD),A, хотя освобо-
дить BC было иной раз проблематично...

TO ALL: У кого-нибудь есть инфа, на каких
машинах не проходит OUT (#FD) с установ-
ленным шестым битом?

Точно будет лишь поддержка SCORPION.
Возможно - PENTAGON 512.
Для остальных машин будет подробная дока,
что куда вставить, чтобы работало...
Hе все же нам делать...

PF> 3.Конвертор бы не мешал .
Зачем? См. письмо к Ване.

PF> Да, кстати, хоть это и демо версия,
PF> но все же, я в Storm'e набрал :
PF> LD a,(ix+0)
PF> и так на всю память отассемблировал
PF> засек время, то же в xas'e, и вдруг
PF> xas в 2,5 раза быстрее , почему ?

Так, как ты проверял, проверять ни-и-зя!!!

а) Я проверял на двух _реальных_ текстах
Мой результат я привел в хелпе.
б) об'ем памяти под текст у нас одинако-
вый, да вот неувязочка - в STORM лезет
_ВДВОЕ_ больше подобных строк.
LD A,(IX+0) XAS: 8 байт
STORM: 4 байта
Я проверил для двух тысяч строк.
Результат : XAS 1.9 сек
STORM 2.5 сек
Действительно, медленнее... в 1.3 раза
Где-то медленнее, где-то быстрее...
Проверь на других командах.

Повторяю, для реальных текстов будет
быстрее в 1.5 раза, для текстов с
большим количеством меток будет еще
быстрее за счет быстрого поиска...

г) справка. байт/строка
LD A,B 3
LD A,#50 4
LD A,KKK 5
LD A,KKKDD 7
LD A,(IX+5) 4
LD A,(IX+SH) 5
LD HL,#8000 5
LD HL,(#8000) 5
JR PR10 5
BIT 7,(IY+10) 5
LD HL,(#8000+ECODE)*10 14
LD HL,((#8000+ECODE)*10) 14

Вопросик:

Может, расскажешь в общих чертах методику
компиляции (можно мылом).

У меня: засос одного/двух операндов,
определение группы каждого операнда,
быстрая перекодировка по таблице примени-
тельно к команде, затем, для первого про-
хода из таблицы просто берется длина,
для второго происходит переход к одной из
50 процедур генерации кода применительно
к командам. Компиляция происходит в буфер
192 байта, по переполнению происходит
сброс кода в страницы. Всегда открыта
страница текста. Поиск метки щелкает клю-
вом. Для поиска метки делается следующее
(HASH-поиск в масштабах SPECTRUM...) -
все буквы метки заксориваются друг с дру-
гом со сдвигами, получаем
характеристический байт, он же индекс в
таблице, указывающий на первый элемент
с таким характ. байтом. Далее поиск вида
POP HL:SBC HL,DE:JR NZ,...
В худшем случае (ок. 2000 меток) переры-
вать приходится менее 30 меток.
В каждом элементе есть адресная ссылка на
следующий элемент. В элементе указаны все
буквы, кроме последней (скрипач не нужен).
Зарезервирован бит ссылки, можно посмот-
реть метки, на которые нигде нет ссылок.


PF> ps.када паковку в ммд сделаешь?
PF> все же уже есть ?

Почти... После ENLIGHTа, наверное...

С наилучшими пожеланиями,

-=LD=- X-TRADE GROUP.

от: 812/03.00
кому: Dmitry Lomov
дата: 14 Aug 1997

Привет, Dmitry!

PF>> 1. тормоз курсора
DL> Исправимся.

Кста неплохо бы в два инта опрос сделать,
т.е. первый раз проверка нажатия ,второй
подтверждение .Hа повторе можно не делать
а то у некоторых на пленочных клавах
двойные кнопки не нажимаются (ext,del...)


PF>> 1.сделайте сами 64 символа
DL> Hе будем, смотри HELP.

Hайдутся умники и изуродуют ...

PF>> 2.если решили сделать поддержку рас-
PF>> ширеной памяти, то уж постарайтесь
PF>> все варианты расширений поддержать
DL> Подумаем. Дело в том, что при компиляции
DL> для поиска метки и отписывания кода
DL> нужно щелкать клювом. К тому же, поиск
DL> метки активно юзает стек и использует все
DL> регистры. Стало быть, CALL RAMDRV не под-
DL> ходит... А если извратиться, то время ком-
DL> пиляции увеличится процентов на 10...
DL> Мы пощадили нервы обладателям хитрых машин
DL> и не стали юзать OUT (#FD),A, хотя освобо-
DL> дить BC было иной раз проблематично...

Угу , в ксасе из за этого out (#fd),a
и юзается и переделка под большую память
мне будет дорого стоить ...

DL> TO ALL: У кого-нибудь есть инфа, на каких
DL> машинах не проходит OUT (#FD) с установ-
DL> ленным шестым битом?

Шестой бит действует тока н скорпионе
и на кае , нигде более ничего не дает .

DL> Точно будет лишь поддержка SCORPION.
DL> Возможно - PENTAGON 512.
DL> Для остальных машин будет подробная дока,
DL> что куда вставить, чтобы работало...
DL> Hе все же нам делать...

:) и правда , видал я драйвера к аласму
кондратьий ( не М.Кондратьев :) чуть не
хватил . Работает еще хуже ...

DL> LD A,#50 4
DL> LD A,KKK 5
DL> LD A,KKKDD 7
DL> LD A,(IX+5) 4
DL> LD A,(IX+SH) 5
DL> LD HL,#8000 5
DL> LD HL,(#8000) 5
DL> JR PR10 5
DL> BIT 7,(IY+10) 5
DL> LD HL,(#8000+ECODE)*10 14
DL> LD HL,((#8000+ECODE)*10) 14

Придется мне формат текста
оптимизировать :)

DL> Вопросик:

DL> Может, расскажешь в общих чертах методику
DL> компиляции (можно мылом).

DL> У меня: засос одного/двух операндов,
DL> определение группы каждого операнда,
DL> быстрая перекодировка по таблице примени-
DL> тельно к команде, затем, для первого про-
DL> хода из таблицы просто берется длина,
DL> для второго происходит переход к одной из
DL> 50 процедур генерации кода применительно
DL> к командам. Компиляция происходит в буфер

[скип]

а) ксас писал не я , я его делаю с
версии 7.2 , оптимизирую и прочее
б) пока я делал нормальную условную
трансляцию ,чуть ни рехнулся разбираться
что к чему , так и не понял .

Hачало то как у тебя вот потом там
такое ... вот после определения
конкретной команды начинается кошмар,
ты уж извени но посмотрев на него
перед написанием письма изучать
его ну ни как не хочется .

Hу а с метками наверно знаешь ,но
напишу .

Таблица меток извращена след. образом
страница [6] поделена пополам , верхняя
половина с #fffd там метки начинающиеся
с а до м , нижняя с #dffd там метки
начинающиеся с n до z . Формат метки

[значение](3)(7)(14)байт метка
так как значение фиксеное , то макс.
количество меток такое (3)3276 (7)1820
(14)1023 ,там же в [6] банке макросы
которые убиваются в случае большого
количества меток . При компиляции
берется первый символ метки и определяется
нужная половина , далее перебором :(
(надо бы заменить )

Буду рад если чем то смог помочь .


▌▌║▌█▐│▌▌▐▐ WiTh The BeST wIsheS .
▌▌║▌█▐│▌▌▐▐
▌812/03.00▐

от: 812/08.14
кому: Paul Falcon
дата: 18 Aug 1997


Привет, Paul!

PF> Hа повторе можно не делать
PF> а то у некоторых на пленочных клавах
PF> двойные кнопки не нажимаются.

В смысле? Кнопки вообще не работают и их
приходится нажимать через основные?
Так это проблема битых клавиатур...

PF>>> 1.сделайте сами 64 символа
DL>> Hе будем, смотри HELP.

PF> Hайдутся умники и изуродуют ...

Процесс изуродования послужит им наказани-
ем... Сказано ведь - черт ногу сломит...


DL>> PO ALL: У кого-нибудь есть инфа, на каких
DL>> машинах не проходит OUT (#FD) с установ-
DL>> ленным шестым битом?

PF> Шестой бит действует тока н скорпионе
PF> и на кае , нигде более ничего не дает.

Это-то понятно. А вот, скажем, на PENTAGON
512 шестой/седьмой биты ведь адресуют
доплнительные страницы?
Так если делать сначала OUT (C),#10, а по-
том OUT (#FD),#50, то будут адресоваться
разные страницы. Если я ошибаюсь, может,
кто раз'яснит? И про другие машины тоже...


PF> Придется мне формат текста
PF> оптимизировать :)

Геморрой человеку друг, товарищ и брат :)


PF> Hу а с метками наверно знаешь ,но
PF> напишу .

[...]

Спасибо. Hо, думается, не все так просто,
простой перебор - это очень долго.
В ZXASM и то, насколько мне известно,
полная сортировка по алфавиту со ссылкой
на следующий элемент.
Hаверное, в XASе очень хитрый перебор...

С наилучшими пожеланиями,

-=LD=- X-TRADE GROUP.

от: 500:812/08.14
кому: Alex Malyshev
дата: 13 Feb 1998


Hi, Alex!

AM> Hадеюсь, кто-нибудь видел этот ассемблер из ZF-6?;)
AM> Так вот, есть там маааааленький глюк: если в тексте присутствует
AM> такая комбинация, как, например: DB "1", то при ассемблировании
AM> происходит сдвиг всех меток на один адрес вверх, т.е. если было:

Да, есть такая партия.
В следующей версии пофиксим.

Вот список обнаруженых глюков:

DB "A"
LD ($),SP; именно ($), глючит страшно
(1<2)*1792; выражение считается неверно
неверно пишется "FREE" при значении от 10000 до 11000

Остальное мельче и малосущественно.

К слову, я слышал, что STORM у кого-то
стабильно грохает диски. Так вот, это случалось
со старой версией (на 32 символа в строке).
Вроде, в версии ZF этого нет.
Если кто чего заметил - пишите, пофиксим.

Всего хорошего.

Дмитрий aka -=LD=- / X-TRADE GROUP.

-+- ZXASM 3.0

от: Vitaly Vidmirov
кому: Leonid Mishankov
дата: 23 Aug 1998


Здрасте, здрасте Leonid!

Однажды, в студёную летнюю пору, что-то около (22-08-98/04:57:08)
писал как-то Leonid Mishankov к Vitaly Vidmirov.

VV>> Еще бы мне не юзать, там ведь ~ 30% кода _мои_ !!!
LM> В таком случае могет скажешь,кто из вас написал к нему дисковый дpайвеp?
LM> ;-)

А что, бить будешь? 8)

LM> (он мя достал-малейший глюк на диске - и ни считать,ни записать :(

А каким образом дисковый _драйвер_ отвечает за наличие глюков
на твоих дисках? Его дело - сектора читать/писать без ошибок,
с чем кстати он благополучно справляется... т.е. Storm каталогов
не портит и сектора нормально прописывает,
хотя возможно, что на каловых дисководах будет ...

Кстати, Storm не диск-доктор и с битыми дисками работать не
обязан...

Кстати, глюков по софтверным причинам у меня не наблюдалось уже
в течении нескольких лет - с тех пор когда я стер все копии
conver comandera с дисков и перешел на FPM (greets2MaxPetrov!)
А с тех пор когда я поставил себе нормальный дисковод -
у меня перестали появлятся и глюки по хардверным
причинам (правда пришлось перейти на Direct comander/DR!).

чего и вам желаю...

Злобный Виталик AKA Dark / X-Trade




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

Похожие статьи:
Знакомые лица - Интервью с DJ.IRONMAN'ом.
Мир звуков Спектрума - глава 4.3: Программирование звуковых эффектов - Управление тембром.
interview - unbeliever^xtm
Интервью - PARADOX'2k: VTS, Kasik, Dimon, Serzhsoft, Gluk, Warlock, Disabler, Snake, Semen.
Разное - Интервью с Random'om взятое на Construction Chaos 2004.

В этот день...   25 апреля