EmuZWin v2.5 выпуск 2.54

(С) by Vladimir Kladov, 2003-2004

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

Теперь для загрузки самой свежей версии следует использовать ссылку: http://bonanzas.rinet.ru/EmuZWin.zip Размер версии 2.5 = 700Кбайт. Дополнительные файлы с исходными кодами плагинов, описанием по созданию плагинов и прочим можно загрузить здесь: 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

На настоящий момент, среди оконных эмуляторов EmuZWin один из самых быстрых и при том корректных в плане точности эмуляции, эмулирует модели Spectrum: 48, 128+, 128/+2, 128/+2A/+3, Pentagon, TR-DOS, поддерживает сохранение/загрузку популярных снап-форматов (SNA, Z80), понимает так же форматы дисков TR-DOS (TRD, SCL, HoBeta), Microdrive Interface-I (MDR) и загрузку большинства форматов ленты (в том числе TAP, TZX, BLK), и этот список может расширяться написанием плагинов. Имеется возможность: перепрограммирования клавиатуры (можно переопределить, какие клавиши Spectrum'а нажимаются какими клавишами на клавиатуре PC, в том числе задать клавиши с автофиксацией и автоповтором).

Имеется поддержка мультиколора (учет параметров таймирования для 48, 128, 128+2, 128+2A/+3, Pentagon, возможность настройки своих параметров, переключение между моделями таймирования "на лету"), эффект "снега", ввод атрибутов из порта FF. В режиме мультиколора EmuZWin работает практически так же быстро, как и без него.

В версии 2.4 добавлена полная поддержка 256-цветных игр (взять существовавшие до 1999 года 12 штук можно на сайте http://www.emulatronia.com/emusdaqui/spec256/index-eng.htm См. так же новые переводы игр в режим 256 Colors на сайте Arjun (Арджуна из Индии, Бангалоре):   http://www.arjun.150m.com/ZX256games.html). И в той же версии добавлен мощный встроенный GFX-редактор, который позволяет практически любую спрайтовую игру превратить в 256-цветную, при наличии желания и времени. 

Другие замечательные эффекты, поддерживаемые EmuZWin: GigaScreen, Snow effect (снег), Flip Vertical (зеркальный переворот изображения по вертикали), High Quality Magnification.

PC Speaker в качестве устройства вывода звука может использоваться только под Windows9x/ME, и качество звука при выводе на спикер просто отвратительное (но для того, чтобы услышать пук-пук в большинстве игрушек, этого хватает). По умолчанию всегда используется DirectX для вывода звука, в том числе для вывода MIC-звука. Качество звука при выводе через DirectSound очень приличное.

Видеовывод в оконном режиме только через GUI, DirectX используется только в полноэкранном режиме (и может быть отключен и для полноэкранного режима). Тем не менее под Windows98 идет на машине Pentium100 со скоростью 70-100% от номинальной, что в общем достаточно для большинства игрушек.

Эмулируются Kempston Joystick, Sinclair I (только с реальным джойстиком), Sinclair II и Fuller Box - с использованием до двух реальных джойстиков, или могут эмулироваться на дополнительной цифровой клавиатуре (действует при включенном Num Lock). Дополнительная рисованная клавиатура может помочь при вводе команд Бэйсика при эмуляции Spectrum-48K. Кроме того, она позволяет зафиксированть какие-то клавиши на всемя игры (правый щелчок мыши по кнопке). Может пригодится и при программировании раскладки клавиш в игре.

В помощь играющим имеется еще и построитель карт (Map Builder). Надеюсь, пригодится, для квестов и адвенчур :)

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

Для загрузки и сохранения поддерживаются форматы Z80 и SNA, так же возможна загрузка с ленты в форматах TAP, TZX, BLK, включая загрузку из архивов ZIP (требуется указать путь на PKUNZIP.EXE, если в поставке нет PKUNZIP.DLL). Для загрузки/сохранения образов дисков поддерживаются форматы TRD, SCL, HoBeta (*.$?). Для загрузки используется собственный диалог с предварительным просмотром экрана загружаемой программы, при возможности (при наличии, для предварительного просмотра могут использоваться .SCR-файлы).

POK-файл, имеющий то же название, что и загруженный, но с расширением .POK, загружается автоматически. При этом отыскивается в той же директории, откуда загружен файл, или во всех вложеных (рекурсивно), а так же при загрузке из ZIP - в самом архиве. В случае собственного формата EZX, внешние файлы pok не загружаются (в этом случае содержимое pok-файла хранится в самом ezx-файле). Возможно загрузить pok-файл отдельной командой меню.

Файл Spectrum.rom, содержащий образы ПЗУ 32К, должен лежать в той же директории, что и сама программа (первые 16К - ПЗУ S128, вторые 16К - ПЗУ S48). Файл TRDOS.ROM 16K должен размещаться там же. Используя опцию командной строки /ROM=путь или пункт главного меню File/New/Custom ROM Image, возможно выбрать другой образ основного ПЗУ (кроме TR-DOS, который можно просто заменить в директории). Аналогично, образ ПЗУ Interface-1 (файл if1.rom, 8K), так же должен находиться в директории рядом с программой.

Встроенный мощный пошаговый и трассирующий визуальный отладчик может использоваться для самых разных целей. Мне он пригодился при отладке самого эмулятора. Имеется встроенный ассемблер и дизассемблер, можно использовать EmuZWin как кросс-систему для программирования для Spectrum'а.


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


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

  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.
/ESCEXIT При нажатии ESCAPE немедленно завершает работу эмулятора.

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


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

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


История:

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

[-] При загрузке 256-Colors игр на машинах Pentium без поддержки MMX, эмулятор более не переключается в режим 256 Colors  (игра загружается, но в режиме обычной графики).
[-] Исправлено автоматическое именование screenshot-файлов для случая, когда диалог сохранения отключен (изображения сохранялись в тот же самый файл).

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

[*] Путь к папке для сохранения скрин-шотов (F5) теперь сохраняется в реестре, для использования в следующий раз.

Версия 2.5 Выпуск 2.52  (5 ноября 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. Опубликован с исходным кодом.