weiv, вы точно уверены, что эти рассуждения касаются именно EmuZWin, а не некоего абстрактного эмулятора Спектрума?
Я утверждаю, что псевдо-Z80 ассемблера, транслируемого в код виртуальной машины, там нет. Там может быть использован Collapse, который тоже необязателен. Ибо используется только для сокращения размера exe. Но в Collapse нет никакого псевдо-z80 ассемблера.
Если будем дальше упорствовать с этим, давайте спросим Владимира.
---------- Post added at 00:38 ---------- Previous post was at 00:21 ----------
Вообще в контексте рац. обсуждения высказывание weiv'а об "авторском языке" можно свести к его опасениям в процессе модификации эмуля необходимости этот самый язык изучать. Спешу утешить weiv'а: для использования Collaps'а ничего такого изучать не нужно, только подключить модуль Collapse. Так что, получается, мы спорим о том, считает ли Владимир байт-код Коллапса z80-подобным. О чём и спросим Владимира, если weiv желает.
Последний раз редактировалось Oleg N. Cher; 16.05.2015 в 00:28.
Насчёт того, что эти рассуждения относятся не только к абстрактному эмулятору Спектрума, но и к конкретному EmuZwin, уверен. На тот момент Владимир занимался именно этим эмулятором.
Интересно, какие вы имеете основания это утверждать? Вы вообще читали тему, ссылку на которую я привёл?
Вот цитаты из неё:
Пострадает, конечно, скорость выполнения. Но это будет касаться только интерфейсной части, поскольку только эту часть я и буду пробовать переводить на Z2x80. Пострадает наверное и скорость написания. Для того чтобы переписать несколько мегабайт исходного кода с ЯВУ на асм Z2x80, конечно уйдет немало времени. Но мой подход вроде бы позволяет сделать это постепенно.
Первый этап закончил: эмулятор байт-кода есть, генерация П-кода и компиляция П-кода в байт-код есть. Уменьшил размер экзешника на 100К (сжатый уменьшился на 21К всего. Немного, но и исходного кода, для которого генерится П-код на автомате, тоже не очень-то много). Байт-код получился в 2 раза компактнее такого же машинного. Замедление скорости на глаз неразличимо (тем более что заменяется код инициализации диалогов). Следующим ходом попробую сделать компилятор Паскаль->П-код, и тогда можно будет сжать весь паскаль-код, который не требует высокого быстродействия.
Спросите, ничего не имею против. Тут он вряд ли ответит, но, может, в личной переписке откроет вам глаза.
Спрошу конечно. А то может быть и вам откроет.
Вот это не авторский язык? -
Вот эта цитата не свидетельствует о том, что Владимир собирался его применить в эмуляторе?Как бы его можно было переписать на Z2x80:
TFormConfig_SetupColors PROC
DEFB StartZ2x80
E=E : HL=adr_Colors16 : E=E: IX=adr_ColorPanels : B=16
LOOP
E=(HL) : DE><HL
CALL Color16ToColor
PUSH HL : HL=(IX) : PUSH HL
C=C : CALL TControl_SetColor
DE><HL
ELOOPB
RET
Пострадает, конечно, скорость выполнения. Но это будет касаться только интерфейсной части, поскольку только эту часть я и буду пробовать переводить на Z2x80. Пострадает наверное и скорость написания. Для того чтобы переписать несколько мегабайт исходного кода с ЯВУ на асм Z2x80, конечно уйдет немало времени. Но мой подход вроде бы позволяет сделать это постепенно.
---------- Post added at 00:58 ---------- Previous post was at 00:55 ----------
Оснований для своего утверждения, что в исходном коде эмулятора нет использования авторского языка, вы так и не привели.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Цитата, ещё раз:
Заметьте, компилятор Паскаль->П-код только планируется.Первый этап закончил: эмулятор байт-кода есть, генерация П-кода и компиляция П-кода в байт-код есть. Уменьшил размер экзешника на 100К (сжатый уменьшился на 21К всего. Немного, но и исходного кода, для которого генерится П-код на автомате, тоже не очень-то много). Байт-код получился в 2 раза компактнее такого же машинного. Замедление скорости на глаз неразличимо (тем более что заменяется код инициализации диалогов). Следующим ходом попробую сделать компилятор Паскаль->П-код, и тогда можно будет сжать весь паскаль-код, который не требует высокого быстродействия.
Да, и всё-таки -
Основания для такого утверждения??Сообщение от Oleg N. Cher
weiv, приведённые вами цитаты я отношу к раннему периоду разработки Collapse. Но Коллапс в моём понимании - это нечто вроде ASPack или UPX. Может использоваться. Но необязателен. Ваш же пост звучал как "ты это всё ниасилишь править, тут же авторский язык!".
Итак, нам остаётся всего лишь выяснить 2 вопроса:
1) является ли байт-код Collapse, как сначала планировал Владимир, Z2*80-подобным?
2) используется ли, помимо Collapse, ещё какой-то z80-подобный байт-код и виртуальная машина в EmuZWin?
Я отвечаю на оба вопроса "нет" и "нет", просто на основе здравого смысла, а не старинных цитат. Впрочем, причуды жизни причудливы. Подождём, что ответит Владимир.
---------- Post added at 01:26 ---------- Previous post was at 01:18 ----------
Э, тока не придираться ко второму пункту. Это всё-таки эмулятор Спека. Его можно назвать виртуальной z80-машиной. А мы же про "нечто некое, неописуемое".
Для меня мой пост звучал как "разобраться в исходном коде эмулятора не-автору будет очень непросто, частично потому, что он в какой-то степени написан на авторском ЯП".
По поводу вопросов - я бы остановился на одном вопросе - написан ли эмулятор EmuZwin частично на авторском ЯП?
Однозначно нет. "Я так думаю" (c)
Он мог быть только автоматически транслирован в байт-код Collapse, который Владимир для удобства оснастил z80-подобными мнемониками, с другого языка (Паскаля). Надеюсь, Вы не будете ставить знак равенства между "написан" и "автоматически транслирован с Паскаля"? Фух, надеюсь, что нет.
И раз так, то вопрос только в z80-подобии мнемоник. Тут я соглашусь. Возможно. Но тот, кто модифицирует исходник программы, exe-шник которой сжат UPX'ом, вовсе не должен обязательно изучать внутренний формат сжатого exe-файла. Хотя может быть и в UPX'е применяется "авторский язык"? Я не в курсе, честно...
Последний раз редактировалось Oleg N. Cher; 16.05.2015 в 01:45.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)