Всё ж как бы всё оформить в виде проекта, а то отдельные тексты...
Всё ж как бы всё оформить в виде проекта, а то отдельные тексты...
Спасибо Донетчанам за отлично проделанную работу! Начали читаться последние треки на дисках.
Теперь нужно дружно попросить Дмитрия реализовать второй алгоритм выделения синхры и передать в недопц, чтобы те добавили в гуглокод.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Ewgeny7, это ужо их проблема. Вот ответ на просьбу Юры сделать фапч:
Понимай как хошь, но уже написалиСообщение от lvd
Надо обозвать *****фапч тогда включат в репозитарий
А можно в личку бинарник? есть на чем тестить.
Улучшения не понятно - есть или нету - вроде глючит так же - переодически надо ретрай делать. счас сделаю образ с установленными на нем дцу и еще чемто аналогичным и 2 карты - со стандартным фирмварем и с фапчевым. и попробую сравнить на том же диске.
Кстати вопрос - а мегу обязательно перешивать( имеется ввиду вероятнее всего бутлодырь)? а то пишет что там прошивка от марта 2010.
Последний раз редактировалось balu_dark; 18.08.2011 в 21:33.
Amiga 1200+Blizzard 1260 72 Mb+Mtek 68030,Compozit 128, Leningrad 2,
Atari STE 1040,ZX Spectrum +2,Pentagon 48, Speccy2007 - 2 , ATAS 256k.
ZX Evo 4Mb- в строю.
Speccy2010 v1
Специалист (пока готовлюсь к восстановлению).
Это все мое!
Родное!
Все люблю на свете я! Это родина моя!
Сделал более красивый генерератор RCLK
Теперь резкие скачки переваривает на порядок лучше.
На изображении пример того как ведет себя стандартный фапч (красное), и новый с пред обработкойКод:module apll( input wire clk, // 28MHz input wire rddat, input wire wfde, output reg rclk, output reg rawr ); // логика выделения фронтов сингналов для синхронной логики reg oldrd; reg oldde; reg oldrclk; always @ (posedge clk) begin oldrd <= rddat; oldde <= wfde; oldrclk <= rclk; end // вычисление смещения отрицательного импулься RDDAT отностительно RCLK wire[6:0] calc = (27 - rcnt); wire[6:0] delta = { calc[6], calc[6], calc[5:1] } ; // знаковое деление пополам // расчет длительнести полуволн RCLK reg [6:0] nxtime; reg [1:0] inrawr; always @ (posedge clk) if (oldde && !wfde) // при начале операции чтения ставим длительность полуволн RCLK 2мкс nxtime <= 55; else begin if (oldrd && !rddat) begin inrawr[0] <= 1'b0; nxtime <= 55 + delta; end else if (oldrclk != rclk) inrawr <= { inrawr[0], 1'b1 }; end // генератор RCLK reg [6:0] rcnt; reg [6:0] rcenter; always @ (posedge clk) begin if (rcnt > 0) rcnt <= rcnt - 1; else begin if (!wfde) rclk <= ~rclk; rcnt <= nxtime; rcenter <= nxtime/2; end end // генератор RAWR always @ (posedge clk) begin if (wfde) rawr <= 1'b1; else begin // делаем rawr в середине rclk if (rcnt == (rcenter +3)) rawr <= inrawr[1]; if (rcnt == (rcenter -1)) rawr <= 1'b1; end end // для симулятора initial begin rcnt = 33; rclk = 1; nxtime = 8; end endmodule
Тестим...
Последний раз редактировалось ZEK; 22.02.2014 в 20:03.
Ждем новый бин. Со старым таки улучшения есть. Хотя часть дисков таки не читается.
Amiga 1200+Blizzard 1260 72 Mb+Mtek 68030,Compozit 128, Leningrad 2,
Atari STE 1040,ZX Spectrum +2,Pentagon 48, Speccy2007 - 2 , ATAS 256k.
ZX Evo 4Mb- в строю.
Speccy2010 v1
Специалист (пока готовлюсь к восстановлению).
Это все мое!
Родное!
Все люблю на свете я! Это родина моя!
Последний фапч можно еще улучшить, двигать rawr в противоположную сторону перекосу, при этом сохраняя rawr в идеальном положении окна детектирования, по идее будут лучше соблюдены требования к данным от ВГшки. Сейчас rawr ставлю тупо в середину rclk, в теории может вызвать проблемы (нигде не нашел хоть намека как WD179x или ВГ93 декодирует mfm)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)