Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Basic для Mazovia. ПЗУ есть, но при включении не стартует. |
<<Назад Вперед>> | Страницы: 1 2 3 4 * 5 6 | Печать |
Сергей С |
Из файлов в архиве Mazovia1914.rar был собран образ который загружается в эмулятор. Могу предложить следующий вариант патча для системы реализующий такой алгоритм работы: после 5-ти неудачных попыток старта с дискетного устройства проверяется первый байт(0E9h) из адресного пространства дополнительных микросхем(F600:0000), при её совпадении передаётся туда управление, иначе выводится сообщение о неудачи загрузки с диска и предлагается нажать F1 для повтора этого алгоритма. При старте с дискет и вызова INT18h при наличии Basic - он запустится, при его отсутствии никакого сообщения не будет, управление вернётся обратно системе. Прикрепленный файл (patch.gif, 0 байт, скачан: 18 раз) |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 28 февраля 2017 15:18 Сообщение отредактировано: 28 февраля 2017 20:19
Сергей С, вот мои результаты: - версия BIOS совпадает, байты по команде -e f600:0 и т.д. совпадают с тем, что у Вас (полностью все, что на Вашем первом экране) - команда g=f600:0 приводит к зависанию без каких-либо надписей. - команда g f600:0 пыводит на экран 3 строки абракадабры с разной скоростью появления символов и вешает комп. - без винчестера при двух дисководах, если дискета не вставлена, компьютер ждет ее бесконечно долго. Никакие нажатия не приводят к таймауту ожидания. Как только вставлю дискету, началась загрузка. Я теперь попробую родной комплект Бейсика и тут же отпишусь. Сейчас я пробовал комплект от Tronix-а, якобы тоже Мазовий-ный, но он слегка отличался от родного. Теперь с Вашей помощью нужно подумать - как прервать ожидание системной дискеты. Ведь если у человека нет дискет вообще, но есть Бейсик в ПЗУ, то как-то его запустить нужно. Попробовал другой комплект Бейсика. - первые байты всех банков тоже совпадают. - g=f600:0 выдает Devide overflow и выпадает из debug-а в DOS. g f600:0 выдает три строки абракадабры и вешает комп. Может, перед выполнением g=... нужно было что-то куда-то заслать, как мне раньше советовали? В среду распакую Мазовию №3 с 3-им по происхождению комплектом ПЗУ и доложу результаты по ней. |
Сергей С |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 28 февраля 2017 23:02 Сообщение отредактировано: 2 марта 2017 11:38
sanders, мои предположения: По совпадению биоса и тех байт что отображены uav1606 написал способ дампа, позволяющий проверить полную корректность чтения используемой конкретной платы, именно этот вариант и следует теперь применить для по байтового сравнения. По не адекватному поведению из debug, а если использовать образ такой дискеты(записанный например через RAWRITE.EXE) из zip-архива? Вы писали: Сейчас(сообщение Tronix-а редактировалось) по ссылке есть только сам Basic который полностью совпадает с тем, что находится в вашем архиве с Мазовией. С "новым" комплектом, который прошит по ссылке Tronix-а, обращение к дисководу примерно через минуту снимается, и выдается сообщение о том, что нет системной дискеты. Разве была им выложена ещё одна версия биоса Мазовии(не ver 1.1?) которая и могла возможность осуществить не/прерывное ожидание системной дискеты до опроса и старта внутреннего бейсика? Чем предложенный алгоритм в моём варианте патча биоса не устраивает? Что мной не проверено важного и принципиального, так это возможность запуска именно этого Basic и софта на 8086 процессоре(эмулятор использует 386+,387+), то есть не использованее 32битных и других инструкций, особой работы команд push/pop, регистра флагов и прочее. Про то что видеокарта опозналась как ч/б не принципиально. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Я проверю, обе ли платы обращаются к дисководу одинаковое (бесконечное) время. На счет rawrite - ничего не понял. что нужно сделать? И для проверки чего? Ваш алгоритм устраивает. |
Сергей С |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 1 марта 2017 10:37 Сообщение отредактировано: 1 марта 2017 10:42
В том биосе что выложен, изначально алгоритм такой, и вести себя по другому без правки он логически не может:
Предложенный для старта образ дискеты с английской Dos 6.22 и сторонним debug, для того чтобы исключить влияние загружаемых драйверов и программ, резидентов через используемые вами варианты CONFIG.SYS и AUTOEXEC.BAT, на работу в монопольном(?) режиме Basic. RAWRITE - это одна из программ позволяющих записать/считать полный образ дискеты, тоесть даже программу начальной загрузки системы, не доступную при обращении посредством файловой системы через менеджеры файлов. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Т.е. аналог Teledisk или DiskDup? Я сделал две системные дискеты: 6.22 и 3.3 без всего. Т.е. только IO.SYS, MSDOS.SYS, COMMAND.COM Я включил третью плату Мазовия (с третьим комплектом ПЗУ). При запуске g=f600:0 всё виснет (по Ctrl-Alt-Del перезагружается) При запуске g f600:0 выводится 3 строки абракадабры и виснет (по Ctrl-Alt-Del перезагружается). Подтверждаю, что если дискета не вставлена, Мазовия через минуту выдает "Boot Disk Failure. Type key to retry". Сергей С, если Вы настаиваете на Вашем образе системной дискеты, я ее сделаю, но ИМХО тут дело в том, что я испытываю на живой машине, а Вы - в эмуляторе. Или может все-таки стартовый адрес не F600:0, а чуть другой? |
Сергей С |
Да аналог, вот только Teledisk использует предварительно особым образом упакованные данные для записи. Вы сделали правильно с дискетами, ничего лишнего в автозагрузочных файлах если таковые имелись. А в предложенном мною образе диска, даже если он был приведён к формату дискеты на 360кб, находящийся на нём сторонний debug (v1.25 от Paul Vojta) на эмуляторе SPC/XT не смог показать пригласительную строку для ввода команд из-за генерируемой ошибки процессором -> (Invalid Opcode Fault) . Старт MS-Dos 3.30 с образа двух дискет и команд в отладчике debug(находится на 2-м диске) привёл к успешному старту Basic, при выборе эмулируемой машины IBM PC/XT 5160 с подменённым кодом от биоса Мазовии. О возможности смены адреса F600:0000 на другой, попробую позже. |
Сергей С |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 2 марта 2017 21:52 Сообщение отредактировано: 2 марта 2017 21:57
При исполнении команд Бейсика сегмент кода должен указывать на начало всего 32кб блока, поэтому при переходе на его первую инструкцию/команду используют команду межсегментного перехода. Влияет ли адрес его положения, похоже что да. При старте он проверяет количество основной памяти(до 640кб) через прерывание 12h, установленный видеорежим и прочее. Итак, на имеющейся материнской плате EV-1824 с 286 процессором был произведён старт с загрузочной дискеты. Запустив debug и введя команды:
узнав значение cs=162c, а ip=0100 учитываем что первая инструкция должна читаться как с ip=0, делаем переход дополнительно смещая сегмент на 10h параграфов
После запуска, курсор продолжал мигать, клавиатура переключала NumLock, но Бейсик не стартовал. Симитировав такую ситуацию в эмуляторе, стало понятно, что не проходит должным образом подготовка переменных для работы. Перезагрузившись и повторив всё снова, но перед командой перехода выполнив редактирование байта в памяти, старт произошёл и был увиден интерфейс Бейсика.
Может и не понадобится редактировать данный байт, тут проверяется самый младший бит.(Вероятность 50/50, в первом приближении) Но введя первую программу '10 print "Hello!"' и запустив её на исполнение(F2), ответа не последовало, зависло. А вообще, при наличии каких условий разработчик предусмотрел корректный запуск своей программы, можно узнать у него. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Т.е. пока рано править BIOS для запуска Бейсика, т.к. такой запуск является не стабильным? |
Сергей С |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 4 марта 2017 20:14 Сообщение отредактировано: 5 марта 2017 11:20
У меня не возникло такой ассоциативной связи которую изложили как "предложенная правка биоса -> запуск не стабильный" Сегодня я записал дискету 1.44Мб образом диска полученным от форматирования с системной дискеты DOS 3.30a, добавил basicc11.bin, debug и программу которую написал для возможности загрузки файла Бейсика в память по фиксированному адресу и передачи ему управления. И повторив позавчерашний эксперимент уже не с дискетой DOS6.22, а новой - я получил таки ответ Hello!. Поздоровалась не только EV-1824, но и две другие платы с i430vx и i810 чипсетами на которых я завершаю этот эксперимент, и делаю вывод что софт самой оси также оказывает непосредственное влияние на запуск с глюками. Так правка биоса с возможностью старта сразу встроенного Basic обеспечит лучший результат. Upd: При наличии Бейсика в пзу, запустить его не перепрошивая биос можно просто изменив в дисковом редакторе программу начальной загрузки любой дискеты(обычно имеющей код начинающийся с EB xx 90), записав туда 5 байт указанных ранее justontime. Таким образом полностью исключается влияние DOS, например свой загрузчик имеет Memtest86. Если 5 попыток опроса отсутствующей дискеты в флоппи дисководе занимает минуту, а лишь после этого будет при правленном биосе переход к запуску Бейсика при его наличии, кажется долгим, можете уменьшить их число, не забыв подправить контрольную сумму образа биоса. |
<<Назад Вперед>> | Страницы: 1 2 3 4 * 5 6 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Basic для Mazovia. ПЗУ есть, но при включении не стартует. |
0 посетителей просмотрели эту тему за последние 15 минут |
В том числе: 0 гостей, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |