레트로 게임기 복각의 핵심 기능인 FPGA 는 무엇을 뜻하는가?
- 게임생활/DIY, 건콘,한글패치
- 2020. 10. 18.
좋은 기사가 있어 퍼왔습니다.
◇ FPGA는?
FPGA는 쉽게 말해 ‘프로그램으로 구성할 수 있는 전자회로'다. 인텔 등 반도체 제조사가 만든 FPGA 칩에 Verilog, VHDL 등 프로그램 언어를 사용해 게임기 혹은 게임기판의 각종 반도체 움직임을 해석한 데이터를 입력하면 마치 해당 반도체를 탑재한 것처럼 동작하는 것이 특징이다.
레트로 호환 게임기에는 알테라(Altera)가 만든 사이클론V(CycloneV) 칩이 많이 활용된다. 인텔은 2015년 FPGA 전문 기업 알테라를 167억달러(19조797억원)에 인수했다.
현재 FPGA 칩은 SRAM 기반의 FPGA가 많이 사용된다. 이 방식은 플래시메모리나 EEPROM 등 기억 장치에 저장된 프로그램 파일(비트스트림 데이터)를 FPGA칩에 불러들여 동작한다. 이는 PC 부팅 작업과 유사하다. SRAM기반 FPGA가 많이 사용되는 이유는 사용자가 의도한대로 최적화시키기 쉽기 때문이다.
FPGA는 게임기와 게임기판 반도체 구성을 그대로 재현한 만큼 호환성이 높고 실제 기기와 비슷한 방식으로 동작한다는 장점이 있다. 실제로 소프트웨어 에뮬레이션 방식의 레트로 호환 게임기에서 동작하지 않는 게임팩이 FPGA 방식의 호환 게임기에서 동작한다.
또, FPGA는 PC용 오락실 게임 에뮬레이터 MAME와 달리 실제 게임기판처럼 다룰 수 있고, 소프트웨어 에뮬레이션에서 발생되는 입출력 지연 현상도 크게 줄일 수 있다.
때문에 레트로 게임 시장에서는 보다 실제 기기와 비슷하게 동작하는 FPGA를 채용한 게임용 보드를 제작해 판매한다. 이들 게임 보드 중에서는 ‘MSX’ 게임 PC용 게임팩을 그대로 사용할 수 있도록 커넥터까지 장착한 ‘데오심(DEOCM)’ 등도 존재한다.
◇ FPGA도 완벽하지는 않다
레트로 게임기 에뮬레이터 ‘Higan’ 개발자 ‘byuu’는 "FPGA도 엄밀히 따지면 에뮬레이터에 속하며, 반도체 동작 구현 정밀도 역시 소프트웨어 에뮬레이터가 FPGA와 비교해 떨어지지 않는다"고 주장한다.
다만, "게임 콘트롤러 신호 입력에 따른 반응속도는 FPGA가 월등히 뛰어나다"고 말한다. byuu에 따르면 PC 등 소프트웨어 에뮬레이터에서 발생하는 입력 반응속도 지연은 프로그램 호스트인 운영체제(OS)에서 발생되는 것이기 때문에 어떤 프로그래밍 언어를 사용해도 OS에서 발생되는 지연 문제를 해결할 방법이 없다고 한다.
FPGA의 장점 중 하나인 병렬처리도 PC용 소프트웨어 에뮬레이터에 따라 가능하며, 미묘한 반도체의 동작 속도도 흉내낼 수 있다고 주장한다.
이와 관련 현재에도 다양한 fpga 방식의 게임기들이 출시를 앞두고 있거나 출시한 제품들이 있습니다. 관련 포스팅은 아래의 글을 참고.
뽐뿌야 물러가라~