Эмуляторы ZX-SPECRUM на IBM
(С) Олег Борейко. (с) 1996
СТРАНИЧКА
ОБЪЯВЛЕНИЯ
Клуб любителей SPECCY - Actio group производит продажу и обмен программного обеспечения на дисках Для ZX - SPECTRUM 48/128. Наш банк программ самый объемный на Украине. Низкие цены, гибкая сис тема скидок. Организуем филиалы в городах Украины.
Наш адрес:
348033 Украина, г. Луганск, квартал Шевченко, д. 123 кв. 40. Клубову Владимиру Николаевичу.
Наши хаккеры из Севастополя сделали версию INSTRUMENT, работающую и на Scorpion'е. Для тех, кому нужна эта рограмма я готов поделится информацией как ее при обрести.
и еще. Если кому нужно нарисо вать спрайты или заставку к программе - пишите.
335014 Крым г. Севастополь пр. Героев Сталинграда д 21, кв. 20 GRUNGES0FT тел. (0690) 41-15 69 (Сергей)
эмуляторы ZX-SPECTRUM с TR-DOS, поскольку в последнее время прак тически все ПО для спект ума адаптировано, либо специально разрабатывается под TR-D0S.
Долгое время наиболее извес тен был один эмулятор под названием Z80, автор G.A.Lunter. Нидерланды. Версия 3.02 написана в 1994 году. Главным недостатком этого эмулятора было отсутствие поддержки TR-D0S, поскольку на западе TR-D0S не получил распространения. Существовала сложная методика переписывания файлов с дисков TR-D0S на винчестер и адаптация их в формат виртуальной ленты, при этом приходилось вы поднять работу обратную адаптации , прогр мм на диск, поэтому данный способ распространения не получил. Но время не стоит на месте и Данная статья предназначена вот в 1995 год эмулятор Z80 был в основном верным поклонникам адаптирован к TR-D0S В. А. Мочали ZX-SPECTRUM. которые в силу раз- ным. Теперь вам достаточно загру-ных причин перешли или собираются зить эмулятор, вставить дискету в переходить на IBM Вам совершенно дисковод и можно забыть, что пе-необязательно бросать свой люби- ред вами не настоящий спектрум, а мьй компьютер, больше того, вы программа-эмулятор, можете спокойно предать, подарить Вторым попавшимся мне эмуля-V.JW обменять свой ZX-SPECTRUM. тором был SPECTRUM. EXE (по имени расширив тем самым круг любителей исполняемого файла), автор -этого замечательного компьютера. Н.В.Шалаев (версия 2.00). Основ С помощью программ-эмуляторов вы ным как недостатком, так и преи-можете сделать из IBM почти нас- муществом данного эмулятора явля т ящий СПЕКТРУМ с музыкальным ется режим виртуального диска сопроцессором (если у вас есть Непосредственно с дискетой эмуля музыкальная карта совместимая с тор не работает, он работает с SOUND BLASTER), TR DOS, 128K па- файлом-образом диска TR-DOS на мяти плю дополнительно еще куча винчестере. Непосредственно в возможностей Именно о современ эмуляторе есть возможность пере-ных эмуляторах ZX-SPECTRUM я и писать диск в файл и обратно. При попытаюсь рассказать основываясь этом нужно учесть, что формат на личном опыте работы с ними. диска должен быть стандартным Итак, прежде всего для тех, так что можно забыть об IS DOS ктс вообще не знает что такое всякого рода защищенных дисках эмулятор, объясню: эмулятор- это типа SpecIгоfon и т.д. Зато вы самая обычная программа для IBM. можете переписать все свои обыч Запустив такую программу-эмуля- ные диски на винт и забыть, чте у тор, вы. в идеале, должны увидеть вас есть дисковод. Последняя вер-перед собой точный аналог сия расширена поддержкой музы ZX SPECTRUM Практически, добить- сального сопроцессора В процессе ся 100% точности невозможно но работы эмулятора можно быстро пе учтите, что зачастую даже разные реключаться между виртуальными модели СГЕКТРУМА несовместимы дисками-файлами Дополнительная между собой, хотя у всех один и возможность максимальная ско тот же процессор рость эмуляции TR-D0S. Программа. _ Нас в основном интересуют которая в обычном спектруме заг-
ружается в память за десяток секунд а то и больше, здесь стартует мгновенно, за минуту можно просмотреть диск с десятком программ.
Наиболее полно эмулирует работу TR-D0S эмулятор под названием UK' SPECTRUM DEBUGGER, версия 1.0. Под ним запускается iS-L'OS, словари с нестандартным форматом диска, но команда чтения дорожки (она есть в перечне ксманд ВГ-93, но отсутствует на IBM) эмулируется неточно, так что с защищенными дисками проблема. Отличительная особенность данного эмулятора -встроенный отладчик наподобие Turbo Debugger Нажав на клавишу ESC в любой момент времени вы попадаете в отладчик и можете изучать работу программы изнутри. Список возможностей стандартный -трассировка, установка точек останова, поиск, изменение в памяти как побайтово, так и целыми мне мониками. Честно говоря сделано все не очень удобно, популярный монитор STS выглядит намного привлекательнее и обладает большими возможностями. Впрочем, вам никто не мешает запустить STS, как на обычном спектруме.
И наконец, последний из известных мне эмуляторов ZX-SPECT.EXE (автор - Тарасенко Ю.Р., Кировоградская область) эмулирует ZX-SPECTRUM 48 с TR-D0S. Здесь тоже есть отладчик, при этом четверть экрана занимает сам экран спектрума, а остальное отладочная информация (регистры и т д.) Этот эмулятор работает как с виртуальными дисками, так и с дискетами, музыкальный сопроцессор не поддерживается. Наиболее полезной является утилита работы с дисками DISKMAKE, поставляемая вместе с эмулятором. С ее помощью можно форматировать диски. переписывать диски в файл и наоборот, а также переписывать на винт отдельные файлы с дисков TR-D0S (аналог утилиты НОВЕТА. ЕХЕ от эмулятора Z80).
Каждый из перечисленных эмуляторов имеет свои достоинства и недостатки, так что рекомендовать какой-либо один достаточно сложно. Сначала общее для всех эмуляторов
Если с эмуляцией центрального процессора эмуляторы справляются Без проблем, то микросхему ULA. управляющую всеми внешними устройствами спектрума (в отечественных разработках она заменяется рассыпухой из пары десятков микросхем логики) точно проэ-мулировать пе удается. Вам уже никогда не удастся увидеть новомодные мультиколорные, бордюрные эффекты, да что там говорить, даже скроллеры будут вести себя не так, как задумывались авторами. Добиться того, чтобы каждая команда Z-80 выполнялась столько же времени, как в реальном процессоре очень сложно, а зачастую просто невозможно - отсюда замедления работы эмулятора при активном пе реключении страниц памяти, второго экрана, эмулятор Z80.ЕХЕ тормозится при проигрывании музыки для АУ. причем оцифрованную музы ку (из DIGITAL PLAYER) мне так -и не удалось услышать ни на одном из эмуляторов, голос (R0B0C0P 1) звучит также ужасно. Еще хуже дело обстоит с эмуляцией TR-D0S. Я уже упоминал, что с нестандартными дисками работает только один эмулятор, а с защищенными и вообще говорить нечего аппаратные проблемы. Но даже если у вас диск в самом что ни на есть стандартном формате без защиты, то и тут возможны проблемы. Первая из них опять таки в аппаратных вопросах у дискет TR DOS не читается первый сектор - он записан слишком близко от начала индексного отверстия. На практике все зави сит от форматировщика, которым были отформатированы диски на ZX-SPECTRUM и от контроллера дис ковода на вашем IBM. У меня нор мально читались диски отформатированные ADS, FUT, HONEY COMMANDER а вот команда tR-DOS "FORMAT" создавала нечитаемые диски. В этом случае рекомендуется восстановить диск на спектруме одной из вышеперечисленных дисковых утилит. или если вы уже успели продать свой спектрум (быстро спра бились), то есть хитрый способ-чем-то непрозрачным на дискете заклеивается половина индексного отверстия этого достаточно, чтобы прочитались нечитающиеся сектора. Вторая проблема - в процедурах нестандартной загрузки с диска с использованием прямого программирования ВГ93 в обход роцедур TFLD0S. При этом на спектруме вс время загрузки может играть музыка, бежать скроллер и т.п. а ваш эмулятор просто зависнет на какой-либо операции TR-DOS. В частности мне не удалось запустить известную демоне трационку INSULT ни на одном из эмуляторов. Особенно страдает несовместимостью TR-DOS эмулятор Шалаева
Ну'а теперь поговорим о приятном Если у вас мощная машина (486 или PENTIUM) вы можете уско-ить работу эмулятора в несколько аз. На моем 486-133 мне удавалось получать семикратное увеличение скорости работы. При этом курсор просто летает по крану, из меню невозможно ничего выбрать, но если какая-то программа ну очень медленно считает - ускорение может помочь. На практике достаточно задать скорость большую в 1.5 - 2 раза бсльше, чем на стандартном ZX SPECTRUM и все тормозящие трехмерные программы начинают работать удивительно быстро. В некоторых эмуляторах можно задавать и частоту следования прерываний. Одновременно вы нужден разочаровать владельцев металлолома с 286 и 386 процессо рами. Достичь более менее нормальной скорости работы эмулятора (хотя бы как у реального спектру-ма) удается лишь на 386 DX40, так что это - необходимый минимум.
Еще одно преимущество эмуляторов - snapshot-файлы. Они представляют собой что то вроде MAGTC-файлов в TR-DOS. . однако зятся мгновенно и стопроцентно отоспособны в отличие от часто портящих программы "магиков" С помощью snapshot-файла вы можете пройти любую стрелялку-бегалку за пол-часа, записываясь после каждого удачного шага (боя, рыж-ка и т д.)
Программисты и хаккеры долж ны оценить встроенный монитор в UKV DEBUGGER защити гься от него программе невозможно, в то время как в программах стали ставить защиту и от TURB0-90 и от тенев -го сервис-монитора компьютера СКОРПИОН.
Теперь коротко о преимущест вах и недостатках каждого эмулятора. Z80.ЕХЕ хорошо эмулирует процессор, ограниченная эмуляция TR-DOS. нет режима работы с виртуальными дисками, замедляется при выводе мелодии на сопроцес сор, работает со snapshot файлами.
SPECTRUM.ЕХЕ - работает только с виртуальными дисками, но делает это очень быстро, нормально эмулирует музыкальный сопроцессор. нет возможности работы со snapshot-файлами, нормально работает с WINDOWS 95. у остальных эмуляторов возникают разные проблемы от нечитания дисков до странного убыстрения работы.
JKV DEBUGGER - работает с дисками нестандартного формата есть встроенный отладчик, поддерживает snapshot-файлы, эмулирует музыкальный сопроцессор, не jабо тает с виртуальными дисками.
ZX SPECT ЕХЕ - эмулирует только спектрум 48 без сопроцессора, не работает с виртуальными дисками и snapshot-файлами, есть встроенный отладчик.
Как видите идеала нет, но авт ры каждого эмулятора обещаю выпустить новые версии с новыми возможностями, так что будем на деяться
У себя я все спектрумовские диски храню на винте, и, соот ветственно пользуюсь эмулятором Шалаева. Если встречается прог рамма, не работающая на этом эмуляторе, я записываю целиком виртуальный диск на дискету и з пу каю под другим эмулятором, д я форматирования дисков я пользуюсь про раммой ANADISK утилита для копирования нестандартных дисков и форматирования - она работает быстрее всего и наиболее неприхотлива к аппаратному окружению, хотя можно использовать DISKMAKE
Для переписывания виртуальных дисков на дискеты я написал небольшую утилиту (весь процесс за нимает 45 секунд). В целом эмуляторы еще далеки от совершенства, но даже на сегодняшний день могут вполне заменить реальный спект-рум
РЕД: Переход на более мощную и совершенную платформу это всегда приятно, а если такой переход происходит без ущерба наработкам, к торые получены еще на добром старом Speclrum-e, mo это приятно вдвойне. Если Вам удается одинаково хорошо организовать работу на обоих компьютерах, то мы за Вас рады.
Не секрет, что уде давно более мощные комрьютеры используют как основу для работы с более проспит, но незаменимыми устройствами. Так. например, никому не прийдет сейчас в голову разрабатывать программу, "зашиваемую" в ПЗУ некоторого устройства на модели самого этого устройства. Если необходимо построить работу некоторой микропроцессорной системы. то ее проекпгируют в специ ально написанном эмуляторе данн, -го устройства. Так и со Spectrum-ом: что бы написать, не пример, сложную и краси^т л.spy с минимальными затрате ::ч вр :°ни и средств, используют а»улятор, работающий на более мощной платформе.
Исходя из таких положений, хо-юшего эмулятора Spectrum а на IBM будет вполне достаточно для удовлетворения нужд программиста и пользователя любого уровня Но, в этом вопросе есть свои "подводные камни". Дело в том, что все работа эмулятора происходит довольно гладко пока не возникает работа со специфическими устройствами. Так, любому из известных мне эмуляторов черезвычайно тяже ло работать с дисководом (здесь авторы пускаются на всяческие
тения, что бы обойти эту проблему). Поэтому, если основа Вашей работы - защита, взлом и просто работа с защищенными или не тандартньши дискетами, то Ва ших требований не удовлетворит не один из эмуляторов.
Примечание. Нам известно, что примерно год назад в г. Харькове силами неизвестных нам программистов должен был выити эмилято решающий эту прблему. На данный продукт была названа цена 50S. Из интереса мы пытальсь выйти на г торов, но безуспешно. Позднее ц нас сложилось мнение, что сущi г-вованне такого эмулятора со. и-тельно, так как среди коi хнд контроллера дисков для IBM отсутствует такая важная команда, как запись дорожки. Эмулирование же этой команды связано с большими временными затратами и не может происходить однозначно. (Для специалистов: попробуйте сравнить работу иниверсальньtx копир вщиков MC_Donald для Spectrum и FDA д.пя IBM - у второго, вообще говоря, скопированная информация сильно отпичаеся от исходной)
Таким образом, мы приходим к выводу, что наиболее правильным и уместным будет использование вместо эмулятора сам Spectrum. При этом возникает только одна проблема организовать удобное взаимодействие Spectrum-a и IBM.
В любом случае плата Spectrum-a находится в одном корпусе с IBM.
Возможны варианты.
1. Платы используют общий блок питания, общие дисковады. клавиатуру, монитор и т п.. но могут включаться только попеременно ( с помощью переключателя).
2. Платы используют один блок питания, общие устройства (устройства снабжены переключателями с одной платы на другую). В этом случае платы могут работать одновременно либо раздельно.
3. Платы работают одновременно, но с разными или с переключаемыми устройствами и кроме того есть возможность взаимодействия плат по поргу. например, принтера.
Кто считает своим долгом поделиться своими соображениями на этот счет, пишите Ткачу Николаю.