פרויקט "DoomBuds" מוכיח שוב: אם יש לזה מעבד, זה יריץ Doom. בלי מסך, עם Overclock קיצוני ומעט מאוד זיכרון: מפתח אוסטרלי הצליח לדחוס את משחק היריות האגדי לתוך זוג אוזניות PineBuds Pro. התוצאה? מיותרת להפליא ומרשימה בטירוף
האוזניות שלכם יודעות לנגן מוזיקה ולסנן רעשים, אבל האם הן יכולות להריץ את משחק היריות האיקוני מ-1993? מפתח אוסטרלי בשם ארין סרקיסיאן החליט לבדוק את הגבולות של חומרת האודיו הלבישה, והתוצאה היא פרויקט DoomBuds – פורט מלא של המשחק הקלאסי שרץ ישירות על המעבד הזעיר שבתוך אוזניית ה-PineBuds Pro. בלי מסך, עם זיכרון זעום, אבל עם הרבה מאוד תעוזה טכנולוגית.

חומרה מפתיעה: כוח עיבוד נסתר בתוך הסיליקון
רוב האוזניות האלחוטיות בשוק הן "קופסאות שחורות" סגורות הרמטית, אבל ה-PineBuds Pro שונות בנוף. מדובר במוצר מבית Pine64, חברה הידועה בגישת הקוד הפתוח שלה, המאפשרת למפתחים גישה מלאה לקושחה (Firmware) ולחומרה. סרקיסיאן ניצל את הגישה הזו כדי לחשוף את הפוטנציאל של השבב המניע את האוזניות: ה-BES 2300YP.
מתחת למכסה המנוע מסתתר מעבד כפול-ליבה מסוג ARM Cortex-M4F. בברירת המחדל של היצרן, המעבד מוגבל לתדר של 100MHz כדי לחסוך בסוללה. סרקיסיאן ביצע המהרה (Overclocking) אגרסיבית והקפיץ את התדר ל-300MHz, תוך ביטול מצבי חיסכון בחשמל. השינוי הזה הפך את האוזניות, באופן תיאורטי לפחות, למחשב DOS קטן וחזק מספיק כדי להתמודד עם המנוע הגרפי של id Software. אך כוח עיבוד הוא רק חלק אחד בפאזל; האתגר האמיתי היה הזיכרון.
אופטימיזציה כירורגית: להכניס פיל לקוף של מחט
האתגר הגדול ביותר בפרויקט לא היה הרצת הקוד, אלא אחסון הנתונים. המשחק המקורי דורש לפחות 4MB של זיכרון RAM כדי לרוץ בצורה חלקה, בעוד שהאוזניות מציעות כ-992KB בלבד של זיכרון זמין (וגם זה רק לאחר ביטול המעבד המשני). הפער הזה דרש כתיבה מחדש של מנגנוני ניהול הזיכרון של המשחק.
הפתרון הגיע בשילוב של מספר טכניקות מתקדמות: שימוש בגרסה מקוצצת של קבצי המשחק המכונה "Squashware" (שכיווצה את הנפח מ-4.2MB ל-1.7MB בלבד), ביטול מערכת המטמון (Caching) המקורית של Doom, והעברת משתנים קבועים לקריאה ישירה מזיכרון הפלאש במקום מה-RAM. אך הבעיה הגדולה מכולן נותרה בעינה: איך משחקים בלי מסך?
כאן נכנס לתמונה חיבור ה-UART (ממשק טור עתיק יומין אך אמין) שנמצא על המגעים של האוזניות. מכיוון שבלוטות' אינו מהיר מספיק להעברת וידאו בזמן אמת ללא שיהוי, סרקיסיאן יצר מנגנון שמזרים את הפריימים כרצף של תמונות MJPEG דחוסות. התוצאה היא קצב פריימים של כ-18 עד 27 פריימים לשנייה – לא בדיוק חוויית 4K, אבל הישג טכני מרשים בהתחשב בכך שכל פיקסל מחושב ומקודד על שבב שתוכנן במקור רק להעביר אודיו.

תעודת זהות טכנית: DoomBuds
כך הופכים אוזניות למחשב גיימינג (בערך)
- הפלטפורמה: PineBuds Pro (קוד פתוח).
- הצ'יפסט: Bestechnic BES2300-YP.
- המעבד: ARM Cortex-M4F (ליבה כפולה).
- מהירות שעון: 300MHz (במקום 100MHz במקור).
- זיכרון עבודה (RAM): פחות מ-1MB זמין (אחרי אופטימיזציה).
- אחסון (Flash): כ-4MB בסך הכל (המשחק נדחס ל-1.7MB).
- קצב רענון: 18-27 FPS (פריימים לשנייה).
- שיטת הזרמה: MJPEG על גבי ממשק UART טוראי.
מעבר לגימיק: חשיבות הקוד הפתוח
קל לפטור את הפרויקט הזה כעוד אנקדוטה משעשעת בסדרת "האם זה מריץ Doom?", לצד מכונות כביסה ובדיקות היריון. אך יש כאן מסר חשוב יותר – הפרויקט מדגים את העוצמה של חומרה פתוחה. בעולם שבו רוב הגאדג'טים שלנו נעולים בפני המשתמש, היכולת לקחת מוצר מדף בסיסי ולהפוך אותו למכונת משחקים זעירה מעידה על הפוטנציאל העצום של קהילת הקוד הפתוח לשדרג ולשנות את ייעודם של מכשירים אלקטרוניים.

עבור אלו שאין ברשותם את האוזניות הספציפיות אך רוצים לחוות את הפלא, המפתח הקים אתר ייעודי המאפשר למשתמשים מרחוק להתחבר לתור, לשלוט באוזניות הפרטיות שלו בזמן אמת ולצפות בוידאו המוזרם מהן דרך הדפדפן. זהו אולי ממשק הגיימינג המוזר ביותר שנראה השנה, אך הוא משמש תזכורת חיה ליצירתיות חסרת הגבולות של קהילת המודרים העולמית.


