Вот исходники этого эмулятора.
Правда похоже, что я в них успел покопаться (в архиве - работоспособный проект компиляции эмулятора в Borland C++ 5.0) и добавил индикацию "RUS/LAT".
Клавиши <F1>..<F4> выдают коды клавиш <PF1>..<PF4> (поэтому, чтобы закончить работу в редакторе Edik - нужно перейти на латинский регистр и нажать <F1><E>).
Код:Файлы: EM.C - Дешифрация команд PDP-11, организация дискового ввода-вывода и технологический отладчик. EMSUBR.ASM - Интерпретация выполнения команд PDP-11. EM.MAC - исходный текст драйвера для RT-11. EMBOOT.SAV - образ 0-го блока загружаемого диска. Содержит начальный загрузчик RT-11. Для ввода-вывода в файлы-устройства, заданные в командной строке, служат псевдокоманды с кодами 010 и 011. Подробнее см. их интерпретацию функциями msread и mswrite в em.c. Я все это безобразие компилил BC3.1, compact model. Прошу о всех полезных нововведениях сообщать автору - Sergey Okhapkin, FIDO 2:5020/47. Удачи!...Код:PC приходят и уходят, а PDP-11 вечна... Вашему вниманию предлагается расширение программного эмулятора PDP-11 для возможности работы с гибкими дисками в формате MY-80 (от ДВК). За основу его был взят "DEC PDP-11 (R) Software emulator V2.1 SOS (C) 1989-1992". Разработчики его сделали почти все необходимое для того, чтобы он мог работать с гиб- кими дисками. В нем не хватало всего двух подпрограмм: _diskread() и _diskwrite(). (В файле осталась даже таблица символов). Вместо этих подпрограмм стояли просто заглушки. Для расширения мною было сделано следующее: 1. В функциях _diskread() и _diskwrite() вместо команды XOR AX,AX было подставлено INT 61h и INT 62h. 2. В подпрограммах _msread() и _mswrite() изменен адрес перехода при отсутствии ошибки - теперь если чтение или за- пись с дискеты прошли без ошибок, то бит C эмулируемого про- цессора сбрасывается (раньше он оставался без изменений). 3. Файл EM.EXE был переименован в EM_EXE.OVL и из него была вырезана таблица символов (программой TDSTRIP). 4. И, наконец, была написана небольшая программка, ко- торая устанавливает вектора INT 61h и INT 62h на свои подп- рограммы чтения/записи с дискеты и запускает собственно эму- лятор. 5. Кроме этого, я еще исправил драйвер ЕМ. Начальный загрузчик в этом драйвере работал только с 0 устройством, поэтому в качестве системного всегда должно было использо- ваться устройство EM0:. Теперь начальная загрузка при запус- ке эмулятора также происходит с 0 привода, но затем можно загрузиться с любого возможного привода по команде BOOT. Кроме этого, в драйвер введены два SET-параметра. Это SET- параметр SIZE, задающий размер устройства в блоках, и SET- параметр LIST, выводящий текущие установки на экран. Размер устройства задается отдельно для каждого приво- да EM0 ... EM7. Для того, чтобы, например, задать размер EM5 в 2000 блоков, следует подать команду: SET EM5 SIZE=2000. Указываемый в драйвере размер устройства используется при инициализации (командой INIT) и при сжатии (командой SQUEEZE). Вывести значения размеров устройств для каждого привода можно командой SET EM LIST. Внимание! Программа предполагает, что уже загружен драйвер PU_1700 или аналогичный, позволяющий работать с 10 секторами на дорожке. В программе я использую прерывание INT 13h для работы с гибкими дисками, не отслеживая переход через границу 64К. У меня это работает (использую PU_1700 V3.1, IBM DOS 5.0). И еще немного замечаний. Разработчики взятого за основу эмулятора проделали немалую работу, но ее можно было сделать немного лучше. Так, по моим оценкам (с которыми необязатель- но соглашаться) быстродействие эмулятора можно было бы повы- сить приблизительно на порядок. Я мог бы взяться за эту ра- боту - был бы заказчик... Полетаев В.М. Тел. (095)536-8503, 536-5642 (рабочие). PS. Организация, в которой я работаю (НПП "Кристалл"), разрабатывает и продает различное программное и аппаратное обеспечения для ДВК. Кому надо - звоните...
P.S.
Похоже, что SOS == Sergey Okhapkin Soft ..
...
Позже были обнаружены оригинальные исходники эмулятора PDP-11 Сергея Охапкина.
...





Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 

