7 पॉइंट द्वारा GN⁺ 2026-01-26 | 5 टिप्पणियां | WhatsApp पर शेयर करें
  • 1993 के क्लासिक गेम DOOM को वायरलेस ईयरबड्स PineBuds Pro पर चलाने के लिए पोर्ट किया गया एक प्रोजेक्ट, जिसे वेब के ज़रिए रिमोट रूप से खेला जा सकता है
  • यह serial server, web server, static webpage, और DOOM port — इन चार घटकों से बना है, जो ईयरबड्स और वेब को जोड़ते हैं
  • UART कनेक्शन के ज़रिए लगभग 2.4Mbps बैंडविड्थ हासिल की गई, और MJPEG stream के माध्यम से वीडियो भेजकर सैद्धांतिक रूप से अधिकतम 27FPS प्रदर्शन प्राप्त किया गया
  • CPU को 100MHz से 300MHz तक overclock किया गया, और JPEG encoding की सीमाओं के बीच वास्तविक प्रदर्शन लगभग 18FPS तक पहुँचा
  • RAM·FLASH सीमाओं को optimization और हल्के Squashware WAD file से हल किया गया, जिससे open source firmware आधारित हार्डवेयर प्रयोगों की संभावनाएँ दिखाई गईं

प्रोजेक्ट अवलोकन

  • 1993 में रिलीज़ हुए DOOM को PineBuds Pro ईयरबड्स पर चलाने के लिए पोर्ट किया गया
    • PineBuds Pro का उल्लेख ऐसे एकमात्र वायरलेस ईयरबड्स के रूप में किया गया है जो open source firmware को सपोर्ट करते हैं
    • वेबसाइट विज़िटर queue में शामिल होकर गेम को रिमोट रूप से खेल सकते हैं
  • प्रोजेक्ट चार हिस्सों में बना है
    • ईयरबड्स पर चलने वाला DOOM port
    • ईयरबड्स और वेब सर्वर को जोड़ने वाला, और MJPEG stream को Twitch में बदलने वाला serial server
    • assets उपलब्ध कराने, queue प्रबंधन, key input भेजने, और stream दिखाने का काम करने वाला web server
    • browser display और server communication संभालने वाली static webpage

हार्डवेयर और कनेक्शन संरचना

  • ईयरबड्स में डिस्प्ले नहीं है, इसलिए डेटा का आदान-प्रदान Bluetooth या UART contact pads के ज़रिए होता है
    • Bluetooth लगभग 1Mbps पर धीमा है, इसलिए UART(2.4Mbps) अधिक उपयुक्त है
    विज्ञापन
  • DOOM का framebuffer 320×200 resolution और 8-bit color में लगभग 96KB का है
    • UART बैंडविड्थ के आधार पर लगभग 3FPS ट्रांसमिशन संभव है
    • इसे बेहतर बनाने के लिए MJPEG stream तरीका अपनाया गया
  • JPEG encoder के रूप में bitbank2/JPEGENC का उपयोग किया गया
    • औसत JPEG frame आकार 11~13.5KB
    • सैद्धांतिक अधिकतम FPS लगभग 22~27FPS

CPU प्रदर्शन समायोजन

  • डिफ़ॉल्ट firmware का CPU clock 100MHz था, जिसे 300MHz तक बढ़ाया गया और low-power mode को बंद किया गया
  • Cortex-M4F(300MHz) DOOM चलाने के लिए पर्याप्त है, लेकिन JPEG encoding में bottleneck पैदा होता है
    • वास्तविक frame rate लगभग 18FPS के स्तर पर रहा

मेमोरी (RAM) optimization

  • डिफ़ॉल्ट रूप से उपलब्ध RAM 768KB है, और सहायक प्रोसेसर को disable करने पर 992KB तक मिलती है
  • DOOM को 4MB RAM चाहिए, इसलिए कई optimization किए गए
    • lookup table pre-generation, const variables को flash में स्टोर करना, caching system disable करना, अनावश्यक variables हटाना आदि से मेमोरी बचाई गई
    विज्ञापन

फ्लैश (FLASH) क्षमता की समस्या

  • DOOM 1 की मूल WAD file 4.2MB की है, जो ईयरबड्स की 4MB स्टोरेज सीमा से अधिक है
  • fragglet के हल्के संस्करण Squashware WAD(1.7MB) का उपयोग करके समस्या हल की गई
    • सभी assets को flash के भीतर समायोजित किया जा सका

open source और accessibility

  • प्रोजेक्ट कोड दो GitHub repositories में सार्वजनिक है
    • DOOMBuds: ईयरबड्स के लिए DOOM port
    • DOOMBUDS-JS: browser और ईयरबड्स के बीच interaction को सपोर्ट करता है
  • वेबसाइट queue-आधारित तरीके से चलती है, और 5वें स्थान से Twitch stream low-latency MJPEG stream में बदल जाता है

5 टिप्पणियां

 
cybecho 2026-01-27

"यहाँ DOOM चलता है"

 
pjh2568 2026-01-26

DOOM के उस्ताद सच में... कमाल हैं।

 
tsboard 2026-01-26

वाह, ये तो थोड़ा... गज़ब है, डरावना

 
kimjoin2 2026-01-26

हे भगवान

 
GN⁺ 2026-01-26
Hacker News की राय
  • जब भी मैं किसी साधारण डिवाइस पर DOOM चलता देखता हूँ, तो सोचने लगता हूँ कि यह software की जीत है या फिर सस्ता dedicated hardware न बना पाने की आर्थिक विफलता

    • PineBuds को शुरुआत से ही open firmware platform के रूप में डिज़ाइन किया गया था, इसलिए इसमें प्रयोगों के लिए एक ताकतवर MCU है
      ANC Bluetooth earbuds कोई साधारण प्रोडक्ट नहीं हैं, और noise cancelling के लिए लगातार बहुत जटिल computation करनी पड़ती है
      तेज MCU सिर्फ फिजूलखर्ची नहीं है; इससे low latency और बेहतर power management का लाभ मिलता है
      एकदम परफेक्ट ASIC बनाने की बजाय, update किए जा सकने वाले general-purpose MCU वाला ढांचा रखना कहीं ज़्यादा व्यावहारिक है
      आखिरकार, साबित हो चुके MCU को बड़े पैमाने पर खरीदना custom chip बनाने से कहीं ज़्यादा किफायती है
    • दूसरे नज़रिए से देखें तो यह economies of scale की वजह से high-performance hardware का सबसे सस्ता विकल्प बन जाना, यानी आर्थिक सफलता का उदाहरण है
    • मैं इसे semiconductor manufacturing की जीत मानता हूँ
      custom chip को डिज़ाइन और प्रोड्यूस करने में लगने वाला manpower, testing, training, और low-volume production cost उल्टा ज़्यादा महंगा पड़ता है
      material cost से कहीं बड़ा हिस्सा business process cost का होता है
    • market economy की ज़बरदस्त सफलता को आर्थिक विफलता की तरह देखने की कोशिश हैरान करती है
      earbuds में DOOM चलने वाली दुनिया में इसे नकारात्मक रूप से देखने की कोई वजह नहीं है
    • CPU dual-core 300MHz ARM Cortex-M4F है; DOOM रिलीज़ होने के बाद से hardware scaling सच में पागलपन की हद तक पहुँच गई है
      स्पेक्स ज़रूरत से ज़्यादा हैं, लेकिन यह सब कान के अंदर फिट हो जाता है, यही हैरत की बात है
  • मैंने DOOM को PineBuds Pro पर port किया है
    इंटरनेट के ज़रिए कनेक्ट करें तो आप मेरे earbuds पर DOOM खेल सकते हैं
    ज़्यादा जानकारी और GitHub लिंक मेरी साइट पर हैं

    • मैं जानना चाहता हूँ कि JPEG encoding का compression ratio कितना है
  • थोड़ा अफसोस होता है कि हमेशा DOOM ही port किया जाता है
    पहले simple लेकिन addictive games बहुत हुआ करते थे, लेकिन आजकल के गेम इतने बड़े और जटिल हैं कि उन्हें छोटे platforms पर ले जाना मुश्किल है
    लगता है कि industry, indie को छोड़कर, दिशा खो चुकी है
    पुराने Master of Orion 1 जैसे गेम सरल थे, लेकिन बार-बार खेलने लायक थे
    आजकल के गेम वीडियो जैसे हो गए हैं, जिनमें कम interaction और XP grinding ज़्यादा है, इसलिए दिलचस्पी कम हो जाती है

    • DOOM के बार-बार चुने जाने की वजह है इसका open source होना, ठीक-ठाक resource requirement, दिलचस्प engine, और सम्मानित developer
      यह अब लगभग एक परंपरा बन चुका है
    • पुराने गेम छोटे थे क्योंकि तकनीकी सीमाएँ थीं
      अब ज़्यादातर users storage या performance की उतनी चिंता नहीं करते
      जब consumers का रवैया “बस ठीक से चलना चाहिए” जैसा हो गया, तो optimization की value कम हो गई
      फिर भी indie scene में छोटे और stylish games अब भी बहुत हैं
      बस वे अक्सर छोटे फिल्मी अनुभव जैसे होते हैं, इसलिए बड़ा प्रभाव छोड़ना कठिन होता है और वे कम जाने जाते हैं
    • मैं भी सहमत हूँ, मैं earbuds में Freespace 2 चलते देखना चाहूँगा
  • DOOM ports की सूची Wikipedia page पर देखी जा सकती है

  • मुझे लगता है कि यह PineBuds Pro के लिए शानदार publicity है
    सोच रहा हूँ क्या Fairbuds पर भी यह संभव होगा
    लेकिन जब इतने सारे डिवाइस पर DOOM चल जाता है, तो फिर यह अभी भी 386 पर smoothly क्यों नहीं चलता

  • DOOM 3 के बाद एक interview में John Carmack ने कहा था कि engine इतने जटिल हो गए थे कि वह अब सारा code अकेले नहीं लिख सकते थे
    आज के AI era में वह क्या सोचते होंगे, यह जानने की जिज्ञासा है

    • वह इस समय AGI को साकार करने पर ध्यान दे रहे हैं
      मुझे व्यक्तिगत रूप से लगता है कि वह AI के प्रति सकारात्मक होंगे
      और “Masters of Doom” सच में बहुत अच्छी किताब है, मैं इसकी सिफारिश करता हूँ
    • DOOM के development के समय भी Carmack ने Approximate Interpolation जैसी चीज़ों के रूप में AI-जैसा approach इस्तेमाल किया था
  • क्या किसी ने PineBuds Pro इस्तेमाल किए हैं
    Pine64 IRC में इससे जुड़ा चैनल नहीं था, इसलिए पूछना मुश्किल था

    • सच कहूँ तो मैंने इसे इसके मूल उपयोग के लिए कभी इस्तेमाल नहीं किया
      fit या sound quality के बारे में नहीं कह सकता, लेकिन Pine64 Discord channel में Pinebuds के लिए अलग कमरा है
    • रिलीज़ के बाद से लगातार इस्तेमाल कर रहा हूँ, और battery life छोटी है — ANC ऑन हो तो ज़्यादा से ज़्यादा लगभग 2 घंटे
    • पहले मुझे Pine64 पसंद था, लेकिन e-ink tablet और phone issues के बाद भरोसा कम हो गया
    • मैं इसे संतोषजनक तरीके से इस्तेमाल कर रहा हूँ
      मैंने जानबूझकर ANC-रहित firmware इंस्टॉल किया, लेकिन Bluetooth earbuds के रूप में यह अपना काम ठीक से कर लेता है
  • कुछ साल बाद, अगर earbuds में RAM थोड़ा और बढ़ जाए, तो शायद उन पर local Kubernetes cluster भी चलाया जा सके

  • मैं उस पोस्ट का इंतज़ार कर रहा हूँ: “DOOM को disposable vape chip पर port कर दिया” 😄

    • ज़्यादातर vape में इस्तेमाल होने वाला Puya PY32 MCU सिर्फ 3KB RAM, 24KB ROM देता है, जो DOOM चलाने के लिए बहुत कम है
      अगर Moore’s law चलती रही, तो शायद करीब 10 साल बाद यह संभव हो सके
    • संबंधित वीडियो YouTube link पर देखा जा सकता है
  • earbuds से सीधे जुड़ा standalone viewer मोबाइल पर भी काम करता है
    demo video देखें
    touch controls नहीं हैं, और सिर्फ intro loop चलता है