Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Старый софт »   Запись FDD-образов формата NSI
RSS

Запись FDD-образов формата NSI

Пытаюсь разобраться с образами формата NSI (NorthStar Images) и возможностью их записи на дискеты под MS-DOS.

<<Назад  Вперед>> Печать
 
misha_weba
Newbie


Откуда: СПб
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 апр. 2017
Приветствую. Потянуло тут слегка в IT-археологию.
Решил попробовать научиться писать на флоппи-носители зело нестандартные образы дискет для CP/M.
Нашёл сайт с таким софтом: http://www.classiccmp.org/dunfield/img/index.htm

Задача сделать 3.5"-дискеты такого формата, чтобы их читал CP/M, запущенный на Sony SMC-70GP
Насколько я понял отсюда, в таких случаях раскатка образа делается спецсофтом типа 22disk, NSI.com или ImageDisk , умеющими создавать нестандартную низкоуровневую разметку на дискете.

Я попробовал с помощью ImageDisk считать IMD с самой CP/M - получилось.
Сведения о формате от DiskImage:
0/0: 250k DD - 16 sectors of 256 bytes + G1:32 G2:50 / 70 tracks
0/1: Single-sided
0/0: Single-step
1120 sectors (658Compressed)


А вот с файлами формата NSI вышел облом-с - я так понимаю, формат у образов NorthStar свой, и работать с ним умеют только утилиты типа NSI.com / NST.com (ImageDisk их не ест).

Первая просто позволяет смотреть / менять файлы внутренней ФС в файле-образе, и это работает, а вот вторая должна по идее работать с дисководом. Однако у меня эта тулза при попытке записи/чтения образа по команде
nst.com RS file.nsi
сперва пишет приветствие:
NorthStar Transfer utility - Mar 24 2007 - Dave Dunfield
a через 2 секунды вываливается с сообщением "Target not responding", при этом дисковод никак не реагирует - индикации активности / шума привода нет.

Утилита TESTFDC 1.16 при попытке проверки такой командой:
testfdc A:
просто зависает на первом же этапе "250k Single-Density: Format".

Никаких обращений к флоппику при этом не видно.

Вопросы:
- можно ли как-то иначе записать данные образы формата NSI, ещё какими-либо тулзами ?
- существуют ли конвертеры из NSI в формат ImageDisk ?
- если не стоит задачи развернуть образ 1-в-1, а просто извлечть файлы из NSI-образа и записать их на дискету нужного формата, решаемо ли это средствами 22disk / DiskImage, без использования виснущего у меня NST.com ?
- возможно ли такое, что на моём железе ( контроллере FDD / дисководе ) в принципе не получится записать подобное ?


P.S. Стенд - Celeron 633 / 384 Mb RAM / Chaintech 6VTA3 / FDD 1.44 80-track / MS-DOS 6.22, HDD - 64 Mb RAM-диск, загрузка по PXE сетевой картой с PXE-сервера.

Буду благодарен любым советам / подсказкам по этим чудесатым форматам.
elias137
Full Member


Откуда: 2:5020
Всего сообщений: 288
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 авг. 2010
KryoFlux
misha_weba
Newbie


Откуда: СПб
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 апр. 2017
Ух, в моём случае это весьма суровое решение.
То есть чисто софтверно это не решаемо, нет шансов на надёжную запись ?
Или стоит ещё поковырять 22disk / ImageDisk ?
misha_weba
Newbie


Откуда: СПб
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 апр. 2017
Так, я ещё немного пошаманил и смог с помощью IMage Disk не только считать, но и записать образ размером 160 Кб, отформаченный под CP/M. Сделал контрольное считывание копии в отдельный файл образа, и после ручной правки даты/времени создания в хекс-редакторе у дампов совпали MD5-суммы, так что по железу принципиальной непреодолимости нет - пишутся / читаются образы на 160 Кб имадж диском прекрасно на моей системе.

