7 poin oleh GN⁺ 2026-01-26 | 5 komentar | Bagikan ke WhatsApp
  • Proyek ini mem-porting game klasik 1993 DOOM agar dapat berjalan di earbud nirkabel PineBuds Pro, dengan permainan jarak jauh yang dimungkinkan melalui web
  • Terdiri dari empat komponen: serial server, web server, halaman web statis, dan port DOOM yang menghubungkan earbud dengan server web
  • Melalui koneksi UART, proyek ini memperoleh bandwidth sekitar 2.4Mbps dan mengirim video dengan stream MJPEG, mencapai performa teoretis hingga 27FPS
  • CPU di-overclock dari 100MHz ke 300MHz, dan dengan keterbatasan encoding JPEG, performa nyata yang dicapai berada di kisaran 18FPS
  • Kendala RAM·FLASH diatasi lewat optimisasi dan file WAD Squashware yang lebih ringan, menunjukkan potensi eksperimen perangkat keras berbasis firmware open source

Gambaran Proyek

  • DOOM yang dirilis pada 1993 dipindahkan agar bisa berjalan di earbud PineBuds Pro
    • PineBuds Pro disebut sebagai satu-satunya earbud nirkabel yang mendukung firmware open source
    • Pengunjung situs dapat mendaftar ke antrean untuk memainkan game ini dari jarak jauh
  • Proyek ini terdiri dari empat bagian
    • Port DOOM yang berjalan di earbud
    • Serial server yang menghubungkan earbud dengan web server dan mengubah stream MJPEG menjadi Twitch
    • Web server yang menangani penyediaan aset, pengelolaan antrean, pengiriman input tombol, dan penayangan stream
    • Halaman web statis yang menangani tampilan di browser dan komunikasi dengan server

Perangkat Keras dan Struktur Koneksi

  • Earbud tidak memiliki layar, sehingga pengiriman dan penerimaan data dilakukan melalui Bluetooth atau pad kontak UART
    • Bluetooth lebih lambat di sekitar 1Mbps, sehingga UART(2.4Mbps) lebih cocok
  • Framebuffer DOOM memiliki resolusi 320×200 dengan warna 8-bit, berukuran sekitar 96KB
    • Berdasarkan bandwidth UART, hanya sekitar 3FPS yang dapat dikirim
    • Untuk memperbaikinya, dipakai metode stream MJPEG
  • Menggunakan bitbank2/JPEGENC sebagai encoder JPEG
    • Ukuran rata-rata frame JPEG adalah 11~13.5KB
    • Secara teoretis, FPS maksimum berada di kisaran 22~27FPS

Penyesuaian Performa CPU

  • Clock CPU pada firmware bawaan adalah 100MHz, lalu ditingkatkan ke 300MHz dan mode hemat daya dinonaktifkan
  • Cortex-M4F(300MHz) cukup untuk menjalankan DOOM, tetapi terjadi bottleneck pada encoding JPEG
    • Kecepatan frame aktual berada di kisaran 18FPS

Optimisasi Memori (RAM)

  • RAM dasar yang dapat diakses adalah 768KB, dan saat prosesor bantu dinonaktifkan tersedia 992KB
  • Karena DOOM membutuhkan 4MB RAM, berbagai optimisasi dilakukan
    • Penghematan memori dilakukan melalui pra-pembuatan lookup table, penyimpanan variabel const di flash, penonaktifan sistem cache, dan penghapusan variabel yang tidak diperlukan

Masalah Kapasitas Flash

  • File WAD dasar DOOM 1 berukuran 4.2MB, melebihi batas penyimpanan earbud yang hanya 4MB
  • Masalah ini diatasi dengan memakai Squashware WAD(1.7MB) versi ringan dari fragglet
    • Semua aset dapat dimuat sepenuhnya di dalam flash

Open Source dan Aksesibilitas

  • Kode proyek dibuka melalui dua repositori GitHub
  • Situs web beroperasi berbasis antrean, dan mulai dari posisi ke-5, stream Twitch dialihkan ke stream MJPEG berlatensi rendah

5 komentar

 
cybecho 2026-01-27

"DOOM Berjalan di earbud nirkabel"

 
pjh2568 2026-01-26

Para penguasa DOOM benar-benar... luar biasa.

 
tsboard 2026-01-26

Wah, ini agak... gila sih wkwkwkwk

 
kimjoin2 2026-01-26

Ya ampun.

 
GN⁺ 2026-01-26
Opini Hacker News
  • Setiap kali melihat DOOM berjalan di perangkat yang sangat sederhana, saya jadi bertanya-tanya apakah ini kemenangan perangkat lunak atau justru kegagalan ekonomi karena kita tidak bisa membuat perangkat keras khusus yang lebih murah

    • PineBuds sejak awal dirancang sebagai platform firmware terbuka, jadi memang dibekali MCU yang kuat untuk eksperimen
      Earbud Bluetooth ANC bukan produk sederhana, dan noise cancelling harus terus-menerus menjalankan komputasi yang sangat kompleks
      MCU yang cepat bukan sekadar pemborosan, tetapi memberi keuntungan berupa latensi rendah dan pengelolaan daya yang efisien
      Dibanding membuat ASIC yang sempurna, jauh lebih realistis memiliki arsitektur yang bisa diperbarui dengan MCU serbaguna
      Pada akhirnya, membeli MCU yang sudah terbukti dalam jumlah besar jauh lebih ekonomis daripada membuat chip kustom
    • Dari sudut pandang lain, ini adalah contoh keberhasilan ekonomi di mana perangkat keras berperforma tinggi justru menjadi pilihan termurah berkat skala ekonomi
    • Saya melihat ini sebagai kemenangan manufaktur semikonduktor
      Biaya tenaga kerja, pengujian, pelatihan, dan produksi skala kecil untuk merancang serta memproduksi chip kustom justru lebih mahal
      Biaya proses bisnis mengambil porsi yang jauh lebih besar daripada biaya material
    • Mengejutkan melihat ada upaya menafsirkan kesuksesan besar ekonomi pasar sebagai kegagalan ekonomi
      Kita hidup di dunia di mana DOOM bisa berjalan di earbud, tidak ada alasan untuk melihatnya secara negatif
    • CPU-nya dual-core 300MHz ARM Cortex-M4F; menurut saya skalasi perangkat keras sejak DOOM dirilis benar-benar gila
      Spesifikasinya memang berlebihan, tetapi menakjubkan bahwa semua itu muat di dalam telinga
  • Saya mem-porting DOOM ke PineBuds Pro
    Jika diakses lewat internet, Anda bisa memainkan DOOM di earbud saya
    Detail lebih lanjut dan tautan GitHub ada di situs saya

    • Saya penasaran seberapa besar rasio kompresi dari encoding JPEG
  • Sedikit disayangkan bahwa yang selalu di-porting hanya DOOM
    Dulu ada banyak game sederhana tapi adiktif, tetapi game modern terlalu besar dan rumit sehingga sulit dipindahkan ke platform kecil
    Rasanya industri ini kehilangan arah, kecuali di ranah indie
    Game seperti Master of Orion 1 dulu sederhana, tetapi tetap asyik dimainkan berulang kali
    Game zaman sekarang terasa seperti video, interaksinya minim dan berfokus pada grind XP, jadi kurang menarik

    • Alasan DOOM sering dipilih adalah karena open source, kebutuhan resource yang pas, engine yang menarik, dan pengembangnya yang sangat dihormati
      Ini sudah berlanjut seperti sebuah tradisi
    • Game lama kecil karena keterbatasan teknis
      Sekarang sebagian besar pengguna tidak terlalu peduli pada ukuran atau performa
      Ketika konsumen punya sikap “asal berjalan dengan baik”, nilai optimisasi pun menurun
      Meski begitu, di ranah indie masih banyak game bergaya menarik yang singkat
      Hanya saja, game pendek seperti film sulit memberi kesan besar, jadi tidak terlalu dikenal
    • Saya juga setuju, saya ingin melihat Freespace 2 berjalan di earbud
  • Daftar port DOOM bisa dilihat di halaman Wikipedia

  • Menurut saya ini efek promosi yang keren untuk PineBuds Pro
    Saya jadi penasaran apakah Fairbuds juga bisa melakukan hal seperti ini
    Tetapi jika DOOM bisa berjalan di begitu banyak perangkat, kenapa sampai sekarang masih belum berjalan mulus di 386

  • Saya teringat John Carmack pernah berkata dalam wawancara setelah DOOM 3 bahwa ketika engine menjadi lebih kompleks, ia tidak lagi bisa menulis seluruh kode sendirian
    Saya penasaran apa yang ia pikirkan di era AI sekarang

    • Saat ini ia fokus pada mewujudkan AGI
      Secara pribadi saya rasa dia akan cukup positif terhadap AI
      Dan “Masters of Doom” adalah buku yang sangat bagus, saya merekomendasikannya
    • Bahkan saat mengembangkan DOOM, Carmack sudah memanfaatkan pendekatan mirip AI dalam bentuk Approximate Interpolation
  • Saya penasaran apakah ada yang pernah memakai PineBuds Pro
    Tidak ada kanal terkait di IRC Pine64, jadi sulit bertanya

    • Sejujurnya, saya belum pernah memakainya untuk fungsi utamanya
      Saya tidak tahu soal kenyamanan atau kualitas suara, tetapi di kanal Discord Pine64 ada ruang khusus Pinebuds
    • Saya sudah terus memakainya sejak dirilis, dan daya tahan baterainya pendek — kalau ANC aktif, maksimal sekitar 2 jam
    • Dulu saya suka Pine64, tetapi setelah masalah tablet e-ink dan ponsel, kepercayaan saya berkurang
    • Saya cukup puas memakainya
      Saya sengaja memasang firmware tanpa ANC, tetapi sebagai earbud Bluetooth perangkat ini tetap menjalankan fungsinya dengan baik
  • Beberapa tahun lagi, kalau RAM di earbud bertambah sedikit, rasanya kita juga bisa menjalankan cluster Kubernetes lokal

  • Saya menunggu postingan “DOOM di-porting ke chip rokok elektrik sekali pakai” 😄

    • Puya PY32 MCU yang dipakai di sebagian besar rokok elektrik hanya punya 3KB RAM, 24KB ROM, jadi masih sangat jauh dari cukup untuk menjalankan DOOM
      Jika hukum Moore terus berlanjut, mungkin sekitar 10 tahun lagi hal itu bisa terjadi
    • Video terkait bisa dilihat di tautan YouTube
  • Viewer mandiri yang terhubung langsung ke earbud juga berfungsi di mobile
    Lihat video demo
    Tidak ada kontrol sentuh, dan hanya memutar loop intro