Вход

Просмотр полной версии : EmuZWin в open source?



Oleg N. Cher
15.05.2015, 18:59
Уважаемый Владимир Кладов! (я потом перешлю ему ссылку на тему)

Как-то Вы писали, что EmuZWin это не только эмулятор, а музей, браузер, через который можно обозревать старину. Это хорошая аналогия. Но так получилось, что в музее нет экскурсовода. За явной заброшенностью EmuZWin, которым я активно пользуюсь, хотелось бы попросить Вас открыть его исходники для общественности. Эмулятор по-прежнему представляет интерес для обозревателя старины, вполне держит конкуренцию с другими аналогами, быстр и стабилен. Есть только одна вещь, которую я хотел бы видеть исправленной (наверное с этим столкнулся кто-то ещё? Подтвердите, пожалуйста).


Владимир, раз уж мы списались, то я хотел бы Вам напомнить об одной проблемке EmuZWin (мой любимый эмулятор, который я активно использую). Смотрите приложенный скрин. Первый запуск. Жёстко устанавливаем размер окна: View -> Display Size 2:1 (512x384 main screen). Закрываем эмулятор. Второй запуск. Как видите, размер увеличился в высоту на несколько пикселей. Закрываем. Третий запуск. Ещё на несколько. Есть идея, почему так происходит? М.б. если размер зафиксирован, то не будем разрешать его изменять? Хотелось бы зафиксить вот этот момент.

Также у меня были проблемы с многоядерностью под Windows 2000. Можно было бы жёстко прописать использование эмулятором только одного ядра процессора (по крайней мере, если запущен на Windows 2000).

Версия эмулятора - разумеется, последняя - v2.7 выпуск 2.8

EmuZGL даже не рассматриваю как замену EmuZWin.


С уважением,
ОлегP.S. Исходники, вероятно, не представляют коммерческей ценности. А если так уж не хочется расшаривать исходники, передайте их приватно человеку, который согласится исправить эту багу (например, мне).

Spectramine
15.05.2015, 19:20
Насколько я помню, EmuZWin написан под авторскую библиотеку графических объектов под Делфи, и к тому же большая часть его написана на авторском языке под авторскую виртуальную машину, так что разобраться в нём не-автору будет очень непросто, даже если Владимир откроет исходники.

К тому же Владимир уже очень давно не появлялся на форуме.

Oleg N. Cher
15.05.2015, 19:28
Всё это не является проблемой. Для меня. Впрочем, я не поленюсь уточнить. KOL всё ещё развивается и поддерживается. Если вдруг с этим будут проблемы, то можно для сборки взять старую версию библиотеки. Никакого кода "на авторском языке" в эмуляторе нет, только Delphi.

ZX_NOVOSIB
15.05.2015, 20:05
EmuZWin по любому надо допиливать! В нём есть такие фишки, которых нет больше ни в каком эмуляторе. Но есть обидные глюки, которые всё портят.

Spectramine
15.05.2015, 20:07
Никакого кода "на авторском языке" в эмуляторе нет, только Delphi.




Улой скорпа я займусь позже. Пока что я надолго засел на уменьшении кода. Сейчас ваяю компилятор с Паскаля. В П-код. Это надолго. На пару месяцев точно.


на ассемблере. На Delphi - интерфейс.



Как сократить код эмулятора Z80 на PC (http://zx-pk.ru/showthread.php?t=1401)


Хочется привести пример, и наконец закончить на этом. Допустим есть у меня такой код:

procedure TFormConfig.SetupColors;
var I: Integer;
begin
for I := 0 to 15 do
ColorPanels[ I ].Color := Color16ToColor( Colors16[ I ] );
end;

Как бы его можно было переписать на 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, конечно уйдет немало времени. Но мой подход вроде бы позволяет сделать это постепенно.






Конечно, ошибка, ради которой предлагается открыть исходники эмулятора, вероятнее всего где-то в коде интерфейса. В любом случае, я лично тоже буду рад, если Владимир откроет исходники :)

ZEman
15.05.2015, 20:26
проблема в эмуляторе не только с размером экрана.
попробуйте запустить эмулятор на новых версиях windows (начиная с висты) интерфейс становится не пригодным для использования.
и да, все эти крики здесь бессмысленны, автор уже несколько лет не появлялся на форуме.
не проще ли написать ему ?
есть страничка:
http://kladov.org/

Gutten
15.05.2015, 21:02
если выставить режим совместимости с ХР, то тулбары и экран приходят в норму.
мне вот не совсем понятно как там +2/+3 сделаны - явно не как в спекуляторе почему-то.

