Random Sanity

sweet moon sugar

Rankin Rankin 10.04.2018, 16:27
Kompatybilność wsteczna, przednia, a sprawa polska
1211V

Kompatybilność wsteczna, przednia, a sprawa polska

Znacie kompatybilność wsteczną? No to przednia to samo, ale na odwrót.

Przy wydaniu nowej konsoli wiele miejsca poświęcane jest roztrząsaniu kompatybilności wstecznej, tj. opcji odpalania starszych tytułów na nowym, do niedawna może nawet dość odmiennym systemie. Komputery osobiste z reguły nie mają, a przynajmniej nie powinny mieć takiego problemu, w końcu Windows ma natrzepane tyle warstw kompatybilności że hoho, ale z reguły brudny kod, niespodziewane wymiany architektur, czy już faktycznie microsoftowe odcinanie najstarszych komponentów trochę psują obrazek. Niemniej, od czasu do czasu zdarza się taki program, że lata mijają, a on nic, wymieniane są procki i systemy, a działa dalej, kpiąc z wymysłów programistów. To jest właśnie kompatybilność przednia, a poniżej - garść informacji o arkanach odpalania starych tytułów na późniejszych systemach, a także o tytułach, które czarnej magii nic a nic nie potrzebują.

Amiga (miga)

C= Amiga miała niespodziewanie dużo problemów z kompatybilnością. Nawet regularne odpalanie emulacji UAE wymaga minimum dwóch romów i odpowiadających im konfiguracji, a niemal każdy kto posiadał Amigę inną niż "pięćsetkę" z wściekle pokolorowanym na pomarańcz i niebieski systemem operacyjnym (chore kolory dobrane dla maksymalnego kontrastu na kijowych telewizorach) przerabiał niejeden raz Software Failure będący zmorą wielu starszych gier. Na ratunek w takich sytuacjach przychodziło narzędzie zwane Relokick. Aby wyjaśnić co ono robiło i dlaczego działało muszę wpierw objaśnić parę drobnych rzeczy amigowych: przede wszystkim generalnie mówiąc hardware amigowy nie zmienił się zbytnio od czasu najpierwszej Amigi 1000 z systemem 1.0 - zmiany były z reguły ilościowe, a nie jakościowe - więcej pamięci, więcej trybów graficznych, więcej megaherców, ale technologia zostawała ta sama, a nawet jak coś wymieniano (chipset graficzny OCS na ECS, a potem AGA), to zostawała kompatybilność niemal stuprocentowa, a problemy na tej linii były niezwykle rzadkie, na pewno o wiele rzadsze niż to, co spotykało przeciętnego gracza. Problem leżał zwyczajnie po stronie software, a dokładnie mówiąc kickstartu, który był w zasadzie firmware komputera - nie całkiem bios, nie całkiem system operacyjny, trochę tego, trochę tamtego i już znacznie mniej kompatybilny między kolejnymi najpopularniejszymi iteracjami, tj. 1.3, 2.0, oraz 3.1. Z reguły wywracanie się starszej gry oznaczało, że była bardzo zależna od dość specyficznego sposobu działania 1.3, który pozwalał na wiele rzeczy, na które normalny system raczej nie powinien pozwalać.

A zatem na scenę wchodzi relokick. Relokick, niemal zawsze Relokick 1.3 po prostu ładuje do pamięci inny kickstart niż systemowy i sprawia, że komputer nie korzysta z tego wbudowanego w chip, a tego właśnie wczytanego. Jak to jest możliwe? Bez zbytniego już rozciągania tłumaczenia, relokick wykorzystuje techniczną pozostałość po najstarszych modelach amigi, A1000, które nie posiadały czipa z kickstartem, a ładowały go przy każdym uruchamianiu z dyskietki. Odpalony relokick działał aż do hard resetu, tj. wyłączenia zasilania na kilkanaście sekund.

