인기 게임 '포켓몬 에메랄드(Pokémon Emerald)'가 단돈 6달러짜리 라즈베리 파이 피코 2(Raspberry Pi Pico 2) 마이크로컨트롤러에서 에뮬레이터 없이 60프레임(fps)으로 완벽하게 구동되는 놀라운 성과가 공개되었습니다. 이는 게임보이 어드밴스(Game Boy Advance, GBA)의 비디오 하드웨어를 소프트웨어로 재구현하고, 게임 코드를 RP2350 칩셋에 맞게 재컴파일하여 이뤄낸 결과입니다. HDMI 출력과 실제 버튼 입력, 전원 차단 후에도 유지되는 저장 기능까지 갖춰, 저렴한 하드웨어로 완전한 게임 경험을 제공합니다.
이 프로젝트는 기존의 GBA 에뮬레이션 방식과 달리, 게임의 원본 코드를 ARMv4T 아키텍처에서 Cortex-M33으로 직접 재컴파일했습니다. RP2350 칩셋의 듀얼 코어 중 하나는 게임 로직을 처리하고, 다른 하나는 GBA의 PPU(Picture Processing Unit)를 소프트웨어 래스터라이저로 구현하여 초당 60프레임의 화면을 렌더링합니다. 전체 게임 코드, 그래픽, 맵, 음악 등 11.7MB의 이미지가 플래시 메모리에서 직접 실행되며, 378KB의 램(RAM)을 사용합니다. 특히, HDMI 스캔아웃은 CPU 개입 없이 DMA(Direct Memory Access)를 통해 처리되어, 저장 시 발생하는 플래시 쓰기 지연에도 불구하고 화면 끊김 없이 안정적인 60fps를 유지합니다.
이번 포팅은 임베디드 시스템에서 복잡한 레거시(legacy) 게임을 에뮬레이터 없이 직접 구동하는 새로운 가능성을 제시합니다. 저렴한 마이크로컨트롤러로 고전 게임을 즐길 수 있는 하드웨어 플랫폼을 만들거나, 특정 목적에 맞춰 커스터마이징된 게임 기기를 개발하는 데 활용될 수 있습니다. 비록 오디오 일부 기능, 링크 케이블, 실시간 시계(RTC) 등 몇 가지 제한 사항이 있지만, 핵심적인 게임 플레이는 완벽하게 구현되어 개발자 커뮤니티에 큰 영감을 주고 있습니다.