По Ностальгии пару дней назад показывали передачу про компьютеризацию, дык там и Правцы, и БК, и УКНЦ мелькали... Ещё Ершов выступал..
Вид для печати
На мой взгляд - подход должен зависеть от того, какое из устройств имеет более линейную передаточную характеристику.Цитата:
Сообщение от anasana
Если характеристика микрофона при преобразовании [звук->напряжение] более линейна, чем характеристика "пьезо-хрень-псевдо-цапа" при преобразовании [напряжение->звук], то для получения наиболее похожего звука нужно использовать запись через микрофон.
Если же более линейна характеристика пьезо-цапа, то нужно фотографировать экран осциллографа и затем рисовать аналогичную кривую в графическом редакторе звуков.
Можно использовать оба способа и сравнить результаты на предмет аутентичности имитируемому звуку ( или даже осуществить взвешенное суммирование обоих результатов для получения максимальной правдоподобности ).
Если подходить к вопросу звуковой имитации функционирования эмулируемых устройств с точки зрения универсального API эмуляции - можно выделить ( на мой взгляд ) три принципиально отличающихся варианта имитируемых звуков:
1. Одиночные типовые звуки ( писки, щелчки, клики и т.п. ).
2. Старт-стопные типовые звуки ( фаза старта, фаза работы, фаза останова ).
3. Потоковые нетиповые звуки ( результат цифро-аналогового преобразования ).
Понятно, что если API эмуляции позволяет эмулируемым устройствам формировать непрерывные звуковые потоки, то даже при отсутствии в конкретной эмулируемой конфигурации таких источников - на выходе общего звукового канала API неизбежно будет присутствовать непрерывный звуковой поток, полученный в результате микширования ( моно, стерео или 3D ) звуковых пакетов от объектов эмулируемой конфигурации.
Т.е. в тех случаях, когда во входных буферах общего звукового канала не окажется звуковых пакетов от эмулируемых устройств - канал будет продолжать отправлять операционной системе непрерывный звуковой поток, но только содержащий тишину.
Помнится здесь вроде поднимался вопрос по теме RT-11 и P/OS в одном флаконе. Я тут на досуге расковырял принцип работы загрузчика RT-11 при работе под RTEM-11. Если у кого есть силы взяться за дело, могу поделиться информацией :)
Выкладывай, однако :)
И попутно ловите отсканированный "b m"(<pdp11owner@gmail.com>) громадный массив док:
> EK-PC350-TM-001 http://depositfiles.com/files/h9c1wutd6 (21 Mb);
> http://depositfiles.com/files/kzeu1p0f2 (320 Mb):
Professional PRO/Tool Kit Volume 1
Introduction
1984 APR/84 - AA-N617D-TK Professional Developer's Tool Kit User's Guide
1984 APR/84 - AA-BT74A-TH Professional Developer's Tool Kit Reference Manual
1983 MAY/83 - AA-P103B-TK PRO/FMS-11 Documentation Supplement
1980 JAN/80 - AA-H857-TC FMS-11/RSX Release Notes
1980 JAN/80 - AA-H855A-TC FMS-11/RSX Software Reference Manual
Professional PRO/Tool Kit Volume 2
Video
1983 MAY/83 2 AA-N623B-TK Terminal Subsystem Manual
1984 APR/84 - AA-N619C-TK Core Graphics Library Manual
1984 APR/84 - AA-Y660A-TK PRO/GIDIS Manual
Professional PRO/Tool Kit Volume 3
Task Builder
1983 APR/83 - AA-L680B-TC RSX-11M/M-PLUS Task Builder Manual
1983 APR/83 - AA-L680B-TC RSX-11M/M-PLUS Task Builder Manual
Professional PRO/Tool Kit Volume 4
P/OS System & TMS
1982 SEP/83 - AD-N620A-T1 P/OS System Reference Manual
1983 NOV/83 1 AA-AD34A-TH Telephone Management System (TMS) Programmer's Manual
Professional PRO/Tool Kit Volume 5
PRO/RMS-11
1982 NOV/82 1 AA-P098A-TK PRO/RMS-11: An Introduction
1982 NOV/82 1 AA-P099A-TK PRO/RMS-11 Macro Programmer's Guide
1983 APR/83 1 AA-L669A-TC RSX-11M/M-PLUS RMS-11 User's Guide
Professional PRO/Tool Kit Volume 6
MACRO Program Development
1983 MAY/83 - AA-P193B-TK IAS/RSX-11 ODT Reference Manual Supplement
1982 JAN/82 - AA-M507A-TC IAS/RSX-11 ODT Reference Manual
1983 MAR/83 - AA-V027A-TC PDP-11 MACRO-11 Language Reference Manual
1984 APR/84 1 AA-BT73A-TH Guide to Writing a P/OS I/O Driver and Advanced Programmer's Notes
Professional PRO/Tool Kit Volume 7
PRO-DECnet
1984 MAR/84 - AA-AV69A-TK PRO/DECnet Tool Kit Programmer's Reference Manual
1983 NOV/83 1 AA-J055D-TK Introduction to DECnet Phase IV
1984 MAR/84 - AV-AV71A-TK PRO/DECnet Tool Kit Release Notes
Developer's Tool Kit
BASIC Volume 1
- MAY/85 - AE-AU42B-TH Software Product Description: PRO/Tool Kit BASIC-PLUS-2, Version 2.3
1985 APR/85 - AA-Z250B-TH PRO/Took Kit BASIC-PLUS-2 Installation Guide and Documentation Supplement
1985 APR/85 - AA-L338B-TC BASIC on RSX-11M/M-PLUS Systems
1984 FEB/84 - AD-L335A-T1 Update Notice #1 BASIC User's Guide
1982 NOV/82 - AA-L335A-TK BASIC User's Guide
Developer's Tool Kit
BASIC Volume 2
1984 FEB/84 - AD-L334A-T1 Update Notice #1 BASIC Reference Manual
1982 NOV/82 - AA-L334A-TK BASIC Reference Manual
Professional 300 Series
Installation and Maintenance
1982 - - EJ-23507 82 Professional 300 Series Installation Instructions Hard Disk Drive
- OCT/83 - BH-P976C-TH Software Product Description: PRO/Installation and Mainenance v1.7
1983 - - - Professional 300 series Installation Instructions
1983 - - - Professional 300 series Owner's Manual
Professional 300 Series
Diskette System
- OCT/83 - BH-W588B-TH Software Product Description: P/OS Diskette, v1.7
1983 - - - Professional 300 series For Beginners Diskette System
1983 - - - Professional 300 series User's Guide Diskette System
1983 - - - Professional 300 series Command Language User's Guide
А были ли игрушки в графике под видеоконтроллер электроники-85?
Пара слов о том как это работает. Очень просто: в RSX и P/OS для всех системных вызовов используется только EMT 377 который в RT-11 не используется. Значит отделить RSXное от RTшного уже можем.
Далее остается мелочь - пораспихать на критичных точках системы хуки которые вместо обращения к железу будут вызывать определенные подпрограммы. Этим занимается загрузчик системы (BSTRAP).
Прежде всего сам монитор. Собирается FB монитор, обязательно включается многотерминальная поддержка (хотя терминал указывается всего один - консольный) и поддержка процессора с плавающей точкой.
Определяется символ RTE$M=1. Подправляется файл .MON - для сборки BSTRAP подключается дополнительный файлик RTEDEF.MAC в котором описываются смещения RTEM. В аттаче пример файлика, CND файла и собранный монитор с этим файлом (на основе RT-11 V5.7).
Это касаемо самого монитора.
Драйвер системного устройства в RTEM называется VS, система всегда грузится с VS0, драйвер НЕ содержит кода загрузчика да и сам файл монитора для RTEM не подлежит COPY/BOOTству. Суффикс для драйверов 'M' - то есть VSM.SYS, стартовый файл STARTM.COM.
Программа эмуляции должна расшириться до упора и перенести все нужное для работы системы наверх памяти (при желании можно даже выше 160000). Затем происходит процесс загрузки:
в адрес 250 пишется адрес таблицы линковки RTEM
в адрес 252 пишется ^RRTE
по адресу 550 располагается программа BPRINT, по адресу 570 BIOERR, по адресу 576 REPORT - это стандартные подпрограммы для загрузчиков, отличаются только адреса - у неRTEMовских они другие.
по адресу 5006 записывается старший адрес который можно пользовать монитору RT-11, сам монитор будет грузиться в него и ниже
по адресу 5010 записывается адрес подпрограммы которую вызовет загрузчик RT-11 как CALL @(R2)+ [в подпрограмме R2 будет содержать 5012]
после чего читается вторичный загрузчик (ищется файл монитора в образе, берутся блоки 1-4 и пишутся начиная с 1000)
SP в отличие от обычной загрузки нужно ставить не на 10000, а на 12000.
эта подпрограмма должна включить обработку SST, зацепиться за SREA дабы при ABO грамотно завершить все, натсроить терминал итд.
в -(R2) нужно вернуть смещение относительно которого загрузчик вычисляет все (добавляет перед чтением и отнимает от полученного номера блока файла). для простоты можно просто обнулить и забыть
в R0 нужно вернуть флаги: 15 бит - установить SET TT SCOPE,
0 бит - на образе диска есть UCF.SAV (будет установлен режим UCF при котором UCFные команды отрабатываются перед системными - лучше не заморачиваться)
по адресу 5012 кладем 0 если часы 60Hz, CLK50$ если 50 (параметры берем из RSX, POS, CLK50$ из описания битов конфига RT-11)
по адресу 5014 кладется 0 если часы не будут использоваться, != 0 если будут (вроде само значение иначе не используется)
по адресу 5016 кладется 0 если задача в RSX собрана с /-FP и HWFPU$ если с /FP
Первый элемент таблицы линковки из адреса 250 содержит описание VS устройства. До конца его не разбирал, в общем случае оно состоит из трех файлов из которых собирается один диск. Для простоты лучше сократить до одного. Сам оффсет используется только DUPом при выполнении SQUEEZE. Описание этих смещений и названия других смещений таблицы в прилагаемом файле README. Что они должны делать смотрим в исходниках системы и реализуем на уровне RSX/POS.
Примерно так :)
PS. Не забываем про видимый заголовок задачи который начинается с адреса 0. В RSX-11M есть фича которая позволяет защитить его от вмешательства системы. В RSX-11M+ и P/OS такой номер не пойдет так как признак функционала задействован по другому назначению. В качестве решения перед вызовом RSXных директив сохраняем $DSW (адрес 46), после вызова сохраняем его значение для анализа и восстанавливаем старое.
PPS. Я не писал здесь про стандартную часть загрузки - она по сути сводится к признаку горячей загрузки и установки B$READ.
Вот я товарищи стал обладателем чуда советской промышленности под названием Эл. 0585... Ужас просто... Такого говна мне еще не попадалось..
Но запустил.. :) Вроде платы прижились на своих местах, RT11 c дискеты грузится,
дистибутив ПРОС тоже грузится и просит отформатировать винт, но я это ему пока не даю сделать, так как на винте может быть что-то интересное.. Просмотреть винт под RT11 не удалось.. Есть предложения как поступить с винтом?
Пробовал подключить ST-250, так ругается на него, рисует на экране не исправную карту в первом слоте, дальше копаться пока не стал..
Кстати, Эл.85 понимает дискеты от МС0515.. :) Два чуда оказывается могут вместе снюхаться.. гы.. :)
Плату совместимости х86 пока не подключал...
Вторая Эл.0585 которая досталась вместе с первой, не рабочая оказалась, а именно от нее работают БП, КНГМД, КНЖМД, Вторая плата видео контроллера. Получатся не работает основная плата или плата памяти, а так-же первая плата видео контроллера..
Так-же имеется несколько коробок с дискетами, которые думаю завтра сдамплю..
Ну и похоже вся документация, в т.ч. и на стороннее ПО..
Вот этот момент очень интересно, если подробнее расскажете - какая именно
версия RTшного монитора там грузится с дискеты? Дискеты и документация то же
интересно )))
И ещё такой вопрос - какой формат у винчестера, который RTшка не видит?
Имеется в виду на уровне железа - интерфейс подключения? Может его просто
попытаться снять и подрубить к ПИСИ и там уже попробовать содержимое поизучать?
Спасибо.
:smile: Да, это весёлая машинка в части эксплуатации и ремонта.
Конечно:Цитата:
Но запустил.. :) Вроде платы прижились на своих местах, RT11 c дискеты грузится,
дистибутив ПРОС тоже грузится и просит отформатировать винт, но я это ему пока не даю сделать, так как на винте может быть что-то интересное.. Просмотреть винт под RT11 не удалось.. Есть предложения как поступить с винтом?
BACKUP/DEVICE DW0: DZ1:
На системной дискете с RT-11 понадобится утилита BUP.SAV.
И потом эти N-дцать дискет сдампить на ПК в образы, загрузить РТху в эмуляторе, и собрать с помощью BACKUP/RESTORE их обратно в образ винта.
Может, на винте перемычки не так стоят?Цитата:
Пробовал подключить ST-250, так ругается на него, рисует на экране не исправную карту в первом слоте, дальше копаться пока не стал..
---------- Post added at 11:11 ---------- Previous post was at 11:08 ----------
У меня была дискета с RT11FB и RT11XM. Нужен драйвер PI.SYS для эмуляции консоли на необычном дисплее Э-85.
Интерфейс MFM, физически подключить можно, но не считается - формат записи дорожек немного отличается от ПК-шного.Цитата:
И ещё такой вопрос - какой формат у винчестера, который RTшка не видит?
Имеется в виду на уровне железа - интерфейс подключения? Может его просто
попытаться снять и подрубить к ПИСИ и там уже попробовать содержимое поизучать?
Спасибо.