----------------------------------------------------------------------
                      UnrealSpeccy 0.36.1 by SMT
----------------------------------------------------------------------

        содержание

                0. введение
                1. возможности
                2. требования к системе
                3. управляющие клавиши эмулятора
                4. несовместимость
                5. приветы и благодарности
                6. лицензия


----------------------------------------------------------------------

        Эмулятор называется 'Unreal' из-за некоторых возможностей,
        которые недоступны на реальном ZX Spectrum - таких,
        как быстрая загрузка/выгрузка снапшотов, ускорение и т.п...

----------------------------------------------------------------------

возможности


  процессор
        Z80: все (не)документированные команды и флаги


  модели памяти

        Pentagon 128/512/1024 с 64K ПЗУ
        Scorpion 256/1024 с 64K ПЗУ
        Scorpion ПрофПЗУ с поддержкой SMUC (128/256/512K)
        KAY-256/1024 с 64K ПЗУ
        Profi 1024 ОЗУ/ПЗУ с memory mapper'ом
        ATM TURBO 1 v4.50 512/1024 ОЗУ, 64-1024K ПЗУ
        ATM TURBO 2+ v7.10 128/512/1024 ОЗУ, 64-1024K ПЗУ
        кэш 16/32K (#EFF7 bit3 - защита от записи в кэш)
        CMOS/часы(RTC):
          советская микросхема (512ВИ1, 64 байта, 1-й день - понедельник) или
          микросхема из IBM PC (DALLAS, 256 байт, 1-й день - воскресенье)
        часы и энергонезависимое ОЗУ (NVRAM) (24LC16) контроллера SMUC

  звук

        бипер и звук магнитофона

        AY-3-8910/YM2149: точная эмуляция, включая цифровой звук
        и нестандартные эффекты, но параллельные порты на R14/R15 не эмулируются

        Turbo-AY (Turbo-Sound): 2 микросхемы AY(или YM) по схеме PoS или NedoPC

        TurboSound FM: 2 микросхемы YM2203 (6 AY каналов + 6 FM каналов)

        режим 'use digital samples' (отсутствующий на реальном Спектруме):
        AY-музыка через цифровой плейер - играются три сэмпла
        с громкостями и частотами из соответствующих регистров AY

        режим 'pseudo-turbo': 2 запараллеленных микросхемы YM со сдвигом по фазе

        два ковокса - Pentagon (порт #FB) и Scorpion (порт #DD)

        SounDrive

        запись звука в WAV или VTX (VTX - хороший формат для AY звука, гораздо
        плотнее, чем PSG, но для него требуется lha.exe где-либо в %PATH%)

        General Sound - плейер MOD и звуковых эффектов через библиотеку BASS.
        Можно сохранить музыку, чтобы затем слушать её во внешнем плейере

        низкоуровневая эмуляция General Sound (внутренний Z80 на 12MHz,
        512Kb внутреннего ОЗУ, внутренние порты и ЦАПы)

        BASS даёт более высокое качество и больше каналов, чем низкоуровневая
        эмуляция. Низкоуровневая эмуляция нужна для программ, подменяющих
        фирменный плейер и использующих Z80 для своих целей. На практике
        BASS рекомендуется для игр, а низкоуровневая эмуляция - для продвинутых
        музыкальных/звуковых редакторов (RIFF tracker)

  графика

        множество фильтров, от быстрого simple до билинейной
        фильтрации, масштабирующей спектрумовское изображение до 512x384
        с 64 цветами;
        фильтр 'noflic' для программ, которые быстро переключают два экрана,
        чтобы получить больше цветов;
        несколько чанковых фильтров для демок XIX века

        замечательный фильтр 'Anti-Text64'. Предназначен для чтения прессы.
        На лету заменяет шрифты 4x8 на более приятные для глаз шрифты 8x8 и 8x16

        настройки Pentagon и Scorpion для мультиколорных эффектов,
        причём бордер обновляется с точностью до такта

        для эмуляции скорпионовских бордерных эффектов имеется режим
        обновления бордера раз в 4 такта

        режим nopaper для отладки бордерных эффектов

        flash-color (в каждом знакоместе при включенном бите FLASH можно выбрать
        один из 128 цветов ink на чёрном фоне)

        режимы высокого разрешения: Pentagon 512x192, Profi 512x240, ATM
        (работают только с фильтром 'double')

        цветные видеорежимы ATM-TURBO (только с фильтром 'double'):
        текстовый 80x25, EGA 320x200, мультиколор 640x200.
        Для смены шрифта текстового режима поместите SGEN.ROM в папку unreal.
        Не включайте border=none в видеорежимах ATM

        режим 384x304 компьютера Pentagon [см. ZX-Guide#2, AlCoNews#32]

        режим "цвет на точку" компьютера Pentagon [см. Info Guide#8, #9]

        аппаратный мультиколор

        порт атрибутов #FF


  настройка графики и звука горячими клавишами

        параметры графики (число тактов в кадре и в строке) выбираются и
        настраиваются клавишами grey+, grey-, grey* на цифровой клавиатуре

        t-states/frame (число тактов в кадре) позволяет подобрать скорость
        в слишком быстрых (или слишком медленных) играх

        комбинации alt+grey*, grey-, grey+ выбирают звуковой сопроцессор (AY/YM)
        и стереорежим (ABC/ACB), или же палитру


  дисковый интерфейс Beta 128

        все команды контроллера ВГ93 (WD1793), включая чтение/запись дорожки

        перехват чтения/записи секторов - ускорение более чем в 256 раз


  магнитофон

        полная поддержка TAP и TZX

        поддержка CSW

        выбор файла (tape browser)

        автозапуск ленты при обращении к стандартной процедуре чтения

        быстрая загрузка: UnrealSpeccy может распознать логику загрузчика
        и ускорить его путём пропуска циклов задержек и ожидания фронтов.
        Разумеется, UnrealSpeccy при этом не сбивает тайминги,
        так что для быстрой загрузки требуется включить max speed (NumLock).
        Таким образом, любую 128K игру можно загрузить за 10-20 секунд.
        Эта хитрость разработана независимо от RAMSOFT, но похоже, что
        RS 0.90.38 работает аналогичным образом.
        Для действительно быстрой загрузки включите видеофильтр 'normal'


  IDE

        UnrealSpeccy эмулирует IDE-интерфейсы компьютеров KAY, SCORPION и ATM-2 
        с двумя устройствами типа жёсткий диск/CD-ROM

        вместо реальных жёстких дисков можно использовать файл-образы.
        CD-ROM эмулируется через реальное устройство или через виртуальное,
        работающее на уровне операционной системы

        эмулируемые схемы:
        Nemo - контроллер для шины ZX-BUS, производившийся Nemo и NedoPC
        ATM - ATM TURBO 2+ v7.10
        Nemo(A8) - изменение схемы Nemo: использует A8 вместо A0, чтобы
                   выбирать старший/младший байт 16-разрядного слова (можно
                   считать сектор двумя командами INIR:INIR)
        SMUC - IDE-контроллер для компьютера ZS Scorpion

  модем

        Внутренний ISA-модем, настроенный на COM1 (порты 03F8-03FF,
        транслируемые на спектрумовские порты #F8EF-#FFEF).
        Прерывание от модема (NMI на Спектруме) не эмулируется.
        Требуется установить драйвер модема в Windows.
        Программа ping by Kamil Karimov проверена и работает
        при пустой строке инициализации модема (modem initialization string)


  устройства ввода

        полностью настраиваемая клавиатура
        вставка текста из буфера обмена через эмуляцию спектрумовской клавиатуры
        AY-mouse (мышь от КОРВЕТа, подключённая к порту A звукового сопроцессора)
        kempston mouse с настраиваемой скоростью и опцией обмена кнопок
        kempston joystick на клавиатуре
        kempston joystick на мыши (джойстик следует за курсором мыши)
        колесо и кнопки мыши можно привязать к любым клавишам
        клавиатуры Спектрума или кемпстон-джойстика
        джойстик для PC можно привязать к любым клавишам
        клавиатуры Спектрума или кемпстон-джойстика
        режим залипших клавиш (sticky keys) [взято из ZX_Emul, см. его описание]
        autofire (настраиваемая клавиша, настраиваемый период)

  файлы

        читаются:

           SP, SNA и Z80 (все версии, 48k и 128k)
           TAP, TZX, CSW
           FDI, TRD, SCL, TD0, UDI
                  если образ диска не содержит boot.B,
                  можно его автоматически добавлять.
                  Можно использовать загрузку образов дисков для
                  каждого из дисководов при запуске эмулятора
           формат HOBETA - файл добавляется на существующий диск;
                  если нет диска, создаётся пустой TR-DOS диск.
                  Удобно грузить из командной строки:
                  unreal.exe prog.$B prog.$C   <- будут помещены на один диск
                  Можно грузить хобетные файлы через меню 'F3',
                  но только по одному файлу

        записываются:

           SNA 48k и 128k
           TRD, FDI, UDI
           TD0  (записывается без сжатия, поэтому записанный файл, скорее всего,
                 будет больше считанного)
           SCR, BMP (скриншоты)
           WAV, VTX


        преобразование форматов:

           эмулятор может открыть образ диска в одном из форматов
           (TRD/TD0/FDI/SCL/UDI) и записать его в другом формате


  индикаторы

        1. громкость/состояние AY. Белый цвет - тон, жёлтый - шум,
           зелёный - огибающая; также отображаются громкости YM2203 и GS

        2. индикаторы performance. Один показывает, сколько тактов Z80
           прошло между двумя прерываниями. При просмотре демонстраций можно 
           увидеть, сколько времени занимает тот или иной эффект. Второе число -
           частота кадров PC - на нормальной скорости должно быть 50.
           Если оно меньше, то ваш компьютер слишком медленный, и вы слышите
           искажённый звук. Выберите более быстрый видеодрайвер и фильтр,
           отключите какие-нибудь устройства, увеличьте skipframe или убавьте
           t-states per int. При прогоне на max speed частота кадров показывает,
           насколько ваш компьютер быстр. Например, 800 fps - это в 16 раз
           быстрее, чем Spectrum, и средняя игра загрузится за 20 секунд.

        3. индикатор input. Показывает, какие устройства ввода опрашиваются -
           клавиатура, мышь, кемпстон-джойстик. Для клавиатуры показываются
           опрашиваемые полуряды. Пример: я заметил, что в интро к KOL0BOK2
           активны полуряды <B>-<SPACE> и A-G. <SPACE> - это выход, но почему
           программа опрашивает <A>-<G>? Я нажал <A> и увидел, что теперь
           программа опрашивает <Y>-<P>. После нажатия A+P программа опрашивает
           <CAPS>-<V>. После нажатия A+P+X активным остаётся только полуряд
           <B>-<SPACE>. Получается, что я нашёл cheat без залезания в код!
           (Можно было поставить breakpoint на чтение порта #FE и анализировать
           код в этом районе)

        4. индикатор loading. При записи/чтении диска эмулятор показывает
           синюю/красную дискету. При форматировании дорожки дискета жёлтая.
           При загрузке с магнитофона эмулятор показывает кассету и прогресс
           считывания текущего блока (или 'PS' - пауза в записи)

        5. local time - часы для тех, что проводит всё своё время с
           виртуальным Спектрумом

        6. on-screen watches - показывает банки ОЗУ и ПЗУ, использованные
           в последнем кадре; вычисляет выражения, определённые пользователем

        7. можно использовать лампочки на AT клавиатуре в качестве индикаторов
           громкости AY каналов


        индикаторы необычно окрашиваются в режиме flash-color. Это не глюк


  монитор-отладчик

        программа, называемая в мире PC "дебаггером", в мире Spectrum часто
        носит название "монитор"

        поиск текста или кода.
        Использует маску: совпадение, когда ((code & mask) == (pattern & mask))

        неограниченное число точек останова (breakpoints)

        остановы по условию (conditional breakpoints) любой сложности,
        используют Си-подобный синтаксис (через них можно реализовать останов
        по чтению или записи в порт определённого значения, по определённой
        команде процессора и т.п.)

        остановы по обращению к памяти (по чтению/записи/исполнению указанных
        областей памяти)

        встроенный ассемблер/дизассемблер Z80

        сохранение-загрузка областей памяти

        редактор образа диска (диск-доктор)

        ripper's tool: для извлечения процедур с их данными. Показывает, какие
        байты были считаны/записаны, и сохраняет всё адресное пространство
        процессора, забивая неиспользованные адреса указанным байтом
        (по умолчанию #CF)

        горячие клавиши сохранения/восстановления положения курсора в окне
        дизассемблера

        горячие клавиши перехода по адресу, указанному в команде - в окно
        дизассемблера или в окно дампа

        on-screen watches: показывают области памяти, адресованные
        регистровыми парами


  графический интерфейс (GUI)

        все настройки, имеющиеся в INI-файле, можно изменять в GUI
        (но они не сохраняются, для постоянного изменения редактируйте INI-файл)

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

        чтение из архивов. Поддержаны: CAB,ZIP,RAR.
        Можете добавить свои архиваторы в INI файле

----------------------------------------------------------------------

требования к системе

        Windows 95 и выше, либо NT (не проверялось).
        Для работы с реальными IDE устройствами требуется Windows 2000/XP/2003.
        

        для работы UnrealSpeccy требуется:

            Pentium-166 CPU MMX для минимального функционирования
            Celeron-266 CPU для режимов высокого разрешения
             Profi/Pentagon/ATM/Anti-Text64
            Celeron-400 CPU для низкоуровневой эмуляции GS
            UnrealSpeccy занимает всего 12Mb ОЗУ, так что
             если Windows запустился, то памяти хватает
            видеокарта с 2D ускорителем, поддерживающая video overlays и
             color keying for overlay modes
            видеокарта с 3D ускорителем для hardware chunky bilinear filter
            2 Mb видеопамяти в полноэкранном режиме (fullscreen)
            4 Mb видеопамяти в оконном режиме (windowed)
            16-битная звуковая карта [не обязательна, но рекомендуется]


        Если вы имеете соответствующее железо, но эмулятор тормозит,
        то попробуйте следующее:

            0. установите свежий directX и свежие дрова видеокарты
            1. увеличьте размер sound buffer (особенно для Win95) в INI-файле
            2. выберите video filter='small', video driver='ddraw'
            3. отключите vsync
            4. установите 'ShareCPU=0' в INI-файле
            5. отключите низкоуровневую эмуляцию General Sound
            6. отключите YM2203
            7. установите 'skipframe=4' в INI-файле
            8. установите 'Frame=30000' в INI-файле
               (если больше ничего не помогает)
            9. отключите звук (без звука эмулятор работает значительно быстрее)

        Это должно помочь


----------------------------------------------------------------------

управляющие клавиши эмулятора

перечислены клавиши по умолчанию, их можно сменить в INI-файле


Ctrl-F1         монитор-отладчик
Shift-ESC       для оконного режима: отдать мышь эмулятору или системе
Alt-F1          помощь по клавишам
F1              настройки/GUI
F2              записать снапшот/образ диска
Alt-F2          записать снапшот qsave1.sna
Ctrl-F2         записать снапшот qsave2.sna
Shift-F2        записать снапшот qsave3.sna
F3              загрузить снапшот/образ ленты/образ диска
Alt-F3          загрузить снапшот qsave1.sna
Ctrl-F3         загрузить снапшот qsave2.sna
Shift-F3        загрузить снапшот qsave3.sna
(SHIFT+)F4      выбрать видеодрайвер (фильтр)
Alt-F4          выход из эмулятора
F5              начать/закончить сохранение звука (WAV или VTX).
                Можно использовать из монитора: установите точки останова на
                начальных/конечных процедурах и записывайте;
                при записи vtx убираются паузы в начале и конце
F6              ввести POKE (одно или много)
Alt-F6          поиск изменённых значений в памяти (для cheat'ов и т.п.)
F7              запустить/остановить ленту
Shift-F7        выбор файла на ленте (tape browser)
Alt-F8          записать скриншот
F9              сохранить все изменённые образы диска и содержимое CMOS-часов
Alt-Shift-F11   NMI
Alt-F11         NMI в кэш
Ctrl-F11        NMI в TR-DOS ("magic")
F12             сброс в режиме по умолчанию, указанном в INI
Ctrl-Shift-F12  сброс в 128 бейсик
Ctrl-F12        сброс в TR-DOS (128)
Shift-F12       сброс в 48 бейсик с открытой верхней памятью
Alt-Shift-F12   сброс в 48 бейсик в режиме 48k
Alt-F12         сброс в системную страницу ПЗУ
Ctrl-Alt-F12    сброс в кэш
pause/break     пауза
grey/           индикаторы on/off
grey*           выбор параметра для изменения: t-states/int (скорость), fix...
Alt+grey*       выбор параметра для изменения: AY/палитра
grey+,grey-     настройка выбранного параметра (с SHIFT'ом более тонкая)
NumLock         максимальная скорость (max speed) on/off (в max speed нет звука)
Alt-NumLock     autofire on/off
Alt-Ctrl-Z      on/off контроллер клавиатуры XT(AT) компьютера ATM
Alt-Enter       полноэкранный режим on/off
Alt-Shift-Ins   вставить текст из буфера обмена через эмуляцию клавиатуры Спектрума
Alt-1           установить размер окна 1x в оконном режиме
Alt-2           установить размер окна 2x, полезно для режимов, использующих 
                графический ускоритель, таких как overlay и blitter
Alt-3           максимизировать окно


клавиши в мониторе-отладчике

(CTRL,SHIFT,ALT+)F1,F2,F3,F5,F11,F12 - см. выше
Ctrl-F1         выход из монитора в программу
F7              шаг (выполнить одну команду процессора)
F8              шаг без трассировки подпрограмм и циклов
F9              показать экран Спектрума
Shift-F9        показать неактивный экран 128k Спектрума
Alt-F9          показать экран до текущей отрисованной точки, с бордером,
                мультиколорами и двухэкранными эффектами
F11             запустить программу с остановом в точке (SP)
TAB             следующая панель
SHIFT-TAB       предыдущая панель
Alt-D           переключение текст/дамп
Alt-B           изменить значение в порту 7FFD (выбор банка / экрана)
Alt-M           изменить значение дополнительного порта памяти (#1FFD,#FDFD,#DFFD,...)
Alt-P           ввести POKE (одно или много)
Alt-F6          поиск изменённых значений в памяти (для cheat'ов и т.п.)
Alt-R           загрузить область памяти из файла
Alt-W           записать область памяти в файл
Alt-F           заполнить область памяти указанной последовательностью
                (чтобы скопировать область памяти, запишите её, потом загрузите)
Alt-G           состояние General Sound (двойной щелчок мышью - играть сэмпл)
Alt-T           выдиралка процедур (ripper's tool)
Alt-O           настройка on-screen watches
Alt-U           дизассемблирование в файл
Alt-S           переключение скриншот (отрисованный с мультиколорами и т.п.) /
                дамп экрана (изображение экранной памяти) / watches
Alt-F           отрендерить текущий кадр в видеобуфер без мультиколорных
                эффектов и т.п.
Ctrl-U          установить произвольный адрес для watch
Ctrl-L          показ меток, видимых для Z80 в текущем состоянии диспетчера памяти
Ctrl-J          переход по меткам
Alt-C           менеджер точек останова (breakpoints)
Alt-Y           переключить активный звуковой сопроцессор в режиме Turbo-Sound


       менеджер точек останова оперирует тремя типами точек останова:

       1. условные остановы (conditional breakpoints) и on-screen watches
       используют Си-подобный синтаксис выражений.

       операции (перечислены в порядке убывания приоритета):
         () ! ~ M(x) -> * % / + - >> << > < == = <= >= != & ^ | && ||
       операнды:
         a,b,c,d,e,h,l,bc,de,hl                 - основной набор регистров
         a',b',c',d',e',h',l',bc',de',hl'       - альтернативный набор регистров
         ix,iy,pc,sp,i,r                        - прочие регистры
         FD     - порт памяти #FD (также известен как #7FFD)
         OUT    - порт, использованный в команде OUT (или 0FFFFFFFF, если OUT не было)
         IN     - порт, использованный в команде IN (или 0FFFFFFFF, если IN не было)
         VAL    - значение, считанное/записанное в порт (имеет смысл, только
                  если OUT != 0FFFFFFFF или IN != 0FFFFFFFF)
         числа  - шестнадцатеричные, должны начинаться с цифры: DFFD - нельзя, 0DFFD - можно
         коды символов - заключаются в апострофы ('A','B' и т.п.)
       Все вычисления производятся в 32-битной беззнаковой целой арифметике.
       Если вы плохо знакомы с Си, ставьте скобки, где возможно,
       т.к. приоритет операций неинтуитивен, например:
       out & 0FF == 0FE   понимается как 'out & (0FF == 0FE)' <- всегда 0

       M(x) - байт, считанный из адреса x (можно записать как x->0)
       '=' - то же, что '==' (для паскалистов)

       Примеры:

           (out+1) | (in+1)       - IN/OUT в любой порт
           (in & 8001) == 0       - чтение клавиш от <B> до <SPACE>
           !(out & 1)             - любой вывод в порт #FE
           (out & 0FF)==0BB && (val==0F3 || val==0F4) - сброс General Sound
           (out & 0FF)==0FD && (val&7)==3   - установка 3-й банки памяти
           (FD & 7) == 3                    - то же самое
           M(pc)==0CB && pc->1 >= 10 && pc->1 <= 17
                - останавливается во время выполнения команды RL <reg>

       Надеюсь, этих примеров достаточно для понимания идеи

       Чтобы редактировать точку останова, щёлкните на ней мышью два раза

       2. точки останова по адресам (также ставятся в окне дизассемблера кнопкой
          "пробел"). В окне менеджера точек останова легко расставить точки
          останова на большой диапазон памяти, например, 6000-FFFF

       3. остановы по чтению/записи памяти. Похожи на остановы по адресам,
          но имеют флаги "R" и "W", означающие останов по чтению/записи
          указанных адресов памяти (можно установить оба флага)


монитор: окно регистров

стрелки         выбор регистра
ENTER,0-F       изменение значения регистра
Ctrl+A,F,B,D,H,S,P,X,Y,I,R,M,1,2
                изменить A,F,BC,DE,HL,SP,PC,IX,IY,I,R,IM,IFF1,IFF2
Alt+S,Z,5,H,3,P,N,C              
                переключить соответствующий флаг
'               перейти в панель дизассемблера к адресу под курсором
;               перейти в панель дампа к адресу под курсором


монитор: панель дизассемблера (CPU window)

F4              выполнение программы до адреса под курсором
Alt-F7          поиск текста
Ctrl-F7         поиск кодов с учётом маски
HOME            перейти на адрес PC
Ctrl-G          перейти на указанный адрес
SPACE           установить/снять точку останова под курсором
ENTER           редактировать команду Z80, её код или текущий адрес
A-X             ввести команду Z80
Z               установить PC на адрес под курсором
Ctrl-1,.,Ctrl-8 запомнить адрес курсора в спецячейку 1..8
1-8             запомнить адрес курсора в спецстеке и перейти к адресу,
                ранее запомненному в спецячейке 1..8
Backspace       вернуть курсор по запомненному в спецстеке адресу
'               запомнить адрес курсора в спецстеке и перейти в панели
                дизассемблера к адресу, указанному в команде под курсором
;               перейти из панели дизассемблера в панель дампа
                к адресу, указанному в команде под курсором
Ctrl-A          чтение меток из XAS или ALASM, используя 3 метода:
   1. XAS7: ассемблер должен лежать в банке 6 (или #46 для Pentagon-512)
   2. ALASM: версия 4.42-5.0x должна лежать в 128k памяти (банки 1-7)
   3. ALASM+STS: STS должен лежать в банке 7 (или #47 для Pentagon-512)


монитор: окно дампа (memory window)

Alt-F7          поиск текста в памяти / дорожке диска
Ctrl-F7         поиск кодов с учётом маски в памяти / дорожке диска
стрелки,Home,End,PgUp,PgDn       движение курсора
Ctrl-G                           перейти на указанный адрес
Ctrl-M                           включить редактирование памяти
Ctrl-V                           включить редактирование диска (физической дорожки)
Ctrl-O                           включить редактирование диска (логических секторов)
Ctrl-T                           выбор диска/дорожки/сектора при редактировании диска
Ctrl-TAB                         переход между дампом и текстом
Ctrl+S,P,B,D,H,X,Y               перейти по адресу SP,PC,BC,DE,HL,IX,IY
прочие клавиши                   редактирование

монитор: панель дискового интерфейса Beta 128

здесь обычный набор индикаторов дискового контроллера
CD:1820
STAT:21
SECT:09
T:01/01
S:3C/00

первая строка - команда и регистр данных (1820 - переход к дорожке #20)
2-я - регистр состояния (status)
3-я - регистр сектора
4-я - реальное положение головки дисковода и содержимое регистра дорожки
5-я - системный регистр Beta disk и порт для чтения DRQ/INTRQ (порт #ff)

----------------------------------------------------------------------

несовместимость


   некоторые программы, такие как Manic Miner и Lode Runner, требуют
   старое (1982) 48K ПЗУ; можете взять его из других эмуляторов и
   сослаться на него в настройках 'ROM'

   некоторые TR-DOS программы (Unreal Megademo by KSA, Street Fighter)
   работают только если перехват процедур TR-DOS (TR-DOS traps) выключен
   и включены задержки (delays)

   сервисное ПЗУ Profi работает только при включенных задержках TR-DOS

   Bumpy не работает в конфигурации по умолчанию, т.к. пытается читать
   кемпстон-джойстик через порт #FFDF - выключайте kempston mouse перед
   запуском этой игры [bug found by Paul Pavlov]

   sounddrv=wave не работает на CTSB128PCI (Creative Sound Blaster)
   из-за глюка в драйверах этой звуковой карты. [bug found by Nuts]

   некоторые адвентюры, созданные в ABS (ALIEN.SCL, LENIN.SCL) не работают на
   TR-DOS 5.04TM, используйте версию 5.03 - самую совместимую [bug found by Paul Pavlov]

   Vixen 1,2,3 - несовместимы с SounDrive [bug found by Paul Pavlov]
   Fernandez - несовместимо с SounDrive [bug found by Shadow Maker]

   port #FF иногда не отвечает при SkipFrame!=0
   (то же самое при SkipFrameMaxSpeed!=0 в режиме max speed)

   Кнопка 'MAGIC' на компьютере Scorpion генерирует NMI даже при PC < #4000,
   но теневой монитор не рассчитан на это и может сглючить

   CacheVox by AlCo требует включения TR-DOS задержек и [BETA128] IL=1

   Если в эмуляторе после возвращения фокуса залипает клавиша, следует нажать
   Scroll Lock, деактивировать мерцающую клавишу, потом снова нажать
   Scroll Lock.

   Если в эмуляторе после возвращения фокуса неадекватно работают управляющие
   клавиши, следует нажать Enter, и работа клавиш исправится.

   Если эмулятор виснет при работе с General Sound, попробуйте DSPrimary=0.

   Если эмулятор вываливается при работе с General Sound, попробуйте GSType=Z80.

   Если Kempston Joystick не работает, войдите в меню, нажмите там NumLock,
затем вернитесь из меню.

Качайте sys.trd (для дисковода B:) с http://alonecoder.narod.ru/zx/SYS.rar
Качайте xBIOS для ATM Turbo2+ с http://atmturbo.nedopc.com/
Качайте BASS.DLL v2.3 с http://www.un4seen.com/ 
Возьмите WNASPI32.DLL из Ahead Nero или с веб-сайта Ahead

----------------------------------------------------------------------

приветы от SMT:

   * dj.Z, IMP и MIC - мне очень нравится ваша музыка !
   * Nik-O и Fatal Snipe - за верность AY сцене
   * Hacker KAY - спасибо за самую точную информацию про AY/YM
   * Paul Pavlov - собрал самый (сейчас уже не самый) большой TR-DOS архив
   * Raul Gomez Sanchez (автор R80)
   * Stalker - спасибо за STS
   * Placebo, Extreme, Digital Reality, CBS - за качественные демки
   * V_Soft (Roman Scherbakov) - за формат Vortex
   * Sergey Bulba - за AY_Emul
   * Alone Coder - you keep Spectrum alive
   * Ian Luck - спасибо за BASS
   * SirX - просто привет
   * всем фанатам ZX Spectrum - Speccy is da best!


особая благодарность людям, заинтересованным в развитии UnrealSpeccy и
присылавшим информацию о железе и софте:

   * Maxim Vasilyev - присылал много багрепортов
   * Mac Buster - информация про дисковый интерфейс Beta 128
   * Shiru Otaku - прислал GSPAK.ZIP
   * Alexey Kravchenko - прислал скорпионовские тайминги
   * Vitaliy Pigo - тестирование и замеры скорости
   * Alex Baskakov - помог с форматом TD0
   * Alone Coder - прислал много информации о пентагоновском железе
   * Dexus - интегрировал поддержку YM2203
   * Maksagor - информация про ATM
   * многие другие, кто присылал письма с благодарностями/предложениями и т.п.

----------------------------------------------------------------------

лицензия

        UnrealSpeccy распространяется совершенно свободно. Вы можете
        использовать эмулятор и его исходники без всяких ограничений.
        Вы можете использовать исходники UnrealSpeccy в своих эмуляторах.
        Вы можете выпускать исправленные/новые версии UnrealSpeccy.
        В этом случае вы не обязаны распространять исходный код (в отличие,
        например, от требований GNU Public License).
        Вы можете портировать эмулятор на любую другую платформу
        (но здесь много специфических для MSVC конструкций языка,
        поэтому сборка другим компилятором затруднительна)


Адреса текущего разработчика: alone_coder!mail.ru, dmitry.alonecoder!gmail.com
Все багрепорты и предложения присылайте сюда.