Oleg N. Cher
15.05.2015, 21:31
Пока что я надолго засел на уменьшении кода. Сейчас ваяю компилятор с Паскаля. В П-код. Это надолго. На пару месяцев точно.weiv, если вы привели этот текст в доказательство своего высказывания про "авторский язык", то зря. Потому что Владимир имел ввиду проект Collapse, который транслирует Паскаль(Дельфи) в байт-код его мини-машины. Я в курсе этого проекта, но смысл его - только в уменьшении целевого exe.


не проще ли написать ему ?Вот я ему и написал. Форумное же сообщение - для того чтобы увидеть реакцию сообщества на предложение. Ну и чтобы побудить Владимира что-то решить. Чтобы он увидел, что не только мне нужно.

P.S. Фиксить под новые винды точно не буду, я до сих пор на XP. Есть желающие?

Spectramine
15.05.2015, 22:05
weiv, если вы привели этот текст в доказательство своего высказывания про "авторский язык", то зря. Потому что Владимир имел ввиду проект Collapse, который транслирует Паскаль(Дельфи) в байт-код его мини-машины. Я в курсе этого проекта, но смысл его - только в уменьшении целевого exe.


Oleg N. Cher, я рад, что вы в курсе этого проекта и его смысла. Этот текст я привел в доказательство своего высказывания про авторскую виртуальную машину. Следующую мою цитату в том же сообщении, в которой цитируется идея Владимира о сокращении кода эмулятора за счёт использования его собственного (авторский язык) псевдо-z80 ассемблера (который также транслируется в код виртуальной машины), вы, видимо, предпочли не заметить. Для наглядности я процитирую ещё раз:




Сообщение от Vladimir Kladov;
Как сократить код эмулятора Z80 на PC (zx-pk.ru/showthread.php?t=1401)



Хочется привести пример, и наконец закончить на этом. Допустим есть у меня такой код:

procedure TFormConfig.SetupColors;
var I: Integer;
begin
for I := 0 to 15 do
ColorPanels[ I ].Color := Color16ToColor( Colors16[ I ] );
end;

Как бы его можно было переписать на 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 22:05 ---------- Previous post was at 22:00 ----------

Цитата с сайта автора эмулятора:



EmuZWin - эмулятор ZX Spectrum. ..... Дальнейшие доработки остановлены, публикация исходного кода (в основном - ассемблер с поддержкой расширений MMX) - не планируется.

Kakos_nonos
15.05.2015, 22:23
Ого! Библиотеку КОЛ оказывается написал Кладов! Как я об этом мог не знать? Сорри за оффтоп.

Vitamin
15.05.2015, 22:32
Цитата с сайта автора эмулятора:
Стесняется, наверное:)
А кто на связь лично с ним выходил? Как аргументирует отказ поделиться знаниями?

Oleg N. Cher
16.05.2015, 00:38
Следующую мою цитату в том же сообщении, в которой цитируется идея Владимира о сокращении кода эмулятора за счёт использования его собственного (авторский язык) псевдо-z80 ассемблера (который также транслируется в код виртуальной машины), вы, видимо, предпочли не заметить.weiv, вы точно уверены, что эти рассуждения касаются именно EmuZWin, а не некоего абстрактного эмулятора Спектрума?

Я утверждаю, что псевдо-Z80 ассемблера, транслируемого в код виртуальной машины, там нет. Там может быть использован Collapse, который тоже необязателен. Ибо используется только для сокращения размера exe. Но в Collapse нет никакого псевдо-z80 ассемблера.

Если будем дальше упорствовать с этим, давайте спросим Владимира.

---------- Post added at 00:38 ---------- Previous post was at 00:21 ----------

Вообще в контексте рац. обсуждения высказывание weiv'а об "авторском языке" можно свести к его опасениям в процессе модификации эмуля необходимости этот самый язык изучать. Спешу утешить weiv'а: для использования Collaps'а ничего такого изучать не нужно, только подключить модуль Collapse. Так что, получается, мы спорим о том, считает ли Владимир байт-код Коллапса z80-подобным. О чём и спросим Владимира, если weiv желает.

Spectramine
16.05.2015, 00:48
weiv, вы точно уверены, что эти рассуждения касаются именно EmuZWin, а не некоего абстрактного эмулятора Спектрума?



Насчёт того, что эти рассуждения относятся не только к абстрактному эмулятору Спектрума, но и к конкретному EmuZwin, уверен. На тот момент Владимир занимался именно этим эмулятором.



Я снова утверждаю, что никакого псевдо-Z80 ассемблера, транслируемого в код виртуальной машины, там нет. Помимо Collapse, который тоже необязателен. Ибо используется только для сокращения размера exe.

Интересно, какие вы имеете основания это утверждать? Вы вообще читали тему, ссылку на которую я привёл?


Вот цитаты из неё:


Пострадает, конечно, скорость выполнения. Но это будет касаться только интерфейсной части, поскольку только эту часть я и буду пробовать переводить на Z2x80. Пострадает наверное и скорость написания. Для того чтобы переписать несколько мегабайт исходного кода с ЯВУ на асм Z2x80, конечно уйдет немало времени. Но мой подход вроде бы позволяет сделать это постепенно.




Первый этап закончил: эмулятор байт-кода есть, генерация П-кода и компиляция П-кода в байт-код есть. Уменьшил размер экзешника на 100К (сжатый уменьшился на 21К всего. Немного, но и исходного кода, для которого генерится П-код на автомате, тоже не очень-то много). Байт-код получился в 2 раза компактнее такого же машинного. Замедление скорости на глаз неразличимо (тем более что заменяется код инициализации диалогов). Следующим ходом попробую сделать компилятор Паскаль->П-код, и тогда можно будет сжать весь паскаль-код, который не требует высокого быстродействия.





Если будем дальше упорствовать с этим, давайте спросим Владимира.

Спросите, ничего не имею против. Тут он вряд ли ответит, но, может, в личной переписке откроет вам глаза.

Oleg N. Cher
16.05.2015, 00:55
Спрошу конечно. А то может быть и вам откроет.

Spectramine
16.05.2015, 00:58
Вообще в контексте рац. обсуждения высказывание weiv'а об "авторском языке" можно свести к его опасениям в процессе модификации эмуля необходимости этот самый язык изучать. Спешу утешить weiv'а: для использования Collaps'а ничего такого изучать не нужно, только подключить модуль Collapse. Так что, получается, мы спорим о том, считает ли Владимир байт-код Коллапса z80-подобным. О чём и спросим Владимира, если weiv желает.


Вот это не авторский язык? -


Как бы его можно было переписать на 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 ----------


Спрошу конечно. А то может быть и вам откроет.

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

Oleg N. Cher
16.05.2015, 00:59
Вот эта цитата не свидетельствует о том, что Владимир собирался его применить в эмуляторе?Что собирался - может и да. А что применил - не свидетельствует. Потому что Владимир реализовал там не всё, что планировал.

Spectramine
16.05.2015, 01:05
Что собирался - может и да. А что применил - не свидетельствует. Потому что Владимир реализовал там не всё, что планировал.

Цитата, ещё раз:

Первый этап закончил: эмулятор байт-кода есть, генерация П-кода и компиляция П-кода в байт-код есть. Уменьшил размер экзешника на 100К (сжатый уменьшился на 21К всего. Немного, но и исходного кода, для которого генерится П-код на автомате, тоже не очень-то много). Байт-код получился в 2 раза компактнее такого же машинного. Замедление скорости на глаз неразличимо (тем более что заменяется код инициализации диалогов). Следующим ходом попробую сделать компилятор Паскаль->П-код, и тогда можно будет сжать весь паскаль-код, который не требует высокого быстродействия.

Заметьте, компилятор Паскаль->П-код только планируется.


Да, и всё-таки -

Я снова утверждаю, что никакого псевдо-Z80 ассемблера, транслируемого в код виртуальной машины, там нет.
Основания для такого утверждения??

Oleg N. Cher
16.05.2015, 01:26
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-машиной. А мы же про "нечто некое, неописуемое". ;)

Spectramine
16.05.2015, 01:31
Для меня мой пост звучал как "разобраться в исходном коде эмулятора не-автору будет очень непросто, частично потому, что он в какой-то степени написан на авторском ЯП".

По поводу вопросов - я бы остановился на одном вопросе - написан ли эмулятор EmuZwin частично на авторском ЯП?

Oleg N. Cher
16.05.2015, 01:40
Однозначно нет. "Я так думаю" (c)

Он мог быть только автоматически транслирован в байт-код Collapse, который Владимир для удобства оснастил z80-подобными мнемониками, с другого языка (Паскаля). Надеюсь, Вы не будете ставить знак равенства между "написан" и "автоматически транслирован с Паскаля"? Фух, надеюсь, что нет.

И раз так, то вопрос только в z80-подобии мнемоник. Тут я соглашусь. Возможно. Но тот, кто модифицирует исходник программы, exe-шник которой сжат UPX'ом, вовсе не должен обязательно изучать внутренний формат сжатого exe-файла. Хотя может быть и в UPX'е применяется "авторский язык"? Я не в курсе, честно...

ram_scan
16.05.2015, 10:00
Исходники Владимир давал мне частным порядком, для портирования под Linux. Исходники эти умерли спустя короткое время вместе с моим винчестером.

Второй раз я просить их постеснялся, а копию по своему раздолбайству не сделал.

Написан эмулятор действительно на дельфи с использованием библиотеки KOL. И немножечко на ассемблере.

Vitamin
16.05.2015, 12:39
Исходники эти умерли спустя короткое время вместе с моим винчестером.
Вот люди и открывают исходники чтоб такого не было. А то сначала жадничают, а потом нытье начинается с преумножением потерянного, мол-де "все, что нажито непосильным трудом....".

Извините за грубость...

Oleg N. Cher
17.05.2015, 00:28
Люди уходят. Это грустно, но неизбежно. И планы их не всегда сбываются. И винчестеры, бывает, падают.

Возможно, Владимир не хочет отпускать эмуль в разработку в плохие руки, чтобы разработка не ушла "не в ту степь", а хотел заниматься впоследствии этим сам. Но жизнь, как говорится, берёт своё. Время не стоит на месте, и в свете перехода на Windows 10 необновляемый проект будет всё больше терять актуальность. А ведь его можно зафиксить для работы под Wine. Не знаю точно, кто-нибудь тестил? Или нет смысла?

Судьба эмуля мне небезразлична. Вот и прошу за него. Выложить куда-то в реп (Github был бы удобнее всего имхо), и пусть народ потихоньку делает коммиты. Я точно сделаю. И пусть Владимира не смущает сырость кода или там подпорки. Кто ж без греха. ;) Если это конечно главная причина.

s_kosorev
17.05.2015, 12:13
Честно говоря, так и не понял, в чем особенности этого эмулятора, есть же несколько OpenSource проектов, которые работают отлично от XP дл Win10, может более реально добавить "особенности" в эти эмуляторы?

Oleg N. Cher
17.05.2015, 15:55
Не нужно искать логику там, где есть "тёплые ламповые чувства". ;) Конечно есть и другие эмули, и много. Но есть и EmuZWin.

ram_scan
17.05.2015, 18:45
Эмулятор на самом деле на сегодня неактуален. Кроме ностальгии.

Вон Шалаевский эмулятор в свое время был чуть ли не единственным ходовым, и где он сейчас ? Хоть и исходники в мир отданы (кстати тоже где-то лежат у меня).

Он писался еще в ту пору когда и об ULA сведения были по большей части отрывочные, и за memptr информация была поверхностная, поэтому отдельными местами он не сделан точно, а подогнан под софт, поэтому где-то работал криво, где-то прямо.

Меня он в свое время заинтересовал именно тем что был писан на дельфи, и была идея малой кровью портануть его на FreePascal охватив достаточно большое количество платформ разом. Но исходники как я уже говорил я вместе с помершим винтом просохатил =(

Возможно осталась где-то рабочая копия (у меня архивных винтов более 40 штук). Но найти я теперь ее смогу только случайно разбирая многолетние завалы, поскольку вся эта порнография по моему же раздолбайству не каталогизирована.

Проще уговорить автора выложить в паблик.

Spectramine
17.05.2015, 23:43
Эмулятор на самом деле на сегодня неактуален. Кроме ностальгии.


Это сильно сказано. Встроенные в него монитор и ассемблер и на сегодняшний день самые мощные для эмулей Спектрума (по крайней мере, из встроенных). Плюс наличие других уникальных инструментов. По моему скромному мнению, EmuZwin и сегодня входит в тройку самых мощных эмулей Спектрума под windows, наряду с Spectaculator и ZXSpin. Есть у него, конечно, и минусы, среди них - довольно серьёзная недоработанность (например, несколько игр у меня на нём не идут, причём на некоторых он виснет при открытии файла).

Так что, если бы автор открыл исходники, это было бы хорошим подарком для фанатов Спектрума. Но если не откроет - его право.

Oleg N. Cher
22.05.2015, 13:21
Ну что ж, с большой долей уверенности можно утверждать, что Владимир мою просьбу проигнорировал. На мыло он отвечает, последнее письмо от него я получил 07.04.2015.

Oleg N. Cher
23.05.2015, 16:50
Сегодня получил такое письмо от Кладова:


Hello, Oleg.

You wrote 16 мая 2015 г., 5:01:48:

>> Владимир, разрешите наш спор про "авторский язык". Неужто байт-код
>> Collapse генерируется не автоматически из исходника, а нужна ручная
>> кодировка? Неужто он z80-подобный?

>> http://zx-pk.ru/showthread.php?t=25130&page=2

Язык METAL был разработан еще в 1994. Тогда же я сделал первый
эмулятор Спектрума (он не сохранился, но использовался для
проверки работы кода, кросс-компилированного для Z80). Collapse в KOL
генерируется автоматически при использовании MCK с соответствующими
включенными свойствами в форме. Да, только для экономии кода на
инициализацию формы. С учётом размера самого Collapse-эмулятора,
эффект появляется при размере такого кода больше килобайта.

-- With regards, Vladimir KladovТ.е. когда-то Владимир использовал язык METAL в своих эмуляторных разработках, но в EmuZWin он не используется.

Когда-то сам Владимир писал о своём языке METAL. Я тогда сделал вывод, что это язык наподобие COLOSS (http://www.worldofspectrum.org/infoseekid.cgi?id=0027681).

Vitamin
23.05.2015, 16:56
А что насчёт сорцов говорит?

ZX_NOVOSIB
23.05.2015, 17:56
Надо собрать делегацию и к нему домой отправить, благо спектрумистов в Новосибирске хватает. Мол ласково просимо, дай сорцы, батюшка. А письма писать толку мало, только личное общение.

Vladimir Kladov
27.05.2015, 19:54
Я и без делегации, допустим, выложить могу. Например, на Source Forge. Но если кто-то думает, что сумеет в этом всём разобраться за приемлемое время/потратив приемлемо мало усилий, то, мягко говоря, он слегка ошибается. Я бы сейчас сам не рискнул влезть в этот код, и начать там чего-то править.

Остаётся вопрос: а что, собственно, мешает использовать версии 2.7 / 2.8 под win7/8/10? Есть же режимы совместимости.

Titus
27.05.2015, 19:55
Остаётся вопрос: а что, собственно, мешает использовать версии 2.7 / 2.8 под win7/8/10? Есть же режимы совместимости.

В эмуляторе есть некоторые глюки, которые хотелось бы исправить. Например, мне так и не удалось заставить встроенный ассемблер размещать код в заданных страницах, хотя я перечитал всю доку вдоль и поперек. Делаю, как написано - не размещает)

Vladimir Kladov
27.05.2015, 20:01
В эмуляторе есть некоторые глюки, которые хотелось бы исправить. Например, мне так и не удалось заставить встроенный ассемблер размещать код в заданных страницах, хотя я перечитал всю доку вдоль и поперек. Делаю, как написано - не размещает)

