Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Basic для Mazovia. ПЗУ есть, но при включении не стартует. |
<<Назад Вперед>> | Страницы: 1 2 3 4 * 5 6 | Печать |
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 попыток опроса отсутствующей дискеты в флоппи дисководе занимает минуту, а лишь после этого будет при правленном биосе переход к запуску Бейсика при его наличии, кажется долгим, можете уменьшить их число, не забыв подправить контрольную сумму образа биоса. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
А теперь можно еще раз детальнее. У меня такое чувство, что я читаю только четные страницы каждого листа, и половина сюжета мне непонятна :-) Вы пользуетесь эмулятором? Значит Вы можете в эмуляторе исправить BIOS Mazowia так, чтобы он в том же эмуляторе вызывал Бейсик? Таким образом мы уйдем от системной дискеты и зависимости от ОС - так в реальности и должно быть: нет дискеты - есть Бейсик, есть дискета - Бейсик и не нужен. Если эта часть заработает, можете ли Вы дать ссылку на исправленный BIOS, чтобы мне осталось его прошить в микросхему? Я не умею пользоваться ассемблером и что-либо править самостоятельно. На счет кол-ва попыток. Мне кажется 5 попыток много. Достаточно 2. Если второй раз не загрузились, то стартует Бейсик. Иначе терпения не хватит его дождаться. |
Кай
Гость
Divine Assassin Откуда: извне (from beyond) Всего сообщений: 13709 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2010 |
можете ли Вы дать ссылку на исправленный BIOS, чтобы мне осталось его прошить в микросхему? Я не умею пользоваться ассемблером и что-либо править самостоятельно. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
«Надо знать всё о немногом и немного обо всем» (Капстаны для Wangtek-a я пилил сам. И переходник для памяти AWE64 паял сам... Но умею не всё.) |
<<Назад Вперед>> | Страницы: 1 2 3 4 * 5 6 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Basic для Mazovia. ПЗУ есть, но при включении не стартует. |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |