SoundTrack: MR.Z/LS/98 ZZZZXZZZZ (C) BD! __________________________________________ (C) Николай Шалаев, Москва, 1995-1997 ────────────────────────────────────────── ┌──────────────────────────────────────┐ Эмулятор ZX-Spectrum 3.04 (07.12.1997) └──────────────────────────────────────┘ * * * Руководство пользователя. Назначение и возможности. Данная программа является эмулятором ZX-Spectrum (Далее - "Эмулятор"). Эмулиру- емые устройства: - Процессор Z80, включая недокументиро- ванные команды и особенности; - Оператив- ная память - 128k; - Музыкальный синтезатор AY-3-8910/12, включая недокументированную особенность - цифровой звук; - Контроллер дисковода на базе ВГ93; - Экран, сохраняющий пропорции экрана оригинального ZX-Spectrum; - Kempston джойстик; - Kempston мышь; - Встроенный динамик Beeper. Все устройства эмулируются на уровне аппаратуры, то есть не требуется никакая адаптация программного обеспечения ZX- -Spectrum для работы его на эмуляторе. Эмулятор не поддерживает непосредст- венную работу с дисками TR-DOS. Программа использует для работы файлы образа диска TR-DOS. Файл образа диска можно создать на основе диска с помощью дисковых утилит, имеющихся в эмуляторе. Эмулятор имеет возможность подключения дополнительных модулей. Системные требования. Для работы программы необходима следу- ющая конфигурация аппаратуры и системного программного обеспечения: - Компьютер, совместимый с IBM AT 386; - VGA-совместимый видеоадаптер; - Не менее 2Mb оперативной памяти; - MS-DOS версии 3.00 или выше. Программа предназначена для работы под DOS-Extender DOS/4GW (проверена с версией 1.97). Условия распространения. Программа относится к классу прог- раммных продуктов FREEWARE. Автор не имеет ничего против распространения данного программного продукта, если в него не вно- сятся изменения и, если при этом не извле- кается коммерческая выгода. Программа поставляется в форме "ASIS", общепризнанной в мировой компьютерной практике, то есть автор не несет никакой ответственности за проблемы, вред и (или) упущенную выгоду, возникшие при использо- вании данного программного продукта. Связь с автором. E-mail: nshal@usa.net FidoNet: 2:5020/378.40 Комплект поставки. Стандартный комплект поставки включает в себя следующие файлы: SPECTRUM.EXE - непосредственно эмулятор; SPECTRUM.DOC - руководство пользователя; SPECTRUM.DLL - иконки под Microsoft Windows; SPECTRUM.TRD - образ диска с программами для настройки эмулятора. ADDITION - директория, содержащая все необходимое для программиро- вания открытой архитектуры: ADDITION.DOC - руководство программиста; BINDLL2ADD.EXE - конвертор файлов до- полнительных модулей для эмулятора; INCLUDEEMUDATA.H - включаемый файл для Watcom C/C++; INCLUDEEMUDATA.INC - включаемый файл для Borland Turbo Assembler; EXAMPLES*.* - примеры дополнительных модулей с исходными текстами. Быстрая установка. Если Вы запускаете эмулятор впервые и не хотите сразу разбираться с его особен- ностями и настройками, то Вы можете вос- пользоваться следующей инструкцией: - Создайте директорию; - Перепишите (разархивируйте) в эту ди- ректорию файлы стандартного комплекта пос- тавки; - Перепишите в эту же директорию DOS-EX- tender DOS/4GW (желательно версии 1.97), файлы ROM и файлы образа диска; - Запустите программу(файл SPECTRUM.EXE); - В панели диалога "ROM" установите нуж- ные файлы; - Если у Вас не установлена звуковая кар- та, совместимая с Ad Lib,то выберите пункт "Нет карты" в панели диалога "Звук"; - Теперь Вы можете запускать эмуляцию (кнопка "Старт" в основном меню). Опции. Программа может быть запущена как с опциями, так и без них. Командная строка для запуска эмулятора имеет вид: SPECTRUM [<-Опция>...] [<Диск A> <Диск B> ...] Пример: SPECTRUM -S DISK.TRD Перед опцией может стоять "-" или "/". Возможные опции: H - помощь по опциям. S - быстрый старт эмулятора. Запуск эмуля- тора, минуя основное меню. Диск A-D - име- на файлов образа диска. Файлы подключаются к дисководам A, B, C и D, соответственно. Всего может быть 4 диска. Имена файлов мо- гут содержать путь к ним. ROM. Для работы программы необходимы файлы, которые являются копиями оригинальных ROM (эти файлы имеют расширение "ROM"). Для их установки программа имеет панель диалога "ROM", в которой можно ввести директорию с этими файлами и выбрать соответствующие файлы. Программа не отслеживает попытки некорректных установок ROM, таким образом, можно установить вместо 128-го ROM второе 48-ое и т.д. Диски. Эмулятор не поддерживает непосредст- венную работу с диском TR-DOS. Программа использует для работы файлы образа диска TR-DOS (файлы образа диска имеют расшире- ние "TRD"). Для создания файла на основе реального диска можно пользоваться диско- выми утилитами, доступными из основного меню эмулятора. С помощью дисковых утилит возможно также восстановление диска из файла. Файл образа диска с установленным ат- рибутом "Read Only" воспринимается эмуля- тором как дискета, защищенная от записи. Если введенный файл отсутствует, то эмуля- тор работает с ним, как Spectrum с нефор- матированной дискетой. Такой файл будет создан сразу после форматирования любой дорожки. Подключить файлы образа диска к эмуля- тору можно, введя их имена в командной строке или установив их в панели диалога "Конфигурация". Там же задается директория с файлами образа диска. Чтобы сменить файл образа диска во время эмуляции, пользуй- тесь панелью диалога "Диски", которая вы- зывается клавишей F5. В ней также можно установить и снять атрибут "Read Only", установив нужное значение флажка в пункте "Защита записи" напротив соответствующего диска. Одновременно эмулятор может рабо- тать с четырьмя дисками, подключенными к виртуальным дисководам A, B, C и D. AY-3-8910/12. Эмулятор имеет поддержку музыкального синтезатора AY-3-8910/12. Выбрать звуковые карты для эмуляции AY и настроить их пара- метры можно в панели диалога "Звук". AY имеет недокументированную особенность - цифровой звук, который эмулируется с по- мощью Sound Blaster. Если Вы выбрали Ad Lib, то цифровой звук не будет поддержи- ваться эмулятором. Если же Вы выбрали Sound Blaster, то Вам нужно установить ба- зовый адрес порта Sound Blaster. Для отключения эмуляции цифрового звука сними- те флажок "Цифровой звук". Параметр "Громкость" устанавливает громкость цифрового звука и предназначен для изменения громкости цифрового звука по отношению к громкости FM-синтеза, которая фиксирована. От параметра "Огибающая" зависит раз- решающая способность огибающей по времени. При значении "x1" уровень огибающей кор- ректируется с частотой, равной значению параметра "Частота прерываний", при значе- нии "x2" в два раза чаще и т.д. Чем выше это значение, тем точнее эмулируется гене- ратор огибающей, но тем медленнее работает эмулятор. Некоторые системы не позволяют устанавливать большое значение этого пара- метра, например Windows 95 при установке значений больше "x16" (при значении 50 па- раметра "Частота прерываний") предлагает перезагрузиться в режиме эмуляции DOS. Параметр "Циклы ожидания Ad Lib" поз- воляет уменьшить число циклов ожидания Ad Lib и, тем самым, уменьшить потерю времени на эмуляцию AY. По документации на Ad Lib количество циклов ожидания должно быть 36, но большинство звуковых карт нормально ра- ботает и при их меньшем количестве. Значе- ние этого параметра нужно установить так, чтобы оно было минимально и при этом сох- ранялась работоспособность Ad Lib. Некоторые особенности эмуляции AY: - Частоты эмулируемого AY при значениях 0001h-0018h регистров R0-R5 не соответст- вуют частотам реального AY при таких же значениях этих регистров. - Средняя частота белого шума фиксирова- на: регистр R6 музыкального синтезатора не реализован. - При малых периодах огибающей и малом значении параметра "Огибающая" возможно искажение звука. Проблемы с некоторыми звуковыми картами: Orchid Sound Wave 32. Перед запуском эмулятора запустите: SW32 /F:3DFM.LD из набора утилит звуковой карты, иначе звук будет сильно отличаться от оригинального AY. Не используйте Ad Lib для цифрового звука. Ensoniq SoundScape. FM-синтезированный звук очень далек от оригинала. Клавиатура. 0-9, A-Z 0-9, A-Z Enter Enter Shift, Ctrl Caps Shift (CS) Alt Symbol Shift (SS) Caps Lock Caps Lock (CS+2) Tab Ext Mode (CS+SS) ~ Edit (CS+1) - (белый и серый) - (SS+J) = = (SS+L) : (SS+Z) [ ( (SS+8) ] ) (SS+9) ; ; (SS+O) ' " (SS+P) , , (SS+N) . . (SS+M) / (белый) ? (SS+C) / (серый) / (SS+V) * (серый) * (SS+B) + (серый) + (SS+K) Backspace Delete (CS+0) Page Up True Video (CS+3) Page Down Inv Video (CS+4) Серые стрелки лево (CS+5), право (CS+8), вниз (CS+6) и вверх (CS+7) 1-9 расшир. Kempston джойстик ESC Выход F1 Помощь по клавиатуре F2 Reset 48k F3 Reset 128k F4 Reset TR-DOS F5 Выбор диска для TR-DOS и установка/снятие защиты записи Джойстик. При включении соответствующих опций (панель диалога "Управление") аналоговый джойстик может работать в программах ZX- -Spectrum как Kempston (Kempston Interface I и II) и (или) как Sinclair(Interface II, клавиши "6"-"0") джойстики. Проверка нали- чия и калибровка джойстика происходит ав- томатически при запуске эмулятора. В этот момент ручка джойстика должна находиться в центральном положении. Эмулятор также имеет поддержку Kemps- ton джойстика на клавиатуре(клавиши"1"-"9" расширенной клавиатуры). Мышь. В эмуляторе поддерживается мышь. Ин- терфейс выбирается в панели диалога "Уп- равление" с помощью переключателя "Тип мы- ши". Также существует возможность установ- ки скорости перемещения и смены левой и правой кнопок мыши. Скорость. Программа имеет несколько возможных установок скорости работы: - Нормальная - скорость близкая к скорости оригинального Spectrum'ма (автоматическая настройка на быстродействие компьютера); - Максимальная - максимальная скорость, какая только возможна на данном компьюте- ре; - Ускоренная - скорость на 1/8 быстрее нормальной; - Замедленная - скорость на 1/8 медленнее нормальной; - Выборочная - скорость с использованием значений параметров, установленных пользо- вателем. В большинстве случаев можно устанавли- вать максимальную скорость: обычно, чем быстрее работает программа, тем лучше. При этом программы, синхронизированные с кад- ровыми прерываниями, будут работать как на оригинальном ZX-Spectrum (если установлена частота кадровых прерываний как на ориги- нале: 50 Hz). Но в некоторых случаях все-- таки необходима установка скорости, как в оригинале. При выборе нормальной скорости пра- вильная установка скоростных параметров будет произведена не на всех компьютерах. Если скорость отличается от оригинала нез- начительно, то можно выбрать ускоренную или замедленную скорости. Если же скорость отличается значительно или нужна более точная установка, то лучше воспользоваться выборочной скоростью. При установке выбо- рочной скорости Вам нужно ввести три пара- метра, от которых будет зависеть скорость работы - основной параметр скорости и два параметра скорости видеопамяти. Для установки основного параметра на образе диска "SPECTRUM.TRD" присутствует программа "SpdMain", с помощью которой можно измерить быстродействие. Результат работы этой программы на оригинальном Spectrum равен: 410 при запуске из режима 128k и 592 при запуске из режима 48k (зна- чения могут меняться при включении разных версий ROM, данная проверка производилась при стандартных ROM: 48k 1982 г. и 128k 1986 г.). Основной параметр скорости нужно установить так, чтобы результаты работы программы находились как можно ближе к этим значениям. Если при нулевом значении основного параметра результаты этой прог- раммы ниже, чем на оригинальном ZX-Spect- rum, то быстродействия Вашего компьютера недостаточно для работы эмулятора в реаль- ном времени. Для установки параметров скорости ви- деопамяти можно использовать программу "SpdScr" с этого же диска. На оригинальном ZX-Spectrum результаты этой программы оди- наковы: 44852. Устанавливать основной па- раметр скорости по результатам этой прог- раммы не рекомендуется, так как для изме- рения быстродействия она использует малый набор команд, а время выполнения команд на оригинальном Spectrum и на эмуляторе не всегда пропорциональны, поэтому установ- ленная скорость может отличаться от сред- ней. В данном случае параметры скорости видеопамяти нужно установить так, чтобы в результате программа выдавала как можно более близкие результаты. Некоторые программы могут работать не- корректно, сбрасываться или зависать при большом отличии скорости от оригинала (особенно,если эмулятор работает медленнее оригинала). Как правило, независимо от установки скорости в эмуляторе, желательно, чтобы скорость работы в TR-DOS была максимальна (даже если для работы программы требуется определенная скорость, во время работы с диском требования к скорости отсутствуют). Для этого включите опцию "Максимальная скорость в TR-DOS". Открытая архитектура. Модули. Эмулятор имеет возможность подключения дополнительных модулей. Это файлы, содер- жащие подпрограммы, которые будут работать в составе эмулятора. Модули могут выпол- нять разнообразные функции (например: под- держка дополнительных устройств, поддержка других форматов файлов, отладчики, измене- ние работы процессора и устройств в эмуля- торе, дополнительные возможности...). Для их подключения используйте панель диалога "Модули". После подключения модуля Вы можете установить его конфигурацию (Кнопка "Конфигурация" или двойной щелчок мыши). Все необходимое для создания модулей находится в директории ADDITION. В стан- дарной поставке эмулятора присутствуют пять дополнительных модулей: TIMES - подсчет тактов процессора и по достижении заданного числа тактов переклю- чение в режим ожидания. Если установлена опция "Пропуск прерываний", то отмена пре- рывания, если не достигнуто заданное коли- чество тактов. LOG - логический протокол работы (расши- ренный аналог того, который был в версиях 1.XX данного эмулятора). MEMPROFI - поддержка расширенной памяти Profi. MAGIC - поддержка кнопки Magic (NMI TR-DOS). REFRESH - обновление экрана. В некоторых мультизадачных системах на некоторых виде- окартах происходит некорректное восстанов- ление нестандартного видеорежима эмулято- ра. Данный модуль - поддержка горячей кла- виши обновления экрана. Экран. Кадровые прерывания. Видеоадаптер работает в нестандартном режиме 256x192 с большим бордюром, который по пропорциям экрана близок к экрану ори- гинального ZX-Spectrum. ZX-Spectrum имеет прерывание, которое синхронизировано с кадрами (кадровое пре- рывание). В эмуляторе предусмотрено три режима "генерации" кадрового прерывания (которые можно выбрать, установив соот- ветствующее значение параметра "Источник прерываний"): - Прерывания генерируются таймером. В этом режиме прерывания не синхронизированы с кадрами. Изображения на бордюре выглядят не так, как на оригинальном ZX-Spectrum, а также возможно моргание изображения и по- теря плавности движения объектов на экране (например: спрайтов в играх, букв в бегу- щей строке) в программах, синхронизирован- ных с прерываниями. При выборе этого режи- ма Вы можете установить частоту кадровых прерываний в Hz с помощью параметра "Час- тота прерываний" (может принимать значения от 20 Hz до 100 Hz, по умолчанию - 50 Hz, как у реального ZX-Spectrum). - Прерывания генерируются кадровым преры- ванием видеоадаптера. В этом режиме преры- вания синхронизированы с кадрами. Если Вы установили этот режим, то Вам надо устано- вить номер прерывания видеоадаптера (опция "IRQ VGA"). Частота прерываний зависит от частоты кадров. Примечание: не все видеоа- даптеры поддерживают кадровое прерывание, а также прерывание может быть заблокирова- но в установках BIOS Вашего компьютера. - Прерывания генерируются при обратном ходе луча по кадру. Этот режим отличается от предыдущего тем, что в нем программно отслеживается обратный ход луча по кадру. В этом режиме эмулятор работает медленнее, чем в остальных (из-за отслеживания обрат- ного хода луча), а также неправильно про- исходит настройка на быстродействие. Этот режим введен как альтернативный для тех, чей видеоадаптер не поддерживает кадровое прерывание. В нем возможен пропуск преры- вания (во время обратного хода луча эмуля- тор может, например, обрабатывать какое-- либо обращение к порту программы ZX-Spectrum, тем самым пропустить момент генерации прерывания). В программе предусмотрены видеорежимы с частотой кадров 50, 55, 60 и 75 Hz. - 50 Hz. Этот видеорежим близок по часто- те к ZX-Spectrum. Данный видеорежим имеет частоты, которые выходят за диапазон до- пустимых частот некоторых мониторов VGA и SVGA. Такие мониторы не будут "держать" этот видеорежим. Из-за низкой частоты ре- жима на высокочастотных мониторах изобра- жение сильно "мерцает". - 55 Hz. Промежуточный режим между 50 и 60 Hz. - 60 Hz. Видеорежим имеет стандартные для IBM частоты (видеорежим по частотам раз- верток эквивалентен режиму 320x240). Дан- ный видеорежим поддерживается на любом мо- ниторе VGA. - 75 Hz. Видеорежим имеет повышенные час- тоты. Примечание. От установки частоты прерываний может зависеть скорость выпол- нения программ, синхронизированных с пре- рываниями: скорость в целом, скорость ре- акции на клавиши, музыка на музыкальном синтезаторе, таймер... Дополнительные параметры. Особенности работы. - Параметр "Длительность прерывания" оп- ределяет количество команд процессора, в течение которых активен импульс прерывания (может принимать значения от 1 до 100, по умолчанию - 1). Опция введена для совмес- тимости с оригиналом (некоторые программы могут проверять значение этого параметра). - "Длина данных форматирования" - коли- чество байт данных, которые принимает ВГ93 при команде "Запись дорожки" (может прини- мать значения от 1 до 16384, по умолчанию - 1). Опция введена для совместимости с оригиналом (некоторые программы могут про- верять значение этого параметра). Чем меньше значение этого параметра, тем быст- рее работает форматирование диска в эму- ляторе. - Переключатель "Режим рестарта" влияет на режим, в котором окажется эмулятор пос- ле запуска кнопкой "Старт" основного меню. - Если флажок "Постоянная готовность дис- ка" включен, то никакие задержки при эму- ляции контроллера дисковода не осуществля- ются. При следующем обращении после пере- дачи вспомогательной команды контроллера, эта команда уже выполнена, а на следующее обращение после передачи любой другой ко- манды, контроллер готов к передаче или приему данных. Виртуальные дисководы всег- да "вращаются". В этом режиме эмулятор ра- ботает быстрее, но совместимость с ориги- налом ниже. Опция введена для совместимос- ти с оригиналом (некоторые программы могут проверять значение этого параметра). - Флажок "Чтение номера дорожки" влияет на первый байт данных (номер дорожки), ко- торый будет считан из ВГ при команде "Чте- ние адреса". Если флажок не установлен, то номер дорожки всегда 1. При таком значении флажка не работают некоторые программы. Если флажок установлен, то при команде "Чтение адреса" читается номер дорожки, на которой позиционирована головка дисковода. При этом TR-DOS форматирует диски как од- носторонние. - При включении опции "Автосохранение конфигурации" эмулятор автоматически сох- раняет текущую конфигурацию. - Некоторые стандартно форматированные дискеты не поддаются копированию в файл. Ошибка при этом возникает на первом секто- ре каждой дорожки и связана с недостаточ- ным для IBM AT расстоянием от начала до- рожки до начала первого сектора. Программа нормально работает с дисками, отформатиро- ванными на IBM специальными форматировщи- ками для TR-DOS (например, записанные этим же эмулятором), а также с дисками, отфор- матированными более корректными формати- ровщиками на Spectrum. Проблему можно устранить и сменой на другую модель диско- вода с контроллером (в основном это отно- сится к контроллеру дисковода). Может по- мочь метод частичной заклейки отверстия синхронизации на дискете: заклейте чем-ни- будь непрозрачным приблизительно половину отверстия, которое находится рядом с центральным отверстием на дискете так, чтобы луч, который через него светит, пре- рывался чуть раньше. Этого хватит для чте- ния некоторых ранее нечитаемых дискет. Благодарности. Особая благодарность: Алексею Емелья- нову (AvE), Андрею Замесову, Сергею Юрину, Александру Микляеву, а также всем, кто вы- разил свои пожелания и замечания.