С уважением,
Jerri / Red Triangle.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
jerri, опять - двадцать пять. Достаточно было упомянуть SJAsm, что дескать это он не понимает язык оригинала, но нет, надо обязательно впихнуть своё мнение что "дичь", что тяжело запомнить и не логично. Ну да, я слышал, что современная молодежь имеет проблемы с памятью, но ты то вроде не из этих.
А, понятно, если бы ты упомянул только SJAsm, я бы естественно порекомендовал другой, который может. В общем, секта как есть, в действии. Вот поэтому "Илиты" никогда не будет на i8080, потому как она будет на недо-Z80.
HardWareMan, если программисту удобнее мнемоники z80, если привычный инструментарий для них, если больше вероятность отклика и содействия других программистов (понимающих мнемоники z80 на форуме побольше, чем помнящих/понимающих 8080), то лучше их и использовать. Если результат будет приемлемо работать на 8080, то на чем исходная программа - совершенно без разницы, хоть с включением фрагментов C, бейсика и чего угодно. Задача и так сложная и объемная, зачем еще ставить дополнительные барьеры и проверять на прочность мотивацию.
Я подозреваю гдето в мире уже ктото сделал набор регулярных выражений которые из одной мнемоники делают другую.
Подобных трансляторов даже несколько, на форуме эта тема поднималась (может и не раз), но у всех есть ограничения и неудобства. А удобный и простой в использовании транслятор был бы полезен программисту работающему с мнемониками z80 с прицелом на 8080 - как минимум для быстрой и точной проверки наличия у 8080 команд использованных в исходнике для z80.
доооо, канешна:
разница в 5 раз... ну, пусть в 4 раза... или что же тогда жрёт основную часть ~400 тыщ тактов, если не 3d-расчёты, по-твоему?
нет, всё ты перепутал, заявляя:
тогда как в примере вычитал я как раз DY, как и положено
не наглей, я не обязан делать за тебя всю работу, да и времени сейчас на это у меня нет
дал пример проверенного на спеке способа экономичного обсчёта ошибки
понимающему - достаточно, не желаешь пробовать и думать - ССЗБ
Прихожу без разрешения, сею смерть и разрушение...
Сравнил скорость последней версии линии jerri и линии blackmirrora, которую уже упоминал в этой теме. Тестировал как написано в упоминаемом посте. Текущий вариант jerri на несколько байт короче и на несколько процентов медленнее.
Отмечу, что в посте blackmirrora он кое-где использовал команды z80 отсутствующие у 8080, но замена там очевидна.
У jerri осталась лишняя команда OR A в районе между line_rlvb0 и line_rlv3 (тестировал без нее).
Я это все к чему. Достигнутая скорость линии вполне товарная, быстрее можно, но не намного, если не отказываться от сдвига маски и не разворачивать цикл.
Последний раз редактировалось ivagor; 18.02.2019 в 18:47.
на данный момент длина процедуры 214 байт - есть ли смысл раздувать вот это в 8 раз ради
ivagor, сколько даст ускорения вот этот вот этот разворот цикла?
С уважением,
Jerri / Red Triangle.
Нет, для элиты конечно не надо раздувать. При заполнении линиями квадрата 256x256 выигрыш 20-21%, для квадрата 128x128 - 18-19%, дальше я промежуточные не замерял, а в районе 15x15-16x16 точек процедуры сравниваются по скорости. На коротких линиях без развертывания быстрее, громоздкая инициализация самомодифицирующегося кода съедает выигрыш.
Понятно, что для применений, где нужна бескомпромиссная максимальная скорость линии во всем диапазоне и нет ограничений по размеру программы можно делать выбор между "обычной" процедурой для коротких и развернутой для длинных. Но элита на мой взгляд не тот случай.
действительно, "не тот случай", но в том смысле, что в играх ускорять нужно то, что медленно, а не всё подряд
даже если развёрнутая процедура выгодна на длинных отрезках и невыгодна на коротких, можно применять её для тех и других
всё равно объект из коротких отрисуется быстрей, чем из длинных, но разброс меньше и фреймрейт стабильнее получается
Прихожу без разрешения, сею смерть и разрушение...
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)