Эмуляторы PDP-11 и не только

lelik
Ax0n:

Но проблема пока в том, что я не могу его прочесть из среды ДОС.

DOS пытается дать вам доступ к содержимому. Возьмите dd по ссылке и

dd if=\\.\a: of=c:\temp\disk1.img bs=512

Ax0n
lelik:

dd if=\\.\a: of=c:\temp\disk1.img bs=512

Спасибо, сейчас попробую.

AlexSr
Вячеслав_Старухин:

Потому что ЭВМ советского периода были сданы на переработку, так как содержали много золота и серебра.

Ага … одно поле в Эл.100И чего стоило.
Я на “протирку” такой фигни по 25л в месяц получал на нашу лабораторию. Было чем встретить праздники.😅

Порядок байтов на PDP-11 как раз такой, как на современных PC, то есть наоборот с точки зрения разработчиков машин в ИТМ и ВТ.

Врать не буду, давно это было. Но попытки наоборот - читать IBM коды из ПЗУ на ДВК давали явно обратный порядок. То же и с лентой записаной на ЕС и читаемой на Эл.125. (из за этого, что бы распечатать Стругацких, пришлось на Паскале “драйвер” ленты писать и печатать потом на “Консуле” 😂)
Хотя ещё раз - может я что и путаю. 😃

Вячеслав_Старухин
AlexSr:

Врать не буду, давно это было

Без профессиональной привычки это запомнить трудно.

“Little Endian” значит, что младший байт записывается по младшему адресу в памяти.
Например, если в регистре 4 байта выглядят так Byte3 Byte2 Byte1 Byte0
То в памяти они записаны так:
Base Address+0 Byte0 Base Address+1 Byte1 Base Address+2 Byte2 Base Address+3 Byte3

Intel процессоры семейства x86 и PDP-11 в 16-тиразрядном варианте используют “Little Endian” .
-----------------------------------------

“Big Endian” значит, что старший байт записывается по младшему адресу в памяти.
Например, если в регистре 4 байта выглядят так Byte3 Byte2 Byte1 Byte0
То в памяти они записаны так:
Base Address+0 Byte3 Base Address+1 Byte2 Base Address+2 Byte1 Base Address+3 Byte0

процессоры Motorola, используемые в Mac, SPARC, Эльбрус используют “Big Endian”.

То есть в случае Big Endian порядок байтов в памяти выглядит естественно, как в регистре ( или на бумаге ), а в случае Little Endian в памяти порядок байтов противоположен порядку байтов в регистре.

Связано это с тем, что исторически у большинства машин с порядком Little Endian разрядность байтов в слове наращивалась ( 8 разрядов, потом стало 16, потом 32, потом 64 ), поэтому для совместимости считывания байтов в регистры процессора был использован такой перевёрнутый вариант. То есть для обращения за словом из 1 байта, или 2-х, 4-х или 8-ми адрес в памяти один и тот же.

А Эльбрус, например, сразу был 64-разрядной машиной, поэтому не нужно было заботиться ни о какой совместимости с малоразрядными предками и переворачивать байты задом наперёд, из памяти считалось сразу 8 байтов ( даже больше, 9 байтов, потому что было ещё 6 разрядов тега и 2 аппаратных разряда) и никак не меньше.

Mick
Вячеслав_Старухин:

Для истории важны идеи, мысли или хотя бы объекты, которые можно увидеть и почувствовать непосредственно, а не конкретные старые программы.

Наверное, что важно для истории, каждый решает по-своему. В том числе, и музей компьютерной техники. А мне бы очень понравилось посетить такой музей, сесть за ядовито-зеленый или рыжий (цвет экрана) алфавито-цифровой дисплей и сыграть , например, в тетрис. Или портрет Моны Лизы и Альберта Эйнштейна распечатать в формате “крестиков ноликов”.
А вот как ОС (или ее эмулятор, что еще хуже) может работать с образом диска, я не понимаю. По существу, образ - своеобразный архив, который создается и открывается определенным приложением. Другие приложения получают доступ не к образу, а к диску. Поясните пошаговый алгоритм по переносу данных с дискет на современный жесткий диск и дальнейшей работы с ними. Например, как прочесть “старый” текстовый файл?

Вячеслав_Старухин

Всё это программно реализуется довольно просто, если есть необходимость и желание.
Но в каждом случае по-разному.

Часто эмуляторы работают не с реальными устройствами, а с их моделями в виде файлов. Тогда всё просто - нужно всего лишь записать имеющиеся данные в файл в нужном формате.

Иногда с реальными устройствами, тогда всё гораздо сложнее.
У меня однажды была ситуация, когда с реальным устройством ( магнитным барабаном), на котором был записан код операционной системы, одновременно работал и мой эмулятор, развёрнутый на предшествующей модели ЭВМ ( Эльбрус-1), и реальная тогда ещё только-только отлаживаемая, машина Эльбрус-2.
Инженеры даже удивились, как это работало без всякой синхронизации.
Барабан был подключён сразу к двум процессорам ввода-вывода, входящих в разные вычислительные комплексы.
Но работало, хотя такая цель не ставилась специально, а сложилась по жизни,просто одни и те же коды понадобились сразу всем. Скорее всего запросы в этот период времени физически шли довольно редко.

korsh

Когда-то встречал в нете утилиту лдя записи TR-DOS дисков в ПК.
Подключался обычный флопешник к ПК (не помню 5,25 или 3,5).
Утилита была под DOS (вроде) - лет 10 назад было, уже не помню.
попробуйте полазить по сайтам по теме “эмулятор TR-DOS, Speccy, ZX Spectrum” связаться с их авторами. В России штук 5 сайтов точно.
типа того trd.speccy.cz

P.S. Ностальгия блин…

Mick
Вячеслав_Старухин:

Всё это программно реализуется довольно просто, если есть необходимость и желание.
Но в каждом случае по-разному.
Часто эмуляторы работают не с реальными устройствами, а с их моделями в виде файлов. Тогда всё просто - нужно всего лишь записать имеющиеся данные в файл в нужном формате.
Иногда с реальными устройствами, тогда всё гораздо сложнее.

Уточните, что именно программно реализуется легко и просто.
Про модели в виде файлов готов согласиться, но образ - это другое. Это конкретный продукт конкретного приложения. Попробуйте в Windows поработать с образом, минуя приложение, которое его создало.
А если более теоретически, вспомните 7-уровневую модель ИТ, которая описывает все от приложений пользователя (самый верхний уровень) до физического уровня (типа какой кабель). Уровни модели могут взаимодействовать только с соседними (редко через один). А здесь предпринимается безуспешная попытка резких прыжков, минуя уровни. Даже конфигурацию байтов вспомнили, и возможности аппаратной реализации (упонимались серии микросхем и т.д.). Уверен на 100%, что с таким подходом задача, сформулированная ТС, решена не будет.
Буду рад, если реально докажите обратное.
В этой ситуации есть стандартное решение - сеть, в которой все компьютеры “понимают” друг друга, т.е. видят другого,как себя, независимо от типа ОС.
Любая другая попытка решить поставленную задачу неизбежно приведет к точно такому же выводу - созданию “общего” языка, который давно уже создан.
Прошу прощения за многословие…

Mick:

Или портрет Моны Лизы и Альберта Эйнштейна распечатать в формате “крестиков ноликов”.

По-прежнему, актуально:

rcopen.com/forum/f6/topic34920/1944

AlexSr
Mick:

Про модели в виде файлов готов согласиться, но образ - это другое. Это конкретный продукт конкретного приложения. Попробуйте в Windows поработать с образом, минуя приложение, которое его создало.

Вы всё время пытаетесь (умозрительно) использовать средства операционной ситемы.
Ну какая разница, что записано в файл? Это всего лишь просто последовательность битов (или байтов, или “слов”…).
А как интерпретировать в приложении эту информацию - это зависит только от самого приложения. И образ диска - точно такой же файл, ничем не отличающийся от прочих.
Операционная система предоставляет вам доступ к своей файловой подсистеме ввода/вывода. Не более того. Что туда записать и как это использовать - зависит только от Вашей фантазии.
Хоть текст в КОИ, хоть программу PDP, хоть битовое изображение.

А для обращения к устройствам (физическим) есть свои способы. Или низкоуровневый драйвер (если он поддерживает необходимый функционал), или просто прямое обращения к регистрам (заменив на себя вектора прерываний, что бы не нервировать систему).

Вячеслав_Старухин:

“Little Endian” значит, что младший байт записывается по младшему адресу в памяти.

То, что так было в Дековских клонах - помню прекрасно. А вот в IBM совместимых …
Я даже не удосужился “выучить” шестнадцатиричную систему счисления. Дальше восьми - ну никак! 😂

Mick
AlexSr:

А как интерпретировать в приложении эту информацию - это зависит только от самого приложения.

Именно об этом я и говорю. А где они, приложения? А говорю я не умозрительно, а соответствии с современными стандартами по ИТ и многолетним опытом пратической работы. Вы можете сколько угодно рассуждать о древних PC, но убедить меня сможете только получив конкретное решение задачи, озвученной ТС. Давайте результат, и тогда обсудим, как он был достигнут.
По-моему, для решения задачи знание ***-ричных систем не требуется, иначе будете изобретать “слонов”, начиная с аппратной части и кончая ее низкоуровневым программированием. В результате, Вы наверное получите что-то типа USB или доморощенных протоколов LAN. Путь объединения двух ОС давно найден и очевиден - сеть.

yantsen
Mick:

А вот как ОС (или ее эмулятор, что еще хуже) может работать с образом диска, я не понимаю. По существу, образ - своеобразный архив, который создается и открывается определенным приложением. Другие приложения получают доступ не к образу, а к диску. Поясните пошаговый алгоритм по переносу данных с дискет на современный жесткий диск и дальнейшей работы с ними. Например, как прочесть “старый” текстовый файл?

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

Mick:

Про модели в виде файлов готов согласиться, но образ - это другое. Это конкретный продукт конкретного приложения. Попробуйте в Windows поработать с образом, минуя приложение, которое его создало. А если более теоретически, вспомните 7-уровневую модель ИТ, которая описывает все от приложений пользователя (самый верхний уровень) до физического уровня (типа какой кабель). Уровни модели могут взаимодействовать только с соседними (редко через один). А здесь предпринимается безуспешная попытка резких прыжков, минуя уровни. Даже конфигурацию байтов вспомнили, и возможности аппаратной реализации (упонимались серии микросхем и т.д.). Уверен на 100%, что с таким подходом задача, сформулированная ТС, решена не будет.

Наверное Вы имеете в виду модель OSI, здесь присутствуют примерно те же уровни:

  1. Прикладной уровень - это файлы определенных форматов, созданные конкретными приложениями.
  2. Представительский уровень - файловая система, с ее иерархией каталогов, именами файлов и т.д.
  3. Следующий уровень - это уже сектора диска и порядок байтов.
  4. Физический уровень - дискета, контроллер, дисковод.

Чтобы обеспечить работу приложений с образом диска необходимо подменить уровни со 2 до самого нижнего.
В итоге программы взаимодействуют с ОС, а уже на уровне драйверов ОС происходит работа не с физическим устройством, а с виртуальным и данные пишутся и читаются из специального файла образа диска.

В качестве примера могу привести весьма распространенную практику созданич виртуальных CD и DVD устройств, работающих с образами дисков, виртуальные диски в операционной памяти.

Используя такой подход можно создавать новые логические диски с дополнительной функциональностью: зашифрованные, сжатые и т.д.

Ни какого перескакивания через уровни нет, данные передаются с уровня на уровень, но некоторые уровни подменяются.

Основной проблемой является как раз получения образа диска в “чужой” операционной системе на несовместимом железе и написание соответствующего драйвера. Но к счастью в этой области уже давно все написано, надо только поискать. Да что там с дисков - с магнитофонных лент для Спектрума и БК-0010 программы успешно работают в эмуляторох на современных компьютерах.

Mick
yantsen:

Приложения работают с диском посредством операционной системы (вариант прямого программирования контроллера не рассматриваем), следовательно достаточно добавить в систему новый драйвер диска, который будет работать не с физическим устройством, а с файлом данных определенного формата записанным на физический диск. В системе появится дополнительный диск.

Наверное Вы имеете в виду модель OSI, здесь присутствуют примерно те же уровни:

  1. Прикладной уровень - это файлы определенных форматов, созданные конкретными приложениями.
  2. Представительский уровень - файловая система, с ее иерархией каталогов, именами файлов и т.д.
  3. Следующий уровень - это уже сектора диска и порядок байтов.
  4. Физический уровень - дискета, контроллер, дисковод.

Чтобы обеспечить работу приложений с образом диска необходимо подменить уровни со 2 до самого нижнего.
В итоге программы взаимодействуют с ОС, а уже на уровне драйверов ОС происходит работа не с физическим устройством, а с виртуальным и данные пишутся и читаются из специального файла образа диска.

В качестве примера могу привести весьма распространенную практику созданич виртуальных CD и DVD устройств, работающих с образами дисков, виртуальные диски в операционной памяти.

Используя такой подход можно создавать новые логические диски с дополнительной функциональностью: зашифрованные, сжатые и т.д.

Ни какого перескакивания через уровни нет, данные передаются с уровня на уровень, но некоторые уровни подменяются.

Основной проблемой является как раз получения образа диска в “чужой” операционной системе на несовместимом железе и написание соответствующего драйвера. Но к счастью в этой области уже давно все написано, надо только поискать. Да что там с дисков - с магнитофонных лент для Спектрума и БК-0010 программы успешно работают в эмуляторох на современных компьютерах.

  1. Согласен. Пишем и добавляем драйвер. Эквивалентно созданию приложения, создающего образ диска.
    2.С тем что поискать надо, тоже согласен. Но не факт, что заработает в силу каких-то минимальных особенностей. Только древнее устройство еще присоедините. По существу, выявили 2 пути чтения: локальный с присоединением древних устройств и написанием или поиском соответствующих драйверов или сетевой с организацией сетевого взаимодействия.
    Названий древних машин и ОС не знаю, но это не являтся принципиальным для решения поставленной задачи. Все равно получится “сеть” (а на самом деле переходник/адаптер). Только сетевой вариант взаимодействия - есть стандарт де-факто. Остальное было до нее и по существу будет представлять из себя примитивную сеть.
Ax0n
Mick:

А мне бы очень понравилось посетить такой музей, сесть за ядовито-зеленый или рыжий (цвет экрана) алфавито-цифровой дисплей и сыграть , например, в тетрис.

Не уверен, но предполагаю, что музей нахадится в 1501 школе(гимназии) им. Ломоносова в ВАО. Имею дело с посредником, не уточнял подробности.

Mick
Ax0n:

Не уверен, но предполагаю, что музей нахадится в 1501 школе(гимназии) им. Ломоносова в ВАО. Имею дело с посредником, не уточнял подробности.

Я тоже живу в ВАО. Уточните адрес. Может и зайду…

Ax0n
lelik:

DOS пытается дать вам доступ к содержимому. Возьмите dd по ссылке и dd if=\\.\a: of=c:\temp\disk1.img bs=512

Пока под ДОС 7.0 не получилось. Соберу старый ПК, попробую под ДОС 6.22

Felar_Furlong:

нортон не поможет, была под дос программа floppy disk analyzer, fda, вот она скорее всего сможет образы снять.

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

Mick:

Я тоже живу в ВАО. Уточните адрес. Может и зайду…

Здесь
Москва, ул.Б.Остроумовская, д.7 М. Сокольники

lelik

Попробуйте в Windows поработать с образом, минуя приложение, которое его создало.

Легко и непринужденно, понимая, что файл это не иконка в проводнике.

А если более теоретически, вспомните 7-уровневую модель ИТ, которая описывает все

Слышал звон, да не знает где он. Тhe Open System Interconnection Reference Model (OSI Reference Model or OSI Model) is an abstract description for layered communications and computer network protocol design. It is therefore often referred to as the OSI Seven Layer Model. Перевод нужен?

Ax0n:

Пока под ДОС 7.0 не получилось.

Что значит - не получилось? Какая симптоматика?

Ax0n
lelik:

Что значит - не получилось? Какая симптоматика?

А никакая, команда dd не опознается. Скорее всего от урезанности ДОС для Win98

lelik

Это не встроенная команда. Я ж вам ссылку дал на нее. И, думаю, что она для NT-based систем, под 9х не пойдет. Поищите что-нибудь здесь

Ax0n
lelik:

Это не встроенная команда. Я ж вам ссылку дал на нее. И, думаю, что она для NT-based систем, под 9х не пойдет. Поищите что-нибудь здесь

В старом сообщении ссылки не было. Изучаю теперь по этой. По диагонали просмотрел, пока пусто. Изучаю дальше.

Теперь прочитал внимательно, но нужного не нашел. Пока иду спать.

Mick
lelik:

Слышал звон, да не знает где он. Тhe Open System Interconnection Reference Model (OSI Reference Model or OSI Model) is an abstract description for layered communications and computer network protocol design. It is therefore often referred to as the OSI Seven Layer Model. Перевод нужен?

Зачем же грубить? Каюсь, что не ту абстрактную модель упонямул. Я же сказал, что теоретизрую. Суть не меняется. Современная ИТ-идеология построена на подобных слоях. Те, кто обеспечивают поддержку “снизу”, понятия не имеют, что творится на прикладном уровне.

lelik

А не надо теоретизировать. И абстрактных моделей не надо. Задан конкретный вопрос - как сделать образы дисков. У вас есть ответ на него?