# E m u Z Win v2.7 выпуск 1.8 Beta

(С) by Vladimir Kladov, 2003-2005

Представляю свой эмулятор ZX-Spectrum 128K/48K для Windows 95 / 98 / ME / NT / 2K / XP / Longhorn.

Для загрузки самой свежей версии следует использовать ссылку: http://bonanzas.rinet.ru/EmuZWin.zip Размер версии 2.7 = 1 Мбайт. Дополнительные файлы с исходными кодами плагинов, описанием по созданию плагинов и прочим можно загрузить здесь: http://bonanzas.rinet.ru/zx/EmuZWin_Addons.zip

Предыдущие версии так же возможно загрузить:
v2.0: http://bonanzas.rinet.ru/EmuZWin20.zip 265K
v2.1: http://bonanzas.rinet.ru/EmuZWin21.zip 286K
v2.2: http://bonanzas.rinet.ru/EmuZWin22.zip 349K
v2.3: http://bonanzas.rinet.ru/EmuZWin23.zip 463K
v2.4: http://bonanzas.rinet.ru/EmuZWin24.zip 585K
v2.5: http://bonanzas.rinet.ru/EmuZWin25.zip 700K
v2.6: http://bonanzas.rinet.ru/EmuZWin26.zip 961K

На настоящий момент, среди оконных эмуляторов EmuZWin один из самых быстрых и при том корректных в плане точности эмуляции. Его основные возможности:

- поддерживает модели Spectrum (в том числе точное таймирование -мультиколор, который может отключаться при необходимости): 48, 128+, 128/+2, 128/+2A/+3, Pentagon, Scorpion (частично), а так же модели памяти ATM, ATM-Turbo-2, Profi; в том числе настраиваемый мультиколор; частичная поддержка Issue2/Issue3; возможность переключения модели/таймирования на лету, без сброса машины (иногда сброс все же требуется - при изменении модели);
- для работы используются внешние файлы образов ПЗУ, их можно настроить и выбрать для нужного оборудования подходящий образ, если не устраивает образ из поставки;
- GigaScreen, Snow (эффект "снега");
- игры режима 256 цветов (Spec256), развитый GFX-редактор для перевода обычных игр в режим 256 цветов (взять существовавшие до 1999 года 12 таких игр можно на сайте http://www.emulatronia.com/emusdaqui/spec256/index-eng.htm См. так же новые переводы игр в режим 256 Colors на сайте Arjun (Арджуна из Индии, г. Бангалоре): http://www.arjun.150m.com/ZX256games.html );
- полноэкранный режим с DirectX и без DirectX; изменяемый размер окна (масштаб от х1 до х4), в том числе изменение размера без сохранения пропорций, изменяемая ширина бордюра (от 8 до 48 точек и до 56 точек в полном экране); дополнительные эффекты полноэкранного режима: Interlace, Blur Motion (только для Direct-X), и все ниже перечисленные фильтры (когда Blur Motion выключен). Blur Motion - это сверх-плавная смена кадров, при нем синхронизация идет по вертикальной развертке дисплея, 2 последних кадра могут смешиваться, чтобы дать эффект плавной смены кадров. Требуется большая мощность машины (не менее 1ГГц, поддержка MMX). При недостаточной мощности попробуйте уменьшить масштаб - Alt+'-', включить Interlace - Alt+'I', запретить Time History 2 Seconds Back, закрыть все прочие задачи, включая сканеры вирусов и индексирование файлов. На движущихся участках изображения может наблюдаться мерцание яркости, при частотах не кратных 50 - для скорости эмуляции 100%, чтобы избавиться от мерцания, нужно либо использовать монитор с поддержкой 100, 150, 200Гц, или выбрать скорость эмуляции так, чтобы число кадров в секунду стало кратным частоте монитора (например, для частоты 85Гц, пойдет скорость 85%, а для 60Гц - 120%). Звук может с ползать. Отставание изображения на 1 -2 кадра от эмуляции. В основном режим предназначен для просмотра демонстраций, но может использоваться и для игры.
- графические фильтры: Smooth Scale, High Quality Magnification, Flip Vertical, Interlace (последний - в полном экране, при масштабе > 1);
- Net Play - игра по сети "на одном спектруме" в режимах разделения клавиатуры или времени, в том числе со скрытыми ходами;
- эмулируются устройства: дисковая система Beta128 (TR-DOS), микродрайв (Interface-1), лента (чтение, в том числе быстрая загрузка с ленты - "flash load", в том числе запись на ленту в формате .TAP); звук MIC (в Windows 9x может выводиться на PC-Speaker), AY (ABC / ACB / Mono), Turbo-AY, Covox, Stereo-Covox, General Sound, ZX Printer;
- форматы файлов: SNA, Z80, SLT (чтение), ZX, TAP, TZX (чтение), BLK (чтение), TRD, SCL, HoBeta (*.$B, *.$C - чтение), UDI (чтение), FDI, TD0, MDR (микродрайв), OUT (запись), ZIP (чтение), GFX, RZX (Action Replay, при проигрывании позволяет делать откаты на 2 секунды, и наблюдать какие нажимались клавиши, при "бросании" (drag-n-drop) на окно эмулятора нескольких файлов RZX они проигрываются один за другим, по очереди); POK; а так же свой собственный формат EZX, предназначенный для сохранения полного состояния Spectrum-машины и эмулятора, включая все открытые диски, ленты, картриджи, ассемблерные тексты, карты, сценарии и прочее;
- возможность написания плагинов для расширения списка поддерживаемых типов файлов;
- браузеры дисков и ленты позволяют выполнять элементарные операции по сборке/модификации образов диска и ленты;
- сохранение скриншотов в .SCR, .BMP или .PNG;
- запись звука в .WAV и .MP3;
- запись видео в .AVI;
- регулируемая скорость хода эмуляции - от 1% до 10000% (реально получить на современных машинах 2000-5000%) с шагом 1%;
- 2-х секундные откаты назад на очень большую глубину назад к началу игры (часы);
- имеет встроенный отладчик/трассировщик (с поддержкой Undo, остановки по выполнению команды в диапазаное адресов, по чтению/записи в память, по чтению/записи в порт), ассемблер, дизассемблер (может экспортировать дизассемблированный код);
- Map Builder - построитель карт (для адвенчурных игр, и аркад со смежными комнатами), в том числе имеет автоматический режим;
- эмулирует несколько видов джойстика (Kempston, Sinclair-II, Fuller) и мыши (AMX, Kempston, AY); поддерживает до 2х джойстиков PC;
- позволяет переопределить клавиатуру/джойстик (любая клавиша PC или направление джойстика PC - на любую клавишу / направление джойстика ZX или на одну из 25 команд эмулятора);
- рисованная клавиатура позволяет не только увидеть расположение клавиш и какие нажаты, но и понажимать на нее, в том числе мышкой;
- регулятор громкости звука ( в том числе в панели состояния);
- настраиваемая панель инструментов; истории недавно открытых файлов;
- автосохранение текущего состояния машины (в фале Autosave.ezx) при закрытии эмулятора, с автоматической загрузкой этого состояния при последующем запуске;
- хранение настроек в реестре (с привязкой к пользователю PC) или в ini-файле (опция командной строки);

СИСТЕМНЫЕ ТРЕБОВАНИЯ:

- Процессор: Pentium-II 450МГц; минимум: Pentium-75МГц
- ОЗУ: 32 Mбайта; минимум: 16 Mбайт
- Жесткий диск: 100 Mбайт свободного пространства; минимум: 20 Mбайт свободного пространства
- Дисплей: 1024х768x64K или лучше; минимум: 640х480x256
- Видео карта: нет особых требований
- Звуковая карта: установлена (совместимая с Sound Blaster); минимум: не требуется
- Direct-X: версия 5 или выше (лучше); минимум: любая версия
- Операционная система: Windows 9x с IE 4.0 или выше / ME / NT4SP3 / 2000 / XP / Longhorn; минимум: Windows 95 без установленного IE

ИНСТРУКЦИЯ ПО УСТАНОВКЕ

1. Выберите директорию (или создайте новую), например C:\Games\EmuzWin\ и распакуйте туда ВСЕ ФАЙЛЫ из архива поставки. Не стоит запускать программу непосредственно из ZIP-архива - возможно, архиватор не поддерживает распаковку всех файлов при запуске из архива одного из них.
2. Это все. Запускайте EmuZWin.exe и получайте удовольствие :-) Если хотите, вы можете создать ярлык на программу где пожелаете (например, на Рабочем столе или в стартовом меню) - используя обычные средства, скажем, перетаскивая программу из окна проводника в нужное место ПРАВОЙ клавишей мыши.
3. Если хотите, можете загрузить утилиту LensKey.exe (автор Simon Owen) с его Web-страницы ( http://homepage.ntlworld.com/simon.owen/lenskey ) и положите (распакуйте) ее в ту же директорию, где вы "установили" EmuZWin, это разрешит пункт меню Tools|Lens Key, который просто запускает эту замечательную полезняшку.

ОПЦИИ КОМАНДНОЙ СТРОКИ

EmuzWin может быть запущен, например, из консоли MS-DOS или путем создания "ярлыка" программы, используя обычный синтаксис командной строки:

>EmuZWin.exe [option...] [filename]

Имеются следующие опции:

/SOUND8 | Форсирует 8 bit/сэмпл для звука Direct-X. Тем не менее конфигурация заданная в диалоге Configuration применяется в первую очередь.
/FAST | Игнорируется статус "slow machine" (медленная машина) возвращенный операционной системой. В большинстве случаев ни на что не влияет.
/NOMMTIMER | Влияет на синхронизацию. Не рекомендуется.
/LOGFRAMES | Для целей отладки. Вы не должны использовать эту опцию.
/FULLSCREEN | Запуск в режиме полного экрана (GUI или Direct-X, определяется настройками в конфигурации Video).
/PAUSED | Запуск в состоянии паузы (игнорирует установки в конфигурации).
/ROM=path | Загружает ПЗУ (ROM-файл) из указанной директории или файла, если оно там есть, игнорируя Spectrum.ROM в директории запуска и поддиректории ROMS. С версии 2.6, эта опция используется только для первоначального поиска образов ПЗУ, далее все определяют настройки.
/ESCEXIT | При нажатии ESCAPE немедленно завершает работу эмулятора.
/INI[=path\[filename]] | Использовать ini-файл (а не реестр) для загрузки/сохранения конфигурации. Если =Path не указан, используется EmuZWin.ini из директории запуска. Если не указан Filename в пути Path, использется EmuZWin.ini по указанному пути.

РАЗРЕШЕНИЕ ПРОБЛЕМ

- Переключение в некоторые модели не дает эффекта (например, в режиме Пентагона, не видно пункта TR-DOS в системном меню).
  Некоторые клоны еще не полностью поддержаны (только таймирование и переключение основных ОЗУ и ПЗУ). Но для реализованных моделей, проблема скорее всего в отсутствии образа ПЗУ или неверном конфигурировании. Попробуйте распаковать самораспаковывающийся архив Roms.exe в директории \Roms или добавьте туда образ какой пожелаете, и выберите его в диалоге Configuration для этой модели).
- Игра или демо не загружается/не стартует/не работает корректно. Спектрум сбрасывается, зависает или зацикливается после загрузки (с ленты, диска или из записи состояния).
  Попробуйте выбрать другую модель / multicolor timing / образ ПЗУ / или для ленты попробуйте другие способы загрузки (может быть, требуется переход в режим USR 0, и ввод вручную строки LOAD '' из бэйсика-48; или напротив требуется рестарт в S128 и использование Tape Loader. В редких случаях может помочь отключение опций Fast Load / Flash Load в меню Control | Tape).
  Проверьте, загружается ли эта игра/демо в другом эмуляторе или на реальной спектрум-машине. Если да, свяжитесь со мной и укажите проблему.
- Скорость слишком мала в полном экране (Direct-X), до 1 кадра в секунду.
  Попробуйте изменить разрешение дисплея. Если это не помогло, выключите опцию "Use Direct-X in full-screen mode".
- Скорость чрезвычайно медленная. Попробуйте отключить звуковую карту (запретить ее использование в конфигурации системы). Это помогло, но как быть, я хочу слышать звук?
  Попробуйте уменьшить уровень аппаратного ускорения в настройках звуковой карты. В случае любых проблем с Direct-X или оборудованием, взаимодействие с которых происходит через Direct-X (видеокарта, звуковая карта) в директории программы формируется журнал ошибок directX.log. Вы можете выслать его мне или посмотреть сами.
- Когда эмулятор выходит из полноэкранного режима Direct-X, установки дисплея неверны (частота развертки? строчной развертки?) и экран испорчен.
  На некотором оборудовании такое возможно (и если да, то такое же происходит с большинством приложений, использующих Direct-X в полном экране).
  Выключите опцию "Use Direct-X in full-screen mode".
- Эмулятор не может переключиться в полноэкранный режим с Direct-X. Или, не может использовать звук Direct-X (включение звука не дает эффекта).
  Переустановите или установите более новую версию Direct-X. Если не помогло, пришлите мне сжатый (ZIP) файл directX.log (он должен создаваться в директории эмулятора).
- Эмулятор "падает", когда я...
  Пожалуйста, пошлите мне e-mail! Это поможет устранить проблему так скоро как возможно. Не забудьте сообщить -что случилось (и что вы делали), и может быть не помешают некоторые детали о версии Windows, версии эмулятора, загружавшейся игры/демонстрации... Спасибо!

Что еще может быть будет запланировано в будущих версиях:

- kid-mode (доступ к минимуму настроек при запуске в этом режиме)
- протоколирование, статистика запусков файлов и времени работы с ними

Не планируется вообще:

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

История:

Версия 2.7 Выпуск 1.7 Beta (7 сентября 2005):

[-] Исправлена загрузка Pokes.

Версия 2.7 Выпуск 1.6 Beta (5 сентября 2005):

[*] Модель Scorpion ZS в основном поддержана (работает сервисный монитор, хотя еще нет SMUC+HDD, CMOS, программного включения турбо и т.д.).
[*] Исправлена кнопка Magic Button для TR-DOS. Добавлена NMI to service ROM (пока только для модели Scorpion).
[*] Исправления и улучшения в Debugger'е (установка breakpoint-ов на тот же адрес в разных банках не работала, теперь остановки по адресу не привязаны к банку, а только к адресу, исправлен просмотр адреса данных в десятичном режиме) , так же улучшения (поиск в десятичном виде - байты/слова, показ адреса байта под курсором мыши, то же самое в диалоге загрузки блока памяти, изменен цвет найденных байтов, регистры обновляются на каждом шаге при хождении по коду при постоянно нажатом F7 или пробеле, прочие мелочи).
[*] Добавлен так же показ адреса в десятичном виде в Sprite Finder.
[*] ZX Assembler++: Множество исправлений (в основном с новыми расширениями, особенно расширениями C--) и некоторые улучшения (добавлены локальные метки, префиксы конфигурируются, добавлен превдо-оператор GOTO [cond,]label). Компиляция ускорена примерно в 5 раз. Тем не менее добавлена кнопка Cancel для остановки компиляции.
[*] Добавлен прогресс на время загрузки и сохранения больших файлов (касается сохранения ezx с компрессией).

Версия 2.7 Выпуск 1.0 Beta (24 августа 2005):

[-] Debugger: исправлено редактирование значений регистров.
[-] Debugger GS: исправлена установка точек останова.
[-] Плагин LoadZ80 исправлен (может быть использован в более ранних версиях).
[-] Исправлена загрузка из ZIP-файла, содержащего несколько снапшотов.
[-] Исправлена эмуляция FastLDIR и FastHALT для мультиколора (LSD и возможно некоторые другие мультиколорные демы чрезмерно замедлялись).
[*] Если эмулятор был в паузе при закрытии, он стартует так же в паузе.
[*] Если из полноэкранного режима диалог открытия файла был вызван по F3, то после успешного открытия файла эмулятор автоматически возвращается в полный экран.
[*] Лучше качество звука на малых скоростях эмуляции (ниже 50%).
[*] Быстрее запуск.
[+] Добавлено конфигурируемое предотвращение повторного запуска (запущенный экземпляр открывает указанный файл).
[+] Добавлены настройки Threshold (мертвой зоны) в конфигурации джойстиков.
[+] Множество улучшений во встроенном ассемблере (макросы, процедуры, структуры, ENUM, условная компиляция IF ... ELSEIF ... ELSE ... EIF, условные псевдо-операторы IFcond ... ELSE... EIF, LOOP...ELOOP/ELOOPB, новые директивы FOR, DUP, DEFINE, =, INCLUDE , элементы С - -, подцветка синтаксиса, и т.д., см. документацию по ассемблеру).
[+] Добавлена запись видео (AVI).
[+] Добавлена запись звука в WAVE через плагин SaveWave.
[+] Добавлена запись звука в MP3 через плагин SaveMP3 (требуется наличие на машине установленного кодека, например MPEG Layer-3 или LAME MP3).
[+] Добавлена частичная поддержка (симуляция) Issue2 и Issue3.
[+] Добавлен супер-плавный режим Blur Motion (только для Direct-X, full-screen, см. в конфигурции и описание выше).
[+] Добавлена поддержка Turbo-AY (по умолчанию выключено, т.к. некоторые программы могут конфликтовать по портам. после первого использования уровень звука снижается примерно вдвое, чтобы предотвратить возможное зашкаливание уровня).

Версия 2.6 Выпуск 1.5 Beta (27 февраля 2005):

[-] Исправлен GigaScreen.
[+] Множество дополнений в Debugger-е : теперь можно ставить точки останова на диапазон адресов выполнения, на чтение/запись в память (в том числе с фильтром по читаемому/записываемому значению), на чтение/запись в порт в/в (по маске, и так же с фильрацией значения), назначать точкам останова другие акции, а не только останов: включение/выключение группы точек останова, вызов п/п в памяти эмулируемой машины. Плюс все новые возможности продолжают сочетаться с прежней возможностью проверки дополнительных условий и останова по достижению заданного значения счетчика срабатываний. Добавлен браузер точек останова. Точки останова теперь могут быть разрешены/запрещены индивидуально или все сразу, теперь они сохраняются в файле сохраняемого состояния .EZX, и могут быть сохранены так же в отдельный файл .BRK.

Версия 2.6 Выпуск 1.4 Beta (23 февраля 2005):

[*] Увеличена скорость загрузки с ленты и звук загрузки в режиме быстрой загрузки.
[-] Исправлен плагин LoadTZX - некоторые блоки TZX-формата обрабатывались неверно.
[+] Добавлено "грязное" сохранение в .TAP-файл (File|Record and Save Tape As..., затем F6 для остановки записи). "Грязное", т.к. работает только при вызове стандартной процедуры сохранения блока на ленту (SA-Bytes, в ПЗУ SOS48K). Тем не менее создается нормальный файл .TAP.
[+] Добавлена поддержка ZX Printer.
[-] Небольшие исправления в Debugger-е.

Версия 2.6 Выпуск 1.3 Beta (19 февраля 2005):

[-] Исправлен вывод графики при установленном разрешении экрана 24 bit True Color.
[-] Добавлена в конфигурацию опция для игнорирования установки 24 bit True Color и принудительного использования 32 bit True Color.
[-] Исправлен Interface-1 (microdrive).
[-] Исправлен General Sound (Barbarian, G.Beret).
[-] Изменен способ распознавания левой и правой клавиш shift и control (прежний способ не работал в Windows9x, для переопределения клавиш).
[+] Добавлена опция для General Sound: GS Double Frequency. Это исправляетзвучание некоторых модов (особенно при использовании проигрывателей). Включена по умолчанию.
[+] Добавлен Debugger для GS. Более быстрая прорисовка в отладчике.
[*] При загрузке программы из Disk Browser (двойной клик или Enter на файле), то теперь форсируется не только таймирование TR-DOS, но и включается модель Pentagon-128, если не включена другая подходящая конфигурация (Scorpion например). Опуия в конфигурации, кправляющая этим поведением, переименована (Switch to Pentagon and force TR-DOS on (if necessary) when run from disk).

Версия 2.6 Выпуск 1.2 Beta (12 февраля 2005):

[*] Net Play доработан и теперь в основном функционален:
(+) Добавлена поддержка игр по сети "на одном Спектруме с разделением клавиатуры/джойстиков" - до 6 игроков одновременно.
(+) Добавлена поддержка правил автоматической передачи управления (для игр с разделением времени), которые могут быть установлены и настроены очень легко, и не требуют никакого умения програмиировать или других специальных навыков. В архиве есть простой пример сценария переключений из пары правил для BATTY.
(+) Поддержано сжатие (UCL и LZip), что может уменьшить число передаваемых данных по сети (особенно важно для передачи по сети текущего состояния игры от сервера клиентам).
(+) Режим Hidden Moves сделан скрытым так же и для полноэкранного режима.
(+) Состояние клавиатуры теперь клиент показывает на на основе "восстановленных" данных, а просто получает их от сервера.
(+) Добавлен отдельный пункт верхнего уровня Net в главное меню, и ряд горячих клавиш для управления порядком ходов без необходимости переключаться в окно соединений(Alt-0 - передать ход следующему, Alt-1 - первому, и т.д. до Alt-8, Alt-9 запросить ход для себя).
(+) Исправлено множество багов на соединении/рассоединении и сетевом обмене, так что работа Net Play стала более стабильной и скорость игры через сеть стала более реалистичной. Теперь Net Play протестирован в локальной сети и по крайней мере на двух машинах работает нормально.
[-] Устранены некоторые (серьезные) проблемы с графическим выводом, особенно для Windows9x и видеорежимов низкого разрешения. Работа в режиме 16 цветов (4bpp) на реальном оборудовании может быть еще медленной (сучай 1 бит на пиксел, 4 плоскости). Но прочие режимы должны теперь работать достаточно быстро. Если затребован переход в режим 320x200x256 для полноэкранного режима с DirectX и оборудование не может поддержать этот режим, слежующим запрашивается режим 640x400x256.
[*] Фильтр Smooth Scale теперь требует только MMX, и не требует так же SSE2 (так что может работать на Pentium II с MMX, по меньшей мере).
[*] Диалог Configuration переделан немного, чтобы вмещаться в экран наименьшего разрешения (640x400).
[+] Добавлена опция 'Dynamic priorities' (в Configuration), по умолчанию выключена. Имеет эффект в NT/2K/XP и контролирует смену приоритетов потоков на лету (в некоторых случаях дает бОльшую плавность хода, но установка постоянного приоритета в этом случае работать не будет).

Версия 2.6 Выпуск 1.1 Beta (6 февраля 2005):

[-] Исправлен плагин LoadZ80.dll fixed. Влиял на запись RZX во многих случаях не позволяя записывать RZX правильно.
[-] Исправлена работа в Windows9x.
[-] Исправлен крах при быстром пролистывании ZIP-файлов в диалоге Open.
[-] Исправлено не-срабатывание отжатия для переопределенных клавиш (key remap).
[*] Чуть более быстрый старт эмулятора.
[+] Добавлен Net Play. Это только первый выпуск с поддержкой NetPlay, но уже возможно соединиться нескольким клиентам и серверу, смотреть картинку с сервера, и даже играть - пока только в режиме разделения времени. Чат тоже уже работает.

Версия 2.6 Выпуск 1.0 Beta (30 января 2005):

Множество изменений. Основные:
[+] Поддержка форматов: RZX, SLT.
[+] Звуковые устройства: Covox, Stereo-Covox, General Sound.
[+] Отладчик: Undo/Redo.
[+] Улучшено маппирование клавиатуры/джойстика.
[+] Таймирование Scorpion'а.
[+] Видео: фильтр Smooth Scale, прямая поддержка режимов 16 и 256 цветов на видео-карте, режим 320x200x256 для полноэкранного режима и т.п)

Подробный список:
Эмуляция:
[-] Исправления для некоторых инструкций.
[*] Эмуляция ядра полностью переработана (использован самомодифицирующийся код для достижения максимальной производительности, добавлен быстрый пропуск коротких циклов).

Форматы:
[+] Добавлена поддержка загрузки файлов SLT.
[+] Добавлена полная поддержка формата RZX (replay action). Дополнительные возможности:
- нажатия клавиш и кемстон-джойстика могут быть наблюдаемы на рисованной панели клавиатуры, когда их возможно воспроизвести;
- Команда Time 2 seconds Back/Fwd доступна при проигрывании и позволяет повторно просмотреть желаемую порцию записи несколько раз; так же она доступна и при записи RZX-файла (формируется отдельный IRB со своим собственным снапшотом, некоторые эмуляторы не могут проигрывать такие rzx-файлы);
- Возможно мышью перетащить на главное окно сразу несколько RZX-файлов, и они будут проигрываться один за другим;

Модели:
[+] Добавлено таймирование Scorpion'а (четный M1).
[*] Заданное таймирование теперь выбирается автоматически, когда в меню выбрана соответствующая модель (хотя по-прежнему не возбраняется выбрать таймирование независимо от текущей модели и не сбрасывая при этом эмуляцию).
[*] Когда загружается EZX-файл, используется модель и таймирование, сохраненные в нем.
[*] Игры режима 256 Colors теперь могу выполняться при включенном Multicolor'е, в любой выбранной модели и таймировании.
[+] В меню Model добавлены модели +2, +2a, +3 (хотя полной поддержки еще нет). На тулбар добавлена кнопка для выбора модели. Теперь имя текущей модели и объем памяти ОЗУ является частью заголовка главного окна эмулятора [ в квадратных скобках ].
[*] Если загруженный снапшот содержит информацию о модели (Z80), такая модель выбирается автоматически и включается соответствующее таймирование.

Звук:
[+] Добавлена поддержка устройства Covox (порт 251), и stereo-Covox (порты 79, 15).
[+] Добавлена поддержка устройства General Sound. GS-машина не откатывает свое состояние при выполнении команды Time 2 seconds back (в большинстве случаев это все равно ни на что не влияет). Добавлена отдельная команда для сброса GS-машины (и она так же может быть сброшена новой командой Reset All).

Видео:
[+] Добавлен фильтр Smooth Scale (в меню Effects) и он теперь включен по умолчанию. Когда фактор масштабирования не является целым числом, этот фильтр имеет эффект, и делает все пикселы одинакового размера. Этот режим совместим со всеми режимами видеовывода самого Спектрум'а, включая игры, колоризованные для режима 256 colors, но для работы этого фильтра требуется, чтобы разрешение экрана PC было не менее 16bpp (64K цветов), а так же нужна поддержка MMX.
[*] Разрешения 16 цветов и 256 цветов рабочего стола/видеокарты теперь поддерживаются непосредственно (так что эмулятор может быстро работать на машине, имеющей только видеовывод низкого разрешения). Добавлена поддержка специального режима 320x200x256 в полном экране, включая работу игр режима 256 Colors в этом режиме.
[*] Игры режима 256 Colors могут теперь проигрываться в полном экране с включенным Direct-X.
[*] Добавлена комбинация клавиш Alt+L для включения/выключения окошка Led status в режиме полного экрана с Direct-X.
[*] Более быстрая растеризация для всех графических режимов, эффектов и разрешений.

Отладчик:
[+] Добавлена функция Undo / Redo состояний Spectrum-машины. Любая команда, выполненная в Debugger'е (step in, step through, run, и т.п.) могут быть теперь откатаны назад на довольно больую глубину.
[*] Небольшие изменения в расположении панели Registers.
[*] В дополнение к F7, команда "Step into" может быть выполнена клавишей пробела (Space), и в дополнение к F8, "Step throw" - нажатием клавиши Enter.
[*] Кнопка [Pause] на тулбаре главного окна эмулятора в режиме трассировки использует тот же значок, что и в отладчике, и может использоваться для остановки трассировщика.
[+] Некоторые дополнительные данные могут быть теперь добавлены в лог трассировки (команда Trace): регистры R, I, GFX-регистры A, B, C, D, E, H, L (и если они включены в список журналируемых, и журналируется ячейка памяти, соттветствующая ячейка GFX-памяти так же записывается в лог).
[-] Исправлена работа с условными точками остановки. Для условных точек остановки, они не привязываются к кокретному банку памяти, а только к абсолютному адресу памяти.

Конфигурация:
[*] Теперь могут использоваться ini-файлы, при указании ключа /INI в командной строке (см. описание выше).
[*] Любая клавиша PC -клавиатуры/кнопка/направление джойстика теперь могут быть перенаправлены не только на клавишу/джойстик ZX (или две клавиши ZX), но и на любую из 25 команд эмулятора. (например: Sound Volume Increase/Decrease, Save Screenshot, и т.п., см. полный список в диалоге Configuration). Если в директории запуска присутствует файл Default.ekm, из него загружается набор для перепрограммирования клавиш по умолчанию - в начале работы (когда нет файла Autosave.ezx) и при выполнении команды Reset All. И если при загрузке файла (snapshot или tape image) в той же директории найден файл с таким же именем, но с расширением .ekm, из него так же загружается и соответствующее переопределение клавиш.

Прочее:
[*] Добавлено авто-обновление в диалоге Open, когда содержимое директории изменилось на диске.
[+] В части предварительного просмотра теперь показывается дополнительная текстовая информация по текущему файлу.
[*] Более быстрое сканирование директории в диалоге Open.
[-] Устранен небольшой баг в диалоге Open: при первом открытии, кнопка Forward была доступна и нажатие на нее приводило к краху эмулятора.
[-] Устранен небольшой баг в диалоге Save Dialog: при ручном вводе имени фала с расширением, он не сохранялся.
[*] В окне Disk Browser, не существующие более файлы не отображаются более в списке недавно открывавшихся фалов. Если файл не доступен, загруза из списка недавно открывавшихся отменялась, но текущий диск не удалялся из слота. Загрузка диска при текущем открытом слоте 'B', 'C', 'D' более не загружает тот же самый диск в слот 'A' (исправлено).
[*] Нажатие единичного Alt более не входит в главное меню программы, но временно запрещает/разрешает эмуляцию мыши (для всех поддерживаемых типов Спектрум-мыши).
[*] Num[ + ] теперь увеличивает скорость по позициям 1,2,...10,20,30,40,50,100,200,300,...%. Num[ - ] уменьшает скорость эмуляции по этим же позициям. Новая выбранная скорость становится Custom Speed (переключаемая с нормальными 100% клавишей Num[ * ] как до этого), если выбрана скорость не 100%.
[-] команды Save File и Save File As работали одинаково - вызывали диалог Save File. Теперь это исправлено, и Save File сохраняет файл на то же место без вызова диалога если вызвана после Save File As.
[*] Значительно большая скорость может быть достигнута теперь, если выключен Multicolor и некоторые дорогостоящие эффекты. Предельные показатели на моей машине около 3000-4000% (30-40 быстрее, чем рельная машина) и иногда больше (для сравнения: Pentium-IV/3200MHz с гипер-тредингом/512M DDR). Более быстрая загрузка с ленты (во многих случаях).
[*] Опции Flash load и Fast Tape объединены в одну (Fast Tape). Flash load исправлен (некоторые ленты не загружались при включенном Flash load).
[*] Добавлена отдельная команда Reset All (Alt+F11 или Alt+клик по [Reset] на тулбаре). Она к тому же сбрасывает GS-машину, снимает флаг блокировки в режиме 48К, сбрасывает ленту в нулевую позицию и останавливает ее, и перезагружает переопределение клавиш по умолчанию - при наличии файла Default.ekm.
[*] Добавлена опция hide mouse cursor (скрывать курсор мыши), либо в полном экране, либо всегда (или не скрывать его вообще), см. в Configuration | Joystick and Mouse.
[-] Если главное окно в режиме Stay on top/Semi-transparent, все другие окна задачи так же запускаются в режиме Stay on top, позволяя работать с ними.
[-] Когда эмулятор стартует в паузе (с параметром /PAUSED командной строки или когда загружен файл autosave и выставлена соответствующая опция в конфигурации), при выключенном мультиколоре, первая попытка изменения размеров окна без запуска эмулятора могла приводить к невозможности дальнейшей работы (зависание). Исправлено.
[-] Когда загрузка с ленты была запрошена Speccy-программой, но не было загруженного образа ленты, эмулятор падал. Исправлено.
[-] Исправлено сохранение значения опции "Maximum border in full screen diect-X" (она всегда выставлялась во включенное положение при старте эмулятора).

эээ... если я чего-то забыл дописать, ничего страшного. Все равно это вряд ли кто заметит... или дочитает до конца... :)

Version 2.5 Release 2.52 (5-Nov-2004):

[-] Восстановлена совместимость с Windows 95 (эмулятор вообще не стартовал в Windows 95, без каких-либо сообщений). Совместимость сейчас точно такая, как было заявлено: с Windows 95/98/ME/NT4/2000/XP/Longhorn.
[-] Исправлена синхронизация по скорости для случая, когда в системе нет звуковой карты (наблюдаемая скорость была в районе 200% если только не использовался ключ /NOMMTIMER в командной строке).
[-] Наконец, исправлена проблема с нажатием специальных комбинаций клавишвроде Shift+' " ' и последующим отпусканием сначала клавиши Shift, а затем другой клавиши в паре ( здесь ' " ' ): в результат, для приведенного примера, клавиша Спектрума P оставалась "нажатой" и эмулируемая машина продолжала повторять сочетание ' " ' бесконечно, по крайней мере до нажатия клавиши P ' " ' на клавиатуре .
[-] Исправлена проблема с нажатием Ctrl + Shift (Caps+Symbol на клавиатуре Спектрума) в случае, когда такая комбинация используется для переключения раскладок клавиатуры в системе (отжималась только последняя отжатая клавиша из этой пары, другая оставалась в нажатом состоянии.
[*] Небольшое изменение в раскладке клавиатуры: теперь ' ; ' нажимается без клавиши Shift, а ' : ' как раз с Shift, как и должно быть при использовании клавиши [ : ; Ж ].

Версия 2.5 Выпуск 2.51 (2 ноября 2004):

[-] Исправления в GFX Editor-е (проблемы с Copy/Paste когда просматривается полоска шириной только 8 пикселов, неверное и поведение режима Multi-Column).

Версия 2.5 Выпуск 2.5 (30 октября 2004):

[-] Исправлена инструкция DAA.
[-] Ручное изменение размеров могло "ронять" программу, исправлено.
[*] Добавлена опция AndMaskCF для режима 256 Colors (AticAtac), чтобы новый алгоритм учета ротации спрайтов не влиял на другие программы режима 256 (Knight Lore).
[*] Мелкие улучшения в редакторе GFX Edit: более быстрая и мягкая отрисовка без мелькания при перерисовке.
[*] Добавлен много-колоночный режим редактирования для GFX Editor'а.

Версия 2.5 Выпуск 2.4 (25 октября 2004):

[-] При изменении фонового изображения в режиме 256 Colors, он не перерисовывался сразу, только по мере движения "по полу" движущихся объектов. Исправлено: теперь фоновое изображение перерисовывается немедленно.
[+] В Редакторе Палтитры (Palette Editor), добавлено редактирование Гаммы палитры - для всех 256 цветов.
[*] Небольшие изменения в эмуляции режима 256 Colors, для предотвращения потерь GFX-данных в процессе поворота спрайта (AticAtack).

Версия 2.5 Выпуск 2.3 post-fix (24 октября 2004):

[-] Исправлен скроллинг до конца вниз в Sprite Finder-е (эмулятор мог упасть при этом, если был включен режим View All Banks в GFX Editor-е).
[-] В GFX Editor-е, кнопка Edit Palette была невидима (не вмещалась) при включенных темах в XP.

Версия 2.5 Выпуск 2.2 post-FINAL (16 октября 2004):

[-] Добавлена небольшая пауза между блоками при загрузке .TAP-файла (иначе некоторые копировщики tape-disk работали неверно).
[*] Некоторые улучшения в диалоге открытия файлов (Back/Forward по истории, нажатие на букву/цифру перемещает курсор к первому файлу, имя которого начинается с этого символа).
[*] Небольшие изменения в работе с джойстиками: теперь они захватываются только при включении джойстиков по Alt+J или Control | Joystick On, или если джойстики включены перманентно в конфигурации.
[-]Исправлена проблема с не-восстановлением обычного курсора мыши, когда эмулируемая программа использовала мышь и Спектрум был сброшен в результате работы самой программы (например по команде Quit в некоторых дисковых командирах/бут-менеджерах).
[-] Загрузка блока памяти в дебугере не приводила к обновлению листинга кода. Исправлено.
[*] Небольшое изменение в сохранении образа TR-DOS-диска: теперь сохраняются все сектора, включая содержащие только нули. Были возможны проблемы с секторами нестандартного размера.
[-] Загрузка файлов из католога в Disk Browser через двойной клик или клавишу enter не сбрасывала видеостраницу в 0. Исправлено.
[-] Debugger падал при пошаговой отладке в режиме 256 colors, исправлено.
[-] Исправлено падение, которое могло происходить при использовании команды Time 2 seconds back в некоторых играх в режиме 256 colors (с включенной опцией GFX Screen XOR buffer, хотя реально еще не используемой в большинстве колоризаций).
[+] Добавлены плагины LoadFDI.dll, LoadTD0.dll для загрузки и сохранения FDI, TD0-дисков (хотя TD0 сохраняется только без компрессии).
[+] Добавлены плагины LoadZX.dll и LoadSP.dll для загрузки и сохранения снапшотов в форматах .ZX и .SP.
[*] Sprite Finder теперь доступен без переключения в режим 256 Colors.
[-] Некоторые (существенные) исправления эмуляции режима 256 Colors.
[+] Добавлена опция командной строки /ESCEXIT - при запуске с этой опцией нажатие ESCAPE немедленно завершает работу.

Уверяю Уважаемых Пользователей, что разработка новой версии не прекращается, хотя и замедлилась в виду моей занятости. Особо аннонсировать ожидаемые в следующей версии дополнения не очень бы хотелось. Могу кратко перечислить: Covox, GS, RZX (возможно), форматы .UDI, .SLT, Net-Play. Ожидаемое время выхода новой версии (2.6) - декабрь 2004-февраль 2005.

Версия 2.5 Выпуск 2.1 post-FINAL (3 августа 2004):

[-] Исправлена ошибка в TR-DOS: выбор отсутствующего диска и попытка обращения к нему из программы ломала эмулятор.
[*] Небольшое изменение в адресации портов (даже не-активная эмуляция мыши влияла на ввод из портов AY - из FFFD). Звук улучшился в демо KAZ.
[*] Изменения в эмуляции AY (демо DigiSID). Лучшее смешивание AY и MIC-звуков (Target Renegade2).
[-] Устранена проблема с не-выгрузкой LoadTRDOS.dll из памяти по окончании работы эмулятора.
[-] Исправлен плагин LoadZ80.dll - для случая старого формата 48K (Z80, загрузка и сохранение).

Версия 2.5 Выпуск 2.0 FINAL (26 июля 2004):

[-] Исправлена проблема с неверным восстановлением текущего состояния чипа AY при загрузке .EZX-файла.
[-] Когда загружалась программа, которая использует только MIC сразу после программы, использующей AY, звук (MIC) был несколько неправильный. Исправлено.
[*] Более аккуратное изменение звука MIC при регулировке громкости.
[-] При открытии диалога Configuration на первой закладке (Keyboard Mapping), страница была неверного размера (слишком мала, чтобы вместить содержимое). Исправлено.
[+] В конфигурацию добавлена опция: "Joystick on at start of emulator".
[-] При открытии другого файла, когда в текущей эмулировалась мышь (AMX, Kempston или AY), эмуляция (и захват) мыши не прекращался автоматически. Исправлено.
[-] При переключении в другую задачу / вызове интерфейсных диалогов эмуляция мыши не прекращалась в главном окне. Исправлено.
[*] Добаблено окно ожидания (Wait window) с кнопкой Cancel для операции Disassemble (дизассемблирования). На время этой операции, которая может быть довольно длительной при некоторых опциях, процесс получает приоритет IDLE и позволяет работать теперь другим задачам в системе.
[*] Улучшен Gigascreen: теперь эмулятор более разумно решает, когда следует прекратить сдваивать экраны в динамике.
[*] Улучшена загрузка с ленты (TZX): теперь автостоп/автостарт работают более корректно на блоках тона (в большинстве случаев).
[*] Ускорена загрузка с ленты (TZX): большая часть кадров теперь пропускается.

Версия 2.5 Выпуск 1.9 (24 июля 2004):

[-] Проблема с отсутствием реакции на мышь/клавиатуру когда утилизуется 100% процессора и система просто не могла передать управление главному потоку, исправлена (наконец).
[*] Лучший звук при загрузке с ленты.
[-] (Пере-)загрузка диска в Disk Browser вляла на качество звука AY в мулируемой в этот момент программе. Исправлено.
[-] Звук AY мог быть испорчен при (пере-)открытии состояния (.ezx), особенно в случае, когда загруженная программа не использовала AY (в смысле появлялся лишний AY-тон). Исправлено.
[-] Загрузка диска в Disk Browser из архива ZIP могла приводить к падению эмулятора. Исправлено.
[-] Когда загружалась много-составная TR-DOS-игра или демо (которая догружает свои части с диска), во многих случаях она не могла загрузить очередную часть (обходилось применением команды Time Back нужное число раз и повторной попыткой). Теперь исправлено.
[-] Исправлена запись на TR-DOS диск.
[-] Небольшое исправление (да, еще одно) в эмуляции AY (Exact Sound Emulation). по крайней мере повлияло на качество звука в игре POLE.CHUDES (TR-DOS).
[-] Исправлено: возможная проблема с загрузкой Autosave.ezx с некорректно сохраненным образом TR-DOS диска в нем (теперь показывается сообщение, но все прочее грузится, в прежних версиях такой сбой приводил к зависанию эмулятора и нестабильной работе системы).
[-] High Quality Magnification + Direct-X full screen + desktop resolution = True color - в таком сочетании опций эмулятор падал при попытке переключиться из полноэкранного режима в обычный. Исправлено.
[-] При включенном звуке и скорости 1% (для звука 44KHz), эмулятор блокировал работу системы и зависал на долгое время. Исправлено.

Версия 2.5 Выпуск 1.8 (21 июля 2004):

[-] Решены некоторые проблемы с загрузкой TZX-файлов (невозможно было закрыть Tape Browser, или остановить эмулятор. Эмулятор не мог найти следующий блок).
[+] Добавлен Tape Noise (можно отключить в конфигурации).
[*] Некоторые изменения в плавности рисования. (Особенно для случая выключенного звука, но некоторые изменения для обычного режима). Теперь увеличение приоритета не дает ничего, кроме обеспечения точного измерения промежутком между выводом кадров (для скорости 100% точно 20ms между кадрами).

Версия 2.5 Выпуск 1.7 (21 июля 2004):

[-] Исправлена скорость для случая выключенного режима Exact Sound Emulation.
[*] Громкость звука MIC через колонки уменьшена.
[-] MIC-звук через PC Speaker восстановлен (так же только для Windows 9x/ME) и улучшен.
[+] Добавлена опция Another Chip, которая слегка изменяет правила формирования звука AY для включенного Exact Sound (обычно ухудшает).В целом качество звука AY улучшено для Exact Sound.
[+] Добавлена кнопка в статус-линейке главного окна рядом с регулировкой уровня громкости для индикации/переключения стерео (ABC, ACB, Mono). Нажатие на панели управления громкости мимо движка перемещает его в указанную точку, меняя соответственно громкость.
[*] В звуке Direct-X используется global sound focus, так что переключние в другое приложение не останавливает звук.
[+] Disk browser усовершенствован: может открывать диски из ZIP-файлов и есть свой список недавно открываемых 9 файлов.
[+] Debugger усовершенствован: двойной клик в панели стэка дизассемблирует память со щелкнутого адреса (из стека).
[-] Debugger исправлен: флажки P/V и X переставлены визуально.
[*] Tape Flash Load улучшен: добавлен быстрый пропуск неподходящих блоков.
[*] TR-DOS: загрузка из Disk Browser (двойным кликом по файлу) улучшена: теперь он загружается в больше случаев (используется режим USR 0, с вызовом TR-DOS через RANDOMIZE USR 15616).
[+] Добавлены 2 опции (в закладке Miscellanous в диалоге Configuration): 'Switch to Pentagon multicolor when load disk file' and 'Switch to appropriate multicolor when Model changed'. Когда загружается .ezx-файл, информация о таймировании берется из него.

Версия 2.5 Выпуск 1.6 (17 июля 2004):

[-] Выключение звука AY не удаляло звук полностью (оставался шорох). Исправлено.
[-] Небольшие ошибки в алгоритме генерации звука AY исправлены (для Exact Sound, теперь он действительно точный).
[+] В Configuration добавлена опция: Disable screen saver while running.
[-] Эмулятор ломался при указании в качестве параметра командной строки hobeta-файла. Исправлено.
[-] Исправлено скроллирование клавишами в окне Debugger в режиме Decimal view.

Версия 2.5 Выпуск 1.5 (14 июля 2004):

[-] Не было цифрового звука при эмуляции на скоростях выше 200%. Исправлено.
[-] Не (сразу) отвечала клавиатура при эмуляции на больших скоростях (400% и более). Исправлено.
[-] Работа на больших скоростях (более 200%) уменьшалась из-за того, эмулятор пытался отрисовать все кадры даже при установленном флажке Allow Skip Frames - исправлено.
[-] Раздельное выключение MIC-звука не работало - исправлено.
[-] Худшая плавность в полном экране, чем в прежних выпусках - исправлено.
[*] Потребление процессора для целей плавности хода эмулятора уменьшено вдвое, без уменьшения плавности.
[-] Худшая синхронизация на скоростях ниже 100% - исправлено.
[-] Неверная синхронизация после выхода из паузы при выключенном звуке (не шла отрисовка кадров) - исправлено.
[-] Когда эмулировалась мышь (AMX/Kempston/AY), клавиша F3 не работала - исправлено.
[-] После (пере-)загрузки состояния, если до этого эмулировалась мышь (AMX/Kempston/AY), эмуляция мыши не останавливалась автоматически. Исправлено.
[-] Полноэкранный режим с использованием DirectX работает теперь на большем количестве оборудования.
[+] Добавлен манифест тем для работы в Windows XP.
[-] Свойство рисованной клавиатуры On Top теперь работает как надо: она находится поверх всех прочих окон самого эмулятора, но не тогда, когда активно другое приложение в системе.
[-] Включение режима звука 8 bit per sample приводило к сбою эмулятора. Исправлено.
[*] Опция Exact Sound Emulation снова доступна в диалоге Configuration, чтобы дать возможность выключить точную эмуляцию звука на очень старых машинах. Теперь EmuZWin может идти со скоростью 100% даже на Pentium-100 (если выключить ряд опций: мультиколор, точный звук, плавная отрисовка кадров, включить пропуск кадров, выбрать режим без бордюра и минимальный размер окна, а так же подобрать подходящее разрешение дисплея - 256 или 64К цветов, и конечно не пользоваться эффектами).

Версия 2.5 Выпуск 1.4 (10 июля 2004):

[-] Режим 256 colors не работал - исправлен.
[-] Исправлена работа в окне при разрешении диплея 256 цветов.
[-] Эмулятор не работал в Windows 9x - исправлено.
[-] Запуск в системе с отсутствующей звуковой картой был невозможен - исправлено.
[-] В отладчике (Debugger), команда Run To End Of Frame - исправлена для не-multicolor -ных режимов.
[-] Когда диалог Record and Save Sound отменен, прочие диалоги не появляются больше.
[+] Добавлен специальныйl SmoothTiming.dll, который обеспечивает более плавный ход часов для отрисовки в режиме Smooth Paint.
[+] В меню Tools добавлена новая функция: Enter Poke(s), а так же возможность сохранять pokes как .POK-файл и редактировать их как текст (из диалога Pokes). Инструменты Keyboard, Map Builder и Pokes так же перекочевали в меню Tools (из View).

Версия 2.5 Выпуск 1.3 (5 июля 2004):

[*] Smooth draw (плавное рисование) стало более плавным в оконном режиме. Рисование более плавное даже при отключенной опции Smooth draw.
[-] Smooth draw так же работает теперь при отключенном звуке (sound is off).
[-] Исправлено восстановление состояния Sound On/Off (Звук вкл/выкл) из реестра при загрузке.
[+] Добавлена опция командной строки /FULLSCREEN (стартовать в полном экране).

Версия 2.5 Выпуск 1.2 (3 июля 2004):

[+] Добавлена опция для управления частотой звука (sound frequency - от 8 до 44KHz) и bits per sample (8 или 16) для использования с DirectX-sound.
[*] Режим Exact Sound Emulation оптимизирован для быстрой работы точной эмуляции звука на медленных машинах, и соответствующая опция удалена из настроек (Configuration): теперь точная эмуляция звука используется всегда при эмуляции на скоростях до 200%. Лучшая эмуляция звука MIC.
[*] Режим High Quality Magnification оптимизирован, и работает теперь так же в полном экране (Full-Screen) с Direct-X. Т.к. HQM работает только при наличии MMX/SSE2, эта опция недоступна на старых машинах.
[*] Пропуск кадров реализован более эффективно, ручной контроль скоростью обновления (Refresh Rate) более не нужен и удален из меню: сохранена только сама опция Allow Skip Frames для ручного управления.
[*] Режим плавной отрисовки (Smooth Draw) существенно улучшен, и эмулятор работает теперь особенно плавно в режиме полного экрана (как GUI так и Direct-X).
[-] В отладчике (Debugger), разрешена загрузка блока памяти в ПЗУ, когда включена опция Редактирования ПЗУ (Edit ROM).

Версия 2.5 Выпуск 1.1 (16 июня 2004):

[+] Flip Vertical не работал при выключенном Multicolor-е и включенном High Quality Magnification - добавлен этот режим.
[*] Некоторые изменения в управлении Refresh frames (в XP, только установка Refresh Rate в Maximum помогала сделать видеовывод более плавным, без пропуска кадров - исправлено).
[-] В полном экране с Direct-X в некоторых видеоразрешениях статус показывался в неверной позиции - исправлено.
[-] В полном экране с Direct-X при увеличении скорости клавиатура не реагировала или реагировала плохо - исправлено.
[*] Опция Allow Skip Frames стала лучше: кадры пропускаются только если это действительно необходимо.
[+] Добавлена новая опция Smooth Draw - для обоих режимов: GUI и Direct-X. Потребляет существенно больше процессорного времени, но дает намного более плавный ход эмуляции видео.
[+] Для полноэкранного режима с Direct-X, добавлена опция: Synchronize with Vertical Blank. Работает только при выключенных опциях Smooth Draw и Allow Skip Frames.
[+] Добавлены комбинации клавиш: Alt+H переключает эффект High Quality Magnification, Alt+G - эффект Gigascreen.

Версия 2.5 Выпуск 1.0 (10 июня 2004):

Map Builder (Построитель Карт)
[*] В Построителе карт, двойной клик мыши, клавиши Enter и Escape переключают в главное окно (соответствующая кнопка на инструментальной линейкев Построителе Карт так же добавлена). В главной инструментальной линейке, добавлена опциональная кнопка: Add Room to Map (Добавить комнату в Карте - так же переключает в окно Построителя Карт, эта кнопка видима, когда Построитель карт открыт и доступна кнопка Map Builder на инструментальной линейке в главном окне).
GFX Editor (Редактор GFX-памяти)
[-] Исправлена работа инструментов Gradient line и Select Rectangle для случая, когда направление просмотра инвертировано.
[-] Инструменты Magic и Fill исправлены для режимов View Even/Odd bytes и для области ПЗУ.
[-] Исправлена загрузка GFX-файлов (если игра сохранялась в форматах .SNA или .Z80 с дополнительными GFX-файлами) - для случая 128K-игр: в предыдущей версии, все отдельно сохраненные GFX-банки загружались, даже если были уже загружены в главной части вместе с файлом .GFX - это могло портить GFX-данные.
Загрузка и Сохранение
[-] Во время загрузки из .EZX, состояние ленты (активность, позиция) восстанавливаются теперь корректно (если сохранено в новой версии).
[*] Загрузка с ленты улучшена: flash-загрузка работает несколько лучше, и flash- и fast tape load так же применяются теперь при видимом окне Tape Browser (но не применяются, если видимо окно Debugger-а).
[*] Добавлена опция Reset Tape Position when Spectrum reset (выключена по умолчанию).
[-] Исправлены проблемы с автостартом ленты во время загрузки .TAP.
[*] Отправка e-mail о новых сигнатурах загрузчиков с ленты более не используется.
[+] Добавлено сохранение снапшота(!) в формате .TAP - через новый плагин.
[+] Добавлено сохранение звука в формате .OUT (так же как трассировка out для любых портов).
Звук и Изображение
[-] Исправлен AY Noise (генератора шумов при эмуляции AY).
[+] Добавлена опция Double Loud Center Channel в конфигурацию (в управление стереоэффектами AY).
[-] При отсутствии установленной звуковой карты, эмулятор не мог нормально стартовать - исправлено.
[-] Опция Flip Vertical теперь работает корректно для всех моделей таймирования, в режиме полного экрана с Direct-X, и переключается по горячей клавише Alt-Y.
[*] Фильтр High Quality Magnification несколько оптимизирован (по скорости) и исправлен (устранены правая и нижняя черные линии). Обеспечено сохранение состояния High Quality Magnification в опциях сеанса.
[+] Добавлена опция View | Refresh | Allow Skip Frames (включена по умолчанию), которая по возможности препятствует замедлению работы эмулятора в случае, когда изображение не поспевает (например, при включенных дополнительных эффектах: GigaScreen, High Quality Magnification, 256 Colors).
[+] Добавлена опция Show Led Status in Direct-X full-screen mode (выключена по умолчанию), которая управляет отображенем скорости в режиме Direct-X (полный экран), теперь - независимо от опции Show Status, которая теперь имеет эффект только в оконном режиме.
[-] Режимы видеовывода в Direct-X исправлены и существенно оптимизированы (особенно для включенного мультиколора).
Скорость
[-] Обеспечен равномерный ход эмуляции, когда не работает (отключен) Direct-X звук.
[-] Выбор скорости Num[*] исправлен в полном экране.
[*] Минимально возможная задаваемая пользователем скорость теперь 1%.
[+] Добавлена опция Disable [desktop] animation effects while running для предотвращения заикания во время минимизации/восстановления других окон во время работы эмулятора, когда эффект анимации окон включен в настройках системы. Эта опция меняет настройки рабочего стола во время работы эмулятора, но это единственная возможность обеспечить 100% равномерный звук во время выполнения минимизации/восстановления окон.
Debugger & Assembler
[-] Исправлено функционирование горячих клавиш в Debugger-е.
[+] В Debugger-е, добавлена операция Run To End Of Frame.
[*] Debugger немного улучшен: теперь разница между текущим счетчиком TState и предыдущим (время выполнения предыдущей команды или группы команд) отображается в любом случае (по модулю числа тактов в кадре), в том числе после выполнения команды Step Over и после остановки по точке остановки, а не только по команде Step Into как раньше.
[*] Теперь Debugger показывается и выносится на передний план, когда происходит останов.
[*] Assembler улучшен: теперь используется 3-й шаг, при необходимости дополнительного разрешения ссылок (если метка или EQU-переменная изменилась на 2-м проходе, это позволяет определять зависимые EQU-выражения в любом месте в исходном тексте).
Core & Hardware Emulation
[*] Пункт меню File|New переименован в File|Model и в большинстве случаев не требует сброса состояния эмулируемого процессора при переключении моделей.
[+] Добавлены Модели: Pentagon256/512, Scorpion256/1024, KAY256/1024, Profi256/512/768/1024, ATM1 512/1024, ATM-turbo2/turbo2+ 1024. На данный момент, в большинстве случаев обеспечивается только управление расширенными банками памяти. Дополнительные видеорежимы и работа с теневыми ПЗУ еще не реализованы во всей полноте.
[-] Исправлена контендность (мультиколор) для некоторых инструкций и для портов. Исправлена загрузка установок custom contention timing из реестра (RAM bank 0 всегда становился контендным из-за ошибки в коде).
[*] Изменены опции контендности: ULA Buffer теперь измеряется в тактах, добавлен параметр Border Granularity (для модели Pentagon, значение гранулярности 1 такт, так что демо Rage работает теперь как оно должно).
[-] Исправлена работа модели +2A/+3 с включенным TR-DOS.

Версия 2.4 Выпуск 1.1 (23 апреля 2004):

[+] Добавлен фильтр визуального сглаживания при масштабировании: High Quality Magnification Filter (пункт главного меню Effects). Реализован для режимов GUI (не планируется для Direct-X), не работает одновременно с режимами Gigascreen и 256 Colors, требует MMX и достаточно мощный компьютер.
[+] Другой алгоритм эмуляции звука с очень точным звучанием (для AY и MIC). Больше опций управления звуком (AY Pitch, MIC On).
[+] Добавлен контроль управления громкостью в статус-баре (может быть отключен в диалоге конфигурации).
[+] Добавлена регулируемая в процентах скорость: Custom Speed (Alt+S) - от 48% до 10000%, дествительная верхняя граница скорости зависит от мощности компьютера и выбранных режимов/эффектов. Теперь клавиша Num[*] переключает скорость между последней установленной Custom Speed и 100% (по умолчанию между 200% и 100% как и раньше).
[-] Interface I и TR-DOS не были совместимы в режиме multicolor - исправлено.
[-] Режим тайминга Multicolor +3 timing исправлен (неправильно инициализировались таблицы, мог происходить крах эмулятора).
[-] Изменения в распознавании портов: предполагается обращение к порту 7FFD, если вывод в XXFD и не может быть опознан как обращение к AY (демо Eyeache2).
[-] Если пути к файлам ROM были сброшены в конфигурации, эмулятор не мог стратовать в следующий раз - исправлено.

Версия 2.4 Выпуск 1.0 (18 апреля 2004):

[*] Большие изменения в эмуляции звука AY. Теперь он должен звучать очень близко к реальному устройству.
[-] Исправлено декодирования портов (sat.z80).
[+] В Debugger-е, добавлена панель AY-регистров.

Версия 2.4 Выпуск 0.9 (17 апреля 2004):

[*] Лучшее качество звучания AY. Больше опций управления звуком.

[*] Некоторые изменения в интерфейсе Debugger-а (выбор страницы ПЗУ, положение панелей IFF1/IFF2/IM).
[-] Обеспечена совместимость Interface-I (микродрайв) и TR-DOS.
[+] Клавиши Page Up и Page Down на 101/102-клавишной клавиатуре назначены на кнопки эмулируемого на цифровой клавиатуре джойстика Up и Down.
[+] Страницы ROM теперь могут конфигурироваться в диалоге Configuration (путь, смещение в файле для каждого вида ПЗУ).
[-] Некоторые инструкции в ассемблере (OUT (C),A, снова :( ) сомпилировались неверно. Исправлено.
[+] В Assembler-е, добавлена кнопка Jump Back in History (история позиций перед выполнением Find, Find Again и Find Label двойным щелчком мыши).
[*] В Assembler-е, операция Find Label двойным щелчком улучшена и позволяет теперь быстро переходить по адресу в тексте, полученном в результате дизассемблирования блока кода (с опцией 'Code in Comments').
[+] При дизассемблировании, добавлена опция 'Call/Jump References', которая добавляет комментарии со списком переходов к данному адресу из других мест блока (например: ; CALL from addr1, addr2, ... ; JP from ...)
[-] В Map Builder-е, не работало перетаскивание кадров мышкой. Исправлено.
[-] Исправлено изменение ширины в GFX Editor-е (иногда могло приводить к краху эмулятора).
[-] Изменение модели таймирования для multicolor-а на лету могло приводить к краху эмулятора, исправлено.
[+] Две опции добавлены для управления режимом 256 Colors: DownMixPaper и UpMixPaper.

Версия 2.4 Выпуск 0.8 (7 апреля 2004):

[-] Исправлены инструкции INIR и OTIR.
[+] Добавлена поддержка Interface-I Microdrive (8 слотов).
[*] Во время загрузки TR-DOS файла из главного меню ( File|Open ), теперь возможно прямо в окне загрузки указать номер дисковода (A:..D:), в который должен быть загружен образ дискеты, так же как во время загрузки образа картриджа микродрайва возможно указать номер слота для загрузки (Slot 1..Slot 8).
[-] Небольшое исправление в визарде, начинающем конвертацию в режим 256 Colors: первоначальный вызов функции GFX Nullify не имел эффекта.
[+] Добавлена возможность уничтожить всю память GFX и отключить режим 256 Colors вообще в диалоге GFX Nullify (в редакторе GFX).
[+] Больше опций для выравнивания горизонтальных линий сетки в GFX Editor-е.

Версия 2.4 Выпуск 0.7 (5 апреля 2004):

[-] Исправлено распознавание наличия AY в некоторых играх/демо.
[*] Последняя выбранная директория запоминается теперь в реестре для всех диалогов открытия/сохранения, а не только для главного диалога открытия файла.
[-] Исправлена повторная загрузка из ZIP-архива (могла не работать сразу после открытия другого файла).
[+] Добавлена опциональная сетка в GFX Editor-е.
[*] В Ассемблере, допускается ведущий '$' для задания 16-ричных и ведущий '%' - 2-ичных чисел (как в TASM - Telemark table-driven Assembler). Эти два варианта опциональны и могут быть отключены в (новом) диалоге Assembler Options.

Версия 2.4 Выпуск 0.6 (3 апреля 2004):

[*] В Ассемблере изменено правило для записи бинарных чисел: 00101.B (точка необходима, т.к. B иначе интерпретируется как 16-ричная цифра). Так же, число, завершающееся .O определяет 8-ричное число и разрешены завершающие .H и .D для соответственно 16-ричных и 10-тичных (хотя для них прежние правила так же действуют).
[+] Обеспечена загрузка GFX-файлов для режима 256 Colors прямо из ZIP-фрхива.
[-] В GFX Editor-е, инструменты Fill и Magic Tool не работали при изменении направления на противоположное. Исправлено.
[*] В GFX Editor-е, инструменты Fill и Magic Tool теперь заполняют область на основе информации только в обычной памяти, если режим просмотра GFX отключен и включен только просмотр обычной памяти.
[+] В GFX Editor-е, реализован дополнительный режим: View All/Even/Odd Bytes. Он полезен для раскрашивания игр, в которых спрайты лежат в памяти вместе со своими масками.
[+] Добавлено окно GFX Sprite Finder.

Версия 2.4 Выпуск 0.5 (1 апреля 2004):

[+] Добавлена поддержка Kempston Mouse, AMX Mouse и AY Mouse.
[+] Добавлена поддержка эффекта GigaScreen.
[+] Добавлен небольшой визард для начала нового проекта 256 Colors, который вызывается при первом включении режиме 256 Colors в данном состоянии.
[*] Максимизация размеров в режиме Proportional Resize теперь контролируется, чтобы размеры оставались пропорциональными. Теперь режим Proportional Resize сделан режимом по умолчанию для первого запуска эмулятора.
[*] Теперь Assembler понимает двоичные числа (как 00010110B). Добавлена директива FILE для включения внешних бинарных файлов. И для того, чтобы можно было определить список директорий, где эти файлы должны отыскиваться, добавлена кнопка и форма для ввода списка таких директорий.
[-] Во время загрузки 48K-состояния, видео-банк никогда не сбрасывался, так что сразу после работы в режиме 128K могла возникнуть ситуация, что все состояния 48K прекращали работать (не было изображения). Исправлено.
[+] Добавлена утилита Bmp2RawBk256 (см. в дополнительном архиве), которая конвертирует bitmaps-картинку в фоновый рисунок для режима 256 Colors (файлы .bNN).

Версия 2.4 Выпуск 0.4 (28 марта 2004):

[+] добавлена операция Colors Replace/Exchange в GFX редакторе.
[-] Инструкция SLA (HL) исправлена снова :(.
[+] Реализован быстрый переход наметку по двойному щелчку на ссылке на метку в окне Assembler-а.
[+] Обеспечено сохранение текста в окне assembler-а в формате EZX как документировано.
[+] Добавлен пункт меню Tools|LensLok. Он становится разрешен, если в директории запуска обнаржена программа LensLok.exe, и просто запускает эту утилиту.
[-] Буква 'Y' была нарисована на клавиатуре дважды, тогда как 'I' отсутствовала. Исправлено.
[-] Сразу после перехода в режим полного экрана без DirectX экран спектрума не был аккуратно отцентрирован - исправлено.
[+] Добавлен интерфейс плагинов пункты меню Record and Save Sound As и Stop Recording Sound/Video для обеспечения сохранения звука с использованием внешнего плагина. Так же, добален плагин интерфейс для проирывания звука AY через внешний DLL, и соответствующие изменения сделаны в окне Configuration, где теперь возможно выбрать такой плагин для вывода музыки.

Версия 2.4 Выпуск 0.3 (26 марта 2004):

[*] Небольшие изменения в реализации некоторых инструкций GFX-машины для режима 256 Colors (для Three Weeks in Paradise).
[-] Стрелки и другие управляющие клавиши не нажимались в окне ассемблера при открытом окне GFX редактора, исправлено.
[-] Исправлена работа с Map Builder-ом и сохранение карты, при игре в режиме 256 Colors.
[*] Изменения области выделения теперь так же сохраняются в Undo/Redo в GFX Editor-е.
[-] Инструмент Magic Tool исправлен в GFX Editor-е: он кроме выделения так же заливал область, как инструмент Fill, хотя не должен был.

Версия 2.4 Выпуск 0.2 (25 марта 2004):

[*] Небольшие изменения в реализации некоторых инструкций GFX-машины для режима 256 Colors (для Dizzy). Изменены опции Up/DownMixChangeBright с булевого на проценты. Добавлена опция OrderPaletteSignedBytes, позволяющая интерпретировать индексы в палитре 256 цветов как числа со знаком в диапазоне -128..127, а не как беззнаковые 0..255, во время выполнения Leveled операций XOR/OR/AND.
[+] Добавлен режим Fast trace (обновление каждые 100 шагов) в Отладчике.
[-] Исправлена редкая ситуация: при игре в режиме 256 Colors, после вызова и отмены диалога Open продолжение игры в режиме 256 Colors было невозможно.
[+] Учтен бит мигания в атрибутах в режиме 256 Colors (теперь в играх с 256 цветами там, где используется этот бит в меню, соответствующие пункты мигают).

Версия 2.4 Выпуск 0.1 (24 марта 2004):

[+] Добавлена поддержка 256-цветных игр (требуется наличие MMX). Сейчас такие игры загружаются как обычные SNA-файлы, и если в директории найден GFX-файл с таким же именем, эмулятор переключается в режим 256-цветов автоматически. Вы можете загрузить эти игры по этой ссылке: http://www.emulatronia.com/emusdaqui/spec256/download-eng.htm
[+] Добавлен GFX-редактор, и дополнительные панели GFX Memory и GFX Registers в окне отладчика.

[+] Добавлена настройка для ассоциации типов файлов в диалоге Configuration. EZX-файлы ассоциируются ВСЕГДА как и раньше, и проверка ассоциации с EZX делается при каждом запуске программы. Hobeta-файлы (*.$B, *.$C) и все прочие типы файлов состояний/ленточных и дисковых образов доступные через плагины добавляются в список доступных для ассоциации типов (но не ассоциируются по умолчанию).
[*] Изменена иконка программы :-)
[*] Щелчок по иконке в тулбара, когда программа минимизирована в трей, срабатывает теперь на отпускание клавиши (иначе, щелчок левой клавишей успевал отработать для чужой иконки в трее).
[*] Кнопка Configuration на тулбаре сделана видимой по умолчанию.
[+] Добавлена опция Autosave on exit / autoload autosaved on startup (включена по умолчанию). Так же, добавлена опция Start paused when autoloaded on startup added (первоначально выключена).
[+] Добавлен режим Priority|High.
[+] Добавлена одна сигнатура ленточного загрузчика.

Версия 2.3 Выпуск 1.99 (15 марта 2004):

Исправления:
[-] Исправлено конфигурирование кнопок на инструментальной линейке: Disk Browser, Play/Stop Tape.
[-] В эмулятре, исправлена инструкция SLA (HL).
[-] В ассемблере, 16-ричные не начинающиеся с 0, но завершающиеся 'H' всегда считаются шестнадцатиричными числами (например, D000H).
[-] Исправлена проблема изменения размеров меньше, чем 256x192 (в режиме Multicolor On эмулятор падал).
[-] Загрузка некоторых TZX файлов исправлена (они загружались нормально в версии 2.1, но с версии 2.2 параметр DoublePilot перестал нормально передаваться в плагин из основной программы). Исправлена так же загрузка некоторых TZX-файлов, которые не могли загружаться нормально (La Abadia del Crimen).
[-] Распаковка из ZIP-архивов файлов с длинными именами частично исправлена с использованием программы PKUNZIP. См. так же о новом плагине PkUnZip.dll ниже.
[-] Нажатие Shift+буква без отпускания клавиши Shift было невозможно, исправлено. Отпускание клавиши на цифронаборной клавиатуры (эмуляция джойстика) могло привести к "отпусканию" другой, еще нажатой клавиши. Исправлено.
[-] Исправлено применение установок текущего таймирования (мультиколор) при загрузке файла.. Скорректированы настройки для таймирования Пентагона.
[-] Исправлен эффект Flip Vertical - приводил к краху программу при максимальном размере бордюра.

Изменения:
[*] ESCAPE переводит эмулятор в состояние пузы, и если он уже в режиме паузы, минимизирует эмулятор в трей. So to minimize to tray, press ESCAPE twice.
[*] Видимость линейки статуса сохраняется в реестре и восстанавливается в следующей сессии из предыдущей.
[*] Курсор теперь принимает специальную форму в тех позициях в отладчике и каталоге ленты, где возможно поставить точку останова, и где щелчок приведет к изменению адреса просмотра памяти (Ctrl-click на адресе в дизассемблированном коде, click на регистре).
[+] Добавлен полноэкранный режим без DirectX. В окне Configuration, снимите флажок "Use DirectX in Fill-Screen", и переход в полноэкранный режим и обратно становится фантастически быстрой операцией. Этот режим рекомендуется включать для быстрых машин, а так же в случаях, если есть проблемы с использованием Direct-X на вашей машине из EmuZWin.
[*] При выводе звука через DirectSound, использован меньший по длительности буфер. Более аккуратное звучание для 50% и 200% скоростей.
[*] Увеличение размера окна клавишей Alt+Num[+] допускается до масштаба 4:1.
[*] В начале работы, размер и позиция восстанавливаются из предыдущего сеанса к последнему известному состоянию в режиме нормального окна (не максимизированного и не в режиме полного экрана).
[*] Процедура отправки отчета о новых сигнатурах загрузки с ленты работает более аккуратно в плане принятия решения, является ли данная команда чтения порта FE частью новой процедуры загрузки с ленты. Добавлено 2 новых сигнатуры в список.
[*] Во время загрузки ленты, time stamper теперь не сохраняет состояния каждые 2 секунды.
[*] Теперь для формата EZX выполняется сжатие с использованием замечательной библиотеки DIUCL (автор Ralf Junker), которая использует те же методы сжатия, что и популярный компрессор исполнимых бинарных файлов UPX. Старые файлы должны загружаться без проблем, имеется возможность отключить компрессию и для новых сохранений в этом формате.
[+] Добавлен плагин PkUnZip.dll , который позволяет распаковывать файлы с длинными именами из Zip-архивов более корректно, чем старая дос-программа pkunzip.exe. Если этот плагин обнаруживается в директроии программы, он используется всегда, и нет больше необходимости указывать путь на pkunzip.exe или доставать ее откуда-либо.
[*] Рисованная клавиатура перерисована.
[*] Пункт меню View | Stay On Top Transparent перемещен в Effects.

Версия 2.3 Выпуск 1.7 (3-Марта-2004): Исправления:

[-] Серьезная ошибка: Multicolor исправлен.
[-] Опция командной строки /PAUSED исправлена.

Версия 2.3 Выпуск 1.6 (2-Марта-2004): Исправления:

[*] Щелчок правой клавишей мыши на иконке втрее когда эмулятор минимизирован в трей, приводит к появлению меню (с пунктами Exit и Restore), вместо непосредственного восстановления.
[*] Все нажатые клавиши отжимаются когда выполняется команда time 2 seconds back или time 2 seconds forward - нет больше залипания при использовании Alt+< / >, Alt+влево / вправо в ходе игры.
[*] Когда нажат ENTER в состоянии паузы, эмуляция продолжается (выход из паузы).
[-] Заголовок главного окна исправлен при загрузке из загрузке из списка недавно запускавшихся.
[-] Исправлена загрузка Pokes для игр, загружающихся с ленты, и из ZIP-архивов.
[-] Исправления в эмуляции TR-DOS: теперь индексный индекс генерируется периодически, так что программы, определяющие наличие диска (BestView) должны работать. Загрузка другого TR-DOS-диска вместо загруженного из главного меню/панели главной формы исправлена. Режим Fast Disk исправлен (чтение секторов), так что программы вроде DCU определяют нормально наличие диска в этом (Fast Disk). Эмуляция идет теперь быстрее в режиме Fast Disk, даже когда открыто окно Disk Browser. Исправлено восстановление позиции окна Disk Browser из предыдущего сеанса работы. Возможен выбор диска ввода символами 'A'-'D' в комбинированном списке (элемен для выбора диска для работы с ним в окне Disk Browser).
[-] Был возможен крах программы на выходе, когда ьыло открыто окно Disk Browser. Исправлено.
[-] Когда выбран пункт меню "48 BASIC" в меню Спектрума, последующий Reset возвращал обратно в режим 48-Бэйсик. Исправлено.
[*] По команде Reset, образ ROM теперь не восстанавливается, так что сделанные в нем изменения (ассемблированием или ручным редактированием), сохраняются. Но если из меню выбран один из пунктов New|Spectrum128 / New|Spectrum48 / New|Custom ROM, образ ROM перезагружается в выбранный.
[-] В ассемблере, исправлена инструкция OUTI. Устранено дублирование системных меток
[*] В дизассемблере, вместо символа '-' используется '_' в системных метках. В опции дизассемблирования добавлена возможность включать/отключать системные/пользовательские метки.
[+] В главную панель инструментов добавлены кнопки Debugger и Multicolor (первоначально невидимы).

Версия 2.3 Выпуск 1.5 (28-Февраля-2004):

[+] Клавиша TAB может использоваться как кнопка FIRE джойстика, вместе с цифровой клавиатурой как раньше.
[*] Плагин LoadSNA теперь переключает правильно страницу ROM на банк ROM48 при загрузке состояния 48K (более не требуется переключаться в режим 48K вручную).
[+] Добавлена возможность Дизассемблирования указанного участка памяти как блока кода или данных (DEFB, DEFW или DEFB со строками ASCII) и сохранять результат как текст (результирующий текст вставляется в ассемблерный листинг и затем может быть сохранен, скопировани, и т.д.) Так же, Ассемблер несколько улучшен и позволяет компилировать дизассемблированный текст непосредственно, без дополнительной обработки (второй аргумент в скобках после запятой рассматривается как комментарий, так что команда INC (IX+40H,2357H) компилируется так же как INC (IX+40H) ). Кроме того, он теперь компилирует быстрее. Добавлена возможность быстрой установки PC на один из первых 10 адресов, указанных в директивах ORG - по выпадающему меню на соответствующей кнопке инструментальной панели в окне ассемблера.
[-] Исправлены ошибки в Ассемблере (инструкции OUT (C),A; INC/DEC (IX/IY+offset), LD IX/IY,word не воспринимались/компилировались правильно).
[+] Добавлена возможность редактировать область ПЗУ вручную или в результате компиляции (кнопка Allow Edit ROM добавлено в окно отладчика, и автоматически задается вопрос о переключении в этот режим при ассемблировании по адресам ПЗУ).
[+] Добавлен Time Stamper (откат во времени, фактически периодическое сохранение состояния каждые 2 секунды). Когда включен (File|Time Back|Time History Enabled, включен первоначально), с одной из комбинаций клавиш ALT+</Alt+>, Alt+LEFT/Alt+RIGHT, Alt+NUM4/Alt+NUM6 (последние два при включенном режиме NUM-LOCK) или по нажатию на соответствующих кнопках инструментальной панели становится возможным восстановление состояния, которое было 2 секунды назад или возврат соответственно вперед, если уже делались откаты назад (сохраняется такое количество состояний, что откат возможен вплоть до нескольких часов назад, в зависимости от конкретной игры). Данная возможность, когда включена, может потреблять на жестком диске до 40 мегабайт свободного пространства.
[*] Теперь экран перерисовывается немедленно в режиме мультиколора, когда состояние (snap) загружено в режиме "паузы" в эмуляторе.
[*] Иконки в меню теперь масштабируются и видны полностью - в уменьшенном виде, при необходимости.
[*] Главная инструментальная панель теперь конфигурируемая: возможно указать, какие кнопки должны быть видны. Добавлены кнопки: Reset, Disk Browser, Full Screen, Configuration (по умолчанию, эти 4 скрыты первоначально), а так же Time 2 seconds Back и Time 2 seconds Forward.
[*] Размер экрана теперь увеличивается/уменьшается не клавишами Num[+]/Num[-], требуется нажатие Alt: Alt+Num[+]/Alt+[-]. Изменение скорости Num[ * ] и другие оставлены в прежнем виде (при игре на эмулируемом на цифровой клавиатуре джойстике клавиша [+] постоянно задевалась, неожиданно увеличивая экран, что иногда могло мешать).

Версия 2.3 Выпуск 1.3 (15-Февраля-2004): Исправлены некоторые баги:

[-] В главном окне, View|Toolbar не работало правильно.
[-] Z80 плагин - загрузка и запись состояния исправлены. Сохранение в Z80 не работало вообще (PC дублировался на месте SP, SP не сохранялся, найдены ошибки в алгоритме компрессии блоков памяти). Загрузка исправлена для 48K-файлов сохраненных в режиме 128K.
[-] Исправлена ошибка в диалоге Load Memory Block (вызывается из Отладчика): когда нажималась кнопка [<>] для поиска первого различия, и блоки были идентичны, это приводило к зацикливанию эмулятора.
[-] Некоторые проблемы поправлены с загрузкой состояний из файлов, содержащих "грязь" на месте некоторых "пробдвинутых" значений. Например, при загрузке из Z80 значение счетчика тактов с последнего int могло оказаться слишком большим.

Версия 2.3 Выпуск 1.1 Бета (8-Декабря-2003): Добавлена поддержка мультиколора (48, 128, +2, +2A/+3, Pentagon, переключение и настройка на ходу). Добавлено сохранение снимков экрана (BMP, PNG, SCR, поддержка плагинов). Добавлен построитель карты. Краткая история альфа-выпусков версии 2.3:

1.0.B - storing MC settings in EZX format implemented, new chunk type 'MULT' added to the EZX format.
1.0.A - save screen shot (F5) added (plugins extendable). Load from ZIP using PKUNZIP fixed. Open recent list (up to 9 files) added. Crash on exit fixed (seems). Reanimate option added (by suggestion of Alex Medvedev).
1.0.9 - crash fixed (when debugger is closed and emulator works in MC). Snow effect controlled by the config now (and by default it is off for +2A/+3/Pentagon). Port recognision works now better (LD A,XX; OUT (FD) now works in most cases correctly).
1.0.8 - Loading TZX fixed in MC. Sealing of some ZX keys pressed with SHIFT+correspondent PC key (",:,+,<,>,{,},|) fixed. Open by F3 fixed for full-screen mode (now slow but mostly correct). IN FF for MC implemented. Bug Z80 with LD A,R / LD A,I (when IntSignal ON, but except after EI) - implemented (for MC). Also, snow effect (bug in ULA) implemented, now for for all Timing models including +2A/+3 (later will be configurable and by default off for +2A/+3).
1.0.7 - DirectX output (full screen mode), configs are reworked. Status bar added (leds in full screen) with speed % and FPS.
1.0.6 - fixed TR-DOS off with multicolor
1.0.5 - first (ugly) configuration for MC, View | Effects | Flip Vertical
1.0.4 - optimized MC for +2A/+3, some configurations added, Show Border Only (in the Debugger)
1.0.3 - optimized MC for 48, 128, +2
1.0.2 - menu settings for MC
1.0.1 - dirty multicolor (MC) mode

Версия 2.2 Выпуск 1.0 (3-Ноября-2003):
[+]Добавлена поддержка TR-DOS. Поддерживаются форматы TRD, SCL, Hobeta (.$?). Поддерживается прямая загрузка указанного HoBeta-файла (или файла, выбранного в Дисковом Менеджере, ALT+D), кнопка Magic Button (ALT+M), загрузка с диска (boot, ALT+B). Дисковый менеджер имеет набор утилит для работы с образами TR-DOS-дисков (создание, загрузка, сохранение дисков; удаление, переименование файлов; уплотнение диска (squeeze); сохранение выбранных файлов в HoBeta-формате, компоновка диска из отдельных HoBeta-файлов, в том числе используя драг-дроп из папки проводника). Соответственно, дополнен формат EZX (добавились чунки DISK, BETA, PRVW), и расширен интерфейс с плагинами, совместимость с прежними плагинами сохранена.

[+]Некоторые изменения в интерфейсе. File|New|Spectrum 48K блокирует эмулятор в режиме эмуляции только 48К-машины, до вызова File|New|Spectrum 128K или Custom ROM Image, содержащего образ ПЗУ 128К (или до включения режима 128К при загрузке специфического файла, требующего 128К). Двойной щелчок правой клавишей мыши не приводит к переходу в полноэкранный режим (только левой клавишей, правая зафиксирована за операцией пауза/возобновление). Окно конфигурации может быть вызвано отдельно из меню или Alt+C. В отладчике теперь возможно скроллировать дизассемблированный текст колесиком мыши и двигая ползунок, как в обычном скроллере. Так же, подсказки на верхней линейке инструментов отладчика возможно теперь отключать (щелчок правой клавишей мыши). В диалоге открытия файлов добавлена кнопка для выхода в родительскую папку. Некоторые пиктограммы на кнопках изменены (пуск ленты в главном окне, трассировка в отладчике).
[-]Серьезные исправления в ассемблере (многие команды транслировались неверно).
[+]В окне ассемблера можно вызвать список всех команд и директив и двойным щелчком вставлять их в исходный текст.
[-]Исправлено множество мелких ошибок в эмуляторе (вообще, редко проявлявшихся) и погрешностей в интерфейсе. Отладчик иногда зависал при частом нажатии (или удержании) клавиш F7, F8 - это устранено.

Версия 2.1 Выпуск 8.0 (21-Сентября-2003): Исправлен ассемблер.

Версия 2.1 Выпуск 7.0 (13-Сентября-2003): Исправлен ассемблер.

Версия 2.1 Выпуск 6.0 (17-Июля-2003): Добавлено окно ассемблера.

Версия 2.1 Выпуск 5.0 (15-Июня-2003): Некоторые исправления в Debugger-е:
[+] Добавлен поиск по тексту, включая нечувствительность к регистру.
[-] Исправлено падение при закрытии окна поиска без задания образца поиска.
[-] Ctrl+F и другие клавиши работают теперь в окне отладки как должно.

Версия 2.1 Выпуск 4.0 (27-Мая-2003): Небольшие улучшения:
[+] В оконном режиме, можно перетаскивать окно мышью, хватаясь за сам дисплей, не только за заголовок.
[*] Для медленных машин (определяются как 386, 486 или Pentium, ниже чем Pentium II или Pertium Pro) точная синхронизация звука отключена. Добавлена опция командной строки /FAST для игнорирования определения медленной машины (машина в любом случае считается быстрой, звуковая синхронизация включена).
[+] Можно менять приоритет приложения: Normal/Above Normal - через меню (улучшает качество звука при сильной загрузке процессора другими приложениями).
[=] Исправлен возврат из полноэкранного режима.
[-] Исправлена прокрутка в окне переопределения клавиш (диалог конфигурации).
[-] Инициализация компонентов Direct Sound и Joysticks начинается теперь, когда главное окно уже видимо. Это делает старт эмулятора чуть быстрее.
[=] Исправлено бросание ZIP-файлов на окно эмулятора.

Версия 2.1 Выпуск 3.0 (27-Мая-2003): Улучшена загрузка с ленты: добавлена flash-загрузка (перехват ПЗУ), режим авто-старт/авто-стоп ленты. Улучшена работа с форматом SNA. Исправлена и улучшена работа каталога ленты. Исправлена работа и внешний вид окна управления POKes.

Версия 2.1 Выпуск 2.0 (26-Мая-2003): Улучшена загрузка TZX, спасибо Александру Медведеву. Исправлена загрузка Z80, спасибо Mark Woodmass. Так же небольшие исправления и улучшения в отладчике. Диалог About и заголовок программы показывают теперь версию 2.1. Информацию о версии можно получить теперь так же в диалоге свойств исполняемого файла.

Версия 2.1 Выпуск 1.0 (24-Мая-2003): добавлен Полноэкранный режим, с использованием Direct-X (Alt+Enter, или двойной щелчок на главном окне). Щелчок правой мыши в главном окне используется для паузы/продолжения эмулятора. При работе в полном экране, меню и инструментальная линейка визуально отключены, но все комбинации клавиш работают по-прежнему. Открытие любых драгих окон и диалогов переключает режим из полноэкранного в нормальный. Клавиши Num[ + ] и Num[ - ] используются в полноэкранном режиме для изменения масштаба только для этого режима. Добавлены опции Interlaced in Full Screen (чересстрочный режим, Alt+I) and Normal Refresh Rate in Full Screen (по умолчанию включен).
Добавлена поддержка реальных Джойстиков. Возможно использование одного или двух джойстиков (во втором режиме возможно направить каждый джойстик на Kempston / Sinclair-I / Sinclair-II / Fuller Box / Cursor). Оба джойстика могут быть переназначены на клавиши ZX как обычно - используя переназначение клавиш на уровне эмулятора (что позволяет использовать джойстик в играх, которые изначально не предполагали работу с джойстиком). Перед использованием джойстика, он должен быть предварительно включен (используя Alt+J, или меню, или диалог конфигурации).

Финальный выпуск F1.5 (20 мая 2003): Более устойчивый звук (даже при работе других приложений и манипуляциях с окном).

Финальный выпуск F1.4 (19 мая 2003): Множество небольших исправлений (загрузка с ленты, добавление блоков из файла в каталоге ленты, чтение POK из ZIP-архивов) и мелких улучшений (диалог открытия, переназначение клавиш).

Финальный выпуск F1.3 (18 мая 2003): Добавлен режим быстрой эмуляции LDIR/LDDR/CPIR/CPDR, по умолчанию включен, можно выключить для отдельной игры или по умолчанию (хотя на акууратность эмуляции не влияет вообще). Ускорено видео-отображение: теперь масштабирование делается собственной процедурой, без использования StretchBlt. Некоторые незначительные улучшения в интерфейсе (уменьшенная клавиатура, свой полупрозрачный курсор на главном окне эмулятора, запоминание последней папки при закрытии диалога открытия файлов).

Финальный выпуск F1.2 (15 мая 2003): Исправлено замедление видео-отображения под Windows9х при размере дисплея, отличном от 1х1.

Финальный выпуск F1.2 (15 мая 2003): Исправлены падения программы на выходе, если менялись параметры скорости и частоты обновления. Предотвращено авто-возобновление по нажатию любой клавиши, если открыт диалог конфигурации.
Улучшено управление скоростью (Alt+Num[ * ] для быстрого переключения между 50% и 800%), значок молнии на инструментальной линейке вдавлен для всех скоростей больших 100%.
Значительно улучшен видеовывод для случая нестандартного размера экрана (отличного от 1х1 и 2х2) - изображение более не "плавает" при перерисовках. Добавлена опция "пропорциональный размер" (пункт меню View|Proportional Size).

Финальный выпуск F1.1 (13 мая 2003): Исправлены падения программы при открытии pok-файлов, когда не было загрузки с ленты, и при удалении строчки из перепрограммирования клавиш. Устранены так же мелкие неисправности в интерфейсе и запоминании настроек в реестре.
Замечание по поводу "финальности": данные выпуски финальные прежде всего в том смысле, что новых фич и существенны изменений не предвидится, но серьезные баги и мелкие глюки будут исправляться оперативно.

Финальный выпуск F1 (11 мая 2003): Добавлена поддержка ZIP (используется pkunzip.exe не поставляется в дистрибутиве).
Добавлена ассоциация с файлами EZX (восстанавливается автоматичеки при каждом запуске).
Теперь EZX загружается в точности в том же состоянии, как он был сохранен. Например, возможно сохранить в EZX в момент чтения с м/ф, и после загрузки чтение будет продолжено.
Частично поддержаны токены в заголовках блоков в окне каталога ленты.
Открытие диалога загрузки в момент чтения ленты и просмотр экранов других записей не затирает более содержимое м/ф, так что в случае отмены диалога, чтение может быть продолжено.
Сохраняются в реестре позиция и размеры каталога ленты, окна открытия, конфигурации, список папок, выбранных в окне открытия (максимум 10), другие настройки.
По нажатию Escape, эмулятор теперь минимизируется в трей без анимации (быстро).
Клавиша PAUSE так же используется для перевода эмулятора в состояние "пауза" (но игнорируется для возобновления).
Главное окно не может быть увеличено до троекратного размера клавишей Num[ + ] и соответствующим пунктом меню на экране с разрешением меньше 768 пикселов по высоте.
Множество других небольших изменений.

Бета выпуск B10 (8 мая 2003): Добавлена настройка цветов. Все основные настройки сохраняются в реестре. Множество мелких исправлений.

Бета выпуск B9 (7 мая 2003): Добавлено переназначение клавиш на уровне эмулятора. Формат ezx опять немного изменен (KEYS), но на прежние записи состояний это не влияет.

Бета выпуск B8 (5 мая 2003): Добавлена опция Refresh Rate, позволяет снизить частоту отображения кадров и за счет этого увеличить производительность на медленных машинах. Клавиатура при открытии окна автоматически позиционируется в соответствии с местоположением основного окна и возможностями рабочего стола.
Добавлена поддержка POK-файлов, с автоматически назначаемыми пиктограммами (!).
Исправлено добавление образа ленты в режиме каталога ленты.
B8.a: Обеспечено сохранение содержимого pok-файла в формате ezx и его загрузка (формат ezx слегка изменен, что не должно отразиться на имеющихся записях состояний). Добавлен в главное меню пункт File|Open Pokes... для загрузки внешнего pok-файла при необходимости.
Устранено падение программы при закрытии.

Бета выпуск B7 (3 мая 2003): Добавлен тулбар, с прогрессом загрузки ленты. Улучшена синхронизация и намного ровнее стал звук AY. Добавлен ключ /NoMMTimer для запрета новой синхронизации (лучше не использовать, будет только хуже). Множество исправлений в эмуляции звука, команд, загрузки с ленты, интерфейсе. Изменен формат EZX, чтобы в будущем позволить продолжить загрузку с ленты после перезапуска. Изменена сигнатура, чтобы предотвратить загрузку ранее сохраненных EZX-файлов. Для их загрузки вам потребуется прежняя версия EmuZWin!

Бета выпуск B6 (30 апреля 2003): Значительные улучшения звука AY. Исправлена генерация прерывания (int). Упрощенная схема распознавания портов (включается автоматически при обращении к неверному порту). Исправлена загрузка из Z80 (3.0) с несжатыми банками памяти. Добавлено сохранение в формате Z80 (версии 2.01 этого формата).

Бета выпуск B5 (29 апреля 2003): Добавлена форма для отправки сообщения разработчику (мне) о новых неизвестных загрузчиках с ленты. Теперь файлы можно перетаскивать мышкой (drag-and-drop) прямо на главное окно программы. Небольшие исправления в звуке AY.

Бета выпуск B4 (28 апреля 2003): Режим Fast Load для ленты теперь действительно быстрый, в том числе для защищенных загрузчиков (TZX). Добавлены опции /Sound8 и /SoundExclusive.

Бета выпуск B3 (27 апреля 2003): Исправления в эмуляции звука AY, инструкций OUTD/OTDR/OUTI/OTIR, некоторые улучшения интерфейса, чуть более быстрая загрузка с ленты.

Бета выпуск B2 (23 апреля 2003): Исправлена загрузка SpeedLock1 и SpeedLock2 (TZX). Реализован ввод из порта FF (требуется некоторым играм для синхронизации). Добавлена эмуляция звукового чипа AY.

Бета выпуск B1 (22 апреля 2003): Видеовывод оптимизирован для глубины цвета 32 и 24 бита (ранее оптимизация касалась только режима 16 бит).

пре-бета выпуск 10 (21 апреля 2003): Исправление сделанных вчера ошибок, TZX должен читаться нормально для всех видов защит (надеюсь).

пре-бета выпуск 9 (20 апреля 2003): Исправление некоторых ошибок, в основном что касается распознавания TZX (но все еще не закончено).

пре-бета выпуск 8 (19 апреля 2003): Добавлены опция командной строки /ROM= и пункт главного меню File/New/Custom ROM Image для упрощения выбора другого образа ПЗУ. Опция командной строки /9x позволяет запускать эмулятор под всеми весиями Windows в том же режиме работы с памятью, что и под Windows9x/ME. Опция /PAUSED позволяет запустить эмулятор в состоянии паузы. Некоторые улучшения в отладчике, исправлены некоторые инструкции (флажки, T-состояния). Но файлы TZX, защищенные спидлоком, пока не грузятся.

пре-бета выпуск 7 (16 апреля 2003) - исправлены команды RLD/RRD, длительность в тактах комад работы с (IX+offset), (IY+offset). В результате пошли игры, которые не работали (chronos2), улучшился звук;
7.1: исправление в команде DAA.

пре-бета выпуск 6 (16 апреля 2003) - исправлена загрузка с ленты (TAP, TZX - частично). Добавлено управление лентой. Исправлено сохранение SNA из-под 9х/ХР. Добавлена комбинация ALT+K для вызова клавиатуры. Исправлен отладчик для режимов 9х/МЕ/ХР (не ставились/не снимались/не работали точки останова).

http://bonanzas.rinet.ru

mailto: bonanzas@online.sinor.ru

См. так же о других моих эмуляторах ZX-Spectrum 128K/48K для DOS:

EMUZ, 1995. Написан на C--. Недавно обнаружен исходный код, и опубликован.

Z.com, 2003, assembler. Минимальный по размеру (6К) коррекный (и вполне играбельный) эмулятор Spectrum-128K и 48K. Опубликован с исходным кодом.