{"id":229639,"date":"2026-01-28T12:26:08","date_gmt":"2026-01-28T12:26:08","guid":{"rendered":"https:\/\/www.europesays.com\/pl\/229639\/"},"modified":"2026-01-28T12:26:08","modified_gmt":"2026-01-28T12:26:08","slug":"doombuds-to-port-klasycznego-fps-a-na-sluchawkach-pinebuds-pro-dziala-przy-300-mhz-i-mniej-niz-1-mb-ram","status":"publish","type":"post","link":"https:\/\/www.europesays.com\/pl\/229639\/","title":{"rendered":"DOOMBuds to port klasycznego FPS-a na s\u0142uchawkach PineBuds Pro. Dzia\u0142a przy 300 MHz i mniej ni\u017c 1 MB RAM"},"content":{"rendered":"<p><img decoding=\"async\" class=\"teaserfoto\" src=\"https:\/\/www.europesays.com\/pl\/wp-content\/uploads\/2026\/01\/49686.png\" alt=\"DOOMBuds to port klasycznego FPS-a na s\u0142uchawkach PineBuds Pro. Dzia\u0142a przy 300 MHz i mniej ni\u017c 1 MB RAM\"\/>DOOM-a mo\u017cna uruchomi\u0107 praktycznie na wszystkim. Od kalkulator\u00f3w przez testy ci\u0105\u017cowe po bankomaty. Najnowszy projekt przesun\u0105\u0142 jednak granice jeszcze dalej. Arin Sarkisian stworzy\u0142 DOOMBuds, port dzia\u0142aj\u0105cy na s\u0142uchawkach TWS PineBuds Pro. Gra wy\u015bwietla si\u0119 na ekranie pod\u0142\u0105czonym do etui \u0142aduj\u0105cego, a ca\u0142o\u015b\u0107 dzia\u0142a przy zaledwie 300 MHz CPU i mniej ni\u017c 1 MB pami\u0119ci RAM. To jedna z najbardziej ekstremalnych implementacji typu \u201eCan it run DOOM?&#8221;.<\/p>\n<p>Programista Arin Sarkisian uruchomi\u0142 klasycznego DOOM-a na s\u0142uchawkach PineBuds Pro, wykorzystuj\u0105c zaledwie 300 MHz CPU i mniej ni\u017c 1 MB RAM poprzez streaming pojedynczych klatek JPEG przy 18 fps.<\/p>\n<p><a class=\"colorbox\" href=\"https:\/\/www.purepc.pl\/image\/news\/2026\/01\/28_doombuds_to_port_klasycznego_fps_a_na_sluchawkach_pinebuds_pro_dziala_przy_300_mhz_i_mniej_niz_1_mb_ram_0_b.jpg\" rel=\"nofollow noopener\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/www.europesays.com\/pl\/wp-content\/uploads\/2026\/01\/28_doombuds_to_port_klasycznego_fps_a_na_sluchawkach_pinebuds_pro_dziala_przy_300_mhz_i_mniej_niz_1_.jpeg\" alt=\"DOOMBuds to port klasycznego FPS-a na s\u0142uchawkach PineBuds Pro. Dzia\u0142a przy 300 MHz i mniej ni\u017c 1 MB RAM [1]\"\/><\/a><\/p>\n<p><a title=\"Hytale otrzymuje mody z pe\u0142n\u0105 wirtualizacj\u0105. W grze uda\u0142o si\u0119 uruchomi\u0107 Minecrafta, Dooma, a tak\u017ce... system Windows 95\" href=\"https:\/\/www.purepc.pl\/hytale-gra-wirtualizacja-mody-windows-95-minecraft-doom-sandbox\" rel=\"nofollow noopener\" target=\"_blank\">Hytale otrzymuje mody z pe\u0142n\u0105 wirtualizacj\u0105. W grze uda\u0142o si\u0119 uruchomi\u0107 Minecrafta, Dooma, a tak\u017ce&#8230; system Windows 95<\/a><\/p>\n<p>Projekt <a href=\"https:\/\/doombuds.com\" rel=\"nofollow noopener\" target=\"_blank\">DOOMBuds<\/a> bazuje na s\u0142uchawkach <a href=\"https:\/\/pine64.com\/product\/pinebuds-pro-open-firmware-capable-anc-wireless-earbuds\/\" rel=\"nofollow noopener\" target=\"_blank\">PineBuds Pro firmy Pine64<\/a>, otwartych na modyfikacje urz\u0105dzeniach <a href=\"https:\/\/www.purepc.pl\/tagi\/sluchawki-tws\" rel=\"nofollow noopener\" target=\"_blank\">TWS (True Wireless Stereo)<\/a> z aktywn\u0105 redukcj\u0105 szum\u00f3w. Ich sercem jest chip <a href=\"https:\/\/files.pine64.org\/doc\/datasheet\/PineBudsPro\/BES2300-YP_Datasheet_v1.0.pdf\" rel=\"nofollow noopener\" target=\"_blank\">Bestechnic BES2300-YP<\/a>, wyposa\u017cony w dwurdzeniowy procesor <a href=\"https:\/\/developer.arm.com\/Processors\/Cortex-M4\" rel=\"nofollow noopener\" target=\"_blank\">Cortex-M4F<\/a> taktowany zegarem 300 MHz oraz <a href=\"https:\/\/www.purepc.pl\/tagi\/bluetooth\" rel=\"nofollow noopener\" target=\"_blank\">Bluetooth<\/a> 5.2. Oryginalnie ka\u017cda s\u0142uchawka dysponuje zaledwie 40 mAh akumulatorem i mikroskopijnym zasobem pami\u0119ci, gdy\u017c to hardware stworzony do odtwarzania audio, a nie do gier 3D. Sarkisian wykorzysta\u0142 jednak otwarty <a href=\"https:\/\/github.com\/pine64\/OpenPineBuds\" rel=\"nofollow noopener\" target=\"_blank\">firmware OpenPineBuds<\/a>, kt\u00f3ry umo\u017cliwia pe\u0142n\u0105 kontrol\u0119 nad sprz\u0119tem. Najwa\u017cniejsz\u0105 rol\u0119 odegra\u0142 tutaj <a href=\"https:\/\/github.com\/ozkl\/doomgeneric\" rel=\"nofollow noopener\" target=\"_blank\">framework doomgeneric<\/a>, czyli uniwersalne narz\u0119dzie upraszczaj\u0105ce proces portowania DOOM-a na nietypowe platformy. Wystarczy zaimplementowa\u0107 kilka podstawowych funkcji (wy\u015bwietlanie ramki, obs\u0142uga wej\u015bcia, timer), a reszta kodu gry dzia\u0142a bez zmian. W przypadku DOOMBuds programista poszed\u0142 jednak na kompromis.\u00a0<\/p>\n<p><a class=\"colorbox\" href=\"https:\/\/www.purepc.pl\/image\/news\/2026\/01\/28_doombuds_to_port_klasycznego_fps_a_na_sluchawkach_pinebuds_pro_dziala_przy_300_mhz_i_mniej_niz_1_mb_ram_1_b.jpg\" rel=\"nofollow noopener\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/www.europesays.com\/pl\/wp-content\/uploads\/2026\/01\/1769603168_843_28_doombuds_to_port_klasycznego_fps_a_na_sluchawkach_pinebuds_pro_dziala_przy_300_mhz_i_mniej_niz_1_.jpeg\" alt=\"DOOMBuds to port klasycznego FPS-a na s\u0142uchawkach PineBuds Pro. Dzia\u0142a przy 300 MHz i mniej ni\u017c 1 MB RAM [2]\"\/><\/a><\/p>\n<p><a title=\"Test wydajno\u015bci DOOM: The Dark Ages - Path Tracing to piekielne wymagania sprz\u0119towe. Por\u00f3wnanie wydajno\u015bci i jako\u015bci grafiki\" href=\"https:\/\/www.purepc.pl\/doom-the-dark-ages-test-wydajnosc-path-tracing-wymagania-sprzetowe-opinia-recenzja\" rel=\"nofollow noopener\" target=\"_blank\">Test wydajno\u015bci DOOM: The Dark Ages &#8211; Path Tracing to piekielne wymagania sprz\u0119towe. Por\u00f3wnanie wydajno\u015bci i jako\u015bci grafiki<\/a><\/p>\n<p>Najwi\u0119kszym wyzwaniem okaza\u0142y si\u0119 ograniczenia sprz\u0119towe. <a href=\"https:\/\/www.purepc.pl\/tagi\/doom\" rel=\"nofollow noopener\" target=\"_blank\">DOOM<\/a> z 1993 roku potrzebuje minimum 4 MB <a href=\"https:\/\/www.purepc.pl\/tagi\/ram\" rel=\"nofollow noopener\" target=\"_blank\">RAM<\/a>, podczas gdy PineBuds Pro oferuj\u0105 niespe\u0142na 1 MB. Sarkisian rozwi\u0105za\u0142 to przez optymalizacje. Usun\u0105\u0142 system cache&#8217;owania gry, przeni\u00f3s\u0142 tablice lookup do pami\u0119ci flash i zastosowa\u0142 zmodyfikowan\u0105 wersj\u0119 shareware DOOM 1 o nazwie <a href=\"https:\/\/github.com\/fragglet\/squashware\" rel=\"nofollow noopener\" target=\"_blank\">Squashware<\/a> (1,7 MB zamiast 4,2 MB). Prawdziw\u0105 barier\u0105 okaza\u0142 si\u0119 jednak transfer obrazu. S\u0142uchawki nie maj\u0105 wy\u015bwietlacza, dlatego obraz przesy\u0142any jest przez <a href=\"https:\/\/pl.wikipedia.org\/wiki\/Uniwersalny_asynchroniczny_nadajnik-odbiornik\" rel=\"nofollow noopener\" target=\"_blank\">UART<\/a> do komputera. Po\u0142\u0105czenie UART daje 2,4 Mbps przepustowo\u015bci, ale surowy framebuffer DOOM-a (320\u00d7200 pikseli, 96 KB na klatk\u0119) pozwala\u0142by jedynie na 3 fps. Rozwi\u0105zanie? Real-time encoding ka\u017cdej klatki do JPEG-a bezpo\u015brednio na chipie BES2300. Dzi\u0119ki bibliotece JPEGENC dla urz\u0105dze\u0144 embedded, przeci\u0119tna skompresowana klatka wa\u017cy 11-13,5 KB. Teoretycznie daje to 22-27 fps, ale procesor Cortex-M4F przy 300 MHz ledwo nad\u0105\u017ca z kompresj\u0105, st\u0105d finalne 18 fps. Gra faktycznie renderuje si\u0119 lokalnie na s\u0142uchawce, a nast\u0119pnie ka\u017cda klatka leci jako osobny JPEG przez przew\u00f3d do przegl\u0105darki.<\/p>\n<p><a class=\"colorbox\" href=\"https:\/\/www.purepc.pl\/image\/news\/2026\/01\/28_doombuds_to_port_klasycznego_fps_a_na_sluchawkach_pinebuds_pro_dziala_przy_300_mhz_i_mniej_niz_1_mb_ram_2_b.png\" rel=\"nofollow noopener\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/www.europesays.com\/pl\/wp-content\/uploads\/2026\/01\/28_doombuds_to_port_klasycznego_fps_a_na_sluchawkach_pinebuds_pro_dziala_przy_300_mhz_i_mniej_niz_1_.png\" alt=\"DOOMBuds to port klasycznego FPS-a na s\u0142uchawkach PineBuds Pro. Dzia\u0142a przy 300 MHz i mniej ni\u017c 1 MB RAM [3]\"\/><\/a><\/p>\n<p><a title=\"12 lat, 6 godzin i ponad 23 tys. demon\u00f3w. Pewien gracz w ko\u0144cu uko\u0144czy\u0142 mordercz\u0105 map\u0119 w grze Doom II\" href=\"https:\/\/www.purepc.pl\/12-lat-6-godzin-i-ponad-23-tys-demonow-pewien-gracz-w-koncu-ukonczyl-mordercza-mape-w-grze-doom-ii\" rel=\"nofollow noopener\" target=\"_blank\">12 lat, 6 godzin i ponad 23 tys. demon\u00f3w. Pewien gracz w ko\u0144cu uko\u0144czy\u0142 mordercz\u0105 map\u0119 w grze Doom II<\/a><\/p>\n<p>Ca\u0142a architektura sk\u0142ada si\u0119 z czterech warstw, czyli z firmware DOOM-a dzia\u0142aj\u0105cego na s\u0142uchawkach, &#8222;serial server&#8221; transkoduj\u0105cego strumie\u0144 JPEG do MJPEG (i przekazuj\u0105cy go na <a href=\"https:\/\/www.purepc.pl\/tagi\/twitch\" rel=\"nofollow noopener\" target=\"_blank\">Twitch<\/a> dla oszcz\u0119dno\u015bci przepustowo\u015bci), serwer webowy zarz\u0105dzaj\u0105cy kolejk\u0105 graczy oraz front-end w przegl\u0105darce. U\u017cytkownicy graj\u0105 zdalnie przez przegl\u0105dark\u0119 na <a href=\"https:\/\/doombuds.com\" rel=\"nofollow noopener\" target=\"_blank\">doombuds.com<\/a>. Ruchy wykonywane klawiatur\u0105 w\u0119druj\u0105 przez internet do serwera, kt\u00f3ry przekazuje je do s\u0142uchawki, gdzie gra reaguje i odsy\u0142a kolejne klatki. To rozwi\u0105zanie rodem z epoki, gdy gracze \u0142\u0105czyli si\u0119 modemami do BBS-\u00f3w. DOOMBuds dowodzi, \u017ce nawet chip audio za kilka dolar\u00f3w mo\u017ce obs\u0142u\u017cy\u0107 legendarnego FPS-a, ale tylko gdy hardware pozostaje otwarty na modyfikacje. W erze zamkni\u0119tych ekosystem\u00f3w urz\u0105dze\u0144 wearables taki projekt to manifest filozofii DIY i przypomnienie, \u017ce ograniczenia techniczne to zaproszenie do kreatywno\u015bci, a nie wyrok.<\/p>\n<p>\u0179r\u00f3d\u0142o: Doombuds.com, GitHub, Pine64, Tom&#8217;s Hardware<\/p>\n","protected":false},"excerpt":{"rendered":"DOOM-a mo\u017cna uruchomi\u0107 praktycznie na wszystkim. Od kalkulator\u00f3w przez testy ci\u0105\u017cowe po bankomaty. Najnowszy projekt przesun\u0105\u0142 jednak granice&hellip;\n","protected":false},"author":2,"featured_media":229640,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[42073,15957,42074,42075,42076,4997,120,118,119,5991,42077,42078,42,38,40,39,41,42079,22340,116,114,115,21765,121,117],"class_list":{"0":"post-229639","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-nauka-i-technika","8":"tag-bes2300","9":"tag-doom","10":"tag-doombuds","11":"tag-doomgeneric","12":"tag-esp32","13":"tag-firmware","14":"tag-nauka","15":"tag-nauka-i-technika","16":"tag-naukatechnika","17":"tag-open-source","18":"tag-openpinebuds","19":"tag-pinebuds-pro","20":"tag-pl","21":"tag-poland","22":"tag-polish","23":"tag-polska","24":"tag-polski","25":"tag-port-gier","26":"tag-retro-gaming","27":"tag-science","28":"tag-science-and-technology","29":"tag-sciencetechnology","30":"tag-sluchawki-tws","31":"tag-technika","32":"tag-technology"},"share_on_mastodon":{"url":"https:\/\/pubeurope.com\/@pl\/115972720920601999","error":""},"_links":{"self":[{"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/posts\/229639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/comments?post=229639"}],"version-history":[{"count":0,"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/posts\/229639\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/media\/229640"}],"wp:attachment":[{"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/media?parent=229639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/categories?post=229639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.europesays.com\/pl\/wp-json\/wp\/v2\/tags?post=229639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}