И это всё? Думаю, это тот случай, когда фича была заявлена, и даже, возможно, при первой проверке работала. Но потом она была мне не нужна, и при очередном рефакторинге кода нечаянно была утрачена. Не факт, но так могло быть.

(А что, эмулятор используется теперь для компиляции кода? Вот не подумал бы).

Titus
27.05.2015, 20:20
(А что, эмулятор используется теперь для компиляции кода? Вот не подумал бы).

Все по разному) Мне это удобно. Нажал кнопку скомпилить - и сразу запустил, отладил.

Vladimir Kladov
27.05.2015, 20:24
Все версии проверяли? (Я исправил в подписи ссылку на сайт, на kolmck в разделе apps есть все основные начиная с 2.1).

ZX_NOVOSIB
27.05.2015, 20:43
И это всё?
Не всё, ещё много-много обидных глюков. Щас не могу сходу вспомнить ) Я ни разу не кодер, но в декабре прошлого кода приспичило мне сделать мод игрушки REX, творческую часть работы за меня сделали, мне лишь оставлось доделать кое-какую рутину. И я всё время спрашивал на форуме, как лучше выполнить ту или иную операцию, и как минимум два раза мне советовали ваш эмулятор. Т.е. многие заявленные инструменты уникальны по своему удобству и аналогов нет в других эмуляторах. Но запомнилось, что эти инструменты несчадно глючили. Что-то там с десятичными-шеснадцатиричными числами, и еще что-то.. блин, всё из головы вылетело.. Короче так, эмулятор самый крутой, но местами сыроват, если всё допилить - получится шедевр, все остальные эмули можно будет сносить навсегда :)

О, кое что вспомнил, у меня +2AB/+3 режимы вообще не работают, при выборе долго висит черный экран, а потом появляется 48-ой бейсик.

Vladimir Kladov
27.05.2015, 20:55
+2A/3 и не работали. Там какие-то хитрости с адресацией страниц, портами, еще что-то. Не хватает данных, для работы дисков. Работают, однако, тайминги. Т.е. если загрузить демку, предназначенную для этого режима, то должно работать. Иногда помогает сначала загрузить, потом переключить тайминги в 2A или 3.

Глючит, да, это бывает. Но это вряд ли исправить удастся, не переделывая всё. Там слишком много всего.

Titus
27.05.2015, 20:55
Все версии проверяли? (Я исправил в подписи ссылку на сайт, на kolmck в разделе apps есть все основные начиная с 2.1).

Я пользуюсь последней. Откатывать к предыдущим не хочется.

Vladimir Kladov
27.05.2015, 21:12
Я не для отката. Посмотреть, функциональность, которая нужна, вообще хоть в одной версии существовала (и если да, то в какой).

ZEman
27.05.2015, 21:25
Короче так, эмулятор самый крутой, но местами сыроват, если всё допилить - получится шедевр, все остальные эмули можно будет сносить навсегда :)


ну тут вы конечно загнули.
тот же ZXMAK2 и SpecEmu 3.1 ничуть не хуже, по точности эмуляции может даже и лучше чем Emuzwin.
к тому-же они работают без проблем на новых осях и постоянно обновляются.

maslanin
27.05.2015, 21:56
Как минимум, хотелось бы портировать данный эмулятор на linux. Тут годного толком ничего нет, так, fbzx более-менее (возможно, я плохо искал). Да и тот глючит. (linux mint)

SAM style
27.05.2015, 22:05
Как минимум, хотелось бы портировать данный эмулятор на linux. Тут годного толком ничего нет, так, fbzx более-менее (возможно, я плохо искал). Да и тот глючит. (linux mint)
Xpeccy (сам себя не прорекламируешь...). Но жруч, падла, и в слегка глубокой разработке.

kowalski
27.05.2015, 22:29
Тут годного толком ничего нет
FUSE вполне себе годный и в официальных репах. Хотелось бы от него ещё 2xAY, но и за то, что есть, спасибочки. Остальное либо собирать себе любимому ручками, либо антиквариат.

Vitamin
28.05.2015, 00:43
Я и без делегации, допустим, выложить могу. Например, на Source Forge. Но если кто-то думает, что сумеет в этом всём разобраться за приемлемое время/потратив приемлемо мало усилий, то, мягко говоря, он слегка ошибается. Я бы сейчас сам не рискнул влезть в этот код, и начать там чего-то править.
Лучше на гитхаб. С точки зрения удобства пользования sourceforge - дикий адъ, трэш и угар.

Цель- сохранить наследие. Не обязательно что кто-то будет дорабатывать (хотя и это возможно).

kowalski
28.05.2015, 01:31
Поддерживаю по обеим пунктам. Соусфордж скорее мёртв, чем жив.
Помните относительно недавнюю историю, когда Джордан Мехнер нашёл где-то у родителей на чердаке пыльную дискетку с асмовскими исходниками своего Принца Персии и выложил на Гитхаб? Вроде бы да, кто их сейчас будет ковырять? Но историческая ценность неоспорима. Да и осознание того, что они лежат в сухом и тёплом месте, где на них можно поглядеть и даже потрогать, как-то греет.

DenisGrachev
28.05.2015, 04:05
(А что, эмулятор используется теперь для компиляции кода? Вот не подумал бы).

Да, например все мои игры в нём написаны!


В эмуляторе есть некоторые глюки, которые хотелось бы исправить. Например, мне так и не удалось заставить встроенный ассемблер размещать код в заданных страницах, хотя я перечитал всю доку вдоль и поперек. Делаю, как написано - не размещает)

Вот так в Lirus (EmuzWin 2.7). Все орги должны быть с RAM. Думаю идею уловишь :)

org RAM 2, 32768

Основной код

org RAM 0,49152

Всякая дата

org RAM 4,49152

музыка в 4 странице

org RAM 5,27500

шрифты и всякая хрень

Andrew771
29.05.2015, 09:28
Сообщение от Vladimir Kladov
(А что, эмулятор используется теперь для компиляции кода? Вот не подумал бы).
Да, например все мои игры в нём написаны!
мои тоже! Ассемблер и отладчик на высоте!

В EmuZWin единственное, что я не понял, неправильно сохраняет в формат tap. Загрузчик почему-то подставляется не мой бейсиковский, а какой-то свой. Из-за этого некорректный tap получается, не работает потом в других эмуляторах.

Vladimir Kladov
29.05.2015, 12:00
мои тоже! Ассемблер и отладчик на высоте!

В EmuZWin единственное, что я не понял, неправильно сохраняет в формат tap. Загрузчик почему-то подставляется не мой бейсиковский, а какой-то свой. Из-за этого некорректный tap получается, не работает потом в других эмуляторах.

Непонятно пишете. В Emuz есть возможность отключить ускорение загрузки с ленты, эта опция не зависит от скорости самой эмуляции. Загрузчик с ленты не может повлиять на формат того, что формируется при записи. Запись на ленту действительно может быть не совсем идеальной, но для случая стандартной записи проблем быть не должно (если используются процедуры из ПЗУ для записи на ленту, по-моему, другие способы записи и не поддерживаются даже). TAP, если что, не содержит низкоуровневые пульсации, как tzx, там просто байты, уже декодированные.

Spectramine
29.05.2015, 12:29
Видимо, имеется ввиду запись эмулятором всего состояния Спектрума в виде .tap файла - загрузчик+сжатый образ состояния памяти и процессора.

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

Andrew771
29.05.2015, 13:31
Видимо, имеется ввиду запись эмулятором всего состояния Спектрума в виде .tap файла - загрузчик+сжатый образ состояния памяти и процессора.
А Andrew771 хочет сохранить программу в виде .tap -файла, а получает не то, что ожидает. Скорее всего, вместо записи отдельных блоков в .tap файл используется сохранение .tap - снапшота.
да, вот это: в меню опция "Сохранить", выбираю формат tap.
Сохраняет непонятно что, неправильный загрузчик.

Spectramine
29.05.2015, 14:15
Сохраняет он tap-снапшот, а вам нужно использовать пункт Record And Save Tap As. Выбираете имя tap-файла, затем делаете SAVE "имя файла" LINE <номер строки>, и во время "записи" блока после заголовка нажимаете F6 - записываете ваш бейсик-загрузчик в выбранный tap-файл. Также можно записать и блоки кодов, жаль только ,что в тот же tap-файл записать не получится, но можно записать несколько tap-файлов, а потом слить в один командой copy.

Andrew771
29.05.2015, 15:32
можно записать несколько tap-файлов, а потом слить в один командой copy.
где эта команда copy находится?

Vladimir Kladov
29.05.2015, 15:57
где эта команда copy находится?
В DOS окне MS-Windows. Имеется в виду, что TAP-файл так устроен, что можно прицепить несколько TAPов в один файл, а потом подсунуть на вход эмулятора. Команды LOAD будут читать его один за другим, и не надо будет подцеплять их по одному через меню File (и это практически всех эмуляторов касается).

Сохранение в TAP я реализовал, чтобы иметь возможность скармливать образ памяти тем эмуляторам, которые только TAP и понимают (но умеют что-нибудь более полезное, например, тайминги от 2A/3 обрабатывать). Работает не всегда, т.к. завязано на организацию страниц, и не является неразрушающим (нужны несколько свободных байтов и место на стеке). Это как снапшот кнопкой в TR-DOS, но на "ленту".

Spectramine
29.05.2015, 16:01
где эта команда copy находится?

Это команда операционной системы, утилита командной строки. В командной строке наберите copy /? , будет выведена помощь, как её использовать. Запуск командного интерпретатора в Win7 - Пуск- поле ввода над кнопкой Пуск "найти программы и файлы" - ввести cmd <Enter>, в XP примерно так же. Чтобы объединить файлы - copy /b <имяфайла1>+<имяфайла2>+...<имяфайлаN> <имярезультирующегофайла> /b <Enter> . Только сначала надо перейти в нужный каталог.
Проще запустить copy из TotalCommander, находясь в нужном каталоге, внизу обычно есть командная строка.

Или можно именовать файлы для сборки в формате Имя1,Имя2, ...,ИмяN, где Имя - одинаковая часть имени у всех файлов, цифра - номер файла при объединении, выбрать в TotalCommander первый файл из этого списка, и нажать в меню Файлы-Собрать файлы. При сборке потеряется расширение, надо будет объединённый файл переименовать, добавив расширение .tap .

Andrew771
29.05.2015, 16:30
понятно. В общем, опять не простой путь. :)
Когда ж сделают утилитку, где выбрал нужные снапшоты, расставил для них адреса начала-конца, щёлк и тапок готов. Я уже подумываю делать.

Spectramine
29.05.2015, 20:40
С запущенным EmuzWin у меня в Firefox стабильно крашится Flash Player (win7-32). Не знаю, это только у меня так?

Vladimir Kladov
30.05.2015, 21:15
С запущенным EmuzWin у меня в Firefox стабильно крашится Flash Player (win7-32). Не знаю, это только у меня так?
Для проверки - отключить в Firefox ускорение графики. Если не падает, дело в дровах на видеокарту. Если не падает в таком виде и не заметно разницы, можно так и оставить. Или вообще обойтись без flash. Мне, например, html5 вполне хватает. Кстати, про флаш в firefox'е последних версий вообще плохое говорят. Может, в плагине дело.

В EmuzWin вроде бы тоже можно попробовать что-то поменять (звук на waveout переключить). Типа не через direct-x чтобы шло.

Spectramine
30.05.2015, 22:58
Да это не критично (отключение ускорения не помогло, кстати, как и отключение звука в эмуляторе - выбора waveout вместо directX я не нашёл), есть же и другие браузеры (в других всё ок), да и эмуляторы, просто интересно - каким макаром эмулятор может влиять на flash player в конкретном браузере, и только ли у меня одного.

Vladimir Kladov
31.05.2015, 08:25
Да это не критично (отключение ускорения не помогло, кстати, как и отключение звука в эмуляторе - выбора waveout вместо directX я не нашёл), есть же и другие браузеры (в других всё ок), да и эмуляторы, просто интересно - каким макаром эмулятор может влиять на flash player в конкретном браузере, и только ли у меня одного.
... которого еще не существовало, да и flash плеера для него тоде еще не было, когда эмулятор был скомпилирован. Я бы все-таки переставил дрова от видеокарты. А вообще. здесь очень длинный список жалоб и попыток решить проблему:
http://forum.mozilla-russia.org/viewtopic.php?pid=662196
Или просто поискать flash firefox problem
И это давно уже тянется.

Raydac
24.11.2019, 14:41
а чем всё кончилось то? Владимир Кладов выложил куданить исходники эмулятора?

Bedazzle
25.11.2019, 14:21
а чем всё кончилось то? Владимир Кладов выложил куданить исходники эмулятора?

В опенсорс вроде как не выкладывал.

Денису Грачёву дал с условием нераспространения, но версию скомпилить сразу не представляется возможным, т.к. использует библиотеку KOL версии, исходники которой утеряны.
Т.е. требуется допил, чтобы собрать. Денис по мере имеющихся сил и времени понемногу ковыряет. Видимо, лучше у него самого уточнить.

dj--alex
17.09.2024, 10:02
проблема в эмуляторе не только с размером экрана.
попробуйте запустить эмулятор на новых версиях windows (начиная с висты) интерфейс становится не пригодным для использования.
и да, все эти крики здесь бессмысленны, автор уже несколько лет не появлялся на форуме.
не проще ли написать ему ?
есть страничка:
http://kladov.org/


сайт не открывается

уважаемому Владимиру Кладову вот это кто нибудь перешлите пожалуйста. уже пора сорцы выкладывать https://www.youtube.com/watch?v=DiXHrLf7emA
не работает нормально программа
ну либо AMD 5600 это слишком слабый процессор.


как вообще теперь пользоватся ЕДИНСТВЕННЫМ в мире эмулятором
где хоть и не работает команда SAVE

но зато есть возможность читать HOBETA и папки , какждая папка это целый TR-DOS диск
ни одного другого такого эмулятора нет и не будет похоже

я за 25 лет не нашёл замену

Xela
17.09.2024, 11:30
ЕДИНСТВЕННЫМ в мире эмулятором где есть возможность читать HOBETA
Серьезно? прям единственный, который хобету читает?

https://i.postimg.cc/rRmsD160/2024-09-17-102522.png (https://postimg.cc/rRmsD160)

https://i.postimg.cc/BtQX708S/2024-09-17-102535.png (https://postimg.cc/BtQX708S)

https://i.postimg.cc/9z8zvnTG/2024-09-17-102652.png (https://postimg.cc/9z8zvnTG)

https://i.postimg.cc/gnxrdHq1/2024-09-17-102738.png (https://postimg.cc/gnxrdHq1)

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

Shiny
17.09.2024, 13:29
Когда-то писал утилку под Хобету
https://g0blinish.ucoz.ru/pb/hob2scl.zip

Да и забыл, когда этот формат попался.

goodboy
17.09.2024, 14:45
вспоминаю что главный минус Hobeta это порядок размещения файлов (если он важен).
кажется помогала сортировка по дате создания.

Yuri80
13.09.2025, 13:55
И это всё? Думаю, это тот случай, когда фича была заявлена, и даже, возможно, при первой проверке работала. Но потом она была мне не нужна, и при очередном рефакторинге кода нечаянно была утрачена. Не факт, но так могло быть.

(А что, эмулятор используется теперь для компиляции кода? Вот не подумал бы).

Конечно и для компиляции и для декомпиляции разной сложности!!! Комфортнее программ для этой цели не нашел. Очень удобно, написал в блокноте Windows программу, по CTRL+C перенес в окно Assembler и скомпилировал. И не нужно никаких неудобных кроссассемблеров и прочих неуклюжих программ. Там не было ничего лишнего. Всё просто и понятно. Скопировал-вставил-нажал кнопку.
Шикарнейший ассемблер, если бы не множество глюков. Приходится постоянно открывать все три версии и между ними бегать, обходя баги и изворачиваться, чтобы он хоть как-то работал на Windows 10.
Я на этом ассемблере с десяток фирменные игр с полным объёмом ОЗУ (49152 байта) декодировал, делал реверс-инжиниринг и пересобирал, встраивая редакторы в игры (TETRIS, ROCKFALL, PUZZNIC, IMPACT, DEFLEKTOR, PANAMA JOE и прочие, включая ПЗУ). На мой взгляд, лучше идеи с ассемблером нет. Это как писать пост и вставлять куски из черновика.
Только ради этого "невзрачного" ассемблера и пользуюсь EmuZWin, так как нормальной альтернативы просто не нашел. На вашем эмуляторе я учился программированию на ассемблере и с помощью него создал модификации фирменных игр, частью которых делился на этом форуме.
Очень жаль, что всё так печально вышло. Почему вы не обновляете свой эмулятор, а в самых последних вариантах убрали ассемблер? Может всё-таки стоит возродить и обновить данный функционал и сам эмулятор.

Я понимаю, что это сообщение в пустоту и ничего не изменится. Это просто отчаянный крик души.