Важная информация

User Tag List

Страница 11 из 54 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя
Показано с 101 по 110 из 532

Тема: ZX Disk Studio - программа для работы с образами дисков

  1. #101
    Guru Аватар для palsw
    Регистрация
    08.05.2011
    Адрес
    г. Измаил, Украина
    Сообщений
    3,216
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Anykey Посмотреть сообщение
    KDI появились в v1.11 http://www.zx.pk.ru/showpost.php?p=282481&postcount=13

    Добавил еще в первый пост v1.14, хотел сначала переделать интерфейс,
    чтобы при загрузке образа можно было по выбору открывать каталог
    диска или карту диска, но пока времени нет этим заниматся.
    проверил на версии 1.11 -реальный диск считал в образ и с него загрузился в эмуляторе.Затем взял другой образ odi и записал с него дискетку -система отлично грузиться
    Радио-Губитель Канал на YouTube

  2. #102
    Master
    Регистрация
    15.08.2009
    Адрес
    Чайковский
    Сообщений
    833
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну вот, разобрался вроде с USB.
    Получается считать и передать на PC
    в реальном времени дорожку в виде
    8 битных значений времени, даже c HD диска.
    Из микросхем только PIC. 3"5 дисководы работают
    отлично питаясь от USB, а вот 5,25" иногда происходит
    зависание, наверно придется для них буферные элементы ставить.


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

    Но не могу разобратся с маркером трека C2 C2 C2 FC,
    если попасть в фазу, то определяется нормально, но если
    в фазу не попасть, то 0xC2C2C2FC превращается в сдвинутый
    0xA1A1A1FE. - 0x0A0A0A00 (или сдвинутый на бит 0x14141401)

    Может кто знает алгоритм преобразования MFM?

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

    Вот картинка распределения длительностей импульсов на HD треке:
    1 столбик - 2 мкс
    2 столбик - 4 мкс
    3 столбик - 6 мкс
    По этой функции наверно можно определять качество записи(чем тоньше всплески, тем качественнее запись) может и юстировку делать.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	Test.jpg 
Просмотров:	365 
Размер:	35.4 Кб 
ID:	30839  

    Скрытый текст


    Profi v3.2 (SIMM 1024kB, Color CP/M, Turbo VG)
    Profi v3.2 256kB + PAL coder
    Плата ZXM Phoenix 1024kB + VGA converter
    ZX Evolution 4096kB + SSD-1Gb
    Плата Speccy 2010
    Плата Sprinter Sp2000s
    Плата Reverse U9 EP3C
    Плата Reverse U10 EP3C
    Плата Reverse U16 EP4CE22
    Плата Mist v1.31
    Terasic DE1
    Terasic DE1-SoC
    Terasic DE10-nano
    iCore 3
    [свернуть]

  3. #103
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,602
    Спасибо Благодарностей отдано 
    1,241
    Спасибо Благодарностей получено 
    1,806
    Поблагодарили
    694 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Anykey Посмотреть сообщение
    Но не могу разобратся с маркером трека C2 C2 C2 FC,
    если попасть в фазу, то определяется нормально, но если
    в фазу не попасть, то 0xC2C2C2FC превращается в сдвинутый
    0xA1A1A1FE. - 0x0A0A0A00 (или сдвинутый на бит 0x14141401)

    Может кто знает алгоритм преобразования MFM?

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

  4. #104
    Master
    Регистрация
    15.08.2009
    Адрес
    Чайковский
    Сообщений
    833
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Читаются 8-ми битные значения времени,
    замеренные между импульсами.

    Т.е. значения 2(4) мкс.
    4(6) мкс.
    6(8) мкс.
    Эти значения преобразую
    уже на PC в битовый поток.

    Однако значение 2(4) мкс можно
    трактовать как 0 или как 1, в зависимости, от того
    что было перед ним 0 или 1, ну и другие значения так же.

    Скрытый текст


    Profi v3.2 (SIMM 1024kB, Color CP/M, Turbo VG)
    Profi v3.2 256kB + PAL coder
    Плата ZXM Phoenix 1024kB + VGA converter
    ZX Evolution 4096kB + SSD-1Gb
    Плата Speccy 2010
    Плата Sprinter Sp2000s
    Плата Reverse U9 EP3C
    Плата Reverse U10 EP3C
    Плата Reverse U16 EP4CE22
    Плата Mist v1.31
    Terasic DE1
    Terasic DE1-SoC
    Terasic DE10-nano
    iCore 3
    [свернуть]

  5. #105
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,602
    Спасибо Благодарностей отдано 
    1,241
    Спасибо Благодарностей получено 
    1,806
    Поблагодарили
    694 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Anykey Посмотреть сообщение
    Читаются 8-ми битные значения времени,
    замеренные между импульсами.

    Т.е. значения 2(4) мкс.
    4(6) мкс.
    6(8) мкс.
    Эти значения преобразую
    уже на PC в битовый поток.

    Однако значение 2(4) мкс можно
    трактовать как 0 или как 1, в зависимости, от того
    что было перед ним 0 или 1, ну и другие значения так же.
    Опять не понятно.

    Импульсами чего? Откуда берутся импульсы? Для информации, на самой дискете имульсов нет, есть области, намагниченные по ходу вращения диска, и против. Т.е. '<--' и '-->'. Это считывается, потом проходит через дифференциатор, потом через компаратор, потом уже преобразуется через MFM, и получается поток бит со скоростью 300кбит для 5-дюймовой DD-дискеты, и 250кбит для 3.5-дюймовой. Поясните, на каком этапе вы берете импульсы и откуда. Учитываял, что одиночные импульсы есть до MFM, наверное вы их и берете.

    Кстати, еще интересен вопрос, как вы гоните поток со скоростью 500*8=4мбита/сек через USB, и при этом его не буферизируете на своем устройстве? Или все же у вас есть буфер?
    Последний раз редактировалось Titus; 17.11.2011 в 12:34.

  6. #106
    Master
    Регистрация
    15.08.2009
    Адрес
    Чайковский
    Сообщений
    833
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Кстати, еще интересен вопрос, как вы гоните поток со скоростью 500*8=4мбита/сек через USB, и при этом его не буферизируете на своем устройстве? Или все же у вас есть буфер?
    На DD дорожке порядка 6250 байт х 8 бит = 50000 бит или временных интервалов между импульсами, на самом деле где-то 38000 - 44000 интервалов (т.к. период в 6мкс и 8мкс дают 1,5-2 бита) Т.е. от индексного импульса до индексного импульса (200 мс) надо передать
    максимум 50 000 Кбайт или 200кбайт/сек для HD получается 400кбайт/сек. А скорость USB примерно 1200 кбайт/сек, что вполне хватает.
    Буфера два по 64 байта, те что в PICe, пока один заполняется другой отправляется. Самое трудное было замерять интервалы и отправлять буфер одновременно. Сначала заказал последовательную память, но пока ждал, выкрутился без нее

    Цитата Сообщение от Titus Посмотреть сообщение
    Откуда берутся импульсы?
    Имульсы берутся с вывода /RDATA дисковода.
    Примерно такие:
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	MFM.jpg 
Просмотров:	292 
Размер:	41.7 Кб 
ID:	30860  

    Скрытый текст


    Profi v3.2 (SIMM 1024kB, Color CP/M, Turbo VG)
    Profi v3.2 256kB + PAL coder
    Плата ZXM Phoenix 1024kB + VGA converter
    ZX Evolution 4096kB + SSD-1Gb
    Плата Speccy 2010
    Плата Sprinter Sp2000s
    Плата Reverse U9 EP3C
    Плата Reverse U10 EP3C
    Плата Reverse U16 EP4CE22
    Плата Mist v1.31
    Terasic DE1
    Terasic DE1-SoC
    Terasic DE10-nano
    iCore 3
    [свернуть]

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

  8. #107
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,602
    Спасибо Благодарностей отдано 
    1,241
    Спасибо Благодарностей получено 
    1,806
    Поблагодарили
    694 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Anykey Посмотреть сообщение
    А скорость USB примерно 1200 кбайт/сек, что вполне хватает.
    Скорости-то хватает, но, на сколько я знаю, нет гарантии, что PC не тормознет во время обмена, и байты не потеряются.

    А по картинке не понял, что за биты) На MFM не совсем похоже) Вернее похоже на MFM, но не совсем)

  9. #108
    Master
    Регистрация
    15.08.2009
    Адрес
    Чайковский
    Сообщений
    833
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Скорости-то хватает, но, на сколько я знаю, нет гарантии, что PC не тормознет во время обмена, и байты не потеряются.
    Я сначала проверял, отправлял пронумерованные пустые пакеты, определенное количество, и смотрел сколько приходит. При использовании JEDI HID действительно пакеты терялись, хотя USB монитор все пакеты видел и принимал (видимо в Jedi так буфер устроен что если его вовремя не считать, то он затирается следующим пакетом) Поэтому пересел на WinLIB USB. Там все четко сколько ушло, столько и получишь, к тому же дорожки читаются нормально, нет потерянных секторов и CRC у них нормальный.

    Цитата Сообщение от Titus Посмотреть сообщение
    А по картинке не понял, что за биты) На MFM не совсем похоже) Вернее похоже на MFM, но не совсем)
    Ну это я с MFM разбирался:
    Если период 4мкс, то это или 0 или 1(зависит от того что было перед ним)
    Если период 6мкс, то это или 00 или 1(зависит от того что было перед ним)
    Если период 8мкс, то это 01 (но после 0 это 00 и период встречается только в маркерах 0xA1)

    Если при начале декодирования выбрать не ту фазу (0 или 1), то получается совсем другая последовательность, так же и в межсекторных данных видимо происходит выпадание бит и в течении дорожки фаза меняется несколько раз.

    Вобщем или как-то надо синхронизироваться по 8мкс периодам, или как я делаю ищу прямое значение маркера и сдвинутое, если найден сдвинутый, то меняю фазу и дальше до следующего маркера.

    Вот мне интересно как ВГ это делает (ведь сепаратор я думаю тоже фазу не сдвигает, он ее только чуть подстраивает)

    Скрытый текст


    Profi v3.2 (SIMM 1024kB, Color CP/M, Turbo VG)
    Profi v3.2 256kB + PAL coder
    Плата ZXM Phoenix 1024kB + VGA converter
    ZX Evolution 4096kB + SSD-1Gb
    Плата Speccy 2010
    Плата Sprinter Sp2000s
    Плата Reverse U9 EP3C
    Плата Reverse U10 EP3C
    Плата Reverse U16 EP4CE22
    Плата Mist v1.31
    Terasic DE1
    Terasic DE1-SoC
    Terasic DE10-nano
    iCore 3
    [свернуть]

  10. #109
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,602
    Спасибо Благодарностей отдано 
    1,241
    Спасибо Благодарностей получено 
    1,806
    Поблагодарили
    694 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Anykey Посмотреть сообщение
    Вот мне интересно как ВГ это делает (ведь сепаратор я думаю тоже фазу не сдвигает, он ее только чуть подстраивает)
    Вообще-то это делается по специальной синхропоследовательности. Наизусть ее не помню, но где-то тут в теме про ВГ точно писал.

    ---------- Post added at 16:13 ---------- Previous post was at 16:11 ----------

    Цитата Сообщение от Anykey Посмотреть сообщение
    Поэтому пересел на WinLIB USB. Там все четко сколько ушло, столько и получишь, к тому же дорожки
    А каким методом отправляешь информацию по USB? Там, на сколько я помню, 4 протокола есть - поточный (bulk), управляющий (control), изохронный (isoch) и прерывание (interrupt).

  11. #110
    Master
    Регистрация
    15.08.2009
    Адрес
    Чайковский
    Сообщений
    833
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Синхропоследовательность - 0х00,0х00,0xA1,0xA1,0xA1,FB(FE,F8),
    по этой и определяю. ВГ как-то на первой A1 синхронизируется и
    вместо нее там разные байты читаются, то 14, то С2, то другие,
    а у меня только по A1A1A1FE (или сдвинуто по фазе 14141401)

    Быстрая точка bulk, для команд interrupt

    Скрытый текст


    Profi v3.2 (SIMM 1024kB, Color CP/M, Turbo VG)
    Profi v3.2 256kB + PAL coder
    Плата ZXM Phoenix 1024kB + VGA converter
    ZX Evolution 4096kB + SSD-1Gb
    Плата Speccy 2010
    Плата Sprinter Sp2000s
    Плата Reverse U9 EP3C
    Плата Reverse U10 EP3C
    Плата Reverse U16 EP4CE22
    Плата Mist v1.31
    Terasic DE1
    Terasic DE1-SoC
    Terasic DE10-nano
    iCore 3
    [свернуть]

Страница 11 из 54 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 10
    Последнее: 15.10.2022, 20:44
  2. Ответов: 82
    Последнее: 07.05.2011, 20:32
  3. Ответов: 0
    Последнее: 01.01.2009, 09:34
  4. программа для теста beta-disk
    от spleen в разделе Программирование
    Ответов: 11
    Последнее: 02.07.2006, 21:51
  5. работа с образами HDD в Unreal Speccy
    от elf в разделе Эмуляторы
    Ответов: 15
    Последнее: 30.03.2005, 18:22

Ваши права

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