Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Старый софт » DOS/16M |
<<Назад Вперед>> | Страницы: 1 2 3 4 | Печать |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
Интересуют некоторые моменты работы DOS/16M на 286-м. 1. Где-нибудь он используется? 2. Постоянное переключение реального/защищенного режимов - довольно длительная и небезопасная операция на 286 (имеется в виду возврат к реальному). Как? Даже Windows и OS/2 этот вопрос толком не решили. 3. Взаимозаменяемость с DOS/4G. Представим, что есть программа, которая использует 4 Мб памяти через DOS/4G, и больше ничего от 386-го ей не надо. Если ее пересобрать с DOS/16M, она будет работать на 286-м? |
DOS Logic
Advanced Member
d(-_-)b Откуда: Украина. Ивано-Франковск Всего сообщений: 4778 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 1 июля 2006 |
На 286 нет возврата в реальный режим, только перегрузка это в 386 он есть) |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
DOS Logic Да, в 286 он штатно не предусмотрен. Но через контроллер клавиатуры можно было ухитрится сбросить процессор, и он снова стартовал в реальном режиме. Этот костыль, хоть и часто использовался, но был довольно-таки тормознутым и ненадженым. Именно по этому я и задал вопрос №2. |
DOS Logic
Advanced Member
d(-_-)b Откуда: Украина. Ивано-Франковск Всего сообщений: 4778 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 1 июля 2006 |
OS/2 писала слишком серезная кантора чтобы использовать какие-то не документированные костыли там такого небыло |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
DOS Logic В OS/2 1.x IBM использовали целый набор мозгодробительных костылей, чтобы хоть как-то и все фичи 286-ого использовать и с DOS быть совместимыми. Например, нижнее ОЗУ резервировалось для эмуляции DOSа, и в защищенном режиме это было просто неиспользуемая дыра (огромная по тем меркам). Или, например, драйвера писались одновременно под два режима. Они и рады были б обойтись "клавиатурным" костылем, но он не удовлетворял всем требованиям. |
AndNot
Full Member
Откуда: Penza, Russia Всего сообщений: 215 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 июня 2006 |
Ребята, вы о чем? "Клавиатурный костыль" - это документированная возможность сброса процессора, введенная еще с 8086-й машины и работающая на всех современных. А причину сброса биос узнает с помощью байта отключения (CMOS[0x0F]). Начиная с 286-й ввели 5-ть кодов, как раз для работы с защищенным режимом: 6-8 - сброс после работы в защищенном режиме, 9 - сброс после копирования блока памяти из основной в расширенную (используется обработчиком INT 15h), и 0xA - сброс и немедленная передача управления по адресу, лежащему в 0000h:0476h. Например память биос подсчитывает и тестирует именно в защищенном режиме, возвращаясь к продолжению POST-процедур посредством сброса через "клавиатурный костыль" (код сброса - 0x8). Так что переход из защищенного в реальный режим прокатит на всех 286-х машинах. Скажу больше, это прокатит и на всех других машинах. Я это использовал для экстренного выхода из вин 3.11 в реальный режим на 386-й машине. PS: а программисты мелкософта, кто бы что ни думал о этой конторе, были отличными профи - именно они нашли выход, когда оказалось, что в 286-м процессоре не предусмотрена процедура перехода в реальный режим. И мелкософт никогда бы не решился на это будь вероятность несовместимости - тогда еще была хоть какая то конкуренция ОС. |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
AndNot Мы все о том же. Ну не предусмотрели в 286 штатный возврат к реальному режиму, как в 386. И чтобы это сделать нужно было использовать "клавиатурный костыль" - т.е. сбросить процессор, и он по-новому стартанет в реальном режиме. Только вот беда, это слишком долго и ненадежно. Поэтому Windows 2.x/3.х на 286-м работают в реальном режиме, а OS/2 1.x на 286-м пользуется костылями, описанными выше. Ребята, вы о чем? |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 | |
AndNot
Full Member
Откуда: Penza, Russia Всего сообщений: 215 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 июня 2006 |
Zelya, в 286-м есть штатный режим перехода в реальный из защищенного - по сбросу. А то, что для этого не использовалась отдельная команда, так это косяк инженеров интела, считавших, что защищенный режим настолько хорош, что если кто-то в него перейдет, то выходить в реальный ему не захочется. По крайней мере такие байки гуляли в мою молодость. Но, еще раз подчеркну, это не костыль, это строго документированная функция, которой придерживались все последующие процессоры. Собственно и вмешался из-за слова "костыль", поскольку сброс через контроллер клавиатуры был вполне стандартизирован. В те времена инженерам приходилось бороться за каждый бит, вот и получали биты конфигурации там, где их логически быть не должно бы. Особенно этим грешат видеоадаптеры, у которых вообще такая мешанина битов, что впору психушку вызывать. Однако все пользуются ягой и ВГА и не вякают, считая что так и должно быть Что касается скорости, то выбора все равно нет - бери что дают. Кстати, не скажу за счет dos/16m, но Borland Pascal использует защищенный режим как раз под 286-е машины. Помню злился на них за это, приходилось писать свои либы для адаптации паскаля к 32-х разрядному защищенному режиму Я это к тому, что на паскале можно прекрасно испытать защищенный режим 286-х машин. alecv написал: DOS Logic был прав. Что касается команды loadall. Найдите хоть один 286-й камень, который не поддерживал бы эту команду Тогда и обсудим, документированная это команда, или нет. DOS Logic Покурите матчасть, пожалуйста |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
AndNot написал: Такая байка гуляет и сейчас. Так что думаю, это совсем не байка. А то, что для этого не использовалась отдельная команда, так это косяк инженеров интела, считавших, что защищенный режим настолько хорош, что если кто-то в него перейдет, то выходить в реальный ему не захочется. По крайней мере такие байки гуляли в мою молодость. AndNot написал: Хоть мы и сваливаемся в жесткий флейм, но все-таки я останусь при своем мнении - это костыль. Сам факт бутания процессора и десятки проблем связанных с этим, ради того чтобы вернуться в реальный режим - непорядок. Была такая шутка, что Intel задизайнили 386, увидев как программисты OS/2 мучаются с 286-м. Но, еще раз подчеркну, это не костыль, это строго документированная функция, которой придерживались все последующие процессоры. AndNot написал: Очень интересная информация! Спасибо! Borland Pascal использует защищенный режим как раз под 286-е машины |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
AndNot написал: Встречная просьба: покажите хоть один мануал от Intel, где эта команда документирована. DOS Logic был прав. Что касается команды loadall. Найдите хоть один 286-й камень, который не поддерживал бы эту команду Тогда и обсудим, документированная это команда, или нет. |
Кай
Гость
Divine Assassin Откуда: извне (from beyond) Всего сообщений: 13709 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2010 |
хоть один мануал от Intel, где эта команда документирована.http://www.google.ru/url?q=htt...KBKONSc1tw Искать в тексте по Program State Change. |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Кай Уууу. Cтраницу можно ? Program State Change находится 45 раз, все в главе про Interrupt and exception handling. И потом, это Pentium, у него программная модель несколько отличается от 286. Вдобавок, педевикия дает АИ, что LOADALL на некоторых старых 286 работала не совсем как на новых. "The idea had to be mostly discarded, furthermore, due to errata in some early Intel 80286 processors before the E-2 stepping" |
Кай
Гость
Divine Assassin Откуда: извне (from beyond) Всего сообщений: 13709 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2010 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 6 ноября 2012 0:34 Сообщение отредактировано: 6 ноября 2012 0:38 Угу. Погоди. А то у меня случится device overflow. Похоже, ты прав. В общедоступных документах нет конкретики. Кай Уууу. В необщедоступных, как-то так: http://www.rcollins.org/articles/loadall/tspec_a3_doc.html Но не выполнено условие "от Интела"... |
AndNot
Full Member
Откуда: Penza, Russia Всего сообщений: 215 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 июня 2006 |
alecv написал: Был 15-ти страничный конфиденциальный документ от интела, в котором и описывалась эта команда. С документом работала уйма народа, включая ibm и микрософт, потому об этой команде стало известно и остальным. Честно говоря влом искать те бумаги. Да и не вижу смысла, поскольку эта команда используется в таком софте как: Встречная просьба: покажите хоть один мануал от Intel, где эта команда документирована. - ms dos 3.3 и выше; - OS/2; - CodeView (точнее он лишь знает эту команду); То есть особо приближенные к интелу не стеснялись использовать эту "недокументированную" команду. Ну и на "закуску". Поздние 386-е и 486-е модели не имели команды LOADALL, они просто эмулировали ее 286-ю версию (опкод 0x0f, 0x05) посредством BIOS. Сами понимаете, что в BIOS слишком мало места, чтобы пихать в него малонужный код. Видимо были очень серьезные основания для этого. |
AndNot
Full Member
Откуда: Penza, Russia Всего сообщений: 215 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 июня 2006 |
Кай написал: http://www.rcollins.org/articles/loadall/tspec_a3_doc.htmlО! Самое то! В необщедоступных, как-то так: |
Anderson1
Advanced Member
Откуда: Москва Всего сообщений: 2098 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 27 фев. 2011 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 6 ноября 2012 14:27 Сообщение отредактировано: 6 ноября 2012 14:40
Zelya написал: Ничего подобного - Windows 3.1 работает на 286 в защишённом ака стандартном режиме, ибо в реальном уже не умеет (последняя винда умевшая реальный режим это 3.0a) и прекрасно из защищённого режима выходит обратно в DOS. Windows 2.x/3.х на 286-м работают в реальном режиме DOS Logic написал: Это Microsoft-то? Да это главные изобретатели недокументированных функций как принципа OS/2 писала слишком серезная кантора чтобы использовать какие-то не документированные костыли |
AndNot
Full Member
Откуда: Penza, Russia Всего сообщений: 215 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 июня 2006 |
Anderson1 написал: А ведь точно! Помню в заголовочных файлах паскаля от борланда wincrt и windos) использовались селекторы 16-ти битного защищенного режима. И у Фаронова есть пример переделки wincrt и windos, для использования функций GDI. Прекрасно помню, там тоже был защищенный режим. Ничего подобного - Windows 3.1 работает на 286 в защишённом ака стандартном режиме, ибо в реальном уже не умеет (последняя винда умевшая реальный режим это 3.0a) и прекрасно из защищённого режима выходит обратно в DOS. Anderson1 написал: Если найдете полуось от микрософта, Вы станете богаче Билла, который Гейтс DOS Logic написал:Это Microsoft-то? Да это главные изобретатели недокументированных функций как принципа OS/2 писала слишком серезная кантора чтобы использовать какие-то не документированные костыли |
Кай
Гость
Divine Assassin Откуда: извне (from beyond) Всего сообщений: 13709 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2010 |
Вообще-то "это" IBM... Это Microsoft-то? Да это главные изобретатели недокументированных функций как принципа |
Anderson1
Advanced Member
Откуда: Москва Всего сообщений: 2098 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 27 фев. 2011 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 6 ноября 2012 15:24 Сообщение отредактировано: 6 ноября 2012 15:26
AndNot написал: OS/2 1.0 и 1.1. Ссылки на скачку дистрибутивов у гугла. Копирайты в OS/2 1.1 "Microsoft Operating System/2" и обычный MS-ный хорошо видны например Если найдете полуось от микрософта, Вы станете богаче Билла, который Гейтс тут. Где забирать мои ~50 млрд баксов? Кай написал: Емнимс, только IBM с версии 1.2. Более ранние это совместное творчество MS и IBM. Вообще-то "это" IBM... |
AndNot
Full Member
Откуда: Penza, Russia Всего сообщений: 215 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 июня 2006 |
Anderson1 написал: Микрософт был лишь исполнителем, а музыку заказывала IBM. Потому полуось принято считать айбиэмовской, а не мелкософтской. Это вполне нормальная практика. Вы же называете писюки IBM PC AT/XT? А ведь в них айбиэмовского с гулькин хрен, в основном заказняк у других фирм. AndNot написал:OS/2 1.0 и 1.1. Ссылки на скачку дистрибутивов у гугла. Копирайты в OS/2 1.1 "Microsoft Operating System/2" и обычный MS-ный хорошо видны например тут. Где забирать мои ~50 млрд баксов? Если найдете полуось от микрософта, Вы станете богаче Билла, который Гейтс Так что увы, 50 лярдов пока полежат у Билла Anderson1 написал: ИМХО скорее 1.3, которая благодаря уходу мелкософта стала ощутимо менее требовательна к ресурсам и шустрее, что как бы намекает Емнимс, только IBM с версии 1.2. Более ранние это совместное творчество MS и IBM. |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Извините что возвращаюсь к топику а этот DOS/16M он что, платный ? |
ReDmit
Full Member
Откуда: Нижний Новгород Всего сообщений: 269 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 25 апр. 2012 |
Судя по страничке на офсайте, для заказа DOS/16M нужно связаться с авторами. |
jossk
Newbie
Откуда: Kiev Всего сообщений: 52 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 3 апр. 2006 |
А у кого-то DOS/16M SDK есть ? |
AndNot
Full Member
Откуда: Penza, Russia Всего сообщений: 215 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 июня 2006 |
Народ, если не секрет, то зачем вам это старье? Разве еще есть спрос на написание программ под такие старые машины? Извиняюсь за оффтоп, но действительно интересно. |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
AndNot AndNot написал: А Вы почитайте на самом вершочке "железные призраки прошлого" Народ, если не секрет, то зачем вам это старье? Разве еще есть спрос на написание программ под такие старые машины? Извиняюсь за оффтоп, но действительно интересно. Anderson1 Anderson1 написал: Простите, ошибся. Действительно, Win 3.1 работает только в защищенном, даже Win 3.0 можно на 286-м в защищенном запустить. Ничего подобного - Windows 3.1 работает на 286 в защишённом ака стандартном режиме, ибо в реальном уже не умеет (последняя винда умевшая реальный режим это 3.0a) и прекрасно из защищённого режима выходит обратно в DOS. |
AndNot
Full Member
Откуда: Penza, Russia Всего сообщений: 215 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 июня 2006 |
Zelya, а почему бы не использовать альтернативные экстендеры? Вот здесь наверное самый лучший: http://www.japheth.de/HX.html Правда 16-ти битную версию не юзал, не могу сказать поддерживает ли она гуй и прочие ништяки. Зато бесплатно и практически под любой язык. Ну и далеко не на последнем месте тот факт, что автор потихоньку развивает продукт. |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
AndNot Интересует не просто экстендер, а максимальная взаимозаменяемость с DOS/4G. |
AndNot
Full Member
Откуда: Penza, Russia Всего сообщений: 215 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 июня 2006 |
Zelya, а заменяемость на каком уровне? |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
AndNot Возможность перекомпилировать сорсы без внесения существенных изменений. |
AndNot
Full Member
Откуда: Penza, Russia Всего сообщений: 215 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 19 июня 2006 |
Ясно. Или все-таки правильнее не совместимость с dos4g, а возможность перекомпиляции сорсов под 16-ти и 32-х разрядный защищенный режим? Это все-таки не одно и то же |
Zelya
Member
Откуда: Львов Всего сообщений: 187 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 янв. 2009 |
AndNot Ну, грубо говоря, имеются сорсы писанные под DOS/4G, и хочется с минимальными изменениями (а в идеале, вобще без них) запустить это дело на 286-м |
<<Назад Вперед>> | Страницы: 1 2 3 4 | Печать |
Полигон-2 » Старый софт » DOS/16M |
0 посетителей просмотрели эту тему за последние 15 минут |
В том числе: 0 гостей, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |