Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Старый софт »   DOS/16M
RSS

DOS/16M

Использование

<<Назад  Вперед>> Страницы: 1 * 2 3 4
Печать
 
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
[q]
Ребята, вы о чем?
[/q]
Мы все о том же. Ну не предусмотрели в 286 штатный возврат к реальному режиму, как в 386. И чтобы это сделать нужно было использовать "клавиатурный костыль" - т.е. сбросить процессор, и он по-новому стартанет в реальном режиме. Только вот беда, это слишком долго и ненадежно. Поэтому Windows 2.x/3.х на 286-м работают в реальном режиме, а OS/2 1.x на 286-м пользуется костылями, описанными выше.
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
DOS Logic Покурите матчасть, пожалуйста

http://en.wikipedia.org/wiki/LOADALL
AndNot
Full Member


Откуда: Penza, Russia
Всего сообщений: 215
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
19 июня 2006
Zelya, в 286-м есть штатный режим перехода в реальный из защищенного - по сбросу. А то, что для этого не использовалась отдельная команда, так это косяк инженеров интела, считавших, что защищенный режим настолько хорош, что если кто-то в него перейдет, то выходить в реальный ему не захочется. По крайней мере такие байки гуляли в мою молодость. Но, еще раз подчеркну, это не костыль, это строго документированная функция, которой придерживались все последующие процессоры. Собственно и вмешался из-за слова "костыль", поскольку сброс через контроллер клавиатуры был вполне стандартизирован. В те времена инженерам приходилось бороться за каждый бит, вот и получали биты конфигурации там, где их логически быть не должно бы. Особенно этим грешат видеоадаптеры, у которых вообще такая мешанина битов, что впору психушку вызывать. Однако все пользуются ягой и ВГА и не вякают, считая что так и должно быть :)
Что касается скорости, то выбора все равно нет - бери что дают. Кстати, не скажу за счет dos/16m, но Borland Pascal использует защищенный режим как раз под 286-е машины. Помню злился на них за это, приходилось писать свои либы для адаптации паскаля к 32-х разрядному защищенному режиму :) Я это к тому, что на паскале можно прекрасно испытать защищенный режим 286-х машин.


alecv написал:
[q]
DOS Logic Покурите матчасть, пожалуйста

http://en.wikipedia.org/wiki/LOADALL
[/q]
DOS Logic был прав. Что касается команды loadall. Найдите хоть один 286-й камень, который не поддерживал бы эту команду ;) Тогда и обсудим, документированная это команда, или нет.
Zelya
Member


Откуда: Львов
Всего сообщений: 187
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
11 янв. 2009
AndNot написал:
[q]
А то, что для этого не использовалась отдельная команда, так это косяк инженеров интела, считавших, что защищенный режим настолько хорош, что если кто-то в него перейдет, то выходить в реальный ему не захочется. По крайней мере такие байки гуляли в мою молодость.
[/q]
Такая байка гуляет и сейчас. Так что думаю, это совсем не байка.

AndNot написал:
[q]
Но, еще раз подчеркну, это не костыль, это строго документированная функция, которой придерживались все последующие процессоры.
[/q]
Хоть мы и сваливаемся в жесткий флейм, но все-таки я останусь при своем мнении - это костыль. Сам факт бутания процессора и десятки проблем связанных с этим, ради того чтобы вернуться в реальный режим - непорядок. Была такая шутка, что Intel задизайнили 386, увидев как программисты OS/2 мучаются с 286-м.

AndNot написал:
[q]
Borland Pascal использует защищенный режим как раз под 286-е машины
[/q]
Очень интересная информация! Спасибо!
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
AndNot написал:
[q]
DOS Logic был прав. Что касается команды loadall. Найдите хоть один 286-й камень, который не поддерживал бы эту команду Тогда и обсудим, документированная это команда, или нет.
[/q]
Встречная просьба: покажите хоть один мануал от Intel, где эта команда документирована.
Кай
Гость
Divine Assassin

Откуда: извне (from beyond)
Всего сообщений: 13709
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 авг. 2010
[q]
хоть один мануал от Intel, где эта команда документирована.
[/q]
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
[q]
Кай Уууу.
[/q]
Угу. Погоди. А то у меня случится device overflow. Похоже, ты прав. В общедоступных документах нет конкретики.

В необщедоступных, как-то так: http://www.rcollins.org/articles/loadall/tspec_a3_doc.html Но не выполнено условие "от Интела"...
AndNot
Full Member


Откуда: Penza, Russia
Всего сообщений: 215
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
19 июня 2006
alecv написал:
[q]
Встречная просьба: покажите хоть один мануал от Intel, где эта команда документирована.
[/q]
Был 15-ти страничный конфиденциальный документ от интела, в котором и описывалась эта команда. С документом работала уйма народа, включая ibm и микрософт, потому об этой команде стало известно и остальным. Честно говоря влом искать те бумаги. Да и не вижу смысла, поскольку эта команда используется в таком софте как:
- ms dos 3.3 и выше;
- OS/2;
- CodeView (точнее он лишь знает эту команду);
То есть особо приближенные к интелу не стеснялись использовать эту "недокументированную" команду.
Ну и на "закуску". Поздние 386-е и 486-е модели не имели команды LOADALL, они просто эмулировали ее 286-ю версию (опкод 0x0f, 0x05) посредством BIOS. Сами понимаете, что в BIOS слишком мало места, чтобы пихать в него малонужный код. Видимо были очень серьезные основания для этого.
<<Назад  Вперед>> Страницы: 1 * 2 3 4
Печать
Полигон-2 »   Старый софт »   DOS/16M
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS