Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Basic для Mazovia. ПЗУ есть, но при включении не стартует. |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 | Печать |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Есть вот такая материнка: На материнке отсутствует микросхема ПЗУ №2. Возможно из-за этого, если не вставлена дискета, не происходит запуск Бейсика. Ведь такая куча ПЗУ-шек, кроме системного BIOS, который справа, должна содержать Бейсик? Больше там ничего не может быть прошито, я прав? Помогите найти образ микросхемы ROM2 (по маркировке на плате). В остальном плата работает нормально |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Попробуй сравнить оставшиеся ПЗУ со стандартным содержимым IBM ROM BASIC 1.10. Мне кажется, что Мазовию зашивали совершенно обычный. Бэйсики мы с тобой уже обсуждали в январе http://www.phantom.sannata.ru/...8#pp212398 Собственно мамка совершенно обычная тайваньская ХТ только с наклейкой |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 8 мая 2014 20:11 Сообщение отредактировано: 8 мая 2014 20:12
Может, мамка и обычная, но а)зачастую ПЗУ-шки чередуются. Т.е. не последовательно идут, и тогда фиг поймешь что было в отсутствующей; б) в "обычных" материнках бейсик расположен в одной ПЗУ-шке, а не в 5 сразу. Я рассчитываю, что у кого-то или есть такая материнка, и может кто-то считает программатором ПЗУ-шку, или где-то может выложены содержимые ПЗУ-шек Мазовии поштучно. |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 10 мая 2014 12:48 Сообщение отредактировано: 10 мая 2014 13:55
sanders написал: 1) Ну как бы нет. Если под "обычными" понимать оригинальный IBM PC/XT 5150. Достаточно взглянуть на оригинальную IBM 5150 мать, вот она: б) в "обычных" материнках бейсик расположен в одной ПЗУ-шке, а не в 5 сразу. http://upload.wikimedia.org/wi...(1981).jpg Это уже несколько потом китайцы/тайванцы приспособились ставить один сокет для ROM-basic. А в оригинале было так, как и у вас на матери, ибо копия 2) IBM rom basic занимает 32Kb. Это значит, что если используются микросхемы EEPROM типа 2764 (а они и используются), то он весь влезет в 4 штуки (по 8Кб в каждом 2764). Итого, IBM rom basic в оригинале занимает не пять, а четыре ПЗУ-шки. Они в приложенном архиве (файлы basicc11.f6, basicc11.f8, basicc11.fa, basicc11.fc - 4 файла по 8Кб каждый.) В оригинальной IBM 5150 в этой панельке ничего не стояло. На некоторых она подписана как OPT ROM, что намекает, что туда может ставится какой-то дополнительный BIOS ROM. Можно еще посмотреть на эту тему в Technical Reference для 5150, но мне лень. Почему не запускается васик? а) какая-то из ПЗУ стерлась б) они попутаны местами в) он и не должен запускаться, пока в debug не сделаешь int 18h. Поэтому правильно советуют - считать те, что стоят на матери и сравнить с содержимым приложенного архива. PS: Что можно прошить в этот OPT-ROM? Ну, к примеру, rom-bios от какого-нибуть FDC контроллера, поддерживающего 1,44Mb дискеты, тем самым получив возможность использовать и загружаться с таких дискет. Или воткнуть ISA-16 мультяху, в нее через переходник CF-карту, а в этот opt-rom прошить XT IDE bios. Вот такие варианты реального использования. Если ничего этого не нужно, и важен внешний первозданный облик - то, просто оставить эту панельку пустой. Ибо в 99,999% она была пустой с рождения. Прикрепленный файл (ibm_rom_basic.rar, 26035 байт, скачан: 36 раз) |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Хороший развернутый ответ. Вопросы: 1. Сравнить содержимое? Чем и как? Я представляю себе, что бейсик "разлит" по ПЗУ-шкам, и нельзя считать в debug-е конкретную ПЗУ. Значит, ее нужно считать в программаторе? 2. XT IDE теперь не проблема. Я могу вставить это ПЗУ в пустую панельку, но 16-битная мультяха не будет работать в 8-битном слоте, хотя бы потому, что передает данные во все 16бит, и ждет данные тоже по всем 16-битам. Она даже своего 14 прерывания не дождется |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
sanders написал: Ну, проще всего конечно на программаторе. Но за неимением, можно и в debug. Ведь "аппаратно" все эти 4 микросхемы сливаются в памяти в единое целое, размером 32Kb и отображаются на памяти, начиная с адреса F600:0000. Если оттуда последовательно читать 32Kb, то это и будет содержание этих 4-ех микросхем. 1. Сравнить содержимое? Чем и как? Я представляю себе, что бейсик "разлит" по ПЗУ-шкам, и нельзя считать в debug-е конкретную ПЗУ. Значит, ее нужно считать в программаторе? sanders написал: Цимес в том, что 16-битная мультяха работает в 8-битном слоте. Например, без всяких там доработок на ней работает FDD. Просто вставил в isa-8 слот, подключил 5,25" дисковод и работай себе. То же самое касается COM-протов и LPT порта. С IDE сложнее, потому как действительно IDE подразумевает 16-битный трансфер. Но! Именно в большинстве CF-карт есть поддержка восьмибитной передачи, именно поэтому они работают в таком режиме на обычных ISA-16 мультяхах. Поэтому CF карту таким макаром можно, а обычный IDE HDD - нельзя. 2. XT IDE теперь не проблема. Я могу вставить это ПЗУ в пустую панельку, но 16-битная мультяха не будет работать в 8-битном слоте, хотя бы потому, что передает данные во все 16бит, и ждет данные тоже по всем 16-битам. Но если IDE не проблема - то и рассуждать нечего. Не об этом сей топик. |
Fe-Restorator |
NEW! Сообщение отправлено: 10 мая 2014 20:39 Сообщение отредактировано: 10 мая 2014 20:46
sanders написал: Во всех ранних х86 платах распаивались ДВЕ панельки под биос - на случай использования двух "мелких" чипов либо одного "ёмкого". Если взять цыфири с потолка, то: "два по 16 или один по 32", так нагляднее. (Знатоки щас-же возопят об внутренней организации чипов - я эту тему намеренно отставил) На материнке отсутствует микросхема ПЗУ №2. ... Ведь такая куча ПЗУ-шек, кроме системного BIOS, который справа, должна содержать Бейсик? Больше там ничего не может быть прошито, я прав? Именно по сей причине вторая панелька почти всегда оставалась пустой, ставили "ёмкий" чип. Некоторые умельцы пытались "расширить" биос, т.е. в цыфирях - 2х32 залудить, но не всякая мамка такое позволяла (без паяльника). И иногда приходилось перекомпилировать биос, чтоб его половина находилась в одном чипе, а вторая половина - в другом, а читались они одновременно. Эт тож подводный камень "для спотыкания об". В остальные 2..10 панелек "под ПЗУшку", распаиваемых преимущественно на ХТ с 640К памяти, зашивали "васик", "лексикон", подпрограммы работы с экзотическим железом, дос и даже игрушки. Занимали эти ПЗУ всё "верхнее" адресное пространство, 384К. Ну, мож за исключением видеопамяти, ибо HDD для ХТ вовсе необязателен. |
Сейчас на форуме |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
И снова подниму вопрос. Бейсик не стартует. Есть уже два комплекта ПЗУ. Один комплект стоял в материнской плате. Другой комплект взят ссылке от Tronix выше по теме и прошит в новые ПЗУ. Качество прошивки сверено считыванием в материнке и сравнением с исходным файлом, т.е. запись без ошибок. Порядок установки ПЗУ-шек не перепутан (сравнивал вычитыванием их и сравнением с исходными файлами, в названиях которых есть намек на адрес). Между собой "старый" и "новый" комплекты чуть отличаются. Каждая пара сравниваемых ПЗУ отличается в нескольких местах по заметному кусочку. Одна из пар (не помню какая) - сильно отличается. Оба комплекта самостоятельно не стартуют. С тем комплектом, что стоял в плате, если не вставлена дискета, ничего не происходит, обращение к дисководу не снимается в течение неограниченного времени. С "новым" комплектом, который прошит по ссылке Tronix-а, обращение к дисководу примерно через минуту снимается, и выдается сообщение о том, что нет системной дискеты. Может на плате какие-то перемычки выставлены так, чтоб не запускалось ПЗУ с Бейсиком? Может что-то надо нажать? Я так понимаю, что Бейсик должен стартовать без ДОСа, иначе в нем нет смысла. Поэтому запуск вручную содержимого ПЗУ из ДОСа я не рассматриваю. Для чего запускать Бейсик из debug-а через int18 я не понимаю, с таким же успехом можно запустить с дискеты gwbasic. Помогите! |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
А из debug'а через int 18 запускается ? |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
А как это сделать? Напишите команды? |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
Я уже забыл, как debug'ом пользоваться (да и особо не знал, использовал другие средства). Но вообще коды команд для int 18 - CD 18 Если удасться запустить это, и Basic заработает, то можете выслать мне прошивку BIOSа (только 8К) - попробую взглянуть, что там... |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
Для простоты, сделайте файл с двумя байтам CD 18, обзовите его, например, basic.com и запустите... |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
justontime написал: Или, даже лучше, такой: сделайте файл с двумя байтам CD 18, обзовите его, например, basic.com и запустите... EA 00 00 00 F6 |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 20 сентября 2016 9:23 Сообщение отредактировано: 20 сентября 2016 9:29
Не всякий BIOS похоже вызывает BASIC, даже если он лежит в нужных адресах. Например, родной IBM-овский BIOS от PC и XT - вызывают. Проверялось на эмуляторе PCem topic/3766 Картинка из топика: Попробуй для этой Мазовии обычный BIOS+BASIC от родной IBM XT. Раскладку по микросхемам сделать несложно. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 20 сентября 2016 20:43 Сообщение отредактировано: 20 сентября 2016 20:48
Решил выложить образы ПЗУ с бейсиком (из инета) и родной биос Mazovia. Я точно знаю, что бейсик должен был бы работать. Ну а иначе какой в нем смысл? Другое дело, что: а) биос-то родной, а вот бейсик скорее всего в микросхемах не родной, а из инета и подавно IBM-овский. И точка входа может быть другая; б) может, как-то хитро нужно попадать в бейсик, совершая некие действия? Кто умеет дизассемблировать, может глянете BIOS? Я не хочу записывать в ПЗУ BIOS IBM, хотя при этом, возможно, заработает и бейсик, но я лишусь надписи Mazovia, а мне это важно. IBM-ок много, а Mazovia одна. Прикрепленный файл (Mazovia1914.rar, 0 байт, скачан: 18 раз) |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
Навскидку, в приложенном BIOSе есть вызов INT 18 после нескольких неудачных попыток считать загрузочный сектор. Так пробовали сделать файлики com'овские, что я предлагал, и их запустить ? Для начала, стоит убедиться, что там Basic в принципе есть... |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
sanders написал: Это версия C1.10 - которая у меня заработала. Не вижу еще одних 8К, которые должны быть по адресу F000 Решил выложить образы ПЗУ с бейсиком (из инета) |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 20 сентября 2016 21:53 Сообщение отредактировано: 20 сентября 2016 22:00
В инете четыре образа по 8кб. Начинаются с f600:0. А Вы использовали другую упаковку: 2шт по 32кб, одна из которых биос 8кб и много пустоты за ним, другая - бейсик. Левая пустая у меня панелька на фотографиях оригинальной ИБМ тоже пустая. Я не знаю, какой у нее адрес, но думаю f400:0, чтобы образовывать единый массив с остальнымт ПЗУ. |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 21 сентября 2016 11:10 Сообщение отредактировано: 21 сентября 2016 11:20
Вот тут есть исходники IBM XT BIOS https://sites.google.com/site/pcdosretro/ibmpcbios Как можно видеть, во время POST устанавливается вектор INT18H просто на начало сегмента F600:0000. Соответстенно, и переход делается туда. В gebug соответственно: g=f600:0000 Насколько помню, в Mazovia был обычный ERSO BIOS (он же DTK BIOS, как в 99% тайваньских клонов) с перебитым копирайтом. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 21 сентября 2016 16:51 Сообщение отредактировано: 21 сентября 2016 16:52
g=f600:0000 не стартует. Виснет. Может, нужно в регистры что-то заслать. |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
sanders написал: Попробовал - записал фигню во все регистры (кроме стека) и вызвал INT 18, Basic работает. Может, нужно в регистры что-то заслать. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Давайте подведем промежуточный итог: 1. Если два разных комплекта IBM-бейсика не стартуют, причем один из них скачан (и сверен) из надежного источника, то дело не в бейсике. 2. Раз панельки при считывании адресуются вполне по IBM-овски (F600, F800, FA00, FC00, FE00(bios), то структура (упаковка в микросхемы) IBM-бейсика не при чем. 3. Раз отличие между Mazowia и IBM теперь сведено к BIOS, то, похоже дело либо в BIOSе (механизме запуска бейсика), либо другие точки входа в бейсик Мазовии, и в этом случае таковой бейсик все же был. Я выкладывал BIOS Мазовии, чтобы кто-то знающий мог сказать, куда будет указывать вектор прерываний для int18. Может вовсе не на F600:0000, а куда угодно? Для проверки этой версии я прошью IBM BIOS или воспользуюсь тестовым ПЗУ ХТ вместо микросхемы с BIOS Mazowia. |
uav1606
Advanced Member
Откуда: Енакиево Всего сообщений: 4373 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 янв. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 26 сентября 2016 1:05 Сообщение отредактировано: 26 сентября 2016 1:47
sanders написал: Это с которыми микросхемами? Т.е. с каким Бейсиком? g=f600:0000 не стартует. Виснет. И что показывает при этом, скажем, df600:0000 в Debug'е? Выданный дамп совпадает с началом соответствующего файла прошивки? Или можно uf600:0000 набрать, первой командой там обычно идёт jump, в моём Бейсике вот так: JMP 7E95 CALL 6BAD RETF ... sanders написал: Но если с адресацией всё в порядке, то IBM-мовский Бейсик у Вас бы запускался командой g=f600:0000 без проблем, даже если родной BIOS его не может вызвать. 3. Раз отличие между Mazowia и IBM теперь сведено к BIOS, то, похоже дело либо в BIOSе (механизме запуска бейсика), либо другие точки входа в бейсик Мазовии, и в этом случае таковой бейсик все же был. Мне почему-то кажется, что дело всё-таки в адресации - как Вы проверяли совпадения прошитых ROM с исходными? Попробуйте в Debug: n dump.bin rcx 8000 wf600:0000 И сравните получившийся файл с выложенным мною ниже (этот тот Бейсик, который я используют с PicoXT, он, собственно, совпадает с тем, что от Tronix, только одним файлом): Прикрепленный файл (basicc11.bin, 0 байт, скачан: 22 раза) |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 4 октября 2016 23:09 Сообщение отредактировано: 4 октября 2016 23:11
Вот кстати топик, обсуждение безродной мамки, у которой на борту некий S.I.D. BIOS И бейсик, копия IBM-овского. http://www.vcfed.org/forum/sho...components Чувак пишет, что заменил на BIOS Phoenx - бэйсик перестал запускаться. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 26 февраля 2017 0:13 Сообщение отредактировано: 26 февраля 2017 0:17
Я прошу модераторов переименовать тему в "Basic для Mazovia. ПЗУ есть, но при включении не стартует." Ну вот мне пришла третья Mazovia, купил я ее ради корпуса и ПЗУ-шек. По словам владельца она тоже не переходит в Бэйсик, как должно быть, если грузиться не с чего. Итоги такие: 1. Плата №1 с ПЗУ, которые мне не кажутся родными. Содержимое каждой ПЗУ-шки слегка отличается от того, что выкладывал в этой теме Tronix. Прошил Бейсик от Tronix-а. Тот же эффект - No System Disk. Insert... и т.д. Поскольку считать ПЗУ из верхних адресов и записать на дискету невозможно (на Мазовии), я сначала копировал кусочки по 8КБ наугад в адреса 5000:0000, 4000:0000, т.е. туда, куда DOS не достанет. Таким образом сравнивал свои прошивки, Tronix-овские и свои. Не думаю, что на этапе копирования копия ПЗУ в ОЗУ повредилась, и я получил недостоверный результат, т.к. оба результата (с адреса 4000:0 и 5000:0) одинаковы. 2. Плата №2 - голая без всего. Допустим, что плата №1 как-то чуть-чуть неисправна, и поэтому я купил вторую плату. Я переносил на нее комплект ПЗУ от платы №1, затем комплект бэйсика Tronix-а. Тот же отрицательный рзультат. На этом этапе можно предположить, что у меня некорректный BIOS, а я не скачивал другой из инета. То есть Бейсики из двух мест, а BIOS из одного. Но тогда бы КС не сошлась и были бы какие-то сообщения? 3. Плата №3 - приехала только что, получу ее на неделе. Там все 5шт ПЗУ установлены, можно будет сверить содержимое (уже 3й комплект Бэйсика и второй BIOS). Но что-то мне подсказывает, что дело не в ПЗУ и не самих платах. В редких фотках из инета, у Мазовий установлены эти 5 ПЗУ с пустой левой кроваткой. Значит, адреса у меня правильные, и значит Бэйсик для Мазовии существовал. Как он еще может запускаться? Может по нажатию каких-то клавиш? Ведь его главный смысл - запуститься если нет загрузочных устройств. А не чтоб его запускали из DOS DEBUG. Помогите мне еще идеями? |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
sanders написал: Поставить IBM-овский BIOS XT и IBM-овский BASIC в точно такой же раскладке по тем же адресам. Помогите мне еще идеями? |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Допустим, он заработает. Что это даст? Ведь Мазовия выпускалась с родным ПЗУ. Мне ведь не бейсик сам по себе важен, а оригинальный комп. А умеет кто-то дизассемблировать такое? Может, зажать кнопку нужно или без дискеты нажать "эникей" не единожды? |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Не нравится эта идея - даю другую. Купи четвертую Мазовию |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Напомните мне тогда, как у IBM XT происходит старт Бейсика? Если винчестера нет, и в дисководе пусто, то комп ждет какое-то время с включенным дисководом, а затем сам переходит в Бейсик - так? При наличии ПЗУ, конечно. А у Мазовии таймаут не происходит. Дисковод бесконечно долго ждет дискету, и при этом комп не висит. Стоит вставить дискету, хоть через 5 минут, и начинается загрузка. Я делаю вывод, что BIOS даже не пытается передать управление Бейсику. Дальше уже не важно, корректен ли Бейсик. Если бы был не корректен, то комп зависал бы. Поэтому и я свел проблему к двум вопросам: - кто может дизассемблировать BIOS; - какие еще механизмы запуска Бейсика известны (кроме автозапуска после таймаута при не вставленной дискете); (Как решу проблему, одной Мазовией может быть поделюсь по цене покупки. Четвертая точно не нужна) |
Кай
Гость
Divine Assassin Откуда: извне (from beyond) Всего сообщений: 13709 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2010 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 26 февраля 2017 13:07 Сообщение отредактировано: 26 февраля 2017 13:10 >debug.exe - какие еще механизмы запуска Бейсика известны (кроме автозапуска после таймаута при не вставленной дискете); a 100 int 18 Нажать Enter g=100 Возможно, регистры ES и DS нужно будет скинуть в "0". Перед int 18. |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 26 февраля 2017 13:30 Сообщение отредактировано: 26 февраля 2017 14:44
sanders написал: Я же писал выше. Во время старта BIOS устанавливает вектора для своих "служб": INT 10 - видео, INT 13 - диски и т.д. А также INT 19 - загрузка и INT 18 - BASIC. как у IBM XT происходит старт Бейсика? По окончании проверки BIOS сам вызывает INT 19. Если загрузочный сектор прочитать не удалось, процедура INT 19 вызывает INT 18 и мы попадаем в BASIC. Всё. По крайней мере в IBM так (в общих чертах). Поскольку ROM BASIC копирайченный IBM и его вообще-то ставить нельзя (даже в Мазовию), то многие произодители просто выкинули эту процедуру из BIOS и у них INT 19 по ошибке чтения загрузочного сектора просто пишет ошибку READ ERROR и INT 18 не вызывает (есть варианты - пишет NO ROM BASIC или висит как у тебя). Поэтому я и предлагаю поставить "всё IBM-овское" для теста, а потом BASIC оставить и подбирать какой-нибудь BIOS, который все же вызывает INT 18. P.S. Насчет "уникальности" BIOS Mazovia процитирую свой пост в этой теме 1 сентября 2016: alecv написал: Насколько помню, в Mazovia был обычный ERSO BIOS (он же DTK BIOS, как в 99% тайваньских клонов) с перебитым копирайтом. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Кай, Alecv - спасибо. Будут силы - опробую идеи и напишу потом. Удивляет, что только я первый поднял вопрос с Бейсиком для Мазовии. Комп частый, и такая россыпь ПЗУ никого не заинтриговала - для чего они в таком количестве? В вузе у нас была Мазовия, наверняка мы забывали вставить дискету или дискета не читалась, но я не помню, чтобы видел экран Бейсика. |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
sanders написал: Полагаю. что никому нафик не надо было... Удивляет, что только я первый поднял вопрос с Бейсиком для Мазовии. |
Кай
Гость
Divine Assassin Откуда: извне (from beyond) Всего сообщений: 13709 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2010 |
"Правец-16" совершенно точно вываливался в ROM-Basic при отсутствии загрузочного накопителя. "Мазовия-1016" не скажу, не помню. Помню, что у неё знакогенератор был свой собственный, польский. |
Сергей С |
В биосе Мазовии вектор INT 18h (0000:0060h) установлен на адрес F000:E71A, исполняя код которого происходит перенос строки и вывод сообщения "Boot disk failure. Type key to retry", ожидается нажатие клавиш после чего возвращается из этого прерывания. К циклу на адресе 0fe3fa: int 19, jmp 0fe3fa . Условий для перехода на F600:0000 нет в INT19h (F000:E6F2) состоящей из 17 команд, то есть самостоятельно биос даже при наличии дополнительных микросхем ПЗУ, не станет исполнять код записанный в них. Загрузившись с дискеты, написав в debug команду g=f600:0 я оказался в IBM Basic, без знака равно просто писало что программа выполнена успешно(Program terminated normally (0000)). sanders предлагаю проверить как минимум отображение всех банков, как у меня на картинке.Так как я не нашёл сообщения о том что с дискеты всё грузится и лишь необходимо принципиально найти способ запуска без неё. Прикрепленный файл (rom_bios.gif, 0 байт, скачан: 18 раз) |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Вот оно! То, что я чуял. Не обращается Мазовия к Бейсику! Завтра отпишусь о результатах. Если поможете мне что-то подправить, чтобы Бейсик стартовал сам, я буду рад. Т.е. мне важны: характерные надписи - Mazowia...Mikroromputery...Warszawa, ну и чтобы Бейсик стартовал, если нет дискеты. Остальное можно подправить ради старта Бейсика :-) |
Сергей С |
Из файлов в архиве 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 попыток опроса отсутствующей дискеты в флоппи дисководе занимает минуту, а лишь после этого будет при правленном биосе переход к запуску Бейсика при его наличии, кажется долгим, можете уменьшить их число, не забыв подправить контрольную сумму образа биоса. |
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 они затираются. |
Сергей С |
Оффтопик: Оффтопик: Глаголы, ключевые слова и инструкция " Вы почти не используете глаголы, вроде "возьмите BIOS-файл... и9 шагов" отправлена в личку. Глаголы не требуют понимания, а лишь исполнения, для роботов. Поэтому Вы реально пишите о том что ничего не сделано. Каково предназначение Форума ? Обсуждение не касающееся темы что и "как редактировать" в личке, здесь же в сообщениях идеи и действия тоже указаны. |
sanders
Advanced Member
Профессионал Откуда: Санкт-Петербург Всего сообщений: 6434 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 26 мар. 2008 |
Инструкцию получил. Кроме желания сумничать ничего в ней не нашел. Просьба больше в этой теме свои умственные способности не прилагать. Здесь еще достаточно других тем, например, о керамических процессорах. |
XPOHOMETP
Advanced Member
Всего сообщений: 752 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 13 мая 2015 |
Извиняюсь за офф и много букв Не про Мазовию, но тоже в т.ч. про Бейсик. Так что для статистики и в подтверждение вышесказанного напишу тут... Плата - советский вариант XL-7, практически как в этой теме http://www.phantom.sannata.ru/...8#pp188988 BIOS полный ноунейм, из текста выводит только тест памяти и сообщения об ошибках. В общем прикручивал к ней CF по типу XT-IDE на мультикарте 16 бит. Для BIOS XT-IDE пришлось распаять отсутствовавшие панельки под бейсик. Вот для их проверки и прошил BASICC11.BIN в 27256. И ещё чтобы с нераспаянными DIP-switch (рядом с BIOS которые) разобраться. С ноунейм BIOS и без дискеты (после одного сообщения об ошибке загрузки) жмем Enter и бейсик нормально запускается. А потом см ниже. Далее был взят подправленный Tronix PCXTBIOS.BIN отсюда http://www.phantom.sannata.ru/...9#pp241679 Бейсик оно не запускает, т.к. ищет там расширения BIOS. Однако, он прекрасно запускается из debug-а по команде g=f600:0. Проверялось на DOS 6.22 и 3.30. INT 18 настроен на F000:FF23 - ??? А вот с noname BIOS запустить бейсик из debug-а сразу не получается Хоть INT 18 и настроен на F600:0000, ни через него, ни через JMP туда, ни через COM-файлы с этими командами, ни через g=f600:0 - всё молча виснет. Но стоит выполнить предложенную выше Сергей С команду "e 60:536 01", по g=f600:0 бейсик запускается и нормально работает. От версии DOS опять не зависит. Но самое простое и работающее с обеими BIOS - также упомянутые в этой теме байты EA 00 00 00 F6 в начало первого сектора дискеты. Мигом стартует Бейсик. Спасибо всем, кто это раскопал! P.S. А Compact Flash тоже запустился. |
<<Назад Вперед>> | Страницы: 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 тем | |
"Basic для Mazovia. ПЗУ есть, но при включении не стартует."
Тема переименована. Кай.