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

User Tag List

Страница 10 из 65 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя
Показано с 91 по 100 из 644

Тема: Замена дисковода эмулятором диска

  1. #91
    Master Аватар для ILoveSpeccy
    Регистрация
    20.03.2007
    Адрес
    Germany
    Сообщений
    867
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    За 2 дня терзаний и поисков так и не смог разобраться с одной проблемой.
    Итак. Имею написаный (точнее недописанный ) мною эмуль TRDOS на AVR и SD-card.
    После нескольких команд поиска дорожки следуют 2 раза команды чтения адреса.
    Потом спек пытается прочитать 9 сектор 0 дорожки стороны 0.
    И вот тут проблема: после принятия спеком 256 байтов сектора спек читает
    из порта #1F значение 0x00 (ошибок нет) и TRDOS вываливает ошибку "Disc Error"
    Спектрумисты! Писатели эмулей! Кто нибудь, кто в теме....
    В чем может быть проблема?

    Подробный лог выполнения команды "LIST" и TRD-файл, с которым была
    работа, прилагаются.
    Вложения Вложения
    • Тип файла: zip LOG.zip (856 байт, Просмотров: 218)
    • Тип файла: zip exolon.zip (26.0 Кб, Просмотров: 221)
    SpeccyLand - тут рождается клон!

    Новый проект: Аркадный автомат своими руками

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

  3. #92
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ILoveSpeccy
    И вот тут проблема: после принятия спеком 256 байтов сектора спек читает
    из порта #1F значение 0x00 (ошибок нет) и TRDOS вываливает ошибку "Disc Error"
    TRD-файл легко проверяется в любом эмуляторе, к нему никаких претензий нет.
    LOG-файл, тут я не понял как он получен, если в эмуляторе, то почему система выдает ошибку?
    Было бы лучше, если бы ты привел содержимое 256-ти байтного буфера после выполнения команды чтения 9-го сектора.
    "Disc Error" похоже выдается именно из-за ошибки в структуре этого сектора.

  4. #93
    Master Аватар для ILoveSpeccy
    Регистрация
    20.03.2007
    Адрес
    Germany
    Сообщений
    867
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    TRD-файл легко проверяется в любом эмуляторе, к нему никаких претензий нет.
    LOG-файл, тут я не понял как он получен, если в эмуляторе, то почему система выдает ошибку?
    Было бы лучше, если бы ты привел содержимое 256-ти байтного буфера после выполнения команды чтения 9-го сектора.
    "Disc Error" похоже выдается именно из-за ошибки в структуре этого сектора.
    TRD-файл проверен. В эмуляторе нормально работает (Spectaculator и UnrealSpeccy)
    LOG получен от микроконтроллера, через RS232.
    Контроллер выплёвывает все обращения спека к портам TRDOS.
    Итак. Просмотрел все 256 байт 9 сектора.
    Контроллер передал в спек всё как надо.
    Тоесть именно 9 сектор. именно байты с 0 до 255.
    Скорее всего проблема в чём-то другом.

    p.S... моё устройство состоит из микроконтроллера AVR ATMega32 и SD-карты...
    Тоесть мега эмулирует ВГ93, а данные берутся из TRD-файла на SD-карте
    Последний раз редактировалось ILoveSpeccy; 24.01.2008 в 21:28. Причина: Добавлено сообщение
    SpeccyLand - тут рождается клон!

    Новый проект: Аркадный автомат своими руками

  5. #94
    Veteran Аватар для AlexBel
    Регистрация
    02.01.2007
    Адрес
    Волгоград, Россия
    Сообщений
    1,324
    Спасибо Благодарностей отдано 
    156
    Спасибо Благодарностей получено 
    126
    Поблагодарили
    76 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от homeness Посмотреть сообщение
    Хы, я PIC24FJ64GA004 не смог купить... они внезапно исчезли везде Теперь вот жду PIC24FJ64GA006. Зато с последним можно отказаться от как минимум одного 245 транслятора. PMD чисто цифровой. Кстати, кто-нибудь знает возможно ли использовать PMP с открытым коллектором?
    trt.ru - ты там был? Я там приобретал и GA004 и GA006.

  6. #95
    ZEK
    Гость

    По умолчанию

    Ну дык сделай то же самой в US и смотри где полезет разница. А от лога толку мало, это что сидеть в Z80 играться над дизасмом TR-DOS ??. Малоли мож задержки какой нету, или еще какя фигня.

  7. #96
    Master Аватар для ILoveSpeccy
    Регистрация
    20.03.2007
    Адрес
    Germany
    Сообщений
    867
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от heroy Посмотреть сообщение
    Ну дык сделай то же самой в US и смотри где полезет разница. А от лога толку мало, это что сидеть в Z80 играться над дизасмом TR-DOS ??. Малоли мож задержки какой нету, или еще какя фигня.
    Проблема в том, что я не нашел в исходниках UnrealSpeccy то место,
    где при чтении сектора передаются данные в Z80...
    Поясняю... добавил вывод в консоль инфромации о
    обращении спека к портам BetaDisk...
    До команды "Чтение сектора" всё как надо, НО....
    вывод 256 байтов сектора не показывается...
    Тоесть я вижу.... пришла команда "Write #1F,80" -
    запись в порт #1F значения 80 (читать сектор),
    и после него сразу чтение из порта #FF значения 0xBF,
    тоесть выполнение команды закончено...
    Самой передачи данных сектора в спек невидно.
    Вывод: это сделано отдельной функцией,
    которую я не могу найти в исходниках.
    Буду очень благодарен за помощь...
    Знатоки, подскажите где поправить UnrealSpeccy
    SpeccyLand - тут рождается клон!

    Новый проект: Аркадный автомат своими руками

  8. #97
    ZEK
    Гость

    По умолчанию

    А ты в лог можеш добавить по каким адресам в момент обмена вертиться Z80 ?
    Так гораздо проще было бы найти где затыкается, и что тырдос ожидала от ВГшки.

    Процедедуры занимающиеся обменом находятся в файле wd93cmd.cpp
    в частности
    unsigned char WD1793::in(unsigned char port)
    void WD1793:ut(unsigned char port, unsigned char val)

    В какой состоянии у тебя флажек TR-DOS Traps ??

    Добавлено через 3 минуты
    И еще для верности отруби NoDelay
    Последний раз редактировалось ZEK; 25.01.2008 в 19:03. Причина: Добавлено сообщение

  9. #98
    Master Аватар для ILoveSpeccy
    Регистрация
    20.03.2007
    Адрес
    Germany
    Сообщений
    867
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от heroy Посмотреть сообщение
    А ты в лог можеш добавить по каким адресам в момент обмена вертиться Z80 ?
    Так гораздо проще было бы найти где затыкается, и что тырдос ожидала от ВГшки.

    Процедедуры занимающиеся обменом находятся в файле wd93cmd.cpp
    в частности
    unsigned char WD1793::in(unsigned char port)
    void WD1793:ut(unsigned char port, unsigned char val)

    В какой состоянии у тебя флажек TR-DOS Traps ??

    Добавлено через 3 минуты
    И еще для верности отруби NoDelay
    Прежде всего спасибо за ОЧЕНЬ полезную информацию.
    Сравнил логи US и моего устройства.... всё один к одному за исключением
    довольно продолжительных задержек перед началом чтения данных сектора
    и ещё один интересный момент. Команды первого типа подаются моему эмулю
    спеком с битами 1 и 0 со значениями 0 и 0, тоесть минимальные задержки при перемещении головки.
    А в UnrealSpeccy почемуто эти биты имеют значения 0 и 1, тоесть задержка в 2 раза длинее...
    Откуда TRDOS знает, с какой скоростью дисковод в силах перемещать голову???
    SpeccyLand - тут рождается клон!

    Новый проект: Аркадный автомат своими руками

  10. #99
    ZEK
    Гость

    По умолчанию

    Какая версия тырдоса? Ваще теоритически можно при помощи команд seek вычислить скорость перемещения головки. Но делает ли тырдос или нет не в курсе, тут к Sonic думаю стоит обраться, или натравить ida на прошивку и посмотреть. (Просто гдето мне чудится ?? читал где то, что тырдос с максимальной скоростью перемещает головки)

    А насчет задержек вполне может быть, к примеру циклик какой то построен так что подразумевает невозможность поступления данных на первой итерации, а они еть вот и выходит приколы. Тут в US нада посмореть какие он вносит задержки даже при включеном режиме NoDelay.

  11. #100
    Moderator
    Регистрация
    25.11.2007
    Адрес
    Симферополь
    Сообщений
    2,164
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Народ - а только у меня не доступен к скачке проект или у всех???

Страница 10 из 65 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Достал грохот жесткого диска ...есть элегантное решение
    от Orionsoft в разделе Несортированное железо
    Ответов: 1
    Последнее: 27.07.2005, 18:36
  2. куплю плату Бета-диска
    от rw6hrm в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 18.07.2005, 20:07
  3. Определение номера дисковода
    от goodboy в разделе Программирование
    Ответов: 2
    Последнее: 22.06.2005, 01:54

Ваши права

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