BrMSX (BrMSX)

Перейти к навигации Перейти к поиску
BrMSX
Скриншот программы BrMSX
Тип Эмулятор
Разработчик Ricardo Bittencourt
Операционная система MS-DOS
Первый выпуск 1997
Последняя версия v2.10 (1 февраля, 2003)
Сайт tech.groups.yahoo.com/gr…

BrMSX — эмулятор бытовых компьютеров стандарта MSX, созданный Рикардо Битенкуром (Ricardo Bittencour). Предназначался для IBM PC-совместимых компьютеров под управлением операционной системы MS-DOS. Первая версия была выпущена в 1997 году, и на тот момент являлась наиболее быстрым и точным эмулятором MSX. В настоящее время поддержка эмулятора прекращена.

В 1997 году эмуляция MSX находилась в начальном состоянии. На тот момент уже существовали эмуляторы fMSX и CJS MSX, однако они были недостаточно точными и быстрыми, не позволяя запускать любое ПО для MSX на доступных в то время компьютерах.

Основной целью при создании BrMSX являлось решение проблем совместимости и скорости. При эмуляции процессора Z80 учитывались все его особенности, включая недокументированные флаги. Точность эмуляции Z80 проверялась с помощью теста ZEXALL. Помимо точной эмуляции процессора, учитывались недокументированные особенности видеоконтроллеров TMS9918A, V9938 и V9958, а также микросхемы звукогенератора General Instruments AY-3-8910 (PSG).

Высокая скорость эмуляции была достигнута за счёт написания всего кода эмулятора на языке ассемблера, с использованием некоторых трюков. Наиболее эффективным из них была реализация алгоритма dirty rectangles (известная как video cache), используемого для быстрого обновления изображения на экране. Для работы эмулятора на полной скорости было достаточно конфигурации ПК с процессором Intel 486SX с частотой 25 МГц. По отзывам пользователей, для некоторых игр работа на полной скорости также была возможна с процессором 386DX с частотой 40 МГц. Также для работы требовалось 2 МБ ОЗУ (4 МБ, если требовалась эмуляция дисковода), и видеокарта VGA, имеющая минимум 256 КБ видеопамяти. Эмулятор также имел поддержку процессоров Pentium и Pentium MMX, видеорежимов SVGA (через VESA 2.0), и звуковых карт Sound Blaster или 100 % совместимых (при отсутствии звуковой карты звук воспроизводился через встроенный динамик).

Разработка BrMSX началась в сентябре 1997 года, и первая версия была опубликована в ноябре того же года. Название эмулятора имеет двойное значение. Буквы Br являются первыми буквами слова Brazil (Бразилия), указывая таким образом на страну, где был создан эмулятор. Также, эти буквы являются инициалами автора, Ricardo Bittencourt.

Логотип программы, созданный Raul Tabajara, использует образы как MSX (шрифт, похожий на использованный в логотипе игры Aleste), так и флага Бразилии (круглый щит с изображением неба Бразилии). Иконка мыши, используемая в пользовательском интерфейсе, изображала клавиатуру компьютера Gradiente Expert (один из бразильских компьютеров стандарта MSX).

Со временем популярность BrMSX снижалась, равно как и популярность MS-DOS-совместимых систем. Последняя версия эмулятора (2.6) была выпущена в мае 2000 года. В состав её дистрибутива также вошёл исходный код эмулятора. Рикардо Битенкур в настоящее время входит в состав команды разработчиков эмулятора blueMSX.

Особенности

[править | править код]

Некоторые возможности, впервые появившиеся в эмуляторе BrMSX, и ставшие обычными для современных эмуляторов MSX:

  • Ядро Z80, полностью совместимое с тестом ZEXALL;
  • Поддержка расширения MegaRAM;
  • Поддержка цифрового звука, воспроизводимого через PSG, встроенный динамик, и 8-разрядный ЦАП, входящий в состав картриджа с игрой Majutsushi от Konami;
  • Правильное отображение логотипа MSX2+ (использовало аппаратную горизонтальную прокрутку);
  • Низкоуровневая эмуляция дисковода (на уровне портов ввода-вывода);
  • Функция Dir as Disk, позволяющая использовать каталоги компьютера, на котором запущен эмулятор, как образ дискеты;
  • Эмуляция устройства ADVRAM, существовавшего только в прототипе;
  • Интерактивный отладчик;
  • Поддержка многопользовательских игр (через последовательный порт);
  • Клавиша ускорения, позволяющая, например, пропускать игровые заставки;
  • Сохранение и восстановление состояния эмулируемого компьютера;
  • Эмуляция телевизора (размытие изображение и имитация чересстрочной развёртки);
  • Эмуляция монохромного монитора с зелёным цветом свечения;
  • Эмуляция светодиодных индикаторов (клавиши Caps Lock, Kana, и индикатор обращения к дисководу).