Экспериментальная хака FH51 на тему IDEшного reset. Если что не так, то есть предыдущие варианты.
Экспериментальная хака FH51 на тему IDEшного reset. Если что не так, то есть предыдущие варианты.
electroscat(14.04.2020), Improver(14.04.2020)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Заработала mdos31Hp2G.com. потестил. Медленнее конечно копирует, но не кртично. Удивительно, что инициализация HDD происходит не из BDOS а отдельным куском, который скорее к конфигуратору системы относится, а не к BDOS. Спасибо всем огромное за помощь !!!
Обошелся в общем исходниками БДОС и конфигуратора. Откомпилил два куска, BDOS и часть гонфигуратора, которая HDD инициализирует, сопряг их по адресам, так как они в разных файлах, адреса в ручную прописал, откомпилил, и в HEX редакторе все на свои места прилепил к рабочей системе. Если кому интересно, файл md31hp2g.com вот тут. Там же все, что потребовалось для того чтобы пропатчить, дизассемблированный код, куски оригинальные, куски патченные и т.д., все там.
Похоже что то перепутал... Не от туда файл взял... Тестировал на дискете 144 - на нее заворот не действует... В общем, еще предстоит поработать, простите за дезинформацию....
Спасибо за вдохновение !
Похоже горячая фаза сражения за mdos31h закончилась, возьму измором, потихоньку, изучив код... Надеюсь в этой жизни таки закончить, не хочу из за этого доса опять сюда вернуться, в "РФ" ))))
Последний раз редактировалось electroscat; 16.04.2020 в 00:36.
Chewbacca(14.04.2020)
А как проверяется наличие/отсутствие заворота образа, при тестировании дискет с номерами 50, 100, 144 (которые тут были упомянуты) ?
Я так понимаю, что (при наличии заворота) дискета 43 заворачивается и портит первую, и т.д. Возможно примерно 86-я снова портит первую. А при проверке на 50-ой, потом тестируется целостность 7-ой дискеты, после записи на 100-ю, проверяется 24-ая, при записи на 144-ую проверять 15-ую, или как ?
(Номера дискет "на вскидку" - могу путать, пардонте - только проснулся)...
Последний раз редактировалось KTSerg; 15.04.2020 в 05:20.
Внедрил достижения Improvera (LBA и патч ресета IDE) в РДС 3.02, теперь это 3.03. Еще можно ускорить вывод символов, но это когда-нибудь потом.
electroscat(15.04.2020), Improver(15.04.2020), KTSerg(15.04.2020)
после записи на 144 дискету FDIR *.* показал мусор в заголовках примерно 28 - 40 дискет на непатченной системе, то есть раскидало на какую то часть диска наверное то что было записано.
Патченный дос такого эффекта не имеет, мусор в заголоках не появляется. Это касаемо FH51, в T-72 так же как в RDS - FDIR не работает, там просматривать диапазон дисков вручную похоже нужно, и проверять записанное, ну или записать в этих системах, проверить читабельность, а FDIR запустить уже в FH51, эффект тот же думаю будет.
- - - Добавлено - - -
Ось работает с 256 мб CF картой, заполнял 100,110,120,130,140,144 дискеты, информация читабельна, так же читабельна и в FH51, мусора нет, нигде, в общем, трудоспособный вариант, спасибо!
Последний раз редактировалось electroscat; 15.04.2020 в 12:02.
ivagor(15.04.2020)
Доброго времени ! Всем прекрасного настроения !
С mdos31 не так все просто > читаю сектор в буфер при инициализации, выделяю в нем кол-во секторов и головок с ED80H и ED81H, патчу ими функцию деления, для получения адреса, и .... все... на запрос списка файлов на диске "А" ошибка "10" в переменной ошибки - после ввода рассчитанного адреса в порты контроллера и попытке чтения секторов,.... и вывод мусора на экран, вместо списка файлов... Киньте ссылочку плиз, на коды ошибок и назначение портов... Помню, в каких то темах на форуме находил, но сейчас уже голова не соображает, не могу что то найти... Если не сложно, дайте плиз информацию, по портам и кодам ошибок ! Заранее очень благодарен !
Сравнил с T72 2GB - и понял, в A,HL - в mdos31 в функцию деления 24/8 приходит "мусор", видимо с этим связана ошибка, буду искать дальше...
Тем не менее, вопрос про ссылку на информацию о портах и ошибках HDD в векторе актуален.
Последний раз редактировалось electroscat; 17.04.2020 в 01:47.
Загрузил из этой ветки все (что увидел) модификации ДОСов, собрал для каждого образы с одной дискетой, физикой: 10/4/42 для экспериментов на эмуляторах.
Разобрался как подключать образ HDD только в ve27 и emu.
Скачивал архивы с ДОСами: rds303, t72hl, и варианты fh51*.
В emu запустились все, но с t72hl и fh51lba - что-то не понравилось.
В ve27:
rds303 стартонула, но сыплет ошибки диска;
с t72hl видит только квазидиск;
варианты fh51* вообще не запустились
В обоих эмулях без проблем загружался с HDD, и работал только старый добрый FH5.1 из древнего архива![]()
ve27 скорее всего не поддерживает lba.
Проверял в emu, работали.
Учитывая, что t72hl успешно проверял на реале Improver, а rds303 - electroscat, (а в emu я), то в emu все должно работать.
- - - Добавлено - - -
Модифицированные fh51 electroscat тоже успешно проверял, только я не понял, на реале или в эмуляторе.
- - - Добавлено - - -
Эти версии (1, 2) в принципе должны работать и в ve27
Комплексно проверял, сначала в EMU проверил, запустилось, сразу же записал это в образ, который накатил на CF карту, и далее уже проверял на реальном векторе с комбодевайсом. В итоге, могу абсолютно точно сказать, работает и в реале и в "Башкирии".. Разбирал 17 дискет с "BASIC" программами, из архива В.Фиронова, писал их с дискеты на дискету, в разные места диска, из 17 дискет в итоге получил 7 или 8, не потому что что то не докопировалось, а потому что отфильтровал много повторяющегося. И еще, буду доделывать, реально там на 3 - 5 дисков полных информации. Половину этого делал на реальном векторе, половину на эмуляторе. Все осталось в живых, вроде бы, подавляющее большинство программ работают. Так же копировал объемные картинки, по 20 - 32 кб, запускал, тоже все работает. В общем, и на реале и в виртуале проблем не было, На реале - под РДС в основном, немного в FH51. А на эмуляторе наоборот. Тем не менее, и то и другое работает и на реальном векторе и на эмуляторе.
Последний раз редактировалось electroscat; 17.04.2020 в 17:08.
Я для эксперимента делал образ на одну дискету с не большими значениями секторов/головок. Оказалось что это есть проблема. По крайней мере долго не мог вообще заставить ДОС загрузиться с образа.
Начал разглядывать исходник загрузчика... оказалось, что для загрузки ДОСа отслеживается количество секторов на голову, после переполнения увеличивается номер головы, но при переполнении номеров голов, не происходит увеличение дорожки. Видимо подразумевалось, что загружаемая программа уместится на одну дорожку. Для больших образов с большими значениями секторов/головок это действительно так. Но у меня сначала ДОС на одну дорожку не помещался ( оказалось что секторов*головок*512 < размера ДОСа )... кто бы знал...![]()
ivagor(17.04.2020)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)