(С) 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'а.
СИСТЕМНЫЕ ТРЕБОВАНИЯ:
ИНСТРУКЦИЯ ПО УСТАНОВКЕ
ОПЦИИ КОМАНДНОЙ СТРОКИ
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х/МЕ/ХР (не ставились/не снимались/не работали точки останова).
mailto: bonanzas@online.sinor.ru
См. так же о других моих эмуляторах ZX-Spectrum 128K/48K для DOS:
EMUZ, 1995. Написан на C--. Недавно обнаружен исходный код, и опубликован.
Z.com, 2003, assembler. Минимальный по размеру (6К) коррекный (и вполне играбельный) эмулятор Spectrum-128K и 48K. Опубликован с исходным кодом.