LINUX.ORG.RU
ФорумTalks

Вот что такое обратная совместимость

 , , ,


0

1

Программист SimCity Джон Росс (Jon Ross) позже признался, что случайно оставил в игре баг, из-за которого та считывала только что освобождённую память. На Windows 3.x градостроительный симулятор работал без проблем (там «память никуда не уходила»), а вот в бета-версии Windows 95 функционировать отказывался.

Как пишет Спольски, Microsoft ошибку отследила и добавила в код Windows 95 особую установку. Если ОС находит запущенную SimCity, то запускает специальный режим распределителя памяти: «Такая одержимость обратной совместимостью смогла заставить людей обновиться до Windows 95».

Неверным путём Паниковского идут и куртка с лизкой - на каждый игробинарник по пачке хаков

DumLemming ★★
()

А выглядит как костыль для багованных программ.

DrBrown
()

Очень клёво: поддерживать десятки (возможно, сотни) тысяч костылей для игр и прикладных программ, что наверняка приводит к затратам неисчислимого количества человеко-часов на разработку и тестирование, и приводит к усложнению разработки (надо понимать, что происходит в этих костылях и не поломать их ненароком).

И при этом, когда берешь некоторые старые игры, они всё равно не запускаются в современных окнах.

emorozov
()
Ответ на: комментарий от emorozov

В Microsoft во времена хрюши был целый отдел, воспроизводящий баги предыдущих версий Windows, поэтому в ХР запускалось большинство олдовых прог, в т.ч. DOSовских. А потом этот отдел разогнали. Видимо, не захотели

поддерживать десятки (возможно, сотни) тысяч костылей для игр и прикладных программ

Поэтому-то

они всё равно не запускаются в современных окнах.

tiinn ★★★★★
()
Ответ на: комментарий от emorozov

И при этом, когда берешь некоторые старые игры, они всё равно не запускаются в современных окнах.

При выходе новой версии Window могут удалять часть хаков, если телеметрия показывает что программами под которые делались эти хаки люди уже не пользуются…

Ещё можно прочитать про один из подобных хаков: https://devblogs.microsoft.com/oldnewthing/20160822-00/?p=94135

Тут есть список хаков, которые можно попробовать включить и для неизвестной программы:

https://learn.microsoft.com/en-us/windows/deployment/planning/compatibility-fixes-for-windows-8-windows-7-and-windows-vista#compatibility-fixes

fsb4000 ★★★★★
()

Именно поэтому виндой так широко пользуются на десктопах. Это разительное отличие от stable API nonsense, который подходит разве что для одноразового запуска в облаке или докере.

filosofia
()
Ответ на: комментарий от filosofia

Сомневаюсь, что именно поэтому. Там много факторов, в том числе, можно вспомнить, что в 90-е Microsoft как тяжёлый каток давила всех конкурентов. Давила судами, покупала и закрывала, и т.д.

Плюс гигантские взятки за то, чтобы продукты Microsoft внедрялись в государственных и учебных заведениях. Гигантские откаты.

Совместимость, думаю, была далеко не на первом месте, когда принимались решения.

Именно из-за этого в своё время попробовал Linux, да так и подсел на него.

Молодое поколение уже и не знает, но в 90-е Microsoft была однозначной корпорацией зла, которую все ненавидели. Когда ни один из подходов не помог задавить Linux, пришлось сделать ребрендинг: «Мы такие классные и молодёжные, за опенсорс!».

emorozov
()
Ответ на: комментарий от emorozov

нет никакого ребрендинга, есть только бабки ;)

но если вам хочется так думать, я не против

Morin ★★★★
()
Ответ на: комментарий от filosofia

Ага. Именно поэтому во времена свеже-вышедшей семёрки мне пришлось осваивать вайн, потому что мои любимые игры(Fallout2, StarCraft и BroodWar, Diablo, какая-то из версий Worms, Quake II и другие) под ней не работали. А в вайне отлично запускались. Потом мелкомягкие добавили режим совместимости, который из себя представлял запущенную в виртуалке обрезанную ХР.

shell-script ★★★★★
()
Ответ на: комментарий от shell-script

А ещё чуть позже я помогал знакомому учителю школы переводить компьютерный класс на Linux, потому как в винде перестали запускаться школьные учебные программы и отказался работать какой-то там древний компилятор паскаля...

shell-script ★★★★★
()
Ответ на: комментарий от shell-script

Fallout2, StarCraft и BroodWar, Diablo, какая-то из версий Worms, Quake II и другие

У меня всё шло, и сейчас идёт на Windows 10.

Версии с GoG или Steam нормально работают, хотя возможно там производитель или сами GoG со Steam запатчили баги игроделов, я не в курсе.

fsb4000 ★★★★★
()
Ответ на: комментарий от shell-script

