Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Не могу считать Debug-ом дамп в память из Mazovia CM1914 |
<<Назад Вперед>> | Страницы: 1 2 | Печать |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Предыстория тут: http://www.phantom.sannata.ru/...mp;t=15895 Мне понадобилось считать Debug-ом все ПЗУ-шки в файлы, чтобы сличить их с оригинальными прошивками, взятыми из той темы. Считывал стандартным способом: rbx 2000 (длина) n a:\basic.f6 w f600:0000 Комп пишет: Writing 2000 bytes, и вроде бы все ОК. Так я считал все ПЗУ по адресам F600, F800, FA00, FC00, FE00(BIOS). Каково же было мое удивление, когда в файлах оказалась белиберда. Я сравнивал то, что видел на экране: -d F600:0000 и содержимое одноименного файла. Там ни одного схожего байта нет. Даже, переставлял полубайты местами - нет совпадений. Я проверил системную дискету на вирусы (хотя я всегда держу окошки защиты открытыми). Я предположил, что я что-то путаю, вытащил другую ХТ-ху (noname) и 386ю. Из них такими же командами ПЗУ считались корректно. Я предположил, что Мазовия не понимает дискеты 3,5" 720КБ и поставил 5" 360КБ флоп. Не помогает! В файлы идет белиберда. В файле BIOSа вообще нет текстовых строк Warsava MIKROROMPUTERI и т.д. Уже, когда лег спать, я подумал, что не проверил последнюю идею: Я ведь всегда использую в качестве контроллера флопа обычную 16-битную мультяху, висящую в воздухе старшими контактами. И по всем теориям она должна работать на ХТ в режиме 360/720. И в других ХТ до сих пор она работала. Так может BIOS Мазовии хочет чего-то иного? Но файлы читаются/копируются нормально! Команда Copy con a:\123.txt создала вполне корректный файл из моих нажатий. Чем же debug отличается? Вечером вставлю контроллер флопа с собственным BIOS-ом, чтобы писать средствами BIOS контроллера, а не BIOS материнской платы. И потом идеи закончатся. Есть еще идеи? (ну кроме как считывать программатором) |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Попробуйте сохранить F-seg моей программой, а потом уже разделите с помощью любого hex-editor. Прикрепленный файл (bios64.exe, 13639 байт, скачан: 13 раз) |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
По времени разбирательства с любым редактором, мне проще перешить 4 микросхемы. Но теперь хочется понять с чем я столкнулся. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
С тем же, что недавно осуждалось в теме про XT с V30 и AT keyboard и XT IDE, Вы по моему там участвовали даже. Там тоже DEBUG не сохранял. А Ваша идея про Floppy контроллер со своим BIOS - вполне может сработать. |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
У некоторые мамок/BIOS-ов не работает DMA в верхней части памяти. Сначала надо перенести блок памяти "вниз", а потом записывать. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
alecv, при чем здесь DMA, мы же не используем DMA controller при сохранении F_segment debug-ом. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
И еще для размышления о верхней памяти. Во время проверки на вирусы на этой же материнке drweb-ом 90х годов, он уверенно стал проверять память свыше 640Кб, хотя на материнке установлено 640КБ. То ли DOS ему не сообщает сколько всего памяти, то ли действительно с механизмом верхней памяти какая-то беда. Контроллер FDD с BIOS-ом еще не проверял. Вечером проверю и отпишусь |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
i8088 написал: Контроллеры флопика и MFM в конечном итоге используют DMA для записи. alecv, при чем здесь DMA, мы же не используем DMA controller при сохранении |
uav1606
Advanced Member
Откуда: Енакиево Всего сообщений: 4373 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 янв. 2008 |
i8088 написал: Debug для сохранения использует BIOS, а BIOS этой материнки вполне может использовать для записи на флоппи DMA. Мне кажется, предположение alecv вполне разумное. Нужно попробовать сначала скопировать этот фрагмент в нижнюю память (командой m), а потом уже записывать на флоппи оттуда. alecv, при чем здесь DMA, мы же не используем DMA controller при сохранении F_segment debug-ом. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 19 августа 2016 13:30 Сообщение отредактировано: 19 августа 2016 13:31
uav1606 написал: alecv написал: Debug для сохранения использует BIOS, а BIOS этой материнки вполне может использовать для записи на флоппи DMA. А ну тогда да, приношу свои извинения! Неплохо еще посмотреть выдачу дампа BIOS на экран, Контроллеры флопика и MFM в конечном итоге используют DMA для записи. командой d. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Команда d - работает. Любая область ПЗУ выводится на экран, и она похожа на достоверную. По этому я и сужу о том, что в файл записывается белиберда. |
uav1606
Advanced Member
Откуда: Енакиево Всего сообщений: 4373 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 янв. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 19 августа 2016 14:57 Сообщение отредактировано: 19 августа 2016 15:29
sanders, попробуйте сначала что-то вроде m F600:0000 2000 CS:100, а потом уже w. Кроме того, Вы правильно инициализируете регистры перед w? У Вас в примере почему-то BX заполняется, а длина должна быть в паре BX:CX, причём младшее слово в CX. BX при этом нужно обнулить. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Да, там опечатка с регистрами. Использую CX, но знаю, что debug сам обнуляет при запуске все регистры, в т.ч. BX. Все делал правильно и не раз. Контроллер 1,2/1,44 со своим BIOS-ом не помог. Команда m F600:0000 2000 5000:0000 и затем запись с 5000:0000 помогла. Цели я достиг. Все 4 микросхемы бэйсика у меня местами отличаются от исходников в сети, почему он не стартует я понял. Но я так не понял при чем тут DMA и почему процессор, адресующий 1Мб памяти не может считать любой кусок памяти на дискету. Если бы виновата была бы DOS с ее ограничениями, тогда на других бы материнках тоже не читалось бы. |
uav1606
Advanced Member
Откуда: Енакиево Всего сообщений: 4373 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 янв. 2008 |
Возможно, соответствующие адресные линии вообще не заведены на контроллер DMA, если разработчики посчитали, что не будет необходимости использовать DMA при доступе к памяти выше 640 КБ. alecv точнее скажет. |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Скорее BIOS кривой и неправильно программирует контроллер DMA i8237. Контроллер флопа i8272 в PC-архитектуре работает при активном участии контроллера DMA i8237. Если формально, можно и без DMA, но флоповый INT 13 написан с использованием DMA. |
<<Назад Вперед>> | Страницы: 1 2 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Не могу считать Debug-ом дамп в память из Mazovia CM1914 |
0 посетителей просмотрели эту тему за последние 15 минут |
В том числе: 0 гостей, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |