User Tag List

Показано с 1 по 10 из 390

Тема: SD-контроллер от vinxru

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,377
    Спасибо Благодарностей отдано 
    407
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    257 сообщений
    Mentioned
    27 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    cy6, uart имеет в виду, что 3125 байт - это общая длина трека. При скорости записи 125000 бит/с (промежуток времени между битами 8 мкс) и скорости вращения диска 300 об/мин как раз получится максимум 3125 байт на трек. Умножаем на количество треков и получаем 500000 байт - именно столько и резервируется для файла. Естественно, между секторами могут быть промежутки.

    Подозреваю, что 5 нулевых байт - это примерное значение. Может быть больше, а может и меньше - в зависимости от того, как долго РК ДОС готовится к следующей операции, но в любом случае с запасом, чтобы успеть сделать необходимые действия при чтении. Видимо, ДОС, после того, как будет готова к чтению, ждет адресную метку и игнорирует все другие значения после синхробайта, ей не критичны именно 5 нулевых байтов. Не совсем также понимаю, почему иногда 5 синхробайтов дополняются в конце байтом 0D. Надо изучать код ДОС.

    В эмуляторе uart, очевидно, существует привязка к скорости вращения диска, поэтому все тайминги примерно соответствуют реальной работе с дискетой. Существующий формат образа также позволяет зафиксировать реальное положение секторов на треке и промежутки между ними. Так что, как ДОС читает записанную ей же реальную дискету, то будет читаться в эмуляторе и записанный в нем же образ. Способ универсальный, хотя и медленный. Если остановиться на нем, то при необходимости искусственного формирования образа диска важно просто обеспечить достаточные нулевые промежутки, конец же секторов до 3125 байт можно просто занулить.

    А еще можно в эмуляторе попробовать обмануть ДОС и постоянно подсовывать ей сигнал готовности, чтобы ввод/вывод осуществлялся на максимальной скорости. В таком случае точность формата дискеты уже не важна, и можно попробовать сжать образ за счет служебной информации и/или межсекторных нулевых промежутков. Но первый вариант мне кажется более универсальным.

    Ну так что, переименуем .rkdisk в .rdi и оставим формат как есть?
    Последний раз редактировалось Pyk; 09.07.2016 в 12:25.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    27.04.2015
    Адрес
    г. Пенза
    Сообщений
    500
    Спасибо Благодарностей отдано 
    330
    Спасибо Благодарностей получено 
    90
    Поблагодарили
    59 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    При скорости записи 125000 бит/с (промежуток времени между битами 8 мкс) и скорости вращения диска 300 об/мин как раз получится максимум 3125 байт на трек.
    Цитата Сообщение от Pyk Посмотреть сообщение
    Если остановиться на нем, то при необходимости искусственного формирования образа диска важно просто обеспечить достаточные нулевые промежутки, конец же секторов до 3125 байт можно просто занулить.
    Ориентированный на скорость вращения диска формат, это хорошо для эмулятора, но плохо для хранения.
    Оно вынуждает пользоваться такими понятиями как "достаточный" и "приблизительный". Но при этом, вся схема контроллера НГМД жестко засинхронизирована по байтам, и тайминги в ней реальные и постоянные.

    Если брать за основу формат хранения вместе со служебной разметкой, я бы взяла тот, который выводится на диск при форматировании.
    Это ведь логично, если в сравнении с tape файлами. Мы читаем именно то, что мы выводим, не учитывая при этом физику ленты, лентопротягивающего механизма и настройку магнитной головки.

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

    - - - Добавлено - - -

    А ведь эмулятор может выполнить команду format и записать при этом пустой образ в файлик? Вот бы такой файл получить.
    wtf

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Демка "Звёздные войны" для Апогея от Vinxru
    от Kakos_nonos в разделе Радио-86РК
    Ответов: 4
    Последнее: 12.07.2014, 21:57
  2. весточка от Vinxru
    от dk_spb в разделе Орион
    Ответов: 6
    Последнее: 15.03.2014, 19:12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •