Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Basic для Mazovia. ПЗУ есть, но при включении не стартует. |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 * 6 | Печать |
Сергей С |
Да аналог, вот только 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 паял сам... Но умею не всё.) |
Кай
Гость
Divine Assassin Откуда: извне (from beyond) Всего сообщений: 13709 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2010 |
Игорь, знаешь же - шучу я. |
Сергей С |
Оффтопик: Оффтопик: Вам вариант с перепрошивкой представляется более простым, хорошо в личку дам файл. На картинке с патчем никакого ассемблера, указано где суммарно 26 байт заменены, как в обычном текстовом редакторе заменяем буквы тут тоже воспользовавшись любым HEX-редактором например встроенным в Volcov Commander(v5.0) заменить байты. Аналогично заменяем байты на дискете, дисковым редактором например DED(Disc Editor) предварительно разрешив запись, ничего сложного. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 6 марта 2017 20:24 Сообщение отредактировано: 6 марта 2017 20:30
Спасибо за файл, но проверить смогу через неделю. Я не совсем понял зачем мы обсуждаем дискету? Что грузить с дискеты? Прошивку BIOS? Вроде нет. Тогда что? Или я не понял, что Вы объясняете, как редактировать, записанный на дискету BIOS Mazowia при помощи Hex-редактора? Просто Вы почти не используете глаголы, вроде "возьмите BIOS-файл... исправьте байты по адресам...". Поэтому я и написал, что не все понятно. Если все так, то все загадки кроме одной разрешены. Последняя загадка - почему после загрузки DOS старт по адресу Бейсика не приводит к его запуску? Предполагаю, что до загрузки в стеке и регистрах присутствуют нужные значения, а при загрузке DOS они затираются. |
<<Назад Вперед>> | Страницы: 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 тем | |