Доброго дня!
Платформа "Орион-128.2".
Подскажите, почему может не работать форматирование виртуальной дискеты?
Судя по отладчику, виснет ВГ93 на команде F4h:
![]()
Доброго дня!
Платформа "Орион-128.2".
Подскажите, почему может не работать форматирование виртуальной дискеты?
Судя по отладчику, виснет ВГ93 на команде F4h:
![]()
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Хороший вопрос!Это надо курить доку по ВГ93. Емнип, это команда сразу форматирует трек целиком. А записывает то, что кормит ей 8-битка, там заранее подготавливается в буфере весь трек со всеми секторами и служебными записями (на основании которых ВГ делает физическую разметку). Ох, как давно это было...
P.S. у Дмитрия в эмуляторе оно работает корректно, наверное можно у него спросить как эмулируется.
- - - Добавлено - - -
Ещё вопрос - как нарастить ОЗУ?
Попытался методом интуитивного тыка подправить в orion.inc вот так:
Ничего не вышло, по-прежнему только 256 Кб видно:
![]()
Последний раз редактировалось Denn; 05.05.2023 в 12:37.
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
То, что оно не виснет, не значит, что работает
У меня тоже эта команда игнорируется. Дело в том, что форматирование может быть нестандартным, и тогда непонятно, как это всё хранить в посекторном образе. По идее, нужно сохранять файл другого формата, который поддерживает разный формат секторов с нестандартными идентификаторами. По крайней мере номер сектора может быть не от 1 до 5. Номер дорожки вроде ВГ93 контролирует, но можно перемещать головку без отслеживания в регистре дорожки, и тогда физический и логический номера дорожек могут не совпадать. Такое могут делать для защиты от копирования. С номером стороны особо не поиграешься, но этот номер вроде тоже есть в КС, так что при несовпадении будет ошибка.
Да, точно! Это ж не команда форматирования, а команда заиси дорожки - целиком, со всеми служебными данными...
Можно покурить доки и попробовать сделать, а можно и просто пока игнорировать, как у Дмитрия, если такой вариант устроит.
В конфиге все правильно, но ограничение до 256 у меня в коде, исправить можно быстро, но придется лезть в исходники. Увы, у меня не такие продвинутые конфиги, как у Дмитрия... Я не очень хорошо ориентируюсь в модификациях Ориона, наверное, когда это делал, не знал, что может быть более 256 Кб ОЗУ. А так надо бы и Орион-ПРО добавить, и жесткий диск, может быть и еще что-то...
Служебку точно можно игнорить (для файла-образа она не нужна), а вот в сектора писать нужно, иначе собственно форматирование работать не будет.
- - - Добавлено - - -
Сейчас уже "метр" реализовали в железе! А я новую ОС затачиваю под это дело
- - - Добавлено - - -
COM-порт в первую очередь! =)
И очень хотелось бы поддержку ROM-диска более 64 Кб (с переключением банков хотя бы через порт #FE).
- - - Добавлено - - -
Ещё такой вопрос:
У нас точно эмулируется орионовский клок 2,5 МГц?
Последний раз редактировалось Denn; 05.05.2023 в 13:17.
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
А как же в эмуляторе b2m работает, если у него эта команда игнорируется? Может быть, после команды записи трека еще раз уже конкретно запись в сектора производтся?
Все по аналогии, добавляется еще один бит в порту?
А что к нему подключается?
Давно я за доработками Ориона не следил, надо бы актуализировать поддержку в эмуляторе...
Не, оказывается тоже не работает. Это я по старой памяти написал, т.к. раньше точно работал с дискетами под ним. Видимо, форматировал вручную и кормил эмулю образ с забитыми нулями. Честно, не помню уже, так давно это было...
- - - Добавлено - - -
Да, порт переключения банок тот же, всё по аналогии. Очень желательно заложить в эмуляцию возможность использования всех битов (до 16 Мб ОЗУ)
- - - Добавлено - - -
Приложение на писи ORI-SERVER, для прямого файлообмена с писюком. В случае эмулятора работа через софтовый виртуальный COM-порт.
Подробности тут - https://vk.com/oriserv
- - - Добавлено - - -
Ага. И в дистрибутив от 2023-го года включить ROM-образ DSDOS лучше не от 2016-го года, а свежий - https://zx-pk.ru/threads/21984-dsdos...=1#post1102433
- - - Добавлено - - -
Сегодня день вопросов
А почему из ВВ55-ой читаются единички? На живой железке если к порту ничего не подключено, то должны быть нолики.
В итоге ложный автодетект наличия контроллера IDE:
![]()
Последний раз редактировалось Denn; 05.05.2023 в 14:08.
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Я просто разбираю внутренний формат и если он корректен (и стандартен), то записываю данные в образ, учитывая номер сектора из данных, которые не обязательно должен быть по порядку.
Еще и при записи первой дорожки я определяю формат диска (количество секторов и размер сектора).
Для эмуляции защит это не подходит (но я и не встречал защит на бытовых компьютерах, только на PC), но для форматирования и копирования дисков вполне.
Ну и еще стараюсь время реальное выдержать, а то неверно форматировать "дискету" за доли секунд...
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)