1 Отредактировано electroscat (29-08-2021 13:06)

Тема: Конвертация NIB в HFE, возможна ли, и каким образом ?

Доброго времени !

Попробовал программу dos33 - на предмет конвертирования образов из nib в DSK (конвертировать нужно для последующей конвертации в HFE для Готека)... Так вот, можно создать образ *.DSK  и скопировать в него все файлы с образа *.nib, но толку от этого мало, нет загрузочной области, и файлы не на своих местах, если есть привязка к адресу на диске программная.. Подскажите, есть ли способ конвертировать образы *.nib в образы *.DSK - ну или сразу в HFE - в целом тоже зачетно было бы.

Заранее благодарен за любые ответы.

2 Отредактировано Voldemar0 (29-08-2021 07:01)

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

Тут есть "утилиты сопровождения" nibble:
http://agatcomp.ru/agat/PCutils/msdos.shtml
Они это умеют.

Но только есть риск, что если у нас на сайте диск в форматах NIB, AIM или IM, то, вероятно,
это не просто так. Там что-то с форматом записи, который в DSK не укладывается.
Соответственно, после конвертации, возможно, прога внутри образа перестанет грузиться.

HFE - не наш формат, конвертор к нему писал не я, как он конвертирует, из чего и насколько правильно - не знаю.

3

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

Сасибо ! Да, есть в архиве со страницы утилитка NIB2AIM.EXE - которая конвертирует в AIM - и есть скрипт на perl для конвертации AIM в HFE. Конвертация в AIM происходит без проблем этой утилиткой, более того, образы, сконвертированные утилиткой открываются в эмуляторе, и работают. А вот конвертация в HFE к сожалению не происходит, сначала скрипт выдает кучу предупреждений, типа "WARNING: Track=159 GAP expected, No GAP found" gj 24 на каждый трек, в целом это не страшно, но в конце выдает Deflating AMI illegal division by zero at "имя скрипта" line 587 ... в общем, какая то ошибка в скрипте. ПРи всем, скрипт отлично конвертит AIM образы которые нашел в формате AIM.. В общем, похоже что то с этими образами действительно не просто )))) Пробовал на образах КПОН[a9] = все 4 из архива ведут себя одинаково.

4 Отредактировано electroscat (29-08-2021 12:37)

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

$deflation_rate = ($aim_track_gap_total_len[$track] - ( ($#{$aim[$track]}+1) - 6250 * 2 )/2)


Вот это строка 587 из скрипта... В перле к сожалению далеко не специалист, но общий смысл понятен, не досчитался треков,  .. Но как устроен агатовкий образ к сожалению не знаю. Помогите разобраться... В целом, есть и исходники утилитки NIB2AIM.EXE и PERL скрипт, но нет знаний о Агатовской разбивке и компоновке образа...

5

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

И еще, перловский крипт выдает один раз на трек сообщение:

PAYLOAD crossing Index hole at track 158. Copy protection ?

Думаю сообщения об ошибке как то связаны с недосчитанным GAP... )))

6 Отредактировано electroscat (29-08-2021 12:42)

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

Ну и как вариант, можно тему переименовать в  "Конвертация NIB в HFE, возможна ли, и каким образом ?"
Потому что основной посыл темы - именно такой. Ну и на мой взгляд это важная вещь, ибо Готек не понимает Агатовские форматы, и HFE это единственный формат, который доступен Готеку и в который можно переконвертить Агатовские образы.

А по сути, Готек это очень удобная штуковина, которая в целом исключает необходимость в Линках... Ну и вопрос таки, чуть оффтопный, может у кого то есть таки платка чистая от Линк 840 ? Купил бы...

7 Отредактировано Voldemar0 (29-08-2021 13:38)

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

Платки у автора платок были, вроде.

Переименовать тему может автор темы, для этого надо отредактировать первое сообщение темы. Тонкий намёк.

Описание AIM в исходном виде выглядит так:

Новый формат образов (Advanced IMage):

160 дорожек
Дорожка фиксированного размера: $1940 (TrkSize800) слов 16 бит.
Следовательно, размер образа: 2068480 байт.

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

Смысла делать нефиксированный размер дорожки нет, т.к. никогда неизвестно,
сколько данных захочет закинуть на дорожку код в виртуальной машине, а
раздвигать содержимое файла - лень.

