IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Pdpc - Pdp-11 On Pc, 2:5020/243.66@fidonet Vladimir Poletaev
SuperMax
сообщение 7.10.2006, 2:05
Сообщение #1


Администратор
*****

Группа: Root Admin
Сообщений: 5 685
Регистрация: 7.1.2006
Из: Красноярск
Пользователь №: 1




PDPC - PDP-11 on PC

Версия V01.02

Вашему вниманию предлагается еще один эмулятор PDP-11 на PC,
который называется - PDPC. Данный продукт может свободно распространяться
с обязательным соблюдением следующих условий:

1. Передача не может преследовать никаких коммерческих целей.
2. Передавать следует полный комплект поставки.
3. Запрещается вносить в комплект какие-либо исправления.

Состав комплекта поставки

1. PDPC.TXT - настоящее описание;
2. PDPC.COM - сам эмулятор;
3. PDPC.SAV - программа для обмена файлами;
4. CLEAR.SAV - программа очистки пустых областей диска;
5. MY.SYS - драйвер системного устройства;
6. STAT.C - пример программы обработки статистики.

Гарантии

Никаких гарантий. Вы пользуетесь данным продуктом на свой
страх и риск.

Характеристики эмулятора

Процессор:
- без диспетчера памяти;
- EIS.
Внешние устройства:
- PSW;
- таймер (50/60 Гц);
- терминал (VT52/КСМ);
- принтер;
- диски (MY/КМД);
- обмен с PC.
Память:
- 56/60 килобайт.
Для работы эмулятора требуется IBM/PC-AT совместимый компьютер, с
процессором не ниже 286.

Быстродействие:
Приблизительно 100 тактов 486 процессора на двухадресную команду
(на Am486DX4-120 программа speed показывает чуть больше 1200 тыс оп/с) или
около 200 тактов 386 процессора (на 386DX40 - чуть меньше 200 тыс оп/с).
Однако реальное быстродействие в несколько раз выше - для обычных
процессоров меряют быстродействие регистр-регистр, а здесь быстродействие
не сильно зависит от типа адресации. Для 'обмана' программы speed есть
возможность включить быструю эмуляцию команд add r0,r1 и add (r0),r1 -
тогда быстродействие подскакивает до 2.2 млн.

Терминал:
Терминал эмулирует КСМ - это VT52 c другой псевдографикой.
Естественно, есть русские буквы. Если операционка поддерживает 8-битный
ввод с клавиатуры (ADOS Александра Григорьева), то можно работать с
обычной PC-шной раскладкой и переключением русских букв (через keyrus или
что-нибудь еще). Клавиша Num Lock - это PF1, / - PF2 и т.д. PageUp/PageDn -
ПредКадр/СледКадр. Esc - СтопКадр. Есть еще одна особенность, значительно
повышающая субъективное быстродействие - быстрая эмуляция (отключаемая)
команд emt 341 и emt 351.

Таймер:
Таймер - с регистром состояния, 50 или 60 Гц (задается ключом при
запуске). Может быть включен/выключен нажатием клавиши F9.

Диски:
Диски - эмулируется КМД (команды чтение, запись, загрузка). Могут
находиться в файлах PC или на ГМД (дисковод 1.2). При работе с дискетами
не требуются дополнительные программы. Программа сама делает интерливинг,
за счет чего скорость работы с дискетами не отличается от ДВКшной.

Обмен с PC:
Обмен с PC - исполнить программу, получить дату/время,
прочитать/записать текстовый/двоичный файл, можно использовать групповые
операции.

Пульт:
Пультовый режим - вызывается по клавише F10, имеет более-менее
стандартный набор команд, F1 - справка.


Запуск эмулятора

Запуск очень простой. Вставьте в дисковод емкостью 1.2 М дискету
в формате MY-80 с системой с драйвером MY (или аналогичным) и введите
команду:
PDPC a: (если дискета в драйве A:)
или:
PDPC b: (если дискета в драйве B:)
Должна произойти загрузка системы.

В общем случае в командной строке можно указать до 4-х имен файлов
или устройств, а также произвольное количество ключей. При запуске без
параметров выводится краткая справка по ключам. При вводе ключи можно
сокращать.
А что делать, если у вас нет такой дискеты, но есть другой эмулятор?
Тут немножко сложнее: Вам надо перенести любым способом в образ своего диска
файл драйвера MY.SYS и сделать его системным.

Для эмулятора EM:
Снять аттрибут read-only с файлов my.sys, pdpc.sav, clear.sav.
attrib -r my.sys
attrib -r pdpc.sav
attrib -r clear.sav
Запустить его командой:
em sample.rk my.sys pdpc.sav clear.sav
Ввести команды:
copy em1:/dev/end:3 my.sys/file
copy em2:/dev/end:6 pdpc.sav/file
copy em3:/dev/end:1 clear.sav/file
copy/boot:my em:rt11sj em:
После этого выйти из этого эмулятора и запустить PDPC командой:
pdpc sample.rk

Выход из эмулятора

Нажмите F10. Вы окажетесь в пультовом режиме. Для справки
по командам пультового режима можно нажать F1. Нажмите Q и на вопрос
QUIT, Are you sure? ответьте Y.

Установка размера диска

Данный эмулятор имитирует работу контроллера КМД (MY). В связи с
этим число дисков ограничено 4, а максимальный размер каждого - 2.5М.
Для установки размера можно воспользоваться командой SET MYn NTRK=xxx,
где n - номер привода (от 0 до 3), а xxx = число дорожек на данном приводе
(по умолчанию 80, не более 250). Это имеет смысл только в случае
использования драйвера с поддержкой этого SET-параметра и для
приводов, назначенных на файлы. На одной дорожке размещается 20 блоков
или 10 килобайт.
После задания размера следует перезагрузиться (BOOT SY:) и
сжать диск с измененным размером (SQ MYn:). Затем следует прописать
этот диск, чтобы MS-DOS выставила нужный размер. Для этого можно
воспользоваться программой CLEAR - надо назначить этот диск на DK
(ASS MYn DK) и запустить CLEAR. Эта программа заполняет нулями все
свободные области диска, что полезно при работе на PC с программами
сжатия дисков. После окончания работы программы CLEAR с диском можно
работать.

Ключи

Справку по ключам можно получить, запустив программу PDPC без
параметров:
/FastEMT - emulate .TTYOUT and .PRINT
/MemMax - expand memory up 60K (170000)
/OddTraps - enable checking for odd word address
/Wile - fast execute ADD R0,R1 and ADD (R0),R1 for benchmarking
/Halt - enter halt mode instead auto boot
/60Hz - generate 60 Hz timer interrupt instead 50 Hz
/ILSector - interleave factor for sectors on diskette
/ILTrack - interleave factor for tracks on diskette
/Statistic - generate file pdpcstat.dat.

Ключ /F подключает эмуляцию EMT 341 и EMT 351 - это
значительно ускоряет вывод на терминал.
Ключ /M устанавливает верхнюю границу ОЗУ на 170000 вместо
160000.
Ключ /O включает проверку на обращения к словам по нечетному
адресу. Правильность изменения содержания регистров при возникновении
такого прерывания не гарантируется (пока).
Ключ /W предназначен для любителей показухи. При его задании
команды ADD R0,R1 и ADD (R0),R1 обрабатываются отдельно и быстро. Эти
команды используются при измерении быстродействия программой SPEED.SAV.
Ключ /H выключает автозагрузку. При запуске эмулятор переходит
в режим останова.
Ключ /6 устанавливает частоту прерываний от таймера 60 Гц
вместо 50 Гц. Это же значение используется при установке времени
программой PDPC TIME.
Ключи /ILS и /ILTRK задают факторы интерливинга при работе с
дискетой. По умолчанию 2 (чтение через сектор) и 5.
Ключ /S - включает сбор статистики по командам. Несовместим с
ключом /O. При выходе из эмулятора создается файл PDPCSTAT.DAT, в
котором находится 64К 32разрядных слов - счетчиков выполнения для
каждого кода операции. В качестве примера программы обработки этого
файла приведена текст программы stat.c, которая выводит 100 наиболее
часто выполняемых кодов команд.

Ключи могут быть записаны в файл PDPC.CFG:
==== cut here ====
PDPC Configuration file
FastEMT
MemMax
==== cut here ====

Обмен с PC

Для обмена с PC служит программа PDPC.SAV. Для получения
справки следует вызвать ее с ключом /?:
PDPC TIME - Set current date/time
PDPC R[T] files - Read [text] files from MS-DOS
PDPC W[T] files - Write [text] files to MS-DOS
PDPC EXEC command - Execute MS-DOS command
Программа может установить текущую дату и время из MS-DOS, а
также читать и писать файлы из MS-DOS с перекодировкой и без.
Перекодировка производится между альтернативной кодировкой (PC) и
КОИ-8 (PDP).
Программа работает только в текущих каталогах. Можно
указывать символы * и % - в интерпретации RT-11 (т.е. после * можно
задавать еще символы).
Указание всего в одну строку работает только в ОС АДОС. При работе
в RT-11 или ФОДОС следует сначала вызвать PDPC, а затем дать команду.
Если при копировании файлов в командной строке указаны групповые
спецификации, то программа для каждого файла запрашивает подтверждение.
Можно выполнить команду MS-DOS. Например, для просмотра текущего
каталога можно дать команду:
PDPC EXEC DIR
При указании команды PDPC EXEC (без параметра) происходит просто
запуск текущего командного процессора. Для возврата в эмулятор следует
ввести команду EXIT.

Перспективы развития

Данный эмулятор писался "под себя", поэтому в него включены
только те возможности, которые были нужны автору. Дальнейшее развитие
будет идти по пути создания (при наличии определенного числа заказов)
коммерческой версии. Некоммерческая версия развиваться, по-видимому,
не будет.
Предполагаемые возможности коммерческой версии:
- Подключаемые эмуляторы внешних устройств (с открытым
интерфейсом);
- Терминал VT52/VT100/VT220;
- Последовательный порт DL;
- Диски DU;
- Диспетчер памяти 18 разрядов;
- Диспетчер памяти 22 разряда (для 386 и выше).

Как связаться с автором

Во-первых, через FIDO:

2:5020/243.66 Vladimir Poletaev
AKA 2:5020/604.66
AKA 2:5020/201.66

Во-вторых, если через FIDO не получается, звоните
мне на работу - я там иногда бываю:

(095)-536-8503, Владимир Полетаев


Приложение 1. История

Версия V01.01.
Первая версия, выпущенная в свет. Пошла в эхоконференцию MO.DEC.

Версия V01.02.
Косметические правки предыдущей версии:
- Ключ /60Hz теперь учитывается при pdpc time;
- Поправлен вывод по F1 в режиме пульта;
- Убрано зависание по ^C;
- Введена команда pdpc exec.


PC's come and go, but PDP-11 are FOREVER!



--------------------
Живы будем - Не помрем !
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SuperMax
сообщение 7.10.2006, 2:06
Сообщение #2


Администратор
*****

Группа: Root Admin
Сообщений: 5 685
Регистрация: 7.1.2006
Из: Красноярск
Пользователь №: 1



PDPC - PDP-11 on PC Версия V01.02 эмулятор PDP-11 на PC







--------------------
Живы будем - Не помрем !
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
vmp
сообщение 10.10.2006, 2:42
Сообщение #3


Новичок
*

Группа: Участники
Сообщений: 1
Регистрация: 10.10.2006
Из: Зеленоград
Пользователь №: 585



Цитата(SuperMax @ 6.10.2006, 23:05) *

Как связаться с автором


vmp [собака] ru [точка] ru
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 22.9.2017, 2:26