Xpeccy

Материал из SpeccyWiki
(перенаправлено с «SAMulator»)
Перейти к: навигация, поиск

Xpeccy (до 2011г SAMulator) - мультиплатформенный эмулятор ZX Spectrum (и не только). Разработка была начата 09 февраля 2009 года, в качестве эмулятора для Linux, и продолжается по настоящее время. С 1 марта 2011 исходники открыты (первый коммит на GitHub). Эмулятор построен на основе Qt/SDL/OpenGL, и имеет сборки под Linux, Windows и Mac OS X.

Кроме ZX Spectrum-совместимых компьютеров умеет эмулировать NES, GameBoy, и до какой-то степени MSX, Commodore, БК0010, и Специалист. В эмуляторе нет четкого понятия "модели компьютера", он является конструктором, в котором можно выбирать отдельно платформу (обвеску портов + графическую подсистему), центральный процессор, набор ПЗУ, объем ОЗУ, параметры видеокадра, и набор устройств (и сохранить это как отдельный профиль оборудования). Т.е. в нём можно "запустить" Спектрум с процессором от БК0010.


Возможности

  • Процессор:
    • Z80: все (не)документированные команды и флаги
    • + процессоры i8080, LR35902, MOS6502, 1801ВМ1
  • Платформы:
  • CMOS/часы(RTC)
  • Звук:
    • Бипер и магнитофон
    • AY-3-8910/YM2149: точная эмуляция, включая цифровой звук и нестандартные эффекты
    • TurboSound: схема NedoPC, схема Spectrum Next (три чипа)
    • Covox по стандартам Pentagon и Scorpion
    • SounDrive
    • General Sound
    • Philips SAA1099
    • Запись звука в WAV
  • Графика:
    • Точные настройки кадра для мультиколорных эффектов (48/128/Pentagon)
    • Замедленная память
    • Порт атрибутов #FF
    • Дополнительные графические режимы:
      • Pentagon 16col (отдельный цвет для каждой точки)
      • Profi 512x240
      • Режимы ATM (текстовый 80x25, EGA 320x200, мультиколор 640x200, палитра DDp)
      • Режимы TS-Config (текстовый, графические 360x288, 320x240, 320x200, 256x192, 16/256 цветов на точку, VDAC1)
    • ULAplus
    • GLSL шейдеры для имитации различных видов CRT экранов
  • Дисковые интерфейсы:
    • +3DOS, эмуляция контроллера uPD765
    • Beta 128 TR-DOS, эмуляция контроллера ВГ93 (WD1793)
    • Ускоренный режим с минимальными задержками при чтении/записи
  • Магнитофон:
    • Поддержка чтения/записи TAP, WAV и чтения TZX.
    • Быстрое чтение/запись и автозапуск ленты через перехват обращений к стандартной процедуре в ПЗУ
  • IDE-интерфейс по схемам Nemo, Nemo A8, Nemo Evo, SMUC, ATM, Profi (через файлы-образы)
  • SD-карты (для ZX Evolution и TS-config)
  • Устройства ввода:
    • Полностью настраиваемая клавиатура
    • Kempston joystick с 1/4 кнопками (как через мэппинг с геймпада, так и через клавиатуру)
    • Kempston mouse
  • Используемые форматы файлов/образов:
    • +3DOS: DSK
    • +TR-DOS: TRD, SCL, TD0, FDI, UDI, Hobeta файлы
    • Tape: TAP, TZX, WAV
    • Воспроизведение действий пользователя (RZX)
    • Образы: SNA, Z80, SPG (расширенный образ для TS-Conf), BIN (файл картриджа)
  • Встроенный отладчик:
    • Отображение длинных меток, и меток со смещением (при самомодифицирующемся коде)
    • Комментарии в списке дизассемблера (по аналогии с метками)
    • Загрузка/сохранение файла меток; добавление комментариев, новых меток, удаление
    • Разметка областей памяти на код, байты/слова, строки (+ автоматически, по ходу выполнения)
    • Загрузка/сохранение файла меток+комментариев+разметки
    • Сохранение дизассемблированного текста с учетом созданных меток и разметки
    • Отображение реального местоположения луча на эмулируемом экране
    • Визуальное отображение текущей "волны" с магнитофона
    • Отображение текущих внутренних значений AY/YM и бипера (со сглаживанием положения диффузора)
    • Внутренние регистры контроллеров диска и дисковода
    • Брейкпоинты на участки памяти на исполнение/чтение/запись, на ввод-вывод с портов по маске, на прерывания
    • Загрузка/сохранения файла брейкпоинтов
    • Отображение в отдельном окне в реальном времени содержимого регистров и фрагментов памяти

Ссылки