• 둠버즈(DoomBuds), 1993년 FPS 명작을 오픈 소스 이어버드로 포팅(Porting)하다: 18fps로 JPG를 스트리밍하며, 300MHz CPU와 1MB 미만의 RAM으로 구동

    개발자는 웹 페이지도 제작하여, 누구나 자신의 PineBuds Pro 이어버드를 통해 원격으로 Doom을 플레이할 수 있게 했습니다.

    article image

    개발자가 인기 게임 둠(Doom)을 이어버드에 포팅하는 작업을 선보였습니다. 퀀텀 컴퓨터부터 USB 충전기, 잔디 깎는 기계에 이르기까지 둠 포팅 관련 흥미로운 소식들이 워낙 많았기 때문에, 이번 발표가 과거처럼 엄청난 파장을 일으키기는 어려울 수 있습니다. 하지만 이어버드는 (아직) 디스플레이가 없다는 근본적인 제약이 있어, 아린 사르키시안(Arin Sarkisian)은 둠의 액션을 다른 장치로 스트리밍하거나 심지어 인터넷을 통해 전송하는 영리한 방법을 고안했습니다.

    이번 최신 '둠-on-x' 개발 곡예를 위해서는 아무 이어버드나 사용할 수 없습니다. 현재 이 둠 포트는 오픈 소스 펌웨어를 지원하는 유일한 이어버드인 파인버즈 프로(PineBuds Pro)에서만 구동됩니다. 참고로, 이 이어버드는 2022년 8월에 리뷰했던 파인실 V2(Pinecil V2)와 같이 RISC-V 기반 납땜 인두를 제작했던 업체에서 만든 제품입니다.

    파인버즈 프로의 CPU 성능 역시 만만치 않습니다. 이어버드의 밀착형 케이스 내부에는 오디오 드라이버와 배터리 셀과 함께 Arm Cortex-M4F 프로세서가 장착되어 있습니다. 아린-S은 오픈 소스 펌웨어를 수정하여 CPU 클럭을 100MHz에서 300MHz로 끌어올렸으며(현대 기술에서 매우 인상적인 오버클럭입니다), 최고의 둠 경험을 위해 저전력 모드를 비활성화했습니다.

    테크 애호가, 40년 된 프린터 컨트롤러에 둠 구동

    article image

    ‘20만 개의 살아있는 인간 뉴런’을 마이크로칩에 구현해 둠 플레이 시연

    파인버즈를 사용할 때 또 다른 기술적 난관은 제한적인 RAM과 저장 공간이었습니다. 개발자는 "룩업 테이블 사전 생성, 변수를 상수(const)로 지정, 플래시 메모리에서 상수 변수 읽기, 둠의 캐싱 시스템 비활성화, 불필요한 변수 제거" 등의 최적화 과정을 거쳐 둠이 1MB 미만에서 실행되도록 만들었습니다. 게다가, 공유웨어(shareware) 둠 1 WAD 자산 파일이 4.2MB로, 파인버즈의 4MB 저장 공간을 약간 초과했습니다. 이 데이터 페이로드(payload)는 크기에 맞춰 사전 수정된 둠 리소스를 활용하여 1.7MB로 줄였습니다.

    마지막으로, 화면이 없다는 제약이 독자적인 어려움을 야기했습니다. 아린-S은 게임 비주얼을 구현하기 위해 파인버즈 프로의 UART 연결이 최적이라고 판단했습니다 (다른 대안은 블루투스 연결뿐이었습니다). 결과적으로, 대역폭, 이미지 압축 기술의 복잡성, 그리고 Cortex-M4F 프로세서의 처리 능력이 결합되면서, 실제적으로 달성 가능한 최고의 성능은 약 18fps에 그쳤습니다. 이론적으로는 25fps에 근접했어야 했으나, 개발자 스스로 CPU가 그 속도로 MJPEG 스트림을 변환할 충분한 처리 여력을 갖추지 못했다고 분석했습니다.

    article image

    아린-S은 자신만의 파인버즈 프로로 둠을 구동할 수 있도록 필요한 모든 리소스를 공개했습니다. 나아가 개발자는 자신의 파인버즈 프로 한 쌍에서 둠 액션을 스트리밍하는 웹사이트까지 구축하여 기부했습니다.

    이 잘 구현된 웹페이지를 통해 접속하여 온라인 큐에 참여하고, 원격 이어버드가 구동하는 온라인 둠을 체험해 보시기 바랍니다.

    끝으로 개발자는 본인의 독특한 기술 세트가 필요한 곳이 있다면 기꺼이 취업을 알아보고 있다고 전했습니다.

    Tom's Hardware를 Google News에서 팔로우하거나 즐겨찾는 출처로 추가하여 최신 뉴스, 분석 및 리뷰를 피드에서 받아보세요.

    [출처:] https://www.tomshardware.com/video-games/retro-gaming/doombuds-ports-the-1993-fps-classic-to-open-source-earbuds-by-streaming-jpgs-at-18fps-runs-on-300mhz-cpu-with-less-than-1mb-of-ram