SIMH для пользователей
Команды эмулятора
Ниже перечислены основные команды, которые понадобятся вам при использовании SIMH. Вводить их нужно в командной строке самого эмулятора, то есть при остановленной эмуляции.
- attach устройство файл (сокр. att или at)
Подключить файл с образом к выбранному устройству.
- detach устройство (сокр. det)
Отключить от устройства подключенный образ. Команда detach all действует на все доступные устройства.
- set устройство enabled или set устройство disabled
- enable устройство или disable устройство
Включить или выключить устройство. Пример: set dt disabled или disable tc08.
- boot устройство (сокр. bo или b)
Начать эмуляцию, загрузившись с выбранного устройства.
- save файл (сокр. sa)
Сохранить снапшот в файл.
- restore файл или get файл (сокр. rest или ge)
Загрузить снапшот из файла.
- cont (сокр. c)
Продолжить эмуляцию.
- show configuration (сокр. sh con)
Вывести конфигурацию эмулятора.
- show devices (сокр. sh dev)
Вывести список устройств.
- show version (сокр. sh ve)
Вывести номер версии эмулятора.
- help команда (сокр. h)
Вывести справку. Если команда не указана, выводится список всех доступных команд.
- exit, quit или bye (сокр. exi, q или by)
Выход из эмулятора.
- ! команда
Выполнить команду хостовой операционной системы. Например: ! ls. Если команда не указана, запускается командная оболочка.
Чтобы не вводить необходимые команды каждый раз, их можно добавить в конфигурационный файл. При этом строки, начинающиеся с символа «;», считаются комментариями. Именно такой способ запуска будет использоваться в приведенных здесь руководствах.
SIMH запускается из командной строки или эмулятора терминала с указанием в качестве аргумента конфигурационного файла. Например, в Windows запуск эмулятора PDP-10 будет выглядеть примерно так:
pdp10.exe pdp10.cfg
Или тот же самый пример для Linux (в некоторых дистрибутивах исполняемый файл может называться simh-pdp10):
pdp10 pdp10.cfg
Эмуляция PDP-8
Прежде всего вам надо скачать образы дисков: систему OS/8 [1], Фокал [2] и игры на Бейсике [3]. После этого создайте папку disks и скопируйте в нее файлы os8_rx.dsk, focal71-boot-os8.rktu и games.rktu.
Теперь надо создать конфигурационный файл со следующим содержимым:
at rx0 disks/os8_rx.dsk at rk0 disks/focal71-boot-os8.rktu at rk1 disks/games.rktu boot -d rx0
Первые три команды подключают образы дисков, а последняя запускает эмуляцию. Не забудьте указать правильный путь к папке disks.
Осталось только запустить эмулятор pdp8 с указанием конфигурационного файла. Ниже вы найдете краткие инструкции по работе в OS/8 и загрузке игр в интерпретаторах Бейсика и Фокала.
Список команд OS/8
- DIR или DIRECT
Показать содержимое директории. Можно указать ключи, нужное устройство и шаблон для отбора. Примеры:
- DIR/A — вывести в алфавитном порядке.
- DIR/F — компактный вывод.
- DIR=ЧИСЛО — вывод в указанное число колонок.
- DIR/F=6 *.SAV — компактный вывод в 6 колонок всех файлов с расширением SAV.
- DIR/A RKA0:*.FC — содержимое диска RKA0 в алфавитном порядке и с фильтром по расширению FC.
- RES или RESORC
Вывести список системных устройств.
- DATE
Вывести дату.
- DATE ДД-МЕС-ГГ или DAY ДД-МЕС-ГГ
Установить дату (год может быть в диапазоне от 70 до 99). Пример: DATE 11-MAR-95.
- HELP
Вывести справку по командам.
- R ФАЙЛ
Запустить программу из системной директории (SYS:). Пример: R BASIC — запуск интерпретатора Бейсика.
- RUN УСТР:ФАЙЛ
Запустить программу с устройства. Пример: RUN RKA0:PFOCAL.SV — запуск интерпретатора Фокала с диска RKA0.
- DEL УСТР:ФАЙЛ
Удалить файл. Пример: DEL BASIC.* — удалить все файлы Бейсика.
- COPY УСТР:НОВФАЙЛ<УСТР:ИСХФАЙЛ
Скопировать файл. Пример: COPY HANGWD.FD<RKA0:HANGWD.FD — копирование файла HANGWD.FD с RKA0 на SYS.
- DUPLIC НОВДИСК:<ИСХДИСК: или DUP НОВДИСК:<ИСХДИСК0:
Скопировать RX-диск. Пример: DUP RXA1:<RXA0:.
Запуск программ, написанных на Бейсике
Запустить интерпретатор Бейсика можно командами R BASIC, BASIC или просто BAS.
Примечание. Перед загрузкой игр надо удалить файл справки из системной директории (он будет удален только в текущей сессии):
DEL HELP.HL
Интерпретатор спросит, нужно ли создать новый файл (команда NEW), или пользователь будет работать с уже написанной программой (OLD). Для запуска игр надо выбрать второй вариант:
NEW OR OLD--OLD
После этого будет запрошено имя файла. В качестве примера указана игра WUMPUS на диске RKA0:
FILE NAME--RKA0:WUMPUS
Ниже приведен список основных команд интерпретатора:
- RUN
Запустить текущую программу.
- LIST
Вывести код текущей программы.
- OLD
Загрузить программу из файла.
- NEW
Создать новый файл с программой.
- BYE или Ctrl+C
Выход из интерпретатора.
Запуск программ, написанных на Фокале
Запустите интерпретатор Фокала:
RUN RKA0:PFOCAL.SV
После запуска в ответ на вопрос введите Y:
DO YOU WANT THE STANDARD FEATURES OF PS/8 FOCAL, 1971?Y
Для запуска игр вам понадобятся три основных команды:
- LIBRARY LIST УСТР: или L L УСТР:
Список программ на устройстве. Пример: L L RKA0:.
- LIBARY RUN УСТР:ФАЙЛ или L R УСТР:ФАЙЛ
Запустить программу. Пример: L R RKA0:BARON.
- LIBRARY EXIT или L E
Выйти из интерпретатора.
Эмуляция PDP-10
В этом разделе описывается эмуляция компьютеров DEC PDP-10.
Установка TOPS-10
Для установки операционной системы с нуля можно воспользоваться официальной документацией [4] и инструкцией [5], представляющей из себя лог процесса установки.
Запуск образа с уже настроенной TOPS-10
Можно запустить уже готовый образ операционной системы, в состав которого входят игры Colossal Cave Adventure и Haunt, языки программирования BASIC, ALGOL, COBOL, FORTRAN и другие программы. Для этого надо выполнить следующие действия:
- Скачать архив с образом системы TOPS-10 7.03 Distribution R1.4 [6] и распаковать его.
- Создать конфигурационный файл со следующим содержимым:
set dz 8b set tim y2k at rp0 dskb.dsk at rp1 dskc.dsk boot rp
Вторая команда включает поддержку дат, начиная с 2000 года, далее идет подключение файлов с образами дисков на устройства rp0 и rp1, а последняя команда загружает систему. Если вы запускаете эмулятор не из папки с образами дисков, добавьте соответствующие пути к файлам dskb.dsk и dskc.dsk.
- Запустить эмулятор pdp10 с указанием конфигурационного файла.
- После включения системы пользователю задается несколько формальных вопросов. На первый (Why reload?) можно ответить new (загружается новая система) или sched (перезагрузка после обновления). Дату и время указывать необязательно. В ответ на последний вопрос нужно написать quick.
- После появления строки [CCPWFD Waiting for file daemon to start] нажать Ctrl+C. По умолчанию выполняется вход в качестве оператора с именем пользователя 1,2. Кроме него в системе настроена учетная запись обычного пользователя (логин public).
- Наконец, можно запустить любую из двух присутствующих в системе игр. Классическая игра Colossal Cave Adventure запускается командой:
r dsk:adv
- А в текстовый квест Haunt можно поиграть, введя:
r haunt
Список команд TOPS-10
В этом разделе приведены некоторые полезные команды для ОС TOPS-10.
Список общедоступных команд
Вводить эти команды может любой пользователь:
- login имя_пользователя
Выполнить вход в систему.
- kjob
Завершить сеанс работы.
Список команд для оператора
Перед вводом этих команд надо войти в систему в качестве оператора.
- dir устройство:шаблон
Вывести содержимое директории. Пример для вывода всех файлов с расширением exe на диске B: dir dskb:*.exe.
- version
Версия системы.
- usestat
Пользовательская статистика.
- resources
Список доступных ресурсов.
- dsk
Список доступных дисков.
- time и daytime
Команды для вывода времени.
Выключение машины
Для выключения эмулируемой машины можно (но не обязательно) ввести команды:
r opr set ksys now exit kjob
Монтирование файла с магнитной лентой
Для подключения образа магнитной ленты надо добавить следующие строки в файл pdp10.cfg (они должны находиться перед boot rp):
set tu0 lock set tu0 format=формат_файла at tu0 имя_файла
Поддерживаемые форматы файлов: simh (по умолчанию), e11, tpc и p7b.
После входа в систему в качестве оператора надо ввести:
r opr set tape-drive mta0: unavailable
Далее нажать Ctrl+Z и написать:
exit assign mta0: tape:
Для проверки можно вывести содержимое ленты:
dir mta0:
Горячие клавиши
Список горячих клавиш, которые используются в эмуляторе:
- Ctrl+E — приостановить эмуляцию.
- Ctrl+C — выход из эмулятора (перед этим он должен быть остановлен).