Ага, я по молодости лет тоже неистово наяривал на буханку троллейбуса, помогал знакомым, потом помогал саппортить эту дрянь (что? новый блютус-свисток??? обмажь-ка меня апдейтамм и патчами теперь, удачи). Потом отпустило. А тебя, смотрю до сих пор штырит XD

filosofia
()
Ответ на: комментарий от filosofia

Чего ты хочешь от шелл-скрипта, он преисполнен Линуксом

alex1101
() автор топика
Ответ на: комментарий от fsb4000

В те времена не было Gog, который если что расшифровывается как Good Old Games и изначально появился для того, чтобы портировать старые игры на новые винды. Наверняка от избытка совместимости пришлось целый проект заводить.

StarCraft и Diablo 2, которые нормально запускаются в нынешних виндах, появились только недавно. И их пришлось покупать второй раз.

Посмотрел сейчас на свой Steam и Gog. Worms Armageddon и Worms World Party Remastered, купленные в Steam, оказались пустой тратой денег и не работают в современной винде. The Guild II вылетает. Disciples II не запускаются из-за каких-то библиотек - лень разбираться. Dungeon Keeper не запускается. Для того, чтобы запустить первого ведьмака руками пришлось тащить directx9 какой-то особой версии(инструкция с официального сайта). Третья цива не работает. Все Deus Ex, кроме двух последних, глючат. Короче, каждую третью игру берёшь и не пашет. Это из чисто виндовых игр. Треть нужного мне идёт под Linux(66 из 169-ти игр в Steam). Причём, в том числе и старые(Baldur Gates II, Quake II, POSTAL 2 и прочие). Вот такая вот она совместимость.

shell-script ★★★★★
()
Ответ на: комментарий от shell-script

Потом мелкомягкие добавили режим совместимости, который из себя представлял запущенную в виртуалке обрезанную ХР.

Бред, абсолютный. Этот режим совместимости только версии ОС подставляет.

lenin386 ★★★★
()
Ответ на: комментарий от filosofia

Ты про винду, которую я держу только для игр? Да - та ещё буханка. Постоянно городить приходится. Осталось, собственно, лишь несколько игр, ради которых оффтопик держу: почти все близзардовские, белорусские танки и пара шутеров типа серьёзного Сэма или там фаркраев. А возиться с гуглами и патчами я уже слишком стар.

shell-script ★★★★★
()
Ответ на: комментарий от lenin386

Да. Вышедший пару лет назад ремастер, который пришлось, как я уже говорил, заново покупать. То, что у меня были старые лицензии, близзард не волнует.

shell-script ★★★★★
()
Ответ на: комментарий от lenin386

Что он делает сейчас, я не знаю. А тогда это был VirtualPC с порезанной виндой. Я в своё время достаточно навоевался в виндой и до семёрки довольно глубоко копал. Потом надоело и теперь в оффтопик раз в месяц бутаюсь поиграться в те редкие игры, которых нет в линухе и которые кое-как работают там.

shell-script ★★★★★
()

Это работало и не сношало голову энд-юзеру, значит благо.

В какой последней винде ставится и играется Fallout2 90ых годов? :)

yu-boot ★★★★
()
Ответ на: комментарий от shell-script

Скачал и запустил Disciples II для теста, всё заработало: https://imgur.com/a/Kg2YRR1

Хотя в сообществе Steam я видел тему игроков о том что у них тоже не запускается версия из Steam, но запускается версия с торрентов…

fsb4000 ★★★★★
()
Ответ на: комментарий от shell-script

Вышедший пару лет назад ремастер

Нет, и старые версии вполне работают.

То, что у меня были старые лицензии, близзард не волнует.

Только графики новой не будет, и всё.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

Был. Но не вместо «того» режима совместимости.

Какое-то время MS давали установщик VirtualPC со специальной Windows XP, чтобы запускать старый софт, которому не помогает обычная установка режима совместимости.

Original_1
()
Ответ на: комментарий от shell-script

Потом мелкомягкие добавили режим совместимости, который из себя представлял запущенную в виртуалке обрезанную ХР.

WTF?

vasya_pupkin ★★★★★
()
Ответ на: комментарий от fsb4000

У меня Disciples от GoG. Не работает. Если не забуду, когда в следующий раз через месяцок загружусь в винду, сделаю скриншоты ошибок.

shell-script ★★★★★
()
Ответ на: комментарий от lenin386

Раньше у меня не работали. Гугли, например, StarCraft windows 7 color fix - будет гора неработающих инструкций, как починить. В wine запустить проще.

shell-script ★★★★★
()
Ответ на: комментарий от lenin386

Это пересказ официальной на тот момент доки от мелкомягких касательно режима совместимости с ХР. Я подобную инструкцию на винфаке читал, когда столкнулся с проблемами.

shell-script ★★★★★
()
Ответ на: комментарий от shell-script

Это не режим совместимости с ХР, это виртуалка. Она не поставлется с вендой, в ней не запускаются программы прозрачно. А словесный понос микрософтовских специалистов поддержки под руководством мистера Балмера - даже для меня источник не очень.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от lenin386

В официальной документации мелкомягких это было описано как режим совместимости с ХР. Если у них так плохо с документацией - это ещё один камень в огород венды. Мне как юзеру, пофиг, чей это словесный понос. Мне надо, чтобы работало, а где искать решения проблем, как не в официальной документации?

shell-script ★★★★★
()
Ответ на: комментарий от Original_1

Опять началось однопроцентное нытьё

Андроид девайсы входят в этот 1%? =)

ex-kiev
()

Ок, в борьбе за пользователей на всё готовы. А игру то саму починили?

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от lenin386

Она не поставлется с вендой, в ней не запускаются программы прозрачно.

Она скачивалась со специального раздела http://www.microsoft.com/rus/windows/virtual-pc/download.aspx (kb958559 - VirtualPC и образ виртуалки)

После установки программы запускались прозрачно. Создавался ярлык на программу, после перезагрузке при первом запуске программа запускалась долго (за счёт времени запуска виртуалки), после закрытия программы и открытия её заново - быстро (т.к. сама виртуалка была уже запущена и висела в памяти)

Ты опять пафосно и с апломбом пишешь много о том, о чём не знаешь.

Dimez ★★★★★
()

Такая одержимость обратной совместимостью смогла заставить людей обновиться до Windows 95

Оключение Шкайпа версии 7.4 заставила людей обновиться c XP до Windows 7 или купить новое железо c обновлённой Windows 7.

Такая одержимость M$ бабками заставила проделать брешь в карманах простых пользователей.... 😒😒😒😒😒

xwicked ★★☆
()
Последнее исправление: xwicked (всего исправлений: 1)
Ответ на: комментарий от shell-script

StarCraft и Diablo 2, которые нормально запускаются в нынешних виндах, появились только недавно. И их пришлось покупать второй раз.

Враньё от начала до конца. Diablo 2 версий от 1.10 (оно вышло в 2003 году) точно работали на win7 безо всяких совместимостей. А вроде бы и более старые, но тут точно не помню. Старкрафт тоже работал, насчёт версий не помню но точно не с последних 10 лет.

А проблема у нубов от того, что там наконец активировали (технически оно существовало и раньше, но настроено было так что можно считать не было) какую никакую систему прав доступа к файлам, и они не осилили её учесть. Обычное дело - owner=admin для директории игры и запуск её от другого юзера, с очевидными последствиями.

firkax ★★★★★
()
Ответ на: комментарий от shell-script

Да. Вышедший пару лет назад ремастер, который пришлось, как я уже говорил, заново покупать.

Когда он только вышел (и это было не пару лет назад, а пяток), близзарды позволяли скачать его бесплатно.

tiinn ★★★★★
()
Ответ на: комментарий от fsb4000

Версии с GoG или Steam нормально работают, хотя возможно там производитель или сами GoG со Steam запатчили баги игроделов, я не в курсе.

Скорее всего. При массовом переходе с Win9x и 256-цветных режимов на XP и truecolor хвалёные планы на идеальную обратную совместимость как-то не оправдались и многие игры получили просто дикое искажение цветов при попытке их запустить.

atrus ★★★★★
()
Ответ на: комментарий от fsb4000

Версии с GoG или Steam нормально работают, хотя возможно там производитель или сами GoG со Steam запатчили баги игроделов, я не в курсе.

В Steam Fallout 1 и 2 идут с патчами для поддержки больших разрешений экрана и масштабирования. Хотя оригинальные версии там тоже есть.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от shell-script

Совместимость была сломана.

Совместимость на уровне API и ABI сохранилась.

Реализации изменились, и там где были баги в программах, которые полагались на какое-то недокументированное поведение, те программы могли перестать нормально работать, хотя для популярных программ есть база совместимости и добавлены хуки, которые позволяют этим программам работать.

fsb4000 ★★★★★
()
Ответ на: комментарий от shell-script

У меня Disciples от GoG. Не работает. Если не забуду, когда в следующий раз через месяцок загружусь в винду, сделаю скриншоты ошибок.

Ещё можешь попробовать установить DirectPlay в компонентах Windows(в новых версиях Windows этот компонент не установлен по-умолчанию). (Программы и компоненты -> Включение или отключение компонентов Windows)

https://imgur.com/a/INhVbxW

DirectPlay нужен чтобы работали GTA 3 и GTA Vice City, но возможно и какие-то другие игры его требуют.

fsb4000 ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)