А вот nst.com у меня не работает ни в какую, как и testfdc =(.


Возможно ли извлечь файлы из NSI и как-то собрать из них IMD-образ под тот же формат дискеты 160 Кб ?

У меня получилось с нуля создать пустой NSI и закидывать туда файлы, а вот разобраться с извлечением не получается - nsi.com выдает кучу **Warning**, с ссобьщениями вида " `-SYSTEM-` is double mapped with `DISKETTE` ", а вот извлечь что-то внятное не получается - при попытке сделать, к примеру,

nsi butler.nsi GET DISKETTE::C:\dump1

полученный файл dump1 байт-в-байт совпадает с исходным образом, md5 не даст соврать.

Ещё вопрос - в современных линуксах есть пакет cpmtools, который умеет с помощью mkfs.cpm создавать файловую систему CP/M на заданном блочном устройстве. Я сделал такую тестовую ФС, но полученный файл не имеет в своей структуре ничего общего ни с образом IMD (свой заголовок и комменты в начале файла), ни с образом NSI (заполнители 0x20), за исключением байта-заполнителя 0xE5. Кроме того, пустой NSI при создании с помощью imdcmt вообще только заголовок IMD и содержит.

По софту кто ещё чего может подсказать ?

P.S. KryoFlux решение конечно крутое, но для моего случая явно избыточное, да и мне интересно разобраться именно с форматами образов и возможностями их конверсии или как минимум корректного извлечения/переноса файлов между образами.

Заранее спасибо.
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
misha_weba Взгляните на старый топик
topic/3000

Если формат дискеты MFM - то ее можно писать-читать на контроллере обычной PC с любой длиной сектора, секторов на дорожке и т.д.

Для работы с файловой системой CP/M есть набор утилит cpmtools:
http://www.moria.de/~michael/cpmtools/
(упс, уже вижу что вы в курсе)
Только надо определить формат или взять готовый.
Заполнение пустых секторов может быть любое. E5 критично только для секторов области каталога.
misha_weba
Newbie


Откуда: СПб
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 апр. 2017
Добрый день. Подведу небольшие итоги своих изысканий.

Как оказалось, несмотря на принципиальную возможность записи дискет малых размеров на современных дисководах с последними контроллерами (где дисковод ещё был), особенности ряда ПО могут не позволить сделать это легко и быстро.

Я использовал три разных машинки: Celeron 1.7 / Elitegroup L4VXA2 (чипсет VT8235), Pentium 3 / Chaintech 6VTA3 и Celeron 433 на какой-то брендовой материнке под маркой compaq (тот самый комп из статьи для конкурса http://www.phantom.sannata.ru/konkurs/2017/kt1710.shtml ). Ничего древнее у меня не нашлось, увы.

Как я уже писал, IMage Disk умеет писать/читать сложные образы с нестандартными секторами и разметкой, но он работает на уровне посекторных копий с учетом всякой физики привода, и совершенно не обрабатывает внутренности файловых систем.
Но есть возможность конверсии IMA-файлов или никсовых dd-образов в/из IMD. Работает в чистом DOS.
Естественно, при конверсии в IMD надо указывать какой физический формат носителя будет применен для IMD-образа, поскольку dd содержит только подряд записанные байты в сыром виде со всех секторов подряд, без данных о физической разметке.

Что касается cpmtools (я использовал версию из репозитория 16.04-й убунты), то тут мне удалось создать пустой dd-образ с файловой системой cp/m (mkfs.cpm ./image.dd , на удивление простая разметка у пустой ФС оказалась), и удалось извлечь файлы из IMA-образа, полученного от imagedisk. А вот записать файлы внутрь образа не вышло - хоть cpmcp и возвращала на соответствующую команду код 0, в файле образа ничего не менялось. Еще одна серьезная засада - образ не монтируется привычным нам способом вообще (никаких mount.cpm и fuse-магии), и никакие стандартные файловые менеджеры и тулзы не прокатят - работа идёт по-файлово, только через cpm-утилиты. Так что извлечение файлов из dd-образа cp/m - либо по одному, либо писать скрипты для связки cpmls + cpmcp.

Что касается NSI (а нужные мне образы именно в этом формате), то тут, по закону подлости, ситуация обратная - удалось создать пустой файл и даже удалось добавить в него файлы, а вот извлечение файлов из текущих NSI-образов сыпет ошибками и ничего не извлекает. Самый же прямой и очевидный шаг в виде записи NSI прямо на носитель через nst.comу меня обломился на всех трёх машинках - дисковод даже не включает индикацию, утилита виснет.

Также я попробовал 22disk. Там очень много форматов дискет 5,25, а вот под 3,5 низкой плотности почти ничего и не было (возможно, у меня неполная версия этой шароварной проги). Да и попытка что-либо записать даже в ином формате у меня тоже обломилась - этой утилите, как и NSI, предположительно нужен определенный флоппи-контроллер адекватного уровня древности с соответствующей совместимостью.

Похоже, даже имея образы "античных" дискет, извлечение данных из них может потребовать либо наличия аутентичного железа (учитывыя древность CP/M, соответствующих годов), либо очень тонко настроенного BOCHS, либо написания нового вспомогательного софта, либо использования серьёзных аппаратных решений типа выше рекомендованного KryoFlux.

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

Огромное спасибо всем, кто откликнулся. Надеюсь, эта краткая заметка будет кому-нибудь полезна.
<<Назад  Вперед>> Печать
Полигон-2 »   Старый софт »   Запись FDD-образов формата NSI
RSS

0 посетителей просмотрели эту тему за последние 15 минут
В том числе: 0 гостей, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS