Ну дык сделай то же самой в US и смотри где полезет разница. А от лога толку мало, это что сидеть в Z80 играться над дизасмом TR-DOS ??. Малоли мож задержки какой нету, или еще какя фигня.
Ну дык сделай то же самой в US и смотри где полезет разница. А от лога толку мало, это что сидеть в Z80 играться над дизасмом TR-DOS ??. Малоли мож задержки какой нету, или еще какя фигня.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Проблема в том, что я не нашел в исходниках UnrealSpeccy то место,
где при чтении сектора передаются данные в Z80...
Поясняю... добавил вывод в консоль инфромации о
обращении спека к портам BetaDisk...
До команды "Чтение сектора" всё как надо, НО....
вывод 256 байтов сектора не показывается...
Тоесть я вижу.... пришла команда "Write #1F,80" -
запись в порт #1F значения 80 (читать сектор),
и после него сразу чтение из порта #FF значения 0xBF,
тоесть выполнение команды закончено...
Самой передачи данных сектора в спек невидно.
Вывод: это сделано отдельной функцией,
которую я не могу найти в исходниках.
Буду очень благодарен за помощь...
Знатоки, подскажите где поправить UnrealSpeccy
А ты в лог можеш добавить по каким адресам в момент обмена вертиться 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. Причина: Добавлено сообщение
Прежде всего спасибо за ОЧЕНЬ полезную информацию.
Сравнил логи US и моего устройства.... всё один к одному за исключением
довольно продолжительных задержек перед началом чтения данных сектора
и ещё один интересный момент. Команды первого типа подаются моему эмулю
спеком с битами 1 и 0 со значениями 0 и 0, тоесть минимальные задержки при перемещении головки.
А в UnrealSpeccy почемуто эти биты имеют значения 0 и 1, тоесть задержка в 2 раза длинее...
Откуда TRDOS знает, с какой скоростью дисковод в силах перемещать голову???
до того как умельцы зарезали сию фичу ввиду неиспользуемости тормозных флопов родной тырдос
кажись сам вычислял при ините диска - количество дорожек (40 или 80) и время позиционирования (напомню был еще 5305 с погремушкой (магнит опускания головки)). дважды гонял голову неприятно дребезжа при этом. Хотя при первом включении это казалось райской музыкой в дальнейшем сильно раздражало, за что и поплатилось (см начало).
провод сделал, диск 5.25 великолепно работает, хотя я его сам продавливал в провод, 1,2 разъем я не трогал он не был перекручен. По идеи рабочий.
Хочу отформатировать дискетку на дисководе 1,2 выбираю *"b" жму интер получается ок, лампочка зеленая горит, дискетку крутит. Нажимаю Format "aaa" а дискетка не форматится ? Что делать с дисководом 1,2 - Фоткать ? Перемычек там нету.
Последний раз редактировалось AAA; 29.01.2008 в 20:33.
Scorpion 256 TurboPlus GMX2048 edition (с новой ревизией спец-чипов - Турбина и ПрофПЗУ на GAL22v10D, ФАПЧ дисковода - GAL16v8D ),CARO ZX_MC/SMUC1.3/GeneralSound 512 Kb/FDD3.5+5.25... Pentagon1024Sl v2/Z-controller+SD 2Gb/GS-512/TurboSound/FDD3.5+5.25...Speccy2007 48 +SD 2Gb ( 128+Ay в процессе ) ... Все через PAL-Coder
Какая версия тырдоса? Ваще теоритически можно при помощи команд seek вычислить скорость перемещения головки. Но делает ли тырдос или нет не в курсе, тут к Sonic думаю стоит обраться, или натравить ida на прошивку и посмотреть. (Просто гдето мне чудится ?? читал где то, что тырдос с максимальной скоростью перемещает головки)
А насчет задержек вполне может быть, к примеру циклик какой то построен так что подразумевает невозможность поступления данных на первой итерации, а они еть вот и выходит приколы. Тут в US нада посмореть какие он вносит задержки даже при включеном режиме NoDelay.
Народ - а только у меня не доступен к скачке проект или у всех???
Последний раз редактировалось ILoveSpeccy; 26.01.2008 в 14:15. Причина: Добавлено сообщение
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)