Тема: Конвертер DSK/AIM/NIB/RAW/HFE
Народ, всем привет!
Очень нужна помощь каждого из вас. К сообщению прикреплены HFE-файлы, имеющие кое-какие различия. Прошу по возможности проверить работоспособность на ваших Агатиках-9. Если игры загружаются, то чирканите мне в личку плз: телеграм @jeeno_laretti
Почему я прошу мне помочь?
Образ диска AIM хранит в потоке данных кое-какую информацию. По началу я считал это трюком от копирования, но после огромного количества потраченного времени и проведённых экспериментов со структурой этого образа понял, что всё не однозначно.
Простая конвертация плоских данных в mfm-поток с расстановкой десинков перед маркерами индексов и секторов позволяет загрузиться с диска, увидеть меню, поползать по его пунктам, попереключать экраны стрелками влево вправо, но загрузить игру не получается. Мой Агат-9 падает в панику и начинает судорожно дрыгать экраном.
Какие эксперименты с образом AIM я провёл?
Написал код, который анализирует структуру треков и визуализирует её. Собственно ничего необычного я не увидел, кроме чередования секторов в кольце и структы GAP между индексом и сектором. Однако решил проделать следующее...
Я выдернул содержимое секторов в каждом треке и разложил их по порядку, тем самым получил DSK. Загружаться этот образ отказывается, в эмулятор сразу начинается дерготня на экране, стоит только появится первой картинке. Почему так? Изучаю вопрос и... всё дело оказалось лишь в номере тома. Эмулятор скорее всего при разворачивании DSK подставляет дефолтный FE, а в AIM в каждом секторе FF. Хорошо. Собираю обратно уже свой AIM со стандартной для Агата разметкой треков, расположением секторов в последовательном порядке, но меткой тома FF., не забывая о расстановке команд десинков. И вуаля!!! Эмулятор переварил этот новоиспечённый AIM и игры запускаются. Ну что? Попробую новенький AIM превратить в mfm-поток и запихать в HFE... Загрузка идёт, менюшка работает, выбор игры... и результат такой же: дрожь экрана и всё.
Эксперимент с обратным преобразованием. А вдруг что-то идёт не по плану и mfm-поток оказывается испорчен? Беру HFE, выдёргиваю из него mfm-поток, преобразую в плоские данные и вижу снова свой AIM, в точности до байта (не забывая про обратное преобразование десинков в команды AIM конечно же). Проделываю то же самое с исходным образом... совпадение в точности до байта.
У меня есть мнение (но хотелось бы найти ему подтверждение или опровержение), что виновник неработоспособности не образ AIM, не mfm-поток, не HFE-файл, и наверное даже не Gotek. Проблема кроется.... драматическая пауза .... барабанная дробь ... внимание!!!
Сам 'АГАТ-9'
Да, дамы и господа. Я пришёл к такому мнению.
Помогите мне пожалуйста, кто сколько сможет ))))
Добавлю: активно использую эмулятор Олега Одинцова