מפתח יוצר תוכנה שהופכת משחקי פלייסטיישן 2 לקובצי הפעלה מקוריים של PC
מפתח המכונה ran-j הוציא כלי קוד פתוח בשם PS2Recomp שנועד להמיר כותרי פלייסטיישן 2 לקובצי הפעלה מקוריים עבור מחשבים. המערכת מעבדת את הקבצים המקוריים על הדיסקים והופכת אותם ליישומים עצמאיים התואמים למערכות הפעלה מודרניות כמו Windows ולינוקס. גישה זו מבטלת את הצורך באמולטורים מסורתיים. התוכנה פועלת ישירות על מבנה המשחק.
שימור הקטלוגים הדיגיטליים עומד בפני מכשולים ישירים עם הזדקנות החומרה שהושקה לפני יותר משני עשורים. השיטה החדשה פותרת את התלות בקונסולות פיזיות או תוכנות אמולציה הדורשות כוח עיבוד גבוה. שינוי הפרדיגמה מבטיח שהמורשת התרבותית של משחקי וידאו תישאר נגישה לדורות הבאים. תהליכי הנדסה הפוכה קודמים דרשו שנים של עבודה ידנית של צוותים שלמים כדי לתרגם את הקוד למשחק בודד.
כיצד פועל הידור מחדש סטטי של המערכת החדשה
טכניקת הקומפילציה הסטטית פועלת בצורה שונה מאמולציה רגילה. אמולטור מסורתי יוצר מכונה וירטואלית שמתרגמת הוראות מהקונסולה למחשב בזמן אמת תוך כדי הפעלתו. תהליך זה דורש קיבולת עיבוד גבוהה, וחתכים בביצועים מתרחשים לעתים קרובות. PS2Recomp נוקט באסטרטגיה מוקדמת. התוכנית מבצעת את כל המרת הקוד עוד לפני שהמשתמש מתחיל את המשחק.
במהלך תהליך ההמרה, הכלי מנתח את הקוד הבינארי המקורי, בהתבסס על ארכיטקטורת MIPS המשמשת ב-PlayStation 2, ומתרגם אותו ישירות לשפת C++ התואמת למעבדי x86-64 הנוכחיים. הקובץ המתקבל פועל כמו תוכנת מחשב רגילה. מערכת ההפעלה מנהלת משאבי זיכרון ועיבוד ישירות. שכבת התרגום הביניים כבר לא קיימת, מה שמפחית באופן דרסטי את העומס על המעבד של המחשב. מכונות עם תצורות צנועות יכולות להריץ כותרים בצורה חלקה.
המשתמש חייב להיות בעל עותק חוקי של המשחק כדי לחלץ את הנתונים המקוריים ולהתחיל בהמרה. הכלי קורא מידע מהדיסק ומייצר קובץ הפעלה נקי. הקוד שנוצר מתעלם מהמגבלות שהוטלו על ידי החומרה המקורית באותה עת. מפתחים עצמאיים ניגשים לקוד המקור של הקונסולה ומבצעים שינויים בלתי אפשריים בפורמט הסגור. קהילת המודינג זוכה לגישה מלאה לקבצים פנימיים.
אתגרים טכניים של ארכיטקטורת הקונסולה המקורית
לפלייסטיישן 2 יש ארכיטקטורה פנימית מורכבת, שבמרכזה מעבד Emotion Engine. השבב מכיל יחידות עיבוד וקטור מותאמות אישית הפועלות באופן סינכרוני עם רכיבים אחרים. היגיון ניתוב הנתונים של החומרה הספציפית הזו מקשה על תרגום מדויק למחשבים מודרניים. סנכרון זמן בין הרכיבים המקוריים מייצג את המכשול הטכני הגדול ביותר ביצירה מחדש של המערכת. PS2Recomp עוקף בעיה זו על ידי יצירת פרופיל ביצוע עצמאי.
הכלי משתמש במנוע תרגום תוכנה כדי למפות הוראות ולמזג פעולות מתמטיות לסטנדרטים הנוכחיים. היזם שילב את הפרויקט בפלטפורמות שיתופיות באינטרנט. מתכנתים ברחבי העולם חולקים קטעי קוד מפוענחים במאגרים פתוחים. המערכת מנתחת את הנתונים שהוזנו על ידי המשתמשים ומחילה תיקונים אוטומטיים על כשלי קומפילציה. המאמץ הקולקטיבי מאיץ את פיתוח הכלי.
התוכנה מבודדת קטעי קוד שאינם ניתנים לתרגום אוטומטי ומאפשרת התערבות אנושית. מומחים מנתחים את ההיגיון המקורי ויוצרים פתרונות ידניים ב-C++. מסד הנתונים של הפרויקט מאחסן את התיקונים ומחיל אותם על מצבים דומים בעתיד. שיעור הצלחת ההמרה עולה עם כל משחק חדש שמעובד. הצורך בהתאמות ידניות יורד ככל שהמערכת לומדת מפתרונות קודמים.
יתרונות ישירים לנגני מחשב
ביצוע מקורי במחשב משחרר את המשחקים מהמגבלות הטכניות שמטילות טלוויזיות שפופרות ומגבלות הזיכרון של הזמן. הכותר משתמש כעת בקיבולת המלאה של הכרטיס הגרפי והמעבד המודרניים. רשימות תכונה רשמיות מפרטות שיפורים בביצועים.
- תמיכה מקורית ברזולוציות 4K ותצוגות רחבות במיוחד ללא עיוות ממשק.
- הוסרו נעילות קצב פריימים, מה שמאפשר משחק בקצב של 60 או 120 פריימים לשנייה.
- הפחתה משמעותית בזמני הטעינה עקב קריאה ישירה מכונני אחסון SSD.
- החלף בקלות טקסטורות ישנות במודלים תלת מימדיים ברזולוציה גבוהה שנוצרו על ידי מעריצים.
- אינטגרציה עם מערכות הפעלה מודרניות ללא צורך בתצורות פלאגין מורכבות.
היעדר זמני המתנה הופך את הדינמיקה של משחקים שהסתמכו על מסכי טעינה לניהול הזיכרון המוגבל של הקונסולה. גישה מיידית לנתונים ב-SSD מאפשרת מעברים מיידיים בין תרחישים. שינוי מרקם מתרחש ברמת התוכנית, ומודרים מכניסים תמונות בחדות גבוהה שמחליפות את הקבצים המקוריים במהלך הביצוע. קוד מקור פתוח מקל על יישום תאורה מודרנית ואפקטי צל מתקדמים.
הכותרת הראשונה הניתנת להפעלה והשלבים הבאים עבור הקהילה
המשחק הראשון שהשיג סטטוס משחק מלא דרך PS2Recomp היה Sly Cooper and the Thievius Raccoonus. כותרת הפלטפורמה שימשה בסיס בדיקה להוכחת כדאיות הביצוע המקורי בסביבות תלת מימדיות מורכבות. זה רץ ללא תקלות גרפיות או בעיות סנכרון אודיו. הצלחת המבחן משכה את תשומת לבם של מתכנתים אחרים בעלי ניסיון בהנדסה לאחור.
קהילת המשתמשים מארגנת הצבעות כדי להחליט על סדר העדיפות של ההמרות הקרובות. זיכיונות קלאסיים כמו Crash Bandicoot ו- Jak II נמצאים בראש רשימות הבקשות בפורומי דיונים. כל מי שיש לו ידע בתכנות יכול להתחיל להמיר משחק באמצעות הקבצים הזמינים בפלטפורמת GitHub. המאגר מקבל עדכונים יומיים עם אופטימיזציות של קוד ותיקוני באגים המדווחים על ידי בודקים עצמאיים.
תיעוד הפרויקט דורש היכרות עם שורות פקודה ותוכנת קומפילציה כדי לחלץ נתונים מהדיסקים המקוריים. התהליך הנוכחי מרחיק משתמשים רגילים המחפשים פתרונות התקנה מהירים. יוצר הכלי עובד על פישוט השלבים התפעוליים ופיתוח ממשק גרפי ידידותי למשתמש. מטרת הקבוצה היא להפוך את תהליך העבודה כולו לאוטומטי.
הקמת תקן חדש לשימור תוכנה משנה את התלות המסחרית בחברות חומרה. תחזוקת העבודות הדיגיטליות תלויה כעת בביזור הידע הטכני. שיטת ההידור מחדש הסטטי מתחילה להיחקר ליישום על פלטפורמות ישנות אחרות. האחריות לשמירה על מורשת משחקי הווידאו עוברת לקהילת הטכנולוגיה העולמית.