Байты слов хранятся в обратном порядке. Слова анализируются так:
00xx - обычные данные, через регистры IO передается младшая часть
01xx - синхросбой
02xx - конец дорожки (заворот на начало) [читается, но не записывается]
03xx - индекс начало (1 -> 0)
13xx - индекс конец (0 -> 1)

При появлении кода 01xx в регистр чтения передается байт мусора (мл байт).
Этот байт будет считан стандартными драйверами без ожидания готовности и
затем отброшен. Другие коды тихо пропускаются и не доступны через регистр
чтения. Неизвестные коды также пропускаются без какой либо реакции. Не
следует заполнять недоступными кодами участок, в котором index = 0, т.к.
в этом случае программа внутри виртуальной машины вообще не сможет
обнаружить сигнал индекса.

Недопустимо, т.к. эмулятор может зависнуть, если:
- код 02xx встретился в самом начале дорожки
- на дорожке нет ни одного слова 00xx или 01xx

При чтении трека эмулятор должен его изучить и если будут найдены коды 03xx
или 13xx, то по ним будет устанавливаться бит Index. Иначе Index = 1 везде,
кроме интервала [0..$3F] (слов). Если 03xx или 13xx встречаются после 02xx
- эмулятор не изменяет значение Index. Это может использоваться для отладки.

Но только нужно учитывать, что мало кто решался у меня его попросить и бывало так, что его либо делали немного по своему либо сами пытались разбирать AIM и делать как бы так же как там... Но не читая изначального описания. В частности, был момент, что олеговский эмулятор неправильно выполнял запись на AIM-образ (Олег вводил какие-то собственные расширения, от которых dos33c2 путалась).

Кроме того, были ещё разговоры, давно уже, что в силу каких-то причин AIM не конвертируется однозначно в формат эмулятора, возможно, речь шла именно о HFE. Что-то там с размерами GAP-полей. Я как-то вяло пытался это обсуждать и объяснять причины выбора именно такого формата, но не знаю чем это закончилось.

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

8 Отредактировано electroscat (29-08-2021 13:20)

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

Прошу прощения за оффтоп..... А автор LINK840 - Wierzbowsky ? У него платок к сожалению нет...

9 Отредактировано Voldemar0 (29-08-2021 13:46)

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

Wierzbowsky - автор красивых зелёных плат.
Я - автор схемы и ПО.
Но может быть проще их заказать новые?
Если вы не из Томска, то пересылка ведь тоже будет денег стоить.

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

Если будете что нибудь писать в личку - проверьте, чтобы у вас в профиле правильно была указана ваша почта, иначе ответ не сможете получить.

И напоминаю: мосты работают с чистым досом и правильно настроенным параллельным портом !
Попытки "а вдруг по другому заработает" я обсуждать не берусь, потому что скорее всего не заработает. Всё заточено под realtime и никак по другому. Всё работало нормально при условии что в PC стоит проц в районе P-III или P-IV. Случаи успешной работы на других конфигурациях неизвестны.

10

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

У меня есть железка, 200ммх, с чистым досом 6.22, вполне думаю может подойти.
Если на этой железке не заработает - то соберу P4 - есть и платы и процессоры, не проблема. И ком портов хватает, как в мат. платах, так и отдельными модулями, тоже не проблема, а настроить, надеюсь на ваши подсказки.

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

А Игорь это кто ? Кому нужно написать и узнать про необходимость в платах ? Если у вас есть где нибудь еще и для модуля доп.озу для А7 - А9 лишняя плата, было бы супер, я бы и ЛИНК и ДОП ОЗУ у вас попросил бы, по одной...

11

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

Просто сейчас не могу понять, что у меня глючит, образы которые нормально сконвертировались в HFE без лишнего текста - работают на А9 отлично, некоторые не работают, но на них вроде скрипт выдавал какие то сообщения. А может и нет. Некоторые моменты, например общий агатовский тест доходит до красивого графика с цветными полосами в черных рамках и виснет, с искаженным предидущим графиком на экране,... Еще как пример, образы СПРАЙТ-ОС - оригинал работает без проблем, копия - пишет диалог испорчен,... в чем проблема, либо в конвертации образа, либо неисправность в Агате, либо что то еще... Не понимаю, как определить. НУ то есть, не все образы работают, ошибки есть, хоть и не много, и как их вычислить не пойму. Думаю, если написать дискет при помощи Линка - исключится неправильная работа Готека и ошибки при конвертации образов в HFE... И уже проще будет.

12 Отредактировано garnizon (29-08-2021 15:54)

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

electroscat пишет:

А Игорь это кто ?

Мы знакомы по форуму ZX.PK. Приветствую вас.

Я не претендую на платы.

13

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

Спасибо огромное! Буду очень рад поэкспериментировать с линком 840 !

14

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

.NIB - формат дисков 140к, дисковод Шугарт. .HFE - эмулятор дисководов TEAC и им подобных. Т.е. пытаетесь сконвертировать образ 140к в образ 840к и скормить эмулятору?

15 Отредактировано garnizon (29-08-2021 18:54)

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

Для 840 тоже возможен NIB размером 960кб (до появления AIM его пользовали для нестандартных дисков), про них речь.
Полумер конечно, но других вариантов не было тогда.

16

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

nib 840 я обычно называл im.
Но в мире все давно перепуталось, надо просто размер образа смотреть.
Так их dos33c2 отличает.

17

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

> И ком портов хватает,

LPT-порт, параллельный!
не com!

18

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

garnizon пишет:

Для 840 тоже возможен NIB размером 960кб (до появления AIM его пользовали для нестандартных дисков), про них речь.
Полумер конечно, но других вариантов не было тогда.

Тогда конвертировать его в AIM, а уже AIM - в HFE.

19 Отредактировано Voldemar0 (29-08-2021 19:59)

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

> Некоторые моменты, например общий агатовский тест доходит до красивого графика с цветными полосами в черных рамках и виснет, с искаженным предидущим графиком на экране,...

Начинать надо с теста Лисина (штатный тест ОЗУ девятки). Этот сбой может быть из-за видеоконтроллера или из-за ОЗУ.
По тестам видео: где-то на форуме была ветка про простенькие проги тестирования видео.
Или можно игрушки погонять разные, с разной графикой.

Потому что если речь о "комплексном тесте"  - то он как бы обычно работает, защит там нет.
Проверьте этот же образ на эмуляторе.

>  Еще как пример, образы СПРАЙТ-ОС - оригинал работает без проблем, копия - пишет диалог испорчен,...

Обычно это признак защиты от копирования.
Но в контексте о файлах-образах не ясно, что вы называтете копией, а что - оригиналом?
Физический дисковод есть? И дискеты к нему?


> НУ то есть, не все образы работают, ошибки есть, хоть и не много, и как их вычислить не пойму.

Запускать образ на эмуляторе, потом - на реальном железе.
Пока что ограничиться конвертацией только dsk->hfe, пока не будет проверена куча типичных программ (игрушки, операционки).


> Думаю, если написать дискет при помощи Линка - исключится неправильная работа Готека и ошибки при конвертации образов в HFE... И уже проще будет.

Это при условии, что вы мост соберёте и он работать будет сразу.
Иначе может случиться так, что вопросов только прибавиться.

Про платы в личку написал.

20

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

Voldemar0 пишет:

> И ком портов хватает,

LPT-порт, параллельный!
не com!


Да, и lpt портов хватает тоже, у меня куча разных девайсов под них, программатоы в основном.

21 Отредактировано electroscat (29-08-2021 22:38)

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

Voldemar0 пишет:

Начинать надо с теста Лисина (штатный тест ОЗУ девятки). Этот сбой может быть из-за видеоконтроллера или из-за ОЗУ.
По тестам видео: где-то на форуме была ветка про простенькие проги тестирования видео.
Или можно игрушки погонять разные, с разной графикой.

Да, тест Лисина работает по 8 - 12 часов без перерыва, ошибок не видел пока. Первый запуск этого теста закончился заменой КП12 (D20) через 4 часа работы Агата. Последующие запуски без ошибок. Игрушки тоже запускаются и играбельны. Хоть и не много я их нашел, тем не менее, пока проблемы не было с игрушками. Не работают к сожалению те, что для Агат 7, самые любимые, Каратека и Рыцарология, жаль что не работают, это очень хорошие геймы.

Voldemar0 пишет:

Потому что если речь о "комплексном тесте"  - то он как бы обычно работает, защит там нет.
Проверьте этот же образ на эмуляторе.

Вот в этом то и проблема, образ теста в DSK я проверяю в эмуляторе, и там проблемы нет. А потом образ конвертируется в HFE и с Готека загружется в еальный Агат, и проблема есть... Причем, я просматривал код теста на бейсике, вроде бы каких либо проблем я не заметил, типа куска испорченного файла.. Но наверняка там что то еще подгружается в ходе теста...

Voldemar0 пишет:

Обычно это признак защиты от копирования.
Но в контексте о файлах-образах не ясно, что вы называтете копией, а что - оригиналом?
Физический дисковод есть? И дискеты к нему?

В архиве со спрайт-ос есть главный загрузочный диск, и есть копия, сделанная при помощи основного лиска, оригинал называется "os", а производная (дочерний диск) называется "copy" . при конвертации и того и другого в HFE было много WARNING... В итоге "os" загружается, а "copy" пишет - "испорченный диалог" или типа того... Но это еще не все. Я не могу скопировать файлы с дискеты в образ, или из образа на дискету, когда начинается копирование, строчкой пишется имя и дата создания файла, загорается лампочка дисковода, и в таком состоянии все это может стоять вечность. Выход из этого = нажатие "Ред", программа пишет - Файл не найден, и снова показывает приглашение системы.

Voldemar0 пишет:

Физический дисковод есть? И дискеты к нему?

Да, причем, родной привод со стертой головой, и очень плохо пишет верхние дорожки, нижние чуть по лучше...
Поставил вместо него хороший NEC с небольшой наработкой, работает исключительно.

Voldemar0 пишет:

Запускать образ на эмуляторе, потом - на реальном железе.
Пока что ограничиться конвертацией только dsk->hfe, пока не будет проверена куча типичных программ (игрушки, операционки).

В целом, когда конвертация происходит без варнингов и ошибок - все работает... И в следствии этого теряется добрая половина софта.



Voldemar0 пишет:

Это при условии, что вы мост соберёте и он работать будет сразу.
Иначе может случиться так, что вопросов только прибавиться.

Я приложу к этому все усилия. Уже дискет подготовил, около 25 штук, буду еще покупать, нашел несколько продавцов, которые продают прямо новые запакованные.... Все же Агат вряд ли с какими то Готеками будет работать лучше чем с дискетами...

22

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

С копированием в OS SPRITE разобрался, у нее несколько другой синтаксис комманд... Все копируется..

23

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

> Вот в этом то и проблема, образ теста в DSK я проверяю в эмуляторе, и там проблемы нет.

Если это на базе ИКП, то там есть "Копировщик" в меню начальной загрузки, в нём есть "проверка диска", а может даже и "проверка файлов". На эмуляторе и на реале посчитать контрольные суммы и сравнить.

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

Со спрайтом потом разберёмся.

24

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

Voldemar0 пишет:

Если это на базе ИКП, то там есть "Копировщик" в меню начальной загрузки, в нём есть "проверка диска", а может даже и "проверка файлов". На эмуляторе и на реале посчитать контрольные суммы и сравнить.

Гениально, даже не подумал о контрольной сумме, спасибо, буду считать и сравнивать.

Voldemar0 пишет:

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

Ок.

Voldemar0 пишет:

Со спрайтом потом разберёмся.

Спрайт ОС точно с ошибками конвертируется, на эмуляторе пробовал - система нормально клонируется, создается копия, а при конвертации образа копии - портится command.prg - и система не загружается из этого образа, правда исправляется быстро, копией на этот диск файла command.prg поверх старого. Ну и при тестировании такого образа получается первые две дорожки "запорчены" - что в целом так и должно быть, и потом еще по диску штук 10 плохих секторов, в общем, конвертация не очень качественная, но тут скидку можно сделать на то что это спрайт_ОС и наверняка тонкостей по защите много там разных... Тем не менее, было бы неплохо разобраться с этим тоже.

25

Re: Конвертация NIB в HFE, возможна ли, и каким образом ?

В спрайте защита как раз и состоит в "неправильных" секторах. Они не должны читаться ничем кроме самой спрайт-ос.
И ещё ей важна метка тома, через dsk и посекторные копировщики её не перетащишь правильно.
Поэтому у нас спрайты только в AIM-формате.

Как к этому конверторы относятся -   не знаю. Может они об этих ошибках сообщают, но продолжают ли конвертацию?