News (NO)

Programvareingeniører lager en rekompileringsmetode for å kjøre native PlayStation 3 på PC

PS3
Foto: PS3 - Habanero Pixel/shutterstock.com

Programvareutvikling rettet mot å bevare digitale medier har sett et betydelig teknisk fremskritt med utviklingen av en ny kodekonverteringstilnærming. Especialistas i programmering klarte å bruke den statiske rekompileringsteknikken for å transformere originale spillfiler utviklet for Sony-konsollen til direkte kjørbare formater for moderne datamaskiner.

Metoden eliminerer behovet for tradisjonell mellomledd programvare, og overfører prosesseringsbelastningen direkte til x86-arkitekturen til gjeldende prosessorer. Konvertering oversetter systemets originale instruksjoner på forhånd, og genererer en innebygd fil som datamaskinens operativsystem kan lese og kjøre uten ytterligere sanntidsdekodingstrinn.

Anvendelsen av denne teknologien løser en av de største tekniske flaskehalsene innen omvendt utvikling av underholdningsmaskinvare. Prosessen lar titler utgitt for mer enn et tiår siden kjøre jevnt på moderne maskiner, og krever betydelig lavere maskinvarespesifikasjoner enn konvensjonelle systemsimuleringsmetoder.

Original systemarkitektur Cell Broadband Engine

Konsollens originale maskinvare utgitt på 2000-tallet brukte en svært tilpasset prosessor, kjent på teknologimarkedet som Cell Broadband Engine. Esta-arkitekturen hadde en kompleks asymmetrisk design, som inneholdt en hovedbehandlingskjerne og flere synergistiske hjelpeenheter som fungerte parallelt for å gjengi grafikk og beregne fysikken til virtuelle miljøer. Kompleksiteten til dette designet gjorde plattformen notorisk vanskelig for programvareutvikling på tidspunktet for den kommersielle lanseringen, og krevde svært spesifikke programmeringsverktøy.

På grunn av denne unike prosesseringsstrukturen har forsøk på å gjenskape konsollens drift på standard datamaskiner alltid krevd massiv datakraft. Simuleringsprogrammene trengte for å oversette instruksjonene fra Cell-prosessoren til språket til x86-prosessorer i sanntid, noe som forårsaket ytelsesfall, grafiske feil og krevde prosessorer med svært høye kostnader for å opprettholde en akseptabel bildefrekvens under kjøringen av applikasjoner, noe som begrenset tilgangen til en begrenset del av brukere med avansert utstyr.

Praktisk drift av statisk rekompilering

Den statiske rekompileringsteknikken fungerer på en fundamentalt annen måte enn sanntidssimuleringsmetoder. I stedet for å oversette kildekoden mens applikasjonen kjører, analyserer og konverterer den nye metoden all spillets kode på en gang før den åpnes av brukeren.

Denne forhåndsoversettelsesprosessen genererer en kjørbar fil som er hjemmehørende i datamaskinens operativsystem. Resultatet er et program som fungerer akkurat som programvare som opprinnelig ble utviklet for målplattformen, og eliminerer det mellomliggende prosesseringslaget som tradisjonelt bruker maskinressurser.

Utviklerne som er ansvarlige for verktøyet laget algoritmer som er i stand til å identifisere systemanrop som er spesifikke for den originale maskinvaren og erstatte dem med moderne ekvivalenter. Konverteringen spenner fra grunnleggende logiske behandlingsinstruksjoner til kompleks grafikkgjengivelse og minneadministrasjonskommandoer, ved å bruke nyere instruksjonssett som AVX-512 for å akselerere komplekse matematiske beregninger.

Effektiviteten til metoden gjør at datamaskiner med lavere inngangsprosessorer og skjermkort kan kjøre de konverterte filene. Inngangsbarrieren for tilgang til denne historiske programvaren er drastisk redusert, og demokratiserer tilgangen til plattformens katalog og optimaliserer bruken av RAM-minne som er tilgjengelig i systemet.

Ytelsesgevinster og grafisk flyt

Eliminering av sanntidssimuleringslaget resulterer i målbare ytelsesgevinster under programvarekjøring. Testes-teknikere demonstrerer at konverterte spill kan oppnå oppdateringshastigheter som overstiger hundre bilder per sekund på datamaskiner med middels konfigurasjon.

Bildehastighetsstabilitet er en annen teknisk faktor som forbedres av statisk rekompilering. Sem behovet for å kompilere shaders og oversette koder samtidig med bildegjengivelse, kortvarige krasj og plutselige fall i ytelse er praktisk talt eliminert fra brukeropplevelsen.

Å dra nytte av de mange kjernene til moderne prosessorer skjer mer effektivt med innebygd kode. Fordeling av arbeidsmengden på tvers av x86-behandlingskjerner forhindrer overoppheting og overdreven bruk av maskinvareressurser som kjennetegner tradisjonelle reverse engineering-metoder.

Støtt moderne oppløsninger og brede skjermer

De kjørbare filene generert av statisk rekompilering tillater injeksjon av grafiske modifikasjoner direkte inn i spillets gjengivelsesmotor. Isso gjør det mulig for titler å kjøre naturlig i 4K-oppløsning, og tilbyr visuell klarhet som går utover begrensningene til den originale 720p- eller 1080p-maskinvaren.

Tilpasning til ultrabrede skjermer blir også en forenklet prosess med den konverterte koden. Skjermproporsjoner kan justeres på oversatt kildekodenivå, unngå forvrengninger i brukergrensesnittet og det virtuelle kameraets synsfelt, tilpasse gammel programvare til gjeldende skjermstandarder.

Redusert kommandoforsinkelse

Responstiden mellom å trykke på en knapp på kontrolleren og den tilsvarende handlingen på skjermen reduseres drastisk med innfødt utførelse. Fraværet av simultane oversettelsesprosesser sikrer at innkommende kommandoer behandles direkte av datamaskinens operativsystem, noe som gir kontrollpresisjon som kan sammenlignes med moderne programvaremarkedsutgivelser og eliminerer forsinkelseskarakteristikken til emulerte plattformer.

Opphavsrett og filvalidering

Distribusjonen og bruken av rekompileringsverktøy møter strenge opphavsrettslige problemer med intellektuell eiendom og programvare. Para opprettholder lovligheten av prosessen, utviklerne strukturerte verktøyet på en slik måte at det krever at originalfilene trekkes ut direkte fra de fysiske mediene som er lovlig anskaffet av brukeren, og respekterer systeminteroperabilitetsregler.

Verktøyet fungerer kun som en kodeoversetter og inneholder ikke noe opphavsrettsbeskyttet materiale i strukturen. Sluttbrukeren er eneansvarlig for å gi krypterte spilldata, for å sikre at prosessen fungerer som en modifikasjon for personlig bruk av et tidligere kjøpt produkt, og distanserer teknologien fra praksisen med digital piratkopiering og ulovlig distribusjon av beskyttet innhold.

Krav til maskinvare og tilgjengelighet

Overgangen fra emulert prosessering til opprinnelig kjørbart format endrer drastisk maskinvarekravtabellen for databrukere. Máquinas utstyrt med firekjerners prosessorer og skjermkort på inngangsnivå er i stand til å kjøre titlene med stabilitet, noe utenkelig med tidligere datasimuleringsmetoder.

Denne reduksjonen i beregningsmessig etterspørsel forlenger levetiden til eldre datamaskiner og reduserer elektrisk energiforbruk når du kjører programvare. Direkte optimalisering i den oversatte kildekoden sikrer at RAM og videominne tildeles nøyaktig, og forhindrer datalekkasjer og overbelastning av operativsystemet under lange perioder med kontinuerlig bruk.

Digital bevaring av underholdningsmedier

Fremme av statiske rekompileringsteknikker representerer en teknisk milepæl for global innsats for å bevare historien til programvare og interaktive medier. Ettersom de fysiske komponentene til de originale konsollene naturlig forringes gjennom tiårene, sikrer muligheten til å konvertere programvarekatalogene deres til åpne, standardiserte dataarkitekturer at disse verkene forblir tilgjengelige for forskere, historikere og allmennheten. Å stole på proprietær og foreldet maskinvare har alltid vært hovedhindringen for langsiktig digital bevaring, og opprettelsen av opprinnelige kjørbare filer løser roten til dette teknologiske problemet. Den vellykkede anvendelsen av denne teknikken på den komplekse Cell-arkitekturen indikerer at tidligere og påfølgende underholdningssystemer også kan gjennomgå lignende reverse engineering-prosesser. Instituições av digital arkivering og teknologimuseer bemerker disse åpen kildekode-utviklingene som essensielle verktøy for å forhindre at tusenvis av digitale produksjoner forsvinner på grunn av maskinvareinkompatibilitet, og sikrer fortsatt tilgang til digital kulturarv i flere tiår fremover på en trygg, lovlig og teknologisk levedyktig måte for fremtidige generasjoner av programvareforskere.