Dzięki relokickowi prawie wszystkie gry napisane pod amigi z systemem 1.3 i czipem OCS spokojnie odpalały na amigach z systemem 2.0 i czipem ECS. Między 2.0 a 3.0/3.1 z reguły nawet tego nie było trzeba, ale 1.3->3.1 to już był ogromny skok i nawet z relokickiem mało co przechodziło próbę czasu. Mimo to okazy takie się zdarzały - sam bardzo długo korzystałem z notatnika z dysku systemowego Workbench 1.3 (który działał bardziej jak wordpad niż notatnik windows), podobnie i kilka innych tego typu programów by się znalazło, ale jest jeden idealny okaz kompatybilności przedniej, a zwie się on

Mind Walker (1986)

Mind Walker to przynajmniej z pozoru przykład kolejnego wczesnoamigowego dziwadła, bardziej eksperymentu niż czegoś do ogrania. To jednak nie jest cała historia - bo czy uwierzycie, że MW jest pierwszą amigową grą w ogóle? Jest tak bardzo pierwszy, że powstał zanim w ogóle istniały działające prototypy komputera. Autor gry, Bill Williams, był poproszony o zrobienie jakiejś gierki w celach pokazowych, dostał dokumentację techniczną i zaczął tworzyć kod gry na papierze


o MW więcej powiedziałem swego czasu w odcinku amiga time

Efekt końcowy jego starań nie tylko działał na ukończonej jakiś czas później Amidze, nie tylko wykorzystuje wszystkie unikatowe umiejętności Amigi typu multitasking (co wcale nie było takie częste!) z systemem operacyjnym, przesuwane ekrany i menusy, ale jeszcze bez najmniejszego problemu, modyfikacji czy bawienia w relokicki pójdzie na każdej wyprodukowanej Amidze, a nawet na wielu nieoficjalnie modyfikowanych modelach wyposażonych w nawet mocniejsze procesory i akceleratory graficzne oraz systemy operacyjne third party. Naprawdę trudno przeszacować ogrom osiągnięcia technicznego i precyzji kodu jaki pozwolił osiągnąć taki efekt i nadal nie mogę wyjść z podziwu - to trochę jak dostać dokumentacje techniczne 486-tki, VGA, oraz Windows 3.1 i za ich pomocą wyskrobać w zeszycie grę która odpali się pod Windows kurna 7.

IBM Compatible / Bimbows

Odpalanie starego oprogramowania pod nowszymi Windowsami od zawsze było pewną ruletką. Dosłownie miliardy kombinacji płyt głównych, modeli procesorów, kości pamięci, kart graficznych i wszystkiego innego tworzyły i nadal tworzą mieszankę wybuchową, gdzie różnica w producencie (producencie, nie parametrach!) kości pamięci może zaważyć o tym, że u jednego gra pójdzie, a u drugiego wywoła samozapłon dysku twardego. O własnych doświadczeniach na tym polu opowiem za chwilę, ale generalnie jest tak, że dzięki DirectX i podobnym ogrom cebuli warstwom nakładek software'owych software z poprzedniego systemu raczej powinno dać radę odpalić na nowszym. Do pewnego stopnia przynajmniej - możliwe że jako praktyk, a nie teoretyk, coś pokręcę, ale obsługę softu MSDOS Microsoft najpierw nieco ukrył w Windows XP, a w Vista i wzwyż kompletnie wywalił, natomiast w Windows 8+ uciął obsługę części najstarszych architektur Windows, a także sporo DirectXa.

Jak podchodzić do odpalania starych tytułów pod Windows? Jest kilka opcji o rosnącej komplikacji.

Pierwsza opcja to zwyczajnie na chama walnąć dwuklik na plik .exe i patrzeć co się będzie działo - czasem można naprawdę się zdziwić, co w ten sposób pójdzie - mi na przykład miesiąc tylko temu poszedł tak glHexen II, gra z bagatela 1997 roku, wykorzystująca ówczesne akceleratory 3D, podobnie dzięki poprawionemu instalatorowi Sierry zainstalowałem i ograłem przygodówkę z 1995.

Potem mamy niesławne okienko Właściwości i kompatybilność z wybranym systemem, gdzie liczy się w zasadzie opcja Windows XP SP3, może jeszcze uruchom jako administrator, a reszta opcji robi na nasze potrzeby tyle co nic, może jeszcze jakieś wyłączenie optymalizacji ekranowych, ale pod bimbows 10 to raczej niewiele da.

Jeśli marudna gra jest dość stara i korzysta z akceleratorów graficznych, można spróbować nakładki typu dgVoodoo, która dość dobrze udaje starą kartę graficzną i starsze directX (korzysta z niej wiele tytułów z gog.com), ale czasem to też niewiele pomaga.

Jeśli marudna gra korzysta z MSDOS, jest niby DOSBox, ale tu jest wiele "ale". Główne "ale" jest takie, że DOSBox nie jest mimo wszystko 100% kompatybilny z MSDOS i bardzo nie lubi gier bardziej wymagających w kwestii megaherców i kart graficznych. To pierwsze przytrafia się raczej rzadko, to drugie sprawia problemy dużo częściej, na oba są obejścia (np. wymiana dos4gw na dos32a), ale trzeba mieć przynajmniej szczątkową wiedzę i niestety musiałbym dużo pisać żeby jako tako temat przedstawić laikowi - lepiej po prostu pomarudzić komuś, kto się na tym zna i będzie skory do pomocy, ewentualnie kupować gotowe zestawy z gog / szukać innych gotowych zestawów skompilowanych przez pomocnych.

Co jeśli dosbox nie pomaga? Teraz naprawdę zaczynają się schody. Pozostają w zasadzie dwie opcje i po prawdzie trudno mi powiedzieć która z nich byłaby prostsza: wirtualna maszyna z windows, albo odrestaurowanie jakiegoś starego złomu. Z WM jest taki problem, że wsparcie starych wind nadal jest problematyczne - prymitywny Windows 3.1 jakoś ujdzie, ale stawianie wirtualnego Windows 9x to wielogodzinny proces modlitw i ciągłego stawiania zrzutów całej wirtualnej maszyny na wypadek gdyby Windows się permanentnie wywrócił, no a poza tym trzeba naprawdę kosmicznego procesora żeby wirtualna maszyna działała płynnie. Z retrokomputerem dla odmiany jest problem sterowników, zdychającego hardware, sterowników, braku aktualizacji, a także sterowników, jak również zdychającego hardware.

Co zatem udawało mi się odpalać daleko później niż było to teoretycznie możliwe? Ot, chociażby

Stars! (1995)

Stars! to starożytna strategia turowa z gatunku 4X, która wyszła na Windows 3.1. Pod nieczytelnym interfejsem kryje się niesamowicie wciągająca rozgrywka z możliwością automatyzacji ogromnej ilości aspektów gry i wieloma pożytecznymi funkcjami. Choć ostatnią poważną partię Gwiazd! prowadziłem wiele, wiele lat temu, to grę targałem z systemu na system wiele lat i jeszcze pod 32-bitowym Windows 7 działała bez najmniejszego problemu, krzaczenia czy artefaktów graficznych. Niestety po przesiadce na 64-bitowe systemy zabawa się skończyła, ale tu akurat nie ma co załamywać rąk - Звезды! pójdą pod dowolną instalacją Windows 3.1, czy to pod DOSboxem, czy to w innym VirtualBoxie, ot chociażby tak jak odpalałem w zeszłym roku:


(obrazek minimalnie skurczony-rozmazany aby mieścił się w blogu)

Shivers (1995)

Shivers jest przygodówką-horrorem Sierry z 1995 roku. Prezentacja wybitnie mystopodobna, ciekawy temat muzeum rzeczy dziwnych i niezwykłych, oraz potężny klimat sprawiły, że co jakiś czas do gry wracam. Problem gra sprawia tylko jeden - instalator jest w technologii Win16, przez co na 64bitowych systemach siada. Na to na szczęście jest rada - pod tym adresem można pobrać instalatory do ogromnej ilości gier Sierry działające na nowoczesnych systemach. Co po zainstalowaniu to inna sprawa, ale akurat Shivers działał mi bez problemów na Windows 7 64-bit, co udokumentowałem nagrywając lecpleja parę lat temu, vide poniższy trailer wbudowany w grę:

Czy będzie działała na Windows 10? Nie wiem, ale wkrótce pewnie sprawdzę bo znowu mam coraz większą ochotę.

Albion (1996)

Albion to RPG niemieckiego studia Blue Byte, o tyle niezwykły, że był fantasy, ale osadzonym w realiach sci-fi (...długa historia). Gra oficjalnie wyszła na MS DOS, ale piszę o niej, gdyż jak na dosówkę wykorzystującą 3D była wybitnie spolegliwa - odpalałem ją na Windows XP, który przecież oficjalnie MSDOS już nie wspierał i pod tym Windows XP działała i grafika i muzyka (mimo braku karty dźwiękowej i używania czipa z płyty głównej), a także nie musiałem używać programów symulujących wolniejszy procesor. Jeśli nie brzmi to jak jakieś wielkie osiągnięcie to... nie próbowaliście odpalać gier dosowych pod win xp.


Tomcio Pilot

Total Annihilation (1997)

Totalne Unicestwienie to RTS jak żaden inny - nawet niby duchowemu spadkobiercy, Supreme Commander, nie do końca udało się uchwycić ducha masowej rozpierduchy i laserowej dyskoteki do wtóru oprawy muzycznej Jeremy'ego Soula. Dlatego też cieszyć powinno, że Total Annihilation po upatchowaniu oficjalnymi patchami działa (niemal) doskonale w całej rozpiętości systemów od Windows 95 po Windows 10. Co prawda IIRC gra wymaga krótkiego podłubania w kompatybilności, ale poza tym blini cmetana i jedyne co gog musiał zrobić aby skompletować re-release to skłonić grę do rozpoznawania mp3 jako muzyki audiocd.


podobnie jak Albion, obrazek kradziony z sieci

Unreal (1998)

Nierzeczywisty (w przyszłym miesiącu 20lecie!) to gra, która fascynuje zarówno pod względem osiągnięć technicznych, jak i procesu powstawania - twórcy zobaczyli się wzajemnie dopiero na parę miesięcy przed zakończeniem pracy (wcześniej przez wiele lat pracowali przez email), a główny programista wiele realnych przełomów technologicznych osiągnął głównie dlatego, że myślał, iż Carmack/id już to mieli i nikt mu w porę nie wyjaśnił że jest inaczej. Aczkolwiek na starcie gra nie była zupełnie stabilna, to oferowała mnóstwo opcji tak aby każdy mógł znaleźć coś, co u niego zadziała - renderer grafiki softowy, DirectX, a także wyspecjalizowane stery pod uciążliwsze akceleratory plus parę sterów dźwiękowych i przede wszystkim modularność pozwalającą na dodawanie nowych opcji w miarę potrzeby. Dzięki tej modularności po zainstalowaniu ostatniego nieoficjalnego patcha można grę spokojnie uruchamiać na Windows 10, z obsługą OpenGL czy DirectX9/10/11, co też właśnie czynię i dzięki dostępnym teksturom super rozdzielczości widzę coś takiego:


(kliknij aby powiększyć)

Gorky 17 (1999)

Gorky to jedyny pozytywny polski akcent w zestawieniu. Jest to gra taktyczna-RPG, gdzie walka jest turowa, żołnierzy jest 3 (+ goście), a klimat jest survival horror. Lubię czasem wracać do tej gry, co jest o tyle proste, że w przeciwieństwie do 99% polskiego gamedevu z tamtej epoki G17 jest bardzo niemarudne - ostatni raz grałem w zeszłym roku, na Windows 10, i miałem pewne problemy z odtwarzaniem filmików (problemy z kodekami video są niestety nadal bardzo trudne do przeskoczenia) i musiałem włączyć nieco gorszy renderer (bez wykorzystania hardware T&L), ale poza tym nadal działa gitara siema, co cieszy niezmiernie:


Jarek Owicz, maskotka G17

Siege of Avalon (2000)

Siege of Avalon to śmieszny przypadek i gra którą ogólnie darzę bardzo ambiwalentnym uczuciem. Jest to gra okrutnie fabularna, pełna ścian bardzo dobrze napisanego tekstu i wciągającej intrygi, oprawiona w niesamowicie mdły i prymitywny hack'n'slashowy gameplay oraz grafikę którą przy pewnej dozie dobrej woli można uznać za... kompetentną. Przypadek SoA jest o tyle śmieszny, że pod Windows XP gra działała tak se, pod Windows 7 występowały ogromne artefakty graficzne, a pod Windows 10 gra działa... bez problemów. Owszem, było trochę wywracania do pulpitu (launcher i instalator szwankują) i mam wrażenie że gra nie działa w pełnej prędkości, ale kurde bele działa i da się grać.


różne rzeczy widuję, ale taki talent co napisał grę tak, że nie działa na windows xp/7/vista, a działa na 9x i 10 to pierwszy raz

Homeworld: Cataclysm (2000)

Homeworld Cataclysm to kosmiczny RTS, i jako dodatek do Homeworld jeden z pierwszych wykorzystujących absolutny trójwymiar z pełną swobodą wszystkiego. O historii tej gry konkretnie i marki ogólnie mógłbym długo pisać i wylewać ogromną ilość żalów, za potraktowanie przez Gearbox znamienne dla Gearbox, ale także przez blokowanie Cataclysm konkretnie przez... Blizzard, który zarejestrował sobie słowo Cataclysm jako znak towarowy (bo WoW Cataclysm) i blokował próby re-release HW:C na gog dopóki ktoś nie wpadł na pomysł po prostu przemianowania gry na Homeworld: Emergence. Wracając jednak do tematu głównego, o ile Homeworld 1 był bardzo, hm, marudny, wymagał nieoficjalnych patchów i posiadał parę bugów które potrafiły albo wyrzucić grę do pulpitu, albo uniemożliwić kontynuowanie scenariusza, to HWC o dziwo był raczej błędów pozbawiony i pod Windows 7 działał mi "na żywca", a pod Windows 10 gram po prostu na egzemplarzu z gog który ofc działa bardzo ok.

Kącik wstydu: Pył (1999)

Pył to polski FPS, który w dobie Windows 98 działa wyłącznie pod MSDOS i tam obsługuje/wymaga akceleracji graficznej. Odpalanie go to koszmar. Na moim Pentium 200 gra działała za wolno, na systemie z Windows XP gra nie działała w ogóle, na systemie z Windows 7 nie byłem w stanie zmusić jej do uruchomienia pod dosboxem, dopiero niedawno znalazłem gotowca który uruchamia się jakoś (jest pięć alternatywnych plików .bat, 1 software i 4 wersje nglide), ale działa nadal ślamazarnie, no i sama gra tyłka nie urywa. Dzięki takiemu wybitnemu osiągnięciu Pył otrzymuje niniejszym brązowego kupsztala za niezwykłe osiągnięcie na polu pełnej niekompatybilności w każdą możliwą stronę.


efekt widescreen to owoc prac gościa który zmusił grę do działania

Tagi:

Oceń notkę
+ +26 -

DA NYA
Oceń profil
+ +84 -
Rankin
Ranking: 254 Poziom: 56
PD: 23406
REPUTACJA: 13007