Еще один эмулятор ZX-Spectrum

Пожалуй, самым известным эмулятором Sinclair ZX-Spectrum в России и странах бывшего СССР является Unreal Speccy. Такая популярность вызвана в первую очередь высококлассной поддержкой разнообразных клонов оригинального компьютера, распространенных в нашей стране, а также большим объемом дополнительных функций. Проект является свободным (open source), в его разработке участвовали многие знатоки внутренней архитектуры ZX-Spectrum.

Unreal Speccy Portable является отдельной веткой этого проекта. Код исходного эмулятора (версии 37.3) был портирован под операционную систему Linux (а также некоторые другие), а кроме того, интерфейс был доработан для использования на различных устройствах, таких как смартфоны на базе Android и портативные игровые приставки (к примеру Dingoo A320). Эмулятор запускается из командной строки и не требует оконного интерфейса.

Для установки эмулятора придется скачать его исходный код со страницы проекта и скомпилировать исполняемый файл.

Перед тем, как скачать исходные коды эмулятора, нужно установить программы, необходимые для компиляции. Для этого, используйте команду:

sudo apt-get install subversion g++ make

Получаем исходный код:

mkdir usp
cd usp
svn checkout http://unrealspeccyp.googlecode.com/svn/trunk/ .
cd build/linux

Для того, чтобы скомпилировать исполняемый файл, введите команды:

sudo apt-get install libsdl1.2-dev
make SDL=1

После компиляции исполняемый файл находится в каталоге «Release». Для запуска эмулятора этот файл нужно перенести в каталог «usp». Важно, чтобы файл эмулятора находился в одном месте с каталогом «res». Для этого используйте команды:

cp Release/unreal_speccy_portable ../..
cd ../..

Наконец, запускаем!

./unreal_speccy_portable

После запуска, эмулятор использует специальную версию ПЗУ ZX-Spectrum — MadRom, содержащую сервисные функции (изображение экрана находится в заголовке статьи). Ниже список клавиш, используемых в этой программе:

В основном режиме MadRom:

  • U — Меню в режиме 128K
  • S — Запуск TR-Dos в режиме 128K
  • I  —  Запуск Basic в режиме 48K
  • O — Запуск TR-Dos в режиме 48K
  • 1, 2, 3, 4 — Установка текущего дискового устройства для TR-Dos
  • R — Запуск ассемблера из банка #14/#51 #7FFD.
  • T — Запуск отладчика (STS) из банка #17/#57 #7FFD
  • ENTER — Запуск Max Petrov’s TR-Dos commander (инструкция ниже)
  • 0 — вход в CMOS SetUp сервисной прошивки (функция до конца не отлажена, работает со сбоями)

Также можно использовать Kempston mouse для выбора пунктов меню.

Клавиши в Max Petrov commander

  • Q, A, O, P, cursor joystick, sinclair joystick — выбор файла
  • SPACE — переключения режима просмотра всех файлов или только исполняемых
  • 1, 2, 3, 4 — Перечитать соответствующий диск (A-D)
  • SS + 1, 2, 3, 4 — выбрать диск-приемник
  • K — отметить файлы по маске
  • SS + R — переименовать файлы по маске
  • SS + J — «склеивание» групп последовательно помеченных файлов или создание моноблоков;
  • W — просмотр экранного файла (6912 байт)
  • U — запустить исполняемый файл
  • I -просмотр текстового файла

Также, используйте клавиши, указанные в нижней строке экрана.

Клавиши в режиме просмотра текстовых файлов

  • Q, A, O, P, cursor joystick, sinclair joystick — перемещение текста вверх и вниз по строкам или страницам
  • 3 — включить или выключить режим переноса длинных строк
  • 1, 2 — сдвиг текста влево или вправо в режиме отключенного переноса длинных строк
  • E — вход в меню настроек
  • S — вод строки для поиска в тексте
  • N — поиск следующей введеной строки в тексте
  • SPACE, ENTER — выход в Max Petrov commander
  • SS, CS+О — переход в конец текста
  • SS, CS+P — переход в начало текста

В статье использованы материалы http://code.google.com/p/unrealspeccyp/.