FPGA로 Voodoo Graphics와 1990년대 후반 게이밍 PC 재현하기
요약
이 글은 FPGA를 활용하여 Voodoo Graphics와 같은 구형 게이밍 PC 및 콘솔을 하드웨어 수준에서 정밀하게 재현하는 MiSTer 프로젝트에 대한 내용을 다룹니다. 소프트웨어 에뮬레이션의 한계를 넘어 실제 장치의 논리를 구현함으로써 높은 정확도를 추구합니다. 글쓴이는 과거 컴퓨터 하드웨어와 게임 경험을 회상하며, 낮은 사양에서도 최적화가 필요했던 당시의 컴퓨팅 환경 변화를 언급하고 있습니다.
핵심 포인트
- MiSTer는 FPGA에 논리를 구현하여 구형 기기를 높은 정확도로 재현합니다.
- 소프트웨어 에뮬레이션보다 하드웨어 복제품 방식이 더 정밀합니다.
- 과거 PC 경험 회상을 통해 컴퓨팅 성능의 발전 과정을 되돌아봅니다.
- GPU 내부 구조와 저수준 프로그래밍에 대한 관심이 높아지고 있습니다.
MiSTer는 옛 컴퓨터와 게임 콘솔을 하드웨어로 재현하는 프로젝트임. 소프트웨어 에뮬레이션에서 생길 수 있는 문제, 특히 타이밍 문제를 피하기 위해 실제 장치의 논리를 FPGA에 구현해 하드웨어의 ‘정확한’ 복제품을 만드는 방식임.
Apple II나 Commodore 64 같은 옛 기기에 관심이 있다면 꼭 살펴보길 권함. https://mister-devel.github.io/MkDocs_MiSTer/.
‘정확한’에 따옴표가 붙는 이유는 오픈 버스 동작 같은 특성도 명시적으로 모사해야 하기 때문임. 정확한 복제품이라기보다는 매우 정밀한 시뮬레이터이며, 다만 속도를 중시하는 대부분의 소프트웨어 시뮬레이터보다는 훨씬 정확함.
다만 이번 프로젝트는 기본 MiSTer 하드웨어에서는 실행되지 않음. 여기에 쓰이는 AMD 보드는 250달러임.
두 방식 모두 에뮬레이션할 대상을 이해해야 함. 정확한 명세가 없는 시스템도 있어서, 버그 없이 구현되지는 않음.
Voodoo 3000 PCI를 사려고 두 해 여름 동안 잔디를 깎아 돈을 모았지만 필요한 금액의 절반도 못 모았고, 나머지는 부모님이 보태주셨음. 그런데 하고 싶었던 게임은 사실상 하나도 제대로 돌아가지 않았음. 여름 내내 Arcanum을 실행하려고 애썼지만 끝내 실패했고, 그 과정에서 정말 많이 배움. 구매 후회가 평생 남을 만큼 강렬해서 이후에는 뭘 사든 집착에 가까울 정도로 조사하게 됨. 그래도 열 살의 나에게 그 카드가 상징했던 것 때문에 여전히 애정이 감. 다행히 얼마 지나지 않아 Pentium 3와 GeForce 2가 들어간 Dell XPS를 샀고, 아직 본체가 베이지색이던 시절임.
Pentium 3와 GeForce 2가 지금 내 복고풍 PC 사양임. 당시에는 가져보지 못했지만, 이제 그 갈증을 채워줌.
내 PC가 최소 사양을 충족했는데도 크리켓 게임이 형편없이 돌아갔던 때가 떠오름. 그날 최소 사양만으로는 부족하다는 걸 배움.
386 기반 호환 PC가 나오던 때부터 대략 Windows 7까지는 정말 그랬음. 여러 하드웨어를 접하는 동네 컴퓨터 가게에 어떤 구성을 쓰는지 묻는 게 최선이었지만, 가게도 고생하기는 마찬가지였음.
2001년에 가게에서 맞춘 내 PC는 Athlon Thunderbird 1.4GHz였는데, 냉각 기술이 따라가지 못해 Counter-Strike나 Serious Sam을 오래 하면 과열 보호 온도에 도달하곤 했음. 컴퓨터를 두 번 더 바꾼 뒤에야 전원공급장치가 원인이었을 가능성을 깨달음. 1990년대에는 전원공급장치 효율이 우선순위가 아니어서 이런 얘기도 별로 하지 않았음.
최근 몇 년 사이, 예전에는 아주 틈새 주제였던 GPU 내부 구조와 저수준 프로그래밍에 관한 글이 크게 늘어난 듯함. GPU가 자체 명령어 집합과 RAM을 갖춘 그래픽 연산 특화 프로세서라는 점을 이해하면 개념이 꽤 명료해지고, 직접 구현하는 방법도 생각해 볼 수 있게 됨.
“명세는 회로도가 아니라 동작의 목표다”라는 문장에서 살짝 LLM 특유의 문체가 느껴진 사람이 또 있는지 궁금함. 불평은 아니며, AI가 분명 상당한 발전을 이끌고 있다고 느낌. 이 글을 쓰는 시점에 관련 주제인 https://news.ycombinator.com/item?id=49717638도 첫 화면에 올라와 있음.
MiSTer의 HDMI 출력을 망가뜨려서 너무 아쉬움. 모니터 배치를 바꿔보느라 케이블을 몇 번 뺐다 꽂았더니 SSH 접속은 잘되는데 화면이 나오지 않았음. 포럼을 찾아보니 기술적인 이유는 잊었지만 전원이 켜진 채로 연결을 바꾸는 것에 MiSTer가 취약하다고 함. 그래도 아들과 함께 수없이 많은 시간 게임을 즐겼으니 본전은 뽑았음.
어떤 제품을 샀는지는 모르겠지만, AliExpress의 QMTech MiSTer 호환 기기는 저렴하고 잘 작동하며, 128MB SDRAM 확장과 아날로그 입출력 보드가 케이스에 함께 들어 있음.
나는 두 대와 MiSTer Pi를 갖고 있고, 전용 용도로 몇 대 더 살 생각임. 3D 프린터로 만든 복고풍 컴퓨터 작업대, 가로·세로 화면용 아케이드 캐비닛, 남는 CRT 연결용으로 쓰려 함.
대략 내 첫 PC 구성을 재현하는 프로젝트라 북마크해 두었고 더 깊이 살펴볼 생각임. 당시 내 그래픽 카드는 Matrox Mystique였던 것 같아서 더 흥미로움. 마침 한동안 FPGA로 멋진 것을 만드는 프로젝트를 찾아보고 싶었음.
Tomb Raider(1996) 는 표면상 Pentium을 요구했고, 기억이 정확하지 않을 수 있지만 내 486에서는 데모 실행을 거부했던 것 같음. 이 FPGA 486은 Pentium에 추가된 명령어도 지원하는지?
나는 486에서 Tomb Raider를 했던 것 같음. S3 ViRGE 그래픽 카드가 있었던 것으로 기억하는데, 그게 도움이 됐을지도 모르겠음.
필수 조건은 아니고 Pentium 60을 최소 권장했을 뿐임. Quake처럼 Tomb Raider도 파이프라인 FPU의 이점을 크게 봄. Pentium 60에서는 30fps, 486DX2@66에서는 15fps, DX4@100에서는 20fps 정도임.
486DX5@133과 Trident 3D SVGA 카드로 Star Fleet Academy 데모를 했는데, 전투가 슬로모션처럼 돌아갔던 기억이 남. 그 게임은 Pentium 75 또는 90과 DirectX 가속기를 요구함.
시연 영상이 없어서 너무 답답함!
나도 그 Voodoo 카드를 썼는데, Quake 1이 정말 굉장했음. 물론 지금 기준으로는 그렇지 않음.
나도 초대 Voodoo를 썼음. 역사에서 이전과 이후의 경계가 그렇게 선명하게 보이는 순간은 드묾. Voodoo로 처음 Quake를 하고 성능 측정을 돌렸을 때, PC 게임이 달라졌다는 걸 알 수 있었음.
Voodoo에는 조기 깊이 검사가 없어서, 완전히 가려진 삼각형에도 텍스처 처리를 하는 것으로 이해하면 맞는지?
Z 버퍼는 있으니 앞에서 뒤 순서로 그리면 어느 정도는 해결할 수 있음.
당시 PC용 그래픽 가속기 중 조기 깊이 검사로 볼 만한 것은 1996년의 타일 기반 PowerVR뿐이었음. ATI는 2000년 Radeon DDR(R100)에 HyperZ를 도입했고, Nvidia는 2001년 GeForce 3의 LMA로 뒤따름.
기억으로는 Radeon의 Z 압축을 켰다 껐을 때 성능 차이가 10~20% 정도라 의외로 작았음. 하지만 나중에 본격적인 셰이더 2.0을 쓰기 시작하면서는 핵심 기능이 되었을 것임.
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기