Эмуляторы PDP-11 и не только
Чтобы получить образ не нужно добираться до содержимого, главное - возможность прочесть носитель блок за блоком.
Именно это и требуется. Затем этот образ может расшифровать эмулятор. Но проблема пока в том, что я не могу его прочесть из среды ДОС.
Правда советы здесь дельные были, но пока я не воспользовался ими, много другой срочной работы.
в состав которого входит утилитка rt11dsk, обеспечивающая доступ к файлам.
Эта утилитка работает с образами дисков, а не напрямую с носителями. Задача в том и состоит получить образ диска с носителя, неважно, что на нем хранится, дальше уже эмулятор работает.
Но проблема пока в том, что я не могу его прочесть из среды ДОС.
DOS пытается дать вам доступ к содержимому. Возьмите dd по ссылке и
dd if=\\.\a: of=c:\temp\disk1.img bs=512
dd if=\\.\a: of=c:\temp\disk1.img bs=512
Спасибо, сейчас попробую.
Потому что ЭВМ советского периода были сданы на переработку, так как содержали много золота и серебра.
Ага … одно поле в Эл.100И чего стоило.
Я на “протирку” такой фигни по 25л в месяц получал на нашу лабораторию. Было чем встретить праздники.😅
Порядок байтов на PDP-11 как раз такой, как на современных PC, то есть наоборот с точки зрения разработчиков машин в ИТМ и ВТ.
Врать не буду, давно это было. Но попытки наоборот - читать IBM коды из ПЗУ на ДВК давали явно обратный порядок. То же и с лентой записаной на ЕС и читаемой на Эл.125. (из за этого, что бы распечатать Стругацких, пришлось на Паскале “драйвер” ленты писать и печатать потом на “Консуле” 😂)
Хотя ещё раз - может я что и путаю. 😃
Врать не буду, давно это было
Без профессиональной привычки это запомнить трудно.
“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 аппаратных разряда) и никак не меньше.
Для истории важны идеи, мысли или хотя бы объекты, которые можно увидеть и почувствовать непосредственно, а не конкретные старые программы.
Наверное, что важно для истории, каждый решает по-своему. В том числе, и музей компьютерной техники. А мне бы очень понравилось посетить такой музей, сесть за ядовито-зеленый или рыжий (цвет экрана) алфавито-цифровой дисплей и сыграть , например, в тетрис. Или портрет Моны Лизы и Альберта Эйнштейна распечатать в формате “крестиков ноликов”.
А вот как ОС (или ее эмулятор, что еще хуже) может работать с образом диска, я не понимаю. По существу, образ - своеобразный архив, который создается и открывается определенным приложением. Другие приложения получают доступ не к образу, а к диску. Поясните пошаговый алгоритм по переносу данных с дискет на современный жесткий диск и дальнейшей работы с ними. Например, как прочесть “старый” текстовый файл?
Всё это программно реализуется довольно просто, если есть необходимость и желание.
Но в каждом случае по-разному.
Часто эмуляторы работают не с реальными устройствами, а с их моделями в виде файлов. Тогда всё просто - нужно всего лишь записать имеющиеся данные в файл в нужном формате.
Иногда с реальными устройствами, тогда всё гораздо сложнее.
У меня однажды была ситуация, когда с реальным устройством ( магнитным барабаном), на котором был записан код операционной системы, одновременно работал и мой эмулятор, развёрнутый на предшествующей модели ЭВМ ( Эльбрус-1), и реальная тогда ещё только-только отлаживаемая, машина Эльбрус-2.
Инженеры даже удивились, как это работало без всякой синхронизации.
Барабан был подключён сразу к двум процессорам ввода-вывода, входящих в разные вычислительные комплексы.
Но работало, хотя такая цель не ставилась специально, а сложилась по жизни,просто одни и те же коды понадобились сразу всем. Скорее всего запросы в этот период времени физически шли довольно редко.
Когда-то встречал в нете утилиту лдя записи TR-DOS дисков в ПК.
Подключался обычный флопешник к ПК (не помню 5,25 или 3,5).
Утилита была под DOS (вроде) - лет 10 назад было, уже не помню.
попробуйте полазить по сайтам по теме “эмулятор TR-DOS, Speccy, ZX Spectrum” связаться с их авторами. В России штук 5 сайтов точно.
типа того trd.speccy.cz
P.S. Ностальгия блин…
Всё это программно реализуется довольно просто, если есть необходимость и желание.
Но в каждом случае по-разному.
Часто эмуляторы работают не с реальными устройствами, а с их моделями в виде файлов. Тогда всё просто - нужно всего лишь записать имеющиеся данные в файл в нужном формате.
Иногда с реальными устройствами, тогда всё гораздо сложнее.
Уточните, что именно программно реализуется легко и просто.
Про модели в виде файлов готов согласиться, но образ - это другое. Это конкретный продукт конкретного приложения. Попробуйте в Windows поработать с образом, минуя приложение, которое его создало.
А если более теоретически, вспомните 7-уровневую модель ИТ, которая описывает все от приложений пользователя (самый верхний уровень) до физического уровня (типа какой кабель). Уровни модели могут взаимодействовать только с соседними (редко через один). А здесь предпринимается безуспешная попытка резких прыжков, минуя уровни. Даже конфигурацию байтов вспомнили, и возможности аппаратной реализации (упонимались серии микросхем и т.д.). Уверен на 100%, что с таким подходом задача, сформулированная ТС, решена не будет.
Буду рад, если реально докажите обратное.
В этой ситуации есть стандартное решение - сеть, в которой все компьютеры “понимают” друг друга, т.е. видят другого,как себя, независимо от типа ОС.
Любая другая попытка решить поставленную задачу неизбежно приведет к точно такому же выводу - созданию “общего” языка, который давно уже создан.
Прошу прощения за многословие…
Или портрет Моны Лизы и Альберта Эйнштейна распечатать в формате “крестиков ноликов”.
По-прежнему, актуально:
Про модели в виде файлов готов согласиться, но образ - это другое. Это конкретный продукт конкретного приложения. Попробуйте в Windows поработать с образом, минуя приложение, которое его создало.
Вы всё время пытаетесь (умозрительно) использовать средства операционной ситемы.
Ну какая разница, что записано в файл? Это всего лишь просто последовательность битов (или байтов, или “слов”…).
А как интерпретировать в приложении эту информацию - это зависит только от самого приложения. И образ диска - точно такой же файл, ничем не отличающийся от прочих.
Операционная система предоставляет вам доступ к своей файловой подсистеме ввода/вывода. Не более того. Что туда записать и как это использовать - зависит только от Вашей фантазии.
Хоть текст в КОИ, хоть программу PDP, хоть битовое изображение.
А для обращения к устройствам (физическим) есть свои способы. Или низкоуровневый драйвер (если он поддерживает необходимый функционал), или просто прямое обращения к регистрам (заменив на себя вектора прерываний, что бы не нервировать систему).
“Little Endian” значит, что младший байт записывается по младшему адресу в памяти.
То, что так было в Дековских клонах - помню прекрасно. А вот в IBM совместимых …
Я даже не удосужился “выучить” шестнадцатиричную систему счисления. Дальше восьми - ну никак! 😂
А как интерпретировать в приложении эту информацию - это зависит только от самого приложения.
Именно об этом я и говорю. А где они, приложения? А говорю я не умозрительно, а соответствии с современными стандартами по ИТ и многолетним опытом пратической работы. Вы можете сколько угодно рассуждать о древних PC, но убедить меня сможете только получив конкретное решение задачи, озвученной ТС. Давайте результат, и тогда обсудим, как он был достигнут.
По-моему, для решения задачи знание ***-ричных систем не требуется, иначе будете изобретать “слонов”, начиная с аппратной части и кончая ее низкоуровневым программированием. В результате, Вы наверное получите что-то типа USB или доморощенных протоколов LAN. Путь объединения двух ОС давно найден и очевиден - сеть.
А вот как ОС (или ее эмулятор, что еще хуже) может работать с образом диска, я не понимаю. По существу, образ - своеобразный архив, который создается и открывается определенным приложением. Другие приложения получают доступ не к образу, а к диску. Поясните пошаговый алгоритм по переносу данных с дискет на современный жесткий диск и дальнейшей работы с ними. Например, как прочесть “старый” текстовый файл?
Приложения работают с диском посредством операционной системы (вариант прямого программирования контроллера не рассматриваем), следовательно достаточно добавить в систему новый драйвер диска, который будет работать не с физическим устройством, а с файлом данных определенного формата записанным на физический диск. В системе появится дополнительный диск. Для пользователя операционной системы этот диск ни чем не отличается от физического. Все запросы к файловой системе перехватываются драйвером и реализуются операциями чтения или записи из файла образа диска. На этом уровне эмулируется все, включая порядок байтов.
Про модели в виде файлов готов согласиться, но образ - это другое. Это конкретный продукт конкретного приложения. Попробуйте в Windows поработать с образом, минуя приложение, которое его создало. А если более теоретически, вспомните 7-уровневую модель ИТ, которая описывает все от приложений пользователя (самый верхний уровень) до физического уровня (типа какой кабель). Уровни модели могут взаимодействовать только с соседними (редко через один). А здесь предпринимается безуспешная попытка резких прыжков, минуя уровни. Даже конфигурацию байтов вспомнили, и возможности аппаратной реализации (упонимались серии микросхем и т.д.). Уверен на 100%, что с таким подходом задача, сформулированная ТС, решена не будет.
Наверное Вы имеете в виду модель OSI, здесь присутствуют примерно те же уровни:
- Прикладной уровень - это файлы определенных форматов, созданные конкретными приложениями.
- Представительский уровень - файловая система, с ее иерархией каталогов, именами файлов и т.д.
- Следующий уровень - это уже сектора диска и порядок байтов.
- Физический уровень - дискета, контроллер, дисковод.
Чтобы обеспечить работу приложений с образом диска необходимо подменить уровни со 2 до самого нижнего.
В итоге программы взаимодействуют с ОС, а уже на уровне драйверов ОС происходит работа не с физическим устройством, а с виртуальным и данные пишутся и читаются из специального файла образа диска.
В качестве примера могу привести весьма распространенную практику созданич виртуальных CD и DVD устройств, работающих с образами дисков, виртуальные диски в операционной памяти.
Используя такой подход можно создавать новые логические диски с дополнительной функциональностью: зашифрованные, сжатые и т.д.
Ни какого перескакивания через уровни нет, данные передаются с уровня на уровень, но некоторые уровни подменяются.
Основной проблемой является как раз получения образа диска в “чужой” операционной системе на несовместимом железе и написание соответствующего драйвера. Но к счастью в этой области уже давно все написано, надо только поискать. Да что там с дисков - с магнитофонных лент для Спектрума и БК-0010 программы успешно работают в эмуляторох на современных компьютерах.
Приложения работают с диском посредством операционной системы (вариант прямого программирования контроллера не рассматриваем), следовательно достаточно добавить в систему новый драйвер диска, который будет работать не с физическим устройством, а с файлом данных определенного формата записанным на физический диск. В системе появится дополнительный диск.
Наверное Вы имеете в виду модель OSI, здесь присутствуют примерно те же уровни:
- Прикладной уровень - это файлы определенных форматов, созданные конкретными приложениями.
- Представительский уровень - файловая система, с ее иерархией каталогов, именами файлов и т.д.
- Следующий уровень - это уже сектора диска и порядок байтов.
- Физический уровень - дискета, контроллер, дисковод.
Чтобы обеспечить работу приложений с образом диска необходимо подменить уровни со 2 до самого нижнего.
В итоге программы взаимодействуют с ОС, а уже на уровне драйверов ОС происходит работа не с физическим устройством, а с виртуальным и данные пишутся и читаются из специального файла образа диска.В качестве примера могу привести весьма распространенную практику созданич виртуальных CD и DVD устройств, работающих с образами дисков, виртуальные диски в операционной памяти.
Используя такой подход можно создавать новые логические диски с дополнительной функциональностью: зашифрованные, сжатые и т.д.
Ни какого перескакивания через уровни нет, данные передаются с уровня на уровень, но некоторые уровни подменяются.
Основной проблемой является как раз получения образа диска в “чужой” операционной системе на несовместимом железе и написание соответствующего драйвера. Но к счастью в этой области уже давно все написано, надо только поискать. Да что там с дисков - с магнитофонных лент для Спектрума и БК-0010 программы успешно работают в эмуляторох на современных компьютерах.
- Согласен. Пишем и добавляем драйвер. Эквивалентно созданию приложения, создающего образ диска.
2.С тем что поискать надо, тоже согласен. Но не факт, что заработает в силу каких-то минимальных особенностей. Только древнее устройство еще присоедините. По существу, выявили 2 пути чтения: локальный с присоединением древних устройств и написанием или поиском соответствующих драйверов или сетевой с организацией сетевого взаимодействия.
Названий древних машин и ОС не знаю, но это не являтся принципиальным для решения поставленной задачи. Все равно получится “сеть” (а на самом деле переходник/адаптер). Только сетевой вариант взаимодействия - есть стандарт де-факто. Остальное было до нее и по существу будет представлять из себя примитивную сеть.
А мне бы очень понравилось посетить такой музей, сесть за ядовито-зеленый или рыжий (цвет экрана) алфавито-цифровой дисплей и сыграть , например, в тетрис.
Не уверен, но предполагаю, что музей нахадится в 1501 школе(гимназии) им. Ломоносова в ВАО. Имею дело с посредником, не уточнял подробности.
Не уверен, но предполагаю, что музей нахадится в 1501 школе(гимназии) им. Ломоносова в ВАО. Имею дело с посредником, не уточнял подробности.
Я тоже живу в ВАО. Уточните адрес. Может и зайду…
DOS пытается дать вам доступ к содержимому. Возьмите dd по ссылке и dd if=\\.\a: of=c:\temp\disk1.img bs=512
Пока под ДОС 7.0 не получилось. Соберу старый ПК, попробую под ДОС 6.22
нортон не поможет, была под дос программа floppy disk analyzer, fda, вот она скорее всего сможет образы снять.
Прочитал к ней аннотацию, возможности большие и сложновато на первый взгляд. Попробую тоже.
Я тоже живу в ВАО. Уточните адрес. Может и зайду…
Здесь
Москва, ул.Б.Остроумовская, д.7 М. Сокольники
Попробуйте в 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. Перевод нужен?
Пока под ДОС 7.0 не получилось.
Что значит - не получилось? Какая симптоматика?
Что значит - не получилось? Какая симптоматика?
А никакая, команда dd не опознается. Скорее всего от урезанности ДОС для Win98
Это не встроенная команда. Я ж вам ссылку дал на нее. И, думаю, что она для NT-based систем, под 9х не пойдет. Поищите что-нибудь здесь
Это не встроенная команда. Я ж вам ссылку дал на нее. И, думаю, что она для NT-based систем, под 9х не пойдет. Поищите что-нибудь здесь
В старом сообщении ссылки не было. Изучаю теперь по этой. По диагонали просмотрел, пока пусто. Изучаю дальше.
Теперь прочитал внимательно, но нужного не нашел. Пока иду спать.
Слышал звон, да не знает где он. Т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. Перевод нужен?
Зачем же грубить? Каюсь, что не ту абстрактную модель упонямул. Я же сказал, что теоретизрую. Суть не меняется. Современная ИТ-идеология построена на подобных слоях. Те, кто обеспечивают поддержку “снизу”, понятия не имеют, что творится на прикладном